Added Debugger to Sample App, off by default
Removed CocoaDebugger from experimental
Slight changes to SkOSMenu
Bug fixes for NetPipeReader and DrawingBoard


git-svn-id: http://skia.googlecode.com/svn/trunk@2102 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/CocoaDebugger/CocoaDebugger-Info.plist b/experimental/CocoaDebugger/CocoaDebugger-Info.plist
deleted file mode 100644
index f696cb2..0000000
--- a/experimental/CocoaDebugger/CocoaDebugger-Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIconFile</key>
-	<string></string>
-	<key>CFBundleIdentifier</key>
-	<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-	<key>LSMinimumSystemVersion</key>
-	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
-	<key>NSMainNibFile</key>
-	<string>MainMenu</string>
-	<key>NSPrincipalClass</key>
-	<string>NSApplication</string>
-</dict>
-</plist>
diff --git a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.h b/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.h
deleted file mode 100644
index 88d4011..0000000
--- a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#import <Cocoa/Cocoa.h>
-#import "SkNSWindow.h"
-@interface CocoaDebuggerAppDelegate : NSObject <NSApplicationDelegate> {
-    SkNSWindow *window;
-}
-
-@property (assign) IBOutlet SkNSWindow *window;
-@end
diff --git a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm b/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm
deleted file mode 100644
index 7358c5f..0000000
--- a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm
+++ /dev/null
@@ -1,10 +0,0 @@
-#import "CocoaDebuggerAppDelegate.h"
-
-@implementation CocoaDebuggerAppDelegate
-@synthesize window;
-
--(void) applicationDidFinishLaunching:(NSNotification *)aNotification {
-    //Load specified skia views after launching
-    [window installSkViews];
-}
-@end
diff --git a/experimental/CocoaDebugger/CocoaDebugger_Prefix.pch b/experimental/CocoaDebugger/CocoaDebugger_Prefix.pch
deleted file mode 100644
index 8d43cae..0000000
--- a/experimental/CocoaDebugger/CocoaDebugger_Prefix.pch
+++ /dev/null
@@ -1,7 +0,0 @@
-//
-// Prefix header for all source files of the 'CocoaSampleApp' target in the 'CocoaSampleApp' project
-//
-
-#ifdef __OBJC__
-    #import <Cocoa/Cocoa.h>
-#endif
diff --git a/experimental/CocoaDebugger/English.lproj/InfoPlist.strings b/experimental/CocoaDebugger/English.lproj/InfoPlist.strings
deleted file mode 100644
index 477b28f..0000000
--- a/experimental/CocoaDebugger/English.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
diff --git a/experimental/CocoaDebugger/English.lproj/MainMenu.xib b/experimental/CocoaDebugger/English.lproj/MainMenu.xib
deleted file mode 100644
index beceeb1..0000000
--- a/experimental/CocoaDebugger/English.lproj/MainMenu.xib
+++ /dev/null
@@ -1,4455 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
-	<data>
-		<int key="IBDocument.SystemTarget">1060</int>
-		<string key="IBDocument.SystemVersion">10J3250</string>
-		<string key="IBDocument.InterfaceBuilderVersion">851</string>
-		<string key="IBDocument.AppKitVersion">1038.35</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">851</string>
-		</object>
-		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
-			<bool key="EncodedWithXMLCoder">YES</bool>
-			<integer value="371"/>
-			<integer value="81"/>
-		</object>
-		<object class="NSArray" key="IBDocument.PluginDependencies">
-			<bool key="EncodedWithXMLCoder">YES</bool>
-			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-		</object>
-		<object class="NSMutableDictionary" key="IBDocument.Metadata">
-			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
-			<integer value="1" key="NS.object.0"/>
-		</object>
-		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
-			<bool key="EncodedWithXMLCoder">YES</bool>
-			<object class="NSCustomObject" id="1021">
-				<string key="NSClassName">NSApplication</string>
-			</object>
-			<object class="NSCustomObject" id="1014">
-				<string key="NSClassName">FirstResponder</string>
-			</object>
-			<object class="NSCustomObject" id="1050">
-				<string key="NSClassName">NSApplication</string>
-			</object>
-			<object class="NSMenu" id="649796088">
-				<string key="NSTitle">AMainMenu</string>
-				<object class="NSMutableArray" key="NSMenuItems">
-					<bool key="EncodedWithXMLCoder">YES</bool>
-					<object class="NSMenuItem" id="694149608">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">CocoaDebugger</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<object class="NSCustomResource" key="NSOnImage" id="35465992">
-							<string key="NSClassName">NSImage</string>
-							<string key="NSResourceName">NSMenuCheckmark</string>
-						</object>
-						<object class="NSCustomResource" key="NSMixedImage" id="502551668">
-							<string key="NSClassName">NSImage</string>
-							<string key="NSResourceName">NSMenuMixedState</string>
-						</object>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="110575045">
-							<string key="NSTitle">CocoaDebugger</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="238522557">
-									<reference key="NSMenu" ref="110575045"/>
-									<string key="NSTitle">About CocoaDebugger</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="304266470">
-									<reference key="NSMenu" ref="110575045"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="609285721">
-									<reference key="NSMenu" ref="110575045"/>
-									<string key="NSTitle">Preferences…</string>
-									<string key="NSKeyEquiv">,</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="481834944">
-									<reference key="NSMenu" ref="110575045"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="1046388886">
-									<reference key="NSMenu" ref="110575045"/>
-									<string key="NSTitle">Services</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="752062318">
-										<string key="NSTitle">Services</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-										</object>
-										<string key="NSName">_NSServicesMenu</string>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="646227648">
-									<reference key="NSMenu" ref="110575045"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="755159360">
-									<reference key="NSMenu" ref="110575045"/>
-									<string key="NSTitle">Hide CocoaDebugger</string>
-									<string key="NSKeyEquiv">h</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="342932134">
-									<reference key="NSMenu" ref="110575045"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="908899353">
-									<reference key="NSMenu" ref="110575045"/>
-									<string key="NSTitle">Show All</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="1056857174">
-									<reference key="NSMenu" ref="110575045"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="632727374">
-									<reference key="NSMenu" ref="110575045"/>
-									<string key="NSTitle">Quit CocoaDebugger</string>
-									<string key="NSKeyEquiv">q</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-							</object>
-							<string key="NSName">_NSAppleMenu</string>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="379814623">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">File</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="35465992"/>
-						<reference key="NSMixedImage" ref="502551668"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="720053764">
-							<string key="NSTitle">File</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="705341025">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">New</string>
-									<string key="NSKeyEquiv">n</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="722745758">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Open…</string>
-									<string key="NSKeyEquiv">o</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="1025936716">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Open Recent</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="1065607017">
-										<string key="NSTitle">Open Recent</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="759406840">
-												<reference key="NSMenu" ref="1065607017"/>
-												<string key="NSTitle">Clear Menu</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-										<string key="NSName">_NSRecentDocumentsMenu</string>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="425164168">
-									<reference key="NSMenu" ref="720053764"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="776162233">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Close</string>
-									<string key="NSKeyEquiv">w</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="1023925487">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Save</string>
-									<string key="NSKeyEquiv">s</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="117038363">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Save As…</string>
-									<string key="NSKeyEquiv">S</string>
-									<int key="NSKeyEquivModMask">1179648</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="579971712">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Revert to Saved</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="1010469920">
-									<reference key="NSMenu" ref="720053764"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="294629803">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Page Setup...</string>
-									<string key="NSKeyEquiv">P</string>
-									<int key="NSKeyEquivModMask">1179648</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSToolTip"/>
-								</object>
-								<object class="NSMenuItem" id="49223823">
-									<reference key="NSMenu" ref="720053764"/>
-									<string key="NSTitle">Print…</string>
-									<string key="NSKeyEquiv">p</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-							</object>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="952259628">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">Edit</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="35465992"/>
-						<reference key="NSMixedImage" ref="502551668"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="789758025">
-							<string key="NSTitle">Edit</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="1058277027">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Undo</string>
-									<string key="NSKeyEquiv">z</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="790794224">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Redo</string>
-									<string key="NSKeyEquiv">Z</string>
-									<int key="NSKeyEquivModMask">1179648</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="1040322652">
-									<reference key="NSMenu" ref="789758025"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="296257095">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Cut</string>
-									<string key="NSKeyEquiv">x</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="860595796">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Copy</string>
-									<string key="NSKeyEquiv">c</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="29853731">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Paste</string>
-									<string key="NSKeyEquiv">v</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="82994268">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Paste and Match Style</string>
-									<string key="NSKeyEquiv">V</string>
-									<int key="NSKeyEquivModMask">1572864</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="437104165">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Delete</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="583158037">
-									<reference key="NSMenu" ref="789758025"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="212016141">
-									<reference key="NSMenu" ref="789758025"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="892235320">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Find</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="963351320">
-										<string key="NSTitle">Find</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="447796847">
-												<reference key="NSMenu" ref="963351320"/>
-												<string key="NSTitle">Find…</string>
-												<string key="NSKeyEquiv">f</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">1</int>
-											</object>
-											<object class="NSMenuItem" id="326711663">
-												<reference key="NSMenu" ref="963351320"/>
-												<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="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">2</int>
-											</object>
-											<object class="NSMenuItem" id="270902937">
-												<reference key="NSMenu" ref="963351320"/>
-												<string key="NSTitle">Find Previous</string>
-												<string key="NSKeyEquiv">G</string>
-												<int key="NSKeyEquivModMask">1179648</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">3</int>
-											</object>
-											<object class="NSMenuItem" id="159080638">
-												<reference key="NSMenu" ref="963351320"/>
-												<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="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">7</int>
-											</object>
-											<object class="NSMenuItem" id="88285865">
-												<reference key="NSMenu" ref="963351320"/>
-												<string key="NSTitle">Jump to Selection</string>
-												<string key="NSKeyEquiv">j</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="972420730">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Spelling and Grammar</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="769623530">
-										<string key="NSTitle">Spelling and Grammar</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="679648819">
-												<reference key="NSMenu" ref="769623530"/>
-												<string key="NSTitle">Show Spelling and Grammar</string>
-												<string key="NSKeyEquiv">:</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="96193923">
-												<reference key="NSMenu" ref="769623530"/>
-												<string key="NSTitle">Check Document Now</string>
-												<string key="NSKeyEquiv">;</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="859480356">
-												<reference key="NSMenu" ref="769623530"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="948374510">
-												<reference key="NSMenu" ref="769623530"/>
-												<string key="NSTitle">Check Spelling While Typing</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="967646866">
-												<reference key="NSMenu" ref="769623530"/>
-												<string key="NSTitle">Check Grammar With Spelling</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="795346622">
-												<reference key="NSMenu" ref="769623530"/>
-												<string key="NSTitle">Correct Spelling Automatically</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="507821607">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Substitutions</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="698887838">
-										<string key="NSTitle">Substitutions</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="65139061">
-												<reference key="NSMenu" ref="698887838"/>
-												<string key="NSTitle">Show Substitutions</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="19036812">
-												<reference key="NSMenu" ref="698887838"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="605118523">
-												<reference key="NSMenu" ref="698887838"/>
-												<string key="NSTitle">Smart Copy/Paste</string>
-												<string key="NSKeyEquiv">f</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">1</int>
-											</object>
-											<object class="NSMenuItem" id="197661976">
-												<reference key="NSMenu" ref="698887838"/>
-												<string key="NSTitle">Smart Quotes</string>
-												<string key="NSKeyEquiv">g</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">2</int>
-											</object>
-											<object class="NSMenuItem" id="672708820">
-												<reference key="NSMenu" ref="698887838"/>
-												<string key="NSTitle">Smart Dashes</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="708854459">
-												<reference key="NSMenu" ref="698887838"/>
-												<string key="NSTitle">Smart Links</string>
-												<string key="NSKeyEquiv">G</string>
-												<int key="NSKeyEquivModMask">1179648</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">3</int>
-											</object>
-											<object class="NSMenuItem" id="537092702">
-												<reference key="NSMenu" ref="698887838"/>
-												<string key="NSTitle">Text Replacement</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="288088188">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Transformations</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="579392910">
-										<string key="NSTitle">Transformations</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="1060694897">
-												<reference key="NSMenu" ref="579392910"/>
-												<string key="NSTitle">Make Upper Case</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="879586729">
-												<reference key="NSMenu" ref="579392910"/>
-												<string key="NSTitle">Make Lower Case</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="56570060">
-												<reference key="NSMenu" ref="579392910"/>
-												<string key="NSTitle">Capitalize</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="676164635">
-									<reference key="NSMenu" ref="789758025"/>
-									<string key="NSTitle">Speech</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="785027613">
-										<string key="NSTitle">Speech</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="731782645">
-												<reference key="NSMenu" ref="785027613"/>
-												<string key="NSTitle">Start Speaking</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="680220178">
-												<reference key="NSMenu" ref="785027613"/>
-												<string key="NSTitle">Stop Speaking</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-									</object>
-								</object>
-							</object>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="302598603">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">Format</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="35465992"/>
-						<reference key="NSMixedImage" ref="502551668"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="941447902">
-							<string key="NSTitle">Format</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="792887677">
-									<reference key="NSMenu" ref="941447902"/>
-									<string key="NSTitle">Font</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="786677654">
-										<string key="NSTitle">Font</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="159677712">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Show Fonts</string>
-												<string key="NSKeyEquiv">t</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="305399458">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Bold</string>
-												<string key="NSKeyEquiv">b</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">2</int>
-											</object>
-											<object class="NSMenuItem" id="814362025">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Italic</string>
-												<string key="NSKeyEquiv">i</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">1</int>
-											</object>
-											<object class="NSMenuItem" id="330926929">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Underline</string>
-												<string key="NSKeyEquiv">u</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="533507878">
-												<reference key="NSMenu" ref="786677654"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="158063935">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Bigger</string>
-												<string key="NSKeyEquiv">+</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">3</int>
-											</object>
-											<object class="NSMenuItem" id="885547335">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Smaller</string>
-												<string key="NSKeyEquiv">-</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<int key="NSTag">4</int>
-											</object>
-											<object class="NSMenuItem" id="901062459">
-												<reference key="NSMenu" ref="786677654"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="767671776">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Kern</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<string key="NSAction">submenuAction:</string>
-												<object class="NSMenu" key="NSSubmenu" id="175441468">
-													<string key="NSTitle">Kern</string>
-													<object class="NSMutableArray" key="NSMenuItems">
-														<bool key="EncodedWithXMLCoder">YES</bool>
-														<object class="NSMenuItem" id="252969304">
-															<reference key="NSMenu" ref="175441468"/>
-															<string key="NSTitle">Use Default</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="766922938">
-															<reference key="NSMenu" ref="175441468"/>
-															<string key="NSTitle">Use None</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="677519740">
-															<reference key="NSMenu" ref="175441468"/>
-															<string key="NSTitle">Tighten</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="238351151">
-															<reference key="NSMenu" ref="175441468"/>
-															<string key="NSTitle">Loosen</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-													</object>
-												</object>
-											</object>
-											<object class="NSMenuItem" id="691570813">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Ligature</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<string key="NSAction">submenuAction:</string>
-												<object class="NSMenu" key="NSSubmenu" id="1058217995">
-													<string key="NSTitle">Ligature</string>
-													<object class="NSMutableArray" key="NSMenuItems">
-														<bool key="EncodedWithXMLCoder">YES</bool>
-														<object class="NSMenuItem" id="706297211">
-															<reference key="NSMenu" ref="1058217995"/>
-															<string key="NSTitle">Use Default</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="568384683">
-															<reference key="NSMenu" ref="1058217995"/>
-															<string key="NSTitle">Use None</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="663508465">
-															<reference key="NSMenu" ref="1058217995"/>
-															<string key="NSTitle">Use All</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-													</object>
-												</object>
-											</object>
-											<object class="NSMenuItem" id="769124883">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Baseline</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<string key="NSAction">submenuAction:</string>
-												<object class="NSMenu" key="NSSubmenu" id="18263474">
-													<string key="NSTitle">Baseline</string>
-													<object class="NSMutableArray" key="NSMenuItems">
-														<bool key="EncodedWithXMLCoder">YES</bool>
-														<object class="NSMenuItem" id="257962622">
-															<reference key="NSMenu" ref="18263474"/>
-															<string key="NSTitle">Use Default</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="644725453">
-															<reference key="NSMenu" ref="18263474"/>
-															<string key="NSTitle">Superscript</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="1037576581">
-															<reference key="NSMenu" ref="18263474"/>
-															<string key="NSTitle">Subscript</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="941806246">
-															<reference key="NSMenu" ref="18263474"/>
-															<string key="NSTitle">Raise</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="1045724900">
-															<reference key="NSMenu" ref="18263474"/>
-															<string key="NSTitle">Lower</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-													</object>
-												</object>
-											</object>
-											<object class="NSMenuItem" id="739652853">
-												<reference key="NSMenu" ref="786677654"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="1012600125">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Show Colors</string>
-												<string key="NSKeyEquiv">C</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="214559597">
-												<reference key="NSMenu" ref="786677654"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="596732606">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Copy Style</string>
-												<string key="NSKeyEquiv">c</string>
-												<int key="NSKeyEquivModMask">1572864</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="393423671">
-												<reference key="NSMenu" ref="786677654"/>
-												<string key="NSTitle">Paste Style</string>
-												<string key="NSKeyEquiv">v</string>
-												<int key="NSKeyEquivModMask">1572864</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-										<string key="NSName">_NSFontMenu</string>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="215659978">
-									<reference key="NSMenu" ref="941447902"/>
-									<string key="NSTitle">Text</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="446991534">
-										<string key="NSTitle">Text</string>
-										<object class="NSMutableArray" key="NSMenuItems">
-											<bool key="EncodedWithXMLCoder">YES</bool>
-											<object class="NSMenuItem" id="875092757">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Align Left</string>
-												<string key="NSKeyEquiv">{</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="630155264">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Center</string>
-												<string key="NSKeyEquiv">|</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="945678886">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Justify</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="512868991">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Align Right</string>
-												<string key="NSKeyEquiv">}</string>
-												<int key="NSKeyEquivModMask">1048576</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="163117631">
-												<reference key="NSMenu" ref="446991534"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="31516759">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Writing Direction</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-												<string key="NSAction">submenuAction:</string>
-												<object class="NSMenu" key="NSSubmenu" id="956096989">
-													<string key="NSTitle">Writing Direction</string>
-													<object class="NSMutableArray" key="NSMenuItems">
-														<bool key="EncodedWithXMLCoder">YES</bool>
-														<object class="NSMenuItem" id="257099033">
-															<reference key="NSMenu" ref="956096989"/>
-															<bool key="NSIsDisabled">YES</bool>
-															<string key="NSTitle">Paragraph</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="551969625">
-															<reference key="NSMenu" ref="956096989"/>
-															<string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="249532473">
-															<reference key="NSMenu" ref="956096989"/>
-															<string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="607364498">
-															<reference key="NSMenu" ref="956096989"/>
-															<string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="508151438">
-															<reference key="NSMenu" ref="956096989"/>
-															<bool key="NSIsDisabled">YES</bool>
-															<bool key="NSIsSeparator">YES</bool>
-															<string key="NSTitle"/>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="981751889">
-															<reference key="NSMenu" ref="956096989"/>
-															<bool key="NSIsDisabled">YES</bool>
-															<string key="NSTitle">Selection</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="380031999">
-															<reference key="NSMenu" ref="956096989"/>
-															<string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="825984362">
-															<reference key="NSMenu" ref="956096989"/>
-															<string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-														<object class="NSMenuItem" id="560145579">
-															<reference key="NSMenu" ref="956096989"/>
-															<string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string>
-															<string key="NSKeyEquiv"/>
-															<int key="NSMnemonicLoc">2147483647</int>
-															<reference key="NSOnImage" ref="35465992"/>
-															<reference key="NSMixedImage" ref="502551668"/>
-														</object>
-													</object>
-												</object>
-											</object>
-											<object class="NSMenuItem" id="908105787">
-												<reference key="NSMenu" ref="446991534"/>
-												<bool key="NSIsDisabled">YES</bool>
-												<bool key="NSIsSeparator">YES</bool>
-												<string key="NSTitle"/>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="644046920">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Show Ruler</string>
-												<string key="NSKeyEquiv"/>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="231811626">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Copy Ruler</string>
-												<string key="NSKeyEquiv">c</string>
-												<int key="NSKeyEquivModMask">1310720</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-											<object class="NSMenuItem" id="883618387">
-												<reference key="NSMenu" ref="446991534"/>
-												<string key="NSTitle">Paste Ruler</string>
-												<string key="NSKeyEquiv">v</string>
-												<int key="NSKeyEquivModMask">1310720</int>
-												<int key="NSMnemonicLoc">2147483647</int>
-												<reference key="NSOnImage" ref="35465992"/>
-												<reference key="NSMixedImage" ref="502551668"/>
-											</object>
-										</object>
-									</object>
-								</object>
-							</object>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="586577488">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">View</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="35465992"/>
-						<reference key="NSMixedImage" ref="502551668"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="466310130">
-							<string key="NSTitle">View</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="102151532">
-									<reference key="NSMenu" ref="466310130"/>
-									<string key="NSTitle">Show Toolbar</string>
-									<string key="NSKeyEquiv">t</string>
-									<int key="NSKeyEquivModMask">1572864</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="237841660">
-									<reference key="NSMenu" ref="466310130"/>
-									<string key="NSTitle">Customize Toolbar…</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-							</object>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="713487014">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">Window</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="35465992"/>
-						<reference key="NSMixedImage" ref="502551668"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="835318025">
-							<string key="NSTitle">Window</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="1011231497">
-									<reference key="NSMenu" ref="835318025"/>
-									<string key="NSTitle">Minimize</string>
-									<string key="NSKeyEquiv">m</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="575023229">
-									<reference key="NSMenu" ref="835318025"/>
-									<string key="NSTitle">Zoom</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="299356726">
-									<reference key="NSMenu" ref="835318025"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="625202149">
-									<reference key="NSMenu" ref="835318025"/>
-									<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="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-							</object>
-							<string key="NSName">_NSWindowsMenu</string>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="448692316">
-						<reference key="NSMenu" ref="649796088"/>
-						<string key="NSTitle">Help</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="35465992"/>
-						<reference key="NSMixedImage" ref="502551668"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="992780483">
-							<string key="NSTitle">Help</string>
-							<object class="NSMutableArray" key="NSMenuItems">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSMenuItem" id="105068016">
-									<reference key="NSMenu" ref="992780483"/>
-									<string key="NSTitle">CocoaDebugger Help</string>
-									<string key="NSKeyEquiv">?</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-							</object>
-							<string key="NSName">_NSHelpMenu</string>
-						</object>
-					</object>
-				</object>
-				<string key="NSName">_NSMainMenu</string>
-			</object>
-			<object class="NSWindowTemplate" id="972006081">
-				<int key="NSWindowStyleMask">15</int>
-				<int key="NSWindowBacking">2</int>
-				<string key="NSWindowRect">{{335, 239}, {840, 680}}</string>
-				<int key="NSWTFlags">1954021376</int>
-				<string key="NSWindowTitle">CocoaDebugger</string>
-				<string key="NSWindowClass">SkDebugger</string>
-				<nil key="NSViewClass"/>
-				<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
-				<object class="NSView" key="NSWindowView" id="439893737">
-					<reference key="NSNextResponder"/>
-					<int key="NSvFlags">256</int>
-					<object class="NSMutableArray" key="NSSubviews">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSSplitView" id="235139528">
-							<reference key="NSNextResponder" ref="439893737"/>
-							<int key="NSvFlags">274</int>
-							<object class="NSMutableArray" key="NSSubviews">
-								<bool key="EncodedWithXMLCoder">YES</bool>
-								<object class="NSCustomView" id="638101539">
-									<reference key="NSNextResponder" ref="235139528"/>
-									<int key="NSvFlags">256</int>
-									<string key="NSFrameSize">{200, 680}</string>
-									<reference key="NSSuperview" ref="235139528"/>
-									<string key="NSClassName">SkNSView</string>
-								</object>
-								<object class="NSSplitView" id="341659203">
-									<reference key="NSNextResponder" ref="235139528"/>
-									<int key="NSvFlags">268</int>
-									<object class="NSMutableArray" key="NSSubviews">
-										<bool key="EncodedWithXMLCoder">YES</bool>
-										<object class="NSCustomView" id="882643913">
-											<reference key="NSNextResponder" ref="341659203"/>
-											<int key="NSvFlags">256</int>
-											<string key="NSFrameSize">{639, 529}</string>
-											<reference key="NSSuperview" ref="341659203"/>
-											<string key="NSClassName">SkNSView</string>
-										</object>
-										<object class="NSCustomView" id="119239">
-											<reference key="NSNextResponder" ref="341659203"/>
-											<int key="NSvFlags">256</int>
-											<string key="NSFrame">{{0, 530}, {639, 150}}</string>
-											<reference key="NSSuperview" ref="341659203"/>
-											<string key="NSClassName">SkNSView</string>
-										</object>
-									</object>
-									<string key="NSFrame">{{201, 0}, {639, 680}}</string>
-									<reference key="NSSuperview" ref="235139528"/>
-									<int key="NSDividerStyle">2</int>
-								</object>
-							</object>
-							<string key="NSFrameSize">{840, 680}</string>
-							<reference key="NSSuperview" ref="439893737"/>
-							<bool key="NSIsVertical">YES</bool>
-							<int key="NSDividerStyle">2</int>
-						</object>
-					</object>
-					<string key="NSFrameSize">{840, 680}</string>
-					<reference key="NSSuperview"/>
-				</object>
-				<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
-				<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
-			</object>
-			<object class="NSCustomObject" id="976324537">
-				<string key="NSClassName">CocoaDebuggerAppDelegate</string>
-			</object>
-			<object class="NSCustomObject" id="755631768">
-				<string key="NSClassName">NSFontManager</string>
-			</object>
-			<object class="NSCustomObject" id="615377771">
-				<string key="NSClassName">SkMenuController</string>
-			</object>
-		</object>
-		<object class="IBObjectContainer" key="IBDocument.Objects">
-			<object class="NSMutableArray" key="connectionRecords">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performMiniaturize:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1011231497"/>
-					</object>
-					<int key="connectionID">37</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">arrangeInFront:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="625202149"/>
-					</object>
-					<int key="connectionID">39</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">print:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="49223823"/>
-					</object>
-					<int key="connectionID">86</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">runPageLayout:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="294629803"/>
-					</object>
-					<int key="connectionID">87</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">clearRecentDocuments:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="759406840"/>
-					</object>
-					<int key="connectionID">127</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">orderFrontStandardAboutPanel:</string>
-						<reference key="source" ref="1021"/>
-						<reference key="destination" ref="238522557"/>
-					</object>
-					<int key="connectionID">142</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performClose:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="776162233"/>
-					</object>
-					<int key="connectionID">193</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleContinuousSpellChecking:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="948374510"/>
-					</object>
-					<int key="connectionID">222</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">undo:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1058277027"/>
-					</object>
-					<int key="connectionID">223</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">copy:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="860595796"/>
-					</object>
-					<int key="connectionID">224</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">checkSpelling:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="96193923"/>
-					</object>
-					<int key="connectionID">225</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">paste:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="29853731"/>
-					</object>
-					<int key="connectionID">226</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">stopSpeaking:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="680220178"/>
-					</object>
-					<int key="connectionID">227</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">cut:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="296257095"/>
-					</object>
-					<int key="connectionID">228</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">showGuessPanel:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="679648819"/>
-					</object>
-					<int key="connectionID">230</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">redo:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="790794224"/>
-					</object>
-					<int key="connectionID">231</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">selectAll:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="583158037"/>
-					</object>
-					<int key="connectionID">232</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">startSpeaking:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="731782645"/>
-					</object>
-					<int key="connectionID">233</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">delete:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="437104165"/>
-					</object>
-					<int key="connectionID">235</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performZoom:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="575023229"/>
-					</object>
-					<int key="connectionID">240</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performFindPanelAction:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="447796847"/>
-					</object>
-					<int key="connectionID">241</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">centerSelectionInVisibleArea:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="88285865"/>
-					</object>
-					<int key="connectionID">245</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleGrammarChecking:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="967646866"/>
-					</object>
-					<int key="connectionID">347</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleSmartInsertDelete:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="605118523"/>
-					</object>
-					<int key="connectionID">355</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleAutomaticQuoteSubstitution:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="197661976"/>
-					</object>
-					<int key="connectionID">356</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleAutomaticLinkDetection:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="708854459"/>
-					</object>
-					<int key="connectionID">357</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">saveDocument:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1023925487"/>
-					</object>
-					<int key="connectionID">362</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">saveDocumentAs:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="117038363"/>
-					</object>
-					<int key="connectionID">363</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">revertDocumentToSaved:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="579971712"/>
-					</object>
-					<int key="connectionID">364</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">runToolbarCustomizationPalette:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="237841660"/>
-					</object>
-					<int key="connectionID">365</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleToolbarShown:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="102151532"/>
-					</object>
-					<int key="connectionID">366</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">hide:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="755159360"/>
-					</object>
-					<int key="connectionID">367</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">hideOtherApplications:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="342932134"/>
-					</object>
-					<int key="connectionID">368</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">unhideAllApplications:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="908899353"/>
-					</object>
-					<int key="connectionID">370</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">newDocument:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="705341025"/>
-					</object>
-					<int key="connectionID">373</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">addFontTrait:</string>
-						<reference key="source" ref="755631768"/>
-						<reference key="destination" ref="305399458"/>
-					</object>
-					<int key="connectionID">421</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">addFontTrait:</string>
-						<reference key="source" ref="755631768"/>
-						<reference key="destination" ref="814362025"/>
-					</object>
-					<int key="connectionID">422</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">modifyFont:</string>
-						<reference key="source" ref="755631768"/>
-						<reference key="destination" ref="885547335"/>
-					</object>
-					<int key="connectionID">423</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">orderFrontFontPanel:</string>
-						<reference key="source" ref="755631768"/>
-						<reference key="destination" ref="159677712"/>
-					</object>
-					<int key="connectionID">424</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">modifyFont:</string>
-						<reference key="source" ref="755631768"/>
-						<reference key="destination" ref="158063935"/>
-					</object>
-					<int key="connectionID">425</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">raiseBaseline:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="941806246"/>
-					</object>
-					<int key="connectionID">426</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">lowerBaseline:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1045724900"/>
-					</object>
-					<int key="connectionID">427</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">copyFont:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="596732606"/>
-					</object>
-					<int key="connectionID">428</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">subscript:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1037576581"/>
-					</object>
-					<int key="connectionID">429</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">superscript:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="644725453"/>
-					</object>
-					<int key="connectionID">430</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">tightenKerning:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="677519740"/>
-					</object>
-					<int key="connectionID">431</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">underline:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="330926929"/>
-					</object>
-					<int key="connectionID">432</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">orderFrontColorPanel:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1012600125"/>
-					</object>
-					<int key="connectionID">433</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">useAllLigatures:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="663508465"/>
-					</object>
-					<int key="connectionID">434</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">loosenKerning:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="238351151"/>
-					</object>
-					<int key="connectionID">435</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">pasteFont:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="393423671"/>
-					</object>
-					<int key="connectionID">436</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">unscript:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="257962622"/>
-					</object>
-					<int key="connectionID">437</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">useStandardKerning:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="252969304"/>
-					</object>
-					<int key="connectionID">438</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">useStandardLigatures:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="706297211"/>
-					</object>
-					<int key="connectionID">439</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">turnOffLigatures:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="568384683"/>
-					</object>
-					<int key="connectionID">440</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">turnOffKerning:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="766922938"/>
-					</object>
-					<int key="connectionID">441</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">terminate:</string>
-						<reference key="source" ref="1050"/>
-						<reference key="destination" ref="632727374"/>
-					</object>
-					<int key="connectionID">449</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleAutomaticSpellingCorrection:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="795346622"/>
-					</object>
-					<int key="connectionID">456</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">orderFrontSubstitutionsPanel:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="65139061"/>
-					</object>
-					<int key="connectionID">458</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleAutomaticDashSubstitution:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="672708820"/>
-					</object>
-					<int key="connectionID">461</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleAutomaticTextReplacement:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="537092702"/>
-					</object>
-					<int key="connectionID">463</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">uppercaseWord:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="1060694897"/>
-					</object>
-					<int key="connectionID">464</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">capitalizeWord:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="56570060"/>
-					</object>
-					<int key="connectionID">467</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">lowercaseWord:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="879586729"/>
-					</object>
-					<int key="connectionID">468</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">pasteAsPlainText:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="82994268"/>
-					</object>
-					<int key="connectionID">486</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performFindPanelAction:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="326711663"/>
-					</object>
-					<int key="connectionID">487</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performFindPanelAction:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="270902937"/>
-					</object>
-					<int key="connectionID">488</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">performFindPanelAction:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="159080638"/>
-					</object>
-					<int key="connectionID">489</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">showHelp:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="105068016"/>
-					</object>
-					<int key="connectionID">493</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">delegate</string>
-						<reference key="source" ref="1021"/>
-						<reference key="destination" ref="976324537"/>
-					</object>
-					<int key="connectionID">495</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">alignCenter:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="630155264"/>
-					</object>
-					<int key="connectionID">518</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">pasteRuler:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="883618387"/>
-					</object>
-					<int key="connectionID">519</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">toggleRuler:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="644046920"/>
-					</object>
-					<int key="connectionID">520</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">alignRight:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="512868991"/>
-					</object>
-					<int key="connectionID">521</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">copyRuler:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="231811626"/>
-					</object>
-					<int key="connectionID">522</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">alignJustified:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="945678886"/>
-					</object>
-					<int key="connectionID">523</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">alignLeft:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="875092757"/>
-					</object>
-					<int key="connectionID">524</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">makeBaseWritingDirectionNatural:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="551969625"/>
-					</object>
-					<int key="connectionID">525</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">makeBaseWritingDirectionLeftToRight:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="249532473"/>
-					</object>
-					<int key="connectionID">526</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">makeBaseWritingDirectionRightToLeft:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="607364498"/>
-					</object>
-					<int key="connectionID">527</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">makeTextWritingDirectionNatural:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="380031999"/>
-					</object>
-					<int key="connectionID">528</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">makeTextWritingDirectionLeftToRight:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="825984362"/>
-					</object>
-					<int key="connectionID">529</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">makeTextWritingDirectionRightToLeft:</string>
-						<reference key="source" ref="1014"/>
-						<reference key="destination" ref="560145579"/>
-					</object>
-					<int key="connectionID">530</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">window</string>
-						<reference key="source" ref="976324537"/>
-						<reference key="destination" ref="972006081"/>
-					</object>
-					<int key="connectionID">537</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">fCommandView</string>
-						<reference key="source" ref="972006081"/>
-						<reference key="destination" ref="638101539"/>
-					</object>
-					<int key="connectionID">550</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">fContentView</string>
-						<reference key="source" ref="972006081"/>
-						<reference key="destination" ref="882643913"/>
-					</object>
-					<int key="connectionID">551</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">fInfoView</string>
-						<reference key="source" ref="972006081"/>
-						<reference key="destination" ref="119239"/>
-					</object>
-					<int key="connectionID">552</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">menu</string>
-						<reference key="source" ref="972006081"/>
-						<reference key="destination" ref="649796088"/>
-					</object>
-					<int key="connectionID">554</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">openFile:</string>
-						<reference key="source" ref="615377771"/>
-						<reference key="destination" ref="722745758"/>
-					</object>
-					<int key="connectionID">565</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBOutletConnection" key="connection">
-						<string key="label">fWindow</string>
-						<reference key="source" ref="615377771"/>
-						<reference key="destination" ref="972006081"/>
-					</object>
-					<int key="connectionID">567</int>
-				</object>
-			</object>
-			<object class="IBMutableOrderedSet" key="objectRecords">
-				<object class="NSArray" key="orderedObjects">
-					<bool key="EncodedWithXMLCoder">YES</bool>
-					<object class="IBObjectRecord">
-						<int key="objectID">0</int>
-						<object class="NSArray" key="object" id="0">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-						</object>
-						<reference key="children" ref="1048"/>
-						<nil key="parent"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">-2</int>
-						<reference key="object" ref="1021"/>
-						<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="1014"/>
-						<reference key="parent" ref="0"/>
-						<string key="objectName">First Responder</string>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">-3</int>
-						<reference key="object" ref="1050"/>
-						<reference key="parent" ref="0"/>
-						<string key="objectName">Application</string>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">29</int>
-						<reference key="object" ref="649796088"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="713487014"/>
-							<reference ref="694149608"/>
-							<reference ref="952259628"/>
-							<reference ref="379814623"/>
-							<reference ref="586577488"/>
-							<reference ref="302598603"/>
-							<reference ref="448692316"/>
-						</object>
-						<reference key="parent" ref="0"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">19</int>
-						<reference key="object" ref="713487014"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="835318025"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">56</int>
-						<reference key="object" ref="694149608"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="110575045"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">217</int>
-						<reference key="object" ref="952259628"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="789758025"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">83</int>
-						<reference key="object" ref="379814623"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="720053764"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">81</int>
-						<reference key="object" ref="720053764"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="1023925487"/>
-							<reference ref="117038363"/>
-							<reference ref="49223823"/>
-							<reference ref="722745758"/>
-							<reference ref="705341025"/>
-							<reference ref="1025936716"/>
-							<reference ref="294629803"/>
-							<reference ref="776162233"/>
-							<reference ref="425164168"/>
-							<reference ref="579971712"/>
-							<reference ref="1010469920"/>
-						</object>
-						<reference key="parent" ref="379814623"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">75</int>
-						<reference key="object" ref="1023925487"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">80</int>
-						<reference key="object" ref="117038363"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">78</int>
-						<reference key="object" ref="49223823"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">72</int>
-						<reference key="object" ref="722745758"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">82</int>
-						<reference key="object" ref="705341025"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">124</int>
-						<reference key="object" ref="1025936716"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="1065607017"/>
-						</object>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">77</int>
-						<reference key="object" ref="294629803"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">73</int>
-						<reference key="object" ref="776162233"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">79</int>
-						<reference key="object" ref="425164168"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">112</int>
-						<reference key="object" ref="579971712"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">74</int>
-						<reference key="object" ref="1010469920"/>
-						<reference key="parent" ref="720053764"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">125</int>
-						<reference key="object" ref="1065607017"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="759406840"/>
-						</object>
-						<reference key="parent" ref="1025936716"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">126</int>
-						<reference key="object" ref="759406840"/>
-						<reference key="parent" ref="1065607017"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">205</int>
-						<reference key="object" ref="789758025"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="437104165"/>
-							<reference ref="583158037"/>
-							<reference ref="1058277027"/>
-							<reference ref="212016141"/>
-							<reference ref="296257095"/>
-							<reference ref="29853731"/>
-							<reference ref="860595796"/>
-							<reference ref="1040322652"/>
-							<reference ref="790794224"/>
-							<reference ref="892235320"/>
-							<reference ref="972420730"/>
-							<reference ref="676164635"/>
-							<reference ref="507821607"/>
-							<reference ref="288088188"/>
-							<reference ref="82994268"/>
-						</object>
-						<reference key="parent" ref="952259628"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">202</int>
-						<reference key="object" ref="437104165"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">198</int>
-						<reference key="object" ref="583158037"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">207</int>
-						<reference key="object" ref="1058277027"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">214</int>
-						<reference key="object" ref="212016141"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">199</int>
-						<reference key="object" ref="296257095"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">203</int>
-						<reference key="object" ref="29853731"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">197</int>
-						<reference key="object" ref="860595796"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">206</int>
-						<reference key="object" ref="1040322652"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">215</int>
-						<reference key="object" ref="790794224"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">218</int>
-						<reference key="object" ref="892235320"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="963351320"/>
-						</object>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">216</int>
-						<reference key="object" ref="972420730"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="769623530"/>
-						</object>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">200</int>
-						<reference key="object" ref="769623530"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="948374510"/>
-							<reference ref="96193923"/>
-							<reference ref="679648819"/>
-							<reference ref="967646866"/>
-							<reference ref="859480356"/>
-							<reference ref="795346622"/>
-						</object>
-						<reference key="parent" ref="972420730"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">219</int>
-						<reference key="object" ref="948374510"/>
-						<reference key="parent" ref="769623530"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">201</int>
-						<reference key="object" ref="96193923"/>
-						<reference key="parent" ref="769623530"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">204</int>
-						<reference key="object" ref="679648819"/>
-						<reference key="parent" ref="769623530"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">220</int>
-						<reference key="object" ref="963351320"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="270902937"/>
-							<reference ref="88285865"/>
-							<reference ref="159080638"/>
-							<reference ref="326711663"/>
-							<reference ref="447796847"/>
-						</object>
-						<reference key="parent" ref="892235320"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">213</int>
-						<reference key="object" ref="270902937"/>
-						<reference key="parent" ref="963351320"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">210</int>
-						<reference key="object" ref="88285865"/>
-						<reference key="parent" ref="963351320"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">221</int>
-						<reference key="object" ref="159080638"/>
-						<reference key="parent" ref="963351320"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">208</int>
-						<reference key="object" ref="326711663"/>
-						<reference key="parent" ref="963351320"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">209</int>
-						<reference key="object" ref="447796847"/>
-						<reference key="parent" ref="963351320"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">57</int>
-						<reference key="object" ref="110575045"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="238522557"/>
-							<reference ref="755159360"/>
-							<reference ref="908899353"/>
-							<reference ref="632727374"/>
-							<reference ref="646227648"/>
-							<reference ref="609285721"/>
-							<reference ref="481834944"/>
-							<reference ref="304266470"/>
-							<reference ref="1046388886"/>
-							<reference ref="1056857174"/>
-							<reference ref="342932134"/>
-						</object>
-						<reference key="parent" ref="694149608"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">58</int>
-						<reference key="object" ref="238522557"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">134</int>
-						<reference key="object" ref="755159360"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">150</int>
-						<reference key="object" ref="908899353"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">136</int>
-						<reference key="object" ref="632727374"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">144</int>
-						<reference key="object" ref="646227648"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">129</int>
-						<reference key="object" ref="609285721"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">143</int>
-						<reference key="object" ref="481834944"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">236</int>
-						<reference key="object" ref="304266470"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">131</int>
-						<reference key="object" ref="1046388886"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="752062318"/>
-						</object>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">149</int>
-						<reference key="object" ref="1056857174"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">145</int>
-						<reference key="object" ref="342932134"/>
-						<reference key="parent" ref="110575045"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">130</int>
-						<reference key="object" ref="752062318"/>
-						<reference key="parent" ref="1046388886"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">24</int>
-						<reference key="object" ref="835318025"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="299356726"/>
-							<reference ref="625202149"/>
-							<reference ref="575023229"/>
-							<reference ref="1011231497"/>
-						</object>
-						<reference key="parent" ref="713487014"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">92</int>
-						<reference key="object" ref="299356726"/>
-						<reference key="parent" ref="835318025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">5</int>
-						<reference key="object" ref="625202149"/>
-						<reference key="parent" ref="835318025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">239</int>
-						<reference key="object" ref="575023229"/>
-						<reference key="parent" ref="835318025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">23</int>
-						<reference key="object" ref="1011231497"/>
-						<reference key="parent" ref="835318025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">295</int>
-						<reference key="object" ref="586577488"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="466310130"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">296</int>
-						<reference key="object" ref="466310130"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="102151532"/>
-							<reference ref="237841660"/>
-						</object>
-						<reference key="parent" ref="586577488"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">297</int>
-						<reference key="object" ref="102151532"/>
-						<reference key="parent" ref="466310130"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">298</int>
-						<reference key="object" ref="237841660"/>
-						<reference key="parent" ref="466310130"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">211</int>
-						<reference key="object" ref="676164635"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="785027613"/>
-						</object>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">212</int>
-						<reference key="object" ref="785027613"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="680220178"/>
-							<reference ref="731782645"/>
-						</object>
-						<reference key="parent" ref="676164635"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">195</int>
-						<reference key="object" ref="680220178"/>
-						<reference key="parent" ref="785027613"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">196</int>
-						<reference key="object" ref="731782645"/>
-						<reference key="parent" ref="785027613"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">346</int>
-						<reference key="object" ref="967646866"/>
-						<reference key="parent" ref="769623530"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">348</int>
-						<reference key="object" ref="507821607"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="698887838"/>
-						</object>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">349</int>
-						<reference key="object" ref="698887838"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="605118523"/>
-							<reference ref="197661976"/>
-							<reference ref="708854459"/>
-							<reference ref="65139061"/>
-							<reference ref="19036812"/>
-							<reference ref="672708820"/>
-							<reference ref="537092702"/>
-						</object>
-						<reference key="parent" ref="507821607"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">350</int>
-						<reference key="object" ref="605118523"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">351</int>
-						<reference key="object" ref="197661976"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">354</int>
-						<reference key="object" ref="708854459"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">371</int>
-						<reference key="object" ref="972006081"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="439893737"/>
-						</object>
-						<reference key="parent" ref="0"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">372</int>
-						<reference key="object" ref="439893737"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="235139528"/>
-						</object>
-						<reference key="parent" ref="972006081"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">375</int>
-						<reference key="object" ref="302598603"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="941447902"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">376</int>
-						<reference key="object" ref="941447902"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="792887677"/>
-							<reference ref="215659978"/>
-						</object>
-						<reference key="parent" ref="302598603"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">377</int>
-						<reference key="object" ref="792887677"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="786677654"/>
-						</object>
-						<reference key="parent" ref="941447902"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">388</int>
-						<reference key="object" ref="786677654"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="159677712"/>
-							<reference ref="305399458"/>
-							<reference ref="814362025"/>
-							<reference ref="330926929"/>
-							<reference ref="533507878"/>
-							<reference ref="158063935"/>
-							<reference ref="885547335"/>
-							<reference ref="901062459"/>
-							<reference ref="767671776"/>
-							<reference ref="691570813"/>
-							<reference ref="769124883"/>
-							<reference ref="739652853"/>
-							<reference ref="1012600125"/>
-							<reference ref="214559597"/>
-							<reference ref="596732606"/>
-							<reference ref="393423671"/>
-						</object>
-						<reference key="parent" ref="792887677"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">389</int>
-						<reference key="object" ref="159677712"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">390</int>
-						<reference key="object" ref="305399458"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">391</int>
-						<reference key="object" ref="814362025"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">392</int>
-						<reference key="object" ref="330926929"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">393</int>
-						<reference key="object" ref="533507878"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">394</int>
-						<reference key="object" ref="158063935"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">395</int>
-						<reference key="object" ref="885547335"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">396</int>
-						<reference key="object" ref="901062459"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">397</int>
-						<reference key="object" ref="767671776"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="175441468"/>
-						</object>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">398</int>
-						<reference key="object" ref="691570813"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="1058217995"/>
-						</object>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">399</int>
-						<reference key="object" ref="769124883"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="18263474"/>
-						</object>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">400</int>
-						<reference key="object" ref="739652853"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">401</int>
-						<reference key="object" ref="1012600125"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">402</int>
-						<reference key="object" ref="214559597"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">403</int>
-						<reference key="object" ref="596732606"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">404</int>
-						<reference key="object" ref="393423671"/>
-						<reference key="parent" ref="786677654"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">405</int>
-						<reference key="object" ref="18263474"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="257962622"/>
-							<reference ref="644725453"/>
-							<reference ref="1037576581"/>
-							<reference ref="941806246"/>
-							<reference ref="1045724900"/>
-						</object>
-						<reference key="parent" ref="769124883"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">406</int>
-						<reference key="object" ref="257962622"/>
-						<reference key="parent" ref="18263474"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">407</int>
-						<reference key="object" ref="644725453"/>
-						<reference key="parent" ref="18263474"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">408</int>
-						<reference key="object" ref="1037576581"/>
-						<reference key="parent" ref="18263474"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">409</int>
-						<reference key="object" ref="941806246"/>
-						<reference key="parent" ref="18263474"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">410</int>
-						<reference key="object" ref="1045724900"/>
-						<reference key="parent" ref="18263474"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">411</int>
-						<reference key="object" ref="1058217995"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="706297211"/>
-							<reference ref="568384683"/>
-							<reference ref="663508465"/>
-						</object>
-						<reference key="parent" ref="691570813"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">412</int>
-						<reference key="object" ref="706297211"/>
-						<reference key="parent" ref="1058217995"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">413</int>
-						<reference key="object" ref="568384683"/>
-						<reference key="parent" ref="1058217995"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">414</int>
-						<reference key="object" ref="663508465"/>
-						<reference key="parent" ref="1058217995"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">415</int>
-						<reference key="object" ref="175441468"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="252969304"/>
-							<reference ref="766922938"/>
-							<reference ref="677519740"/>
-							<reference ref="238351151"/>
-						</object>
-						<reference key="parent" ref="767671776"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">416</int>
-						<reference key="object" ref="252969304"/>
-						<reference key="parent" ref="175441468"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">417</int>
-						<reference key="object" ref="766922938"/>
-						<reference key="parent" ref="175441468"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">418</int>
-						<reference key="object" ref="677519740"/>
-						<reference key="parent" ref="175441468"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">419</int>
-						<reference key="object" ref="238351151"/>
-						<reference key="parent" ref="175441468"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">420</int>
-						<reference key="object" ref="755631768"/>
-						<reference key="parent" ref="0"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">450</int>
-						<reference key="object" ref="288088188"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="579392910"/>
-						</object>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">451</int>
-						<reference key="object" ref="579392910"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="1060694897"/>
-							<reference ref="879586729"/>
-							<reference ref="56570060"/>
-						</object>
-						<reference key="parent" ref="288088188"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">452</int>
-						<reference key="object" ref="1060694897"/>
-						<reference key="parent" ref="579392910"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">453</int>
-						<reference key="object" ref="859480356"/>
-						<reference key="parent" ref="769623530"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">454</int>
-						<reference key="object" ref="795346622"/>
-						<reference key="parent" ref="769623530"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">457</int>
-						<reference key="object" ref="65139061"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">459</int>
-						<reference key="object" ref="19036812"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">460</int>
-						<reference key="object" ref="672708820"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">462</int>
-						<reference key="object" ref="537092702"/>
-						<reference key="parent" ref="698887838"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">465</int>
-						<reference key="object" ref="879586729"/>
-						<reference key="parent" ref="579392910"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">466</int>
-						<reference key="object" ref="56570060"/>
-						<reference key="parent" ref="579392910"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">485</int>
-						<reference key="object" ref="82994268"/>
-						<reference key="parent" ref="789758025"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">490</int>
-						<reference key="object" ref="448692316"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="992780483"/>
-						</object>
-						<reference key="parent" ref="649796088"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">491</int>
-						<reference key="object" ref="992780483"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="105068016"/>
-						</object>
-						<reference key="parent" ref="448692316"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">492</int>
-						<reference key="object" ref="105068016"/>
-						<reference key="parent" ref="992780483"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">494</int>
-						<reference key="object" ref="976324537"/>
-						<reference key="parent" ref="0"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">496</int>
-						<reference key="object" ref="215659978"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="446991534"/>
-						</object>
-						<reference key="parent" ref="941447902"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">497</int>
-						<reference key="object" ref="446991534"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="875092757"/>
-							<reference ref="630155264"/>
-							<reference ref="945678886"/>
-							<reference ref="512868991"/>
-							<reference ref="163117631"/>
-							<reference ref="31516759"/>
-							<reference ref="908105787"/>
-							<reference ref="644046920"/>
-							<reference ref="231811626"/>
-							<reference ref="883618387"/>
-						</object>
-						<reference key="parent" ref="215659978"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">498</int>
-						<reference key="object" ref="875092757"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">499</int>
-						<reference key="object" ref="630155264"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">500</int>
-						<reference key="object" ref="945678886"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">501</int>
-						<reference key="object" ref="512868991"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">502</int>
-						<reference key="object" ref="163117631"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">503</int>
-						<reference key="object" ref="31516759"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="956096989"/>
-						</object>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">504</int>
-						<reference key="object" ref="908105787"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">505</int>
-						<reference key="object" ref="644046920"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">506</int>
-						<reference key="object" ref="231811626"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">507</int>
-						<reference key="object" ref="883618387"/>
-						<reference key="parent" ref="446991534"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">508</int>
-						<reference key="object" ref="956096989"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="257099033"/>
-							<reference ref="551969625"/>
-							<reference ref="249532473"/>
-							<reference ref="607364498"/>
-							<reference ref="508151438"/>
-							<reference ref="981751889"/>
-							<reference ref="380031999"/>
-							<reference ref="825984362"/>
-							<reference ref="560145579"/>
-						</object>
-						<reference key="parent" ref="31516759"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">509</int>
-						<reference key="object" ref="257099033"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">510</int>
-						<reference key="object" ref="551969625"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">511</int>
-						<reference key="object" ref="249532473"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">512</int>
-						<reference key="object" ref="607364498"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">513</int>
-						<reference key="object" ref="508151438"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">514</int>
-						<reference key="object" ref="981751889"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">515</int>
-						<reference key="object" ref="380031999"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">516</int>
-						<reference key="object" ref="825984362"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">517</int>
-						<reference key="object" ref="560145579"/>
-						<reference key="parent" ref="956096989"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">541</int>
-						<reference key="object" ref="235139528"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="638101539"/>
-							<reference ref="341659203"/>
-						</object>
-						<reference key="parent" ref="439893737"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">542</int>
-						<reference key="object" ref="638101539"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-						</object>
-						<reference key="parent" ref="235139528"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">547</int>
-						<reference key="object" ref="341659203"/>
-						<object class="NSMutableArray" key="children">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<reference ref="882643913"/>
-							<reference ref="119239"/>
-						</object>
-						<reference key="parent" ref="235139528"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">548</int>
-						<reference key="object" ref="882643913"/>
-						<reference key="parent" ref="341659203"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">549</int>
-						<reference key="object" ref="119239"/>
-						<reference key="parent" ref="341659203"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">564</int>
-						<reference key="object" ref="615377771"/>
-						<reference key="parent" ref="0"/>
-					</object>
-				</object>
-			</object>
-			<object class="NSMutableDictionary" key="flattenedProperties">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<object class="NSArray" key="dict.sortedKeys">
-					<bool key="EncodedWithXMLCoder">YES</bool>
-					<string>-3.IBPluginDependency</string>
-					<string>112.IBPluginDependency</string>
-					<string>112.ImportedFromIB2</string>
-					<string>124.IBPluginDependency</string>
-					<string>124.ImportedFromIB2</string>
-					<string>125.IBPluginDependency</string>
-					<string>125.ImportedFromIB2</string>
-					<string>125.editorWindowContentRectSynchronizationRect</string>
-					<string>126.IBPluginDependency</string>
-					<string>126.ImportedFromIB2</string>
-					<string>129.IBPluginDependency</string>
-					<string>129.ImportedFromIB2</string>
-					<string>130.IBPluginDependency</string>
-					<string>130.ImportedFromIB2</string>
-					<string>130.editorWindowContentRectSynchronizationRect</string>
-					<string>131.IBPluginDependency</string>
-					<string>131.ImportedFromIB2</string>
-					<string>134.IBPluginDependency</string>
-					<string>134.ImportedFromIB2</string>
-					<string>136.IBPluginDependency</string>
-					<string>136.ImportedFromIB2</string>
-					<string>143.IBPluginDependency</string>
-					<string>143.ImportedFromIB2</string>
-					<string>144.IBPluginDependency</string>
-					<string>144.ImportedFromIB2</string>
-					<string>145.IBPluginDependency</string>
-					<string>145.ImportedFromIB2</string>
-					<string>149.IBPluginDependency</string>
-					<string>149.ImportedFromIB2</string>
-					<string>150.IBPluginDependency</string>
-					<string>150.ImportedFromIB2</string>
-					<string>19.IBPluginDependency</string>
-					<string>19.ImportedFromIB2</string>
-					<string>195.IBPluginDependency</string>
-					<string>195.ImportedFromIB2</string>
-					<string>196.IBPluginDependency</string>
-					<string>196.ImportedFromIB2</string>
-					<string>197.IBPluginDependency</string>
-					<string>197.ImportedFromIB2</string>
-					<string>198.IBPluginDependency</string>
-					<string>198.ImportedFromIB2</string>
-					<string>199.IBPluginDependency</string>
-					<string>199.ImportedFromIB2</string>
-					<string>200.IBEditorWindowLastContentRect</string>
-					<string>200.IBPluginDependency</string>
-					<string>200.ImportedFromIB2</string>
-					<string>200.editorWindowContentRectSynchronizationRect</string>
-					<string>201.IBPluginDependency</string>
-					<string>201.ImportedFromIB2</string>
-					<string>202.IBPluginDependency</string>
-					<string>202.ImportedFromIB2</string>
-					<string>203.IBPluginDependency</string>
-					<string>203.ImportedFromIB2</string>
-					<string>204.IBPluginDependency</string>
-					<string>204.ImportedFromIB2</string>
-					<string>205.IBEditorWindowLastContentRect</string>
-					<string>205.IBPluginDependency</string>
-					<string>205.ImportedFromIB2</string>
-					<string>205.editorWindowContentRectSynchronizationRect</string>
-					<string>206.IBPluginDependency</string>
-					<string>206.ImportedFromIB2</string>
-					<string>207.IBPluginDependency</string>
-					<string>207.ImportedFromIB2</string>
-					<string>208.IBPluginDependency</string>
-					<string>208.ImportedFromIB2</string>
-					<string>209.IBPluginDependency</string>
-					<string>209.ImportedFromIB2</string>
-					<string>210.IBPluginDependency</string>
-					<string>210.ImportedFromIB2</string>
-					<string>211.IBPluginDependency</string>
-					<string>211.ImportedFromIB2</string>
-					<string>212.IBPluginDependency</string>
-					<string>212.ImportedFromIB2</string>
-					<string>212.editorWindowContentRectSynchronizationRect</string>
-					<string>213.IBPluginDependency</string>
-					<string>213.ImportedFromIB2</string>
-					<string>214.IBPluginDependency</string>
-					<string>214.ImportedFromIB2</string>
-					<string>215.IBPluginDependency</string>
-					<string>215.ImportedFromIB2</string>
-					<string>216.IBPluginDependency</string>
-					<string>216.ImportedFromIB2</string>
-					<string>217.IBPluginDependency</string>
-					<string>217.ImportedFromIB2</string>
-					<string>218.IBPluginDependency</string>
-					<string>218.ImportedFromIB2</string>
-					<string>219.IBPluginDependency</string>
-					<string>219.ImportedFromIB2</string>
-					<string>220.IBEditorWindowLastContentRect</string>
-					<string>220.IBPluginDependency</string>
-					<string>220.ImportedFromIB2</string>
-					<string>220.editorWindowContentRectSynchronizationRect</string>
-					<string>221.IBPluginDependency</string>
-					<string>221.ImportedFromIB2</string>
-					<string>23.IBPluginDependency</string>
-					<string>23.ImportedFromIB2</string>
-					<string>236.IBPluginDependency</string>
-					<string>236.ImportedFromIB2</string>
-					<string>239.IBPluginDependency</string>
-					<string>239.ImportedFromIB2</string>
-					<string>24.IBEditorWindowLastContentRect</string>
-					<string>24.IBPluginDependency</string>
-					<string>24.ImportedFromIB2</string>
-					<string>24.editorWindowContentRectSynchronizationRect</string>
-					<string>29.IBEditorWindowLastContentRect</string>
-					<string>29.IBPluginDependency</string>
-					<string>29.ImportedFromIB2</string>
-					<string>29.WindowOrigin</string>
-					<string>29.editorWindowContentRectSynchronizationRect</string>
-					<string>295.IBPluginDependency</string>
-					<string>296.IBEditorWindowLastContentRect</string>
-					<string>296.IBPluginDependency</string>
-					<string>296.editorWindowContentRectSynchronizationRect</string>
-					<string>297.IBPluginDependency</string>
-					<string>298.IBPluginDependency</string>
-					<string>346.IBPluginDependency</string>
-					<string>346.ImportedFromIB2</string>
-					<string>348.IBPluginDependency</string>
-					<string>348.ImportedFromIB2</string>
-					<string>349.IBEditorWindowLastContentRect</string>
-					<string>349.IBPluginDependency</string>
-					<string>349.ImportedFromIB2</string>
-					<string>349.editorWindowContentRectSynchronizationRect</string>
-					<string>350.IBPluginDependency</string>
-					<string>350.ImportedFromIB2</string>
-					<string>351.IBPluginDependency</string>
-					<string>351.ImportedFromIB2</string>
-					<string>354.IBPluginDependency</string>
-					<string>354.ImportedFromIB2</string>
-					<string>371.IBEditorWindowLastContentRect</string>
-					<string>371.IBPluginDependency</string>
-					<string>371.IBWindowTemplateEditedContentRect</string>
-					<string>371.NSWindowTemplate.visibleAtLaunch</string>
-					<string>371.editorWindowContentRectSynchronizationRect</string>
-					<string>371.windowTemplate.maxSize</string>
-					<string>371.windowTemplate.minSize</string>
-					<string>372.IBPluginDependency</string>
-					<string>375.IBPluginDependency</string>
-					<string>376.IBEditorWindowLastContentRect</string>
-					<string>376.IBPluginDependency</string>
-					<string>377.IBPluginDependency</string>
-					<string>388.IBEditorWindowLastContentRect</string>
-					<string>388.IBPluginDependency</string>
-					<string>389.IBPluginDependency</string>
-					<string>390.IBPluginDependency</string>
-					<string>391.IBPluginDependency</string>
-					<string>392.IBPluginDependency</string>
-					<string>393.IBPluginDependency</string>
-					<string>394.IBPluginDependency</string>
-					<string>395.IBPluginDependency</string>
-					<string>396.IBPluginDependency</string>
-					<string>397.IBPluginDependency</string>
-					<string>398.IBPluginDependency</string>
-					<string>399.IBPluginDependency</string>
-					<string>400.IBPluginDependency</string>
-					<string>401.IBPluginDependency</string>
-					<string>402.IBPluginDependency</string>
-					<string>403.IBPluginDependency</string>
-					<string>404.IBPluginDependency</string>
-					<string>405.IBPluginDependency</string>
-					<string>406.IBPluginDependency</string>
-					<string>407.IBPluginDependency</string>
-					<string>408.IBPluginDependency</string>
-					<string>409.IBPluginDependency</string>
-					<string>410.IBPluginDependency</string>
-					<string>411.IBPluginDependency</string>
-					<string>412.IBPluginDependency</string>
-					<string>413.IBPluginDependency</string>
-					<string>414.IBPluginDependency</string>
-					<string>415.IBPluginDependency</string>
-					<string>416.IBPluginDependency</string>
-					<string>417.IBPluginDependency</string>
-					<string>418.IBPluginDependency</string>
-					<string>419.IBPluginDependency</string>
-					<string>450.IBPluginDependency</string>
-					<string>451.IBEditorWindowLastContentRect</string>
-					<string>451.IBPluginDependency</string>
-					<string>452.IBPluginDependency</string>
-					<string>453.IBPluginDependency</string>
-					<string>454.IBPluginDependency</string>
-					<string>457.IBPluginDependency</string>
-					<string>459.IBPluginDependency</string>
-					<string>460.IBPluginDependency</string>
-					<string>462.IBPluginDependency</string>
-					<string>465.IBPluginDependency</string>
-					<string>466.IBPluginDependency</string>
-					<string>485.IBPluginDependency</string>
-					<string>490.IBPluginDependency</string>
-					<string>491.IBEditorWindowLastContentRect</string>
-					<string>491.IBPluginDependency</string>
-					<string>492.IBPluginDependency</string>
-					<string>496.IBPluginDependency</string>
-					<string>497.IBEditorWindowLastContentRect</string>
-					<string>497.IBPluginDependency</string>
-					<string>498.IBPluginDependency</string>
-					<string>499.IBPluginDependency</string>
-					<string>5.IBPluginDependency</string>
-					<string>5.ImportedFromIB2</string>
-					<string>500.IBPluginDependency</string>
-					<string>501.IBPluginDependency</string>
-					<string>502.IBPluginDependency</string>
-					<string>503.IBPluginDependency</string>
-					<string>504.IBPluginDependency</string>
-					<string>505.IBPluginDependency</string>
-					<string>506.IBPluginDependency</string>
-					<string>507.IBPluginDependency</string>
-					<string>508.IBEditorWindowLastContentRect</string>
-					<string>508.IBPluginDependency</string>
-					<string>509.IBPluginDependency</string>
-					<string>510.IBPluginDependency</string>
-					<string>511.IBPluginDependency</string>
-					<string>512.IBPluginDependency</string>
-					<string>513.IBPluginDependency</string>
-					<string>514.IBPluginDependency</string>
-					<string>515.IBPluginDependency</string>
-					<string>516.IBPluginDependency</string>
-					<string>517.IBPluginDependency</string>
-					<string>541.IBPluginDependency</string>
-					<string>542.IBPluginDependency</string>
-					<string>547.IBPluginDependency</string>
-					<string>548.IBPluginDependency</string>
-					<string>549.IBPluginDependency</string>
-					<string>56.IBPluginDependency</string>
-					<string>56.ImportedFromIB2</string>
-					<string>564.IBPluginDependency</string>
-					<string>57.IBEditorWindowLastContentRect</string>
-					<string>57.IBPluginDependency</string>
-					<string>57.ImportedFromIB2</string>
-					<string>57.editorWindowContentRectSynchronizationRect</string>
-					<string>58.IBPluginDependency</string>
-					<string>58.ImportedFromIB2</string>
-					<string>72.IBPluginDependency</string>
-					<string>72.ImportedFromIB2</string>
-					<string>73.IBPluginDependency</string>
-					<string>73.ImportedFromIB2</string>
-					<string>74.IBPluginDependency</string>
-					<string>74.ImportedFromIB2</string>
-					<string>75.IBPluginDependency</string>
-					<string>75.ImportedFromIB2</string>
-					<string>77.IBPluginDependency</string>
-					<string>77.ImportedFromIB2</string>
-					<string>78.IBPluginDependency</string>
-					<string>78.ImportedFromIB2</string>
-					<string>79.IBPluginDependency</string>
-					<string>79.ImportedFromIB2</string>
-					<string>80.IBPluginDependency</string>
-					<string>80.ImportedFromIB2</string>
-					<string>81.IBEditorWindowLastContentRect</string>
-					<string>81.IBPluginDependency</string>
-					<string>81.ImportedFromIB2</string>
-					<string>81.editorWindowContentRectSynchronizationRect</string>
-					<string>82.IBPluginDependency</string>
-					<string>82.ImportedFromIB2</string>
-					<string>83.IBPluginDependency</string>
-					<string>83.ImportedFromIB2</string>
-					<string>92.IBPluginDependency</string>
-					<string>92.ImportedFromIB2</string>
-				</object>
-				<object class="NSMutableArray" key="dict.values">
-					<bool key="EncodedWithXMLCoder">YES</bool>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{522, 812}, {146, 23}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{436, 809}, {64, 6}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{753, 187}, {275, 113}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{608, 612}, {275, 83}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{567, 553}, {254, 283}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{187, 434}, {243, 243}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{608, 612}, {167, 43}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{753, 217}, {238, 103}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{608, 612}, {241, 103}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{654, 239}, {194, 73}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{525, 802}, {197, 73}}</string>
-					<string>{{366, 1048}, {479, 20}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{74, 862}</string>
-					<string>{{6, 978}, {478, 20}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{604, 269}, {231, 43}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{475, 832}, {234, 43}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{746, 287}, {220, 133}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{608, 612}, {215, 63}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{307, 304}, {840, 680}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{307, 304}, {840, 680}}</string>
-					<integer value="1"/>
-					<string>{{33, 99}, {480, 360}}</string>
-					<string>{3.40282e+38, 3.40282e+38}</string>
-					<string>{0, 0}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{591, 420}, {83, 43}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{523, 2}, {178, 283}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{753, 197}, {170, 63}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{725, 289}, {246, 23}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{674, 260}, {204, 183}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{878, 180}, {164, 173}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{286, 129}, {275, 183}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{23, 794}, {245, 183}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{511, 845}, {196, 203}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>{{145, 474}, {199, 203}}</string>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<integer value="1"/>
-				</object>
-			</object>
-			<object class="NSMutableDictionary" key="unlocalizedProperties">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<reference key="dict.sortedKeys" ref="0"/>
-				<object class="NSMutableArray" key="dict.values">
-					<bool key="EncodedWithXMLCoder">YES</bool>
-				</object>
-			</object>
-			<nil key="activeLocalization"/>
-			<object class="NSMutableDictionary" key="localizations">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<reference key="dict.sortedKeys" ref="0"/>
-				<object class="NSMutableArray" key="dict.values">
-					<bool key="EncodedWithXMLCoder">YES</bool>
-				</object>
-			</object>
-			<nil key="sourceID"/>
-			<int key="maxID">567</int>
-		</object>
-		<object class="IBClassDescriber" key="IBDocument.Classes">
-			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<object class="IBPartialClassDescription">
-					<string key="className">CocoaDebuggerAppDelegate</string>
-					<string key="superclassName">NSObject</string>
-					<object class="NSMutableDictionary" key="outlets">
-						<string key="NS.key.0">window</string>
-						<string key="NS.object.0">SkNSWindow</string>
-					</object>
-					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
-						<string key="NS.key.0">window</string>
-						<object class="IBToOneOutletInfo" key="NS.object.0">
-							<string key="name">window</string>
-							<string key="candidateClassName">SkNSWindow</string>
-						</object>
-					</object>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBProjectSource</string>
-						<string key="minorKey">CocoaDebuggerAppDelegate.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">SkDebugger</string>
-					<string key="superclassName">SkNSWindow</string>
-					<object class="NSMutableDictionary" key="outlets">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>fCommandView</string>
-							<string>fContentView</string>
-							<string>fInfoView</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>SkNSView</string>
-							<string>SkNSView</string>
-							<string>SkNSView</string>
-						</object>
-					</object>
-					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>fCommandView</string>
-							<string>fContentView</string>
-							<string>fInfoView</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<object class="IBToOneOutletInfo">
-								<string key="name">fCommandView</string>
-								<string key="candidateClassName">SkNSView</string>
-							</object>
-							<object class="IBToOneOutletInfo">
-								<string key="name">fContentView</string>
-								<string key="candidateClassName">SkNSView</string>
-							</object>
-							<object class="IBToOneOutletInfo">
-								<string key="name">fInfoView</string>
-								<string key="candidateClassName">SkNSView</string>
-							</object>
-						</object>
-					</object>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBProjectSource</string>
-						<string key="minorKey">SkDebugger.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">SkMenuController</string>
-					<string key="superclassName">NSObject</string>
-					<object class="NSMutableDictionary" key="actions">
-						<string key="NS.key.0">openFile:</string>
-						<string key="NS.object.0">id</string>
-					</object>
-					<object class="NSMutableDictionary" key="actionInfosByName">
-						<string key="NS.key.0">openFile:</string>
-						<object class="IBActionInfo" key="NS.object.0">
-							<string key="name">openFile:</string>
-							<string key="candidateClassName">id</string>
-						</object>
-					</object>
-					<object class="NSMutableDictionary" key="outlets">
-						<string key="NS.key.0">fWindow</string>
-						<string key="NS.object.0">SkDebugger</string>
-					</object>
-					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
-						<string key="NS.key.0">fWindow</string>
-						<object class="IBToOneOutletInfo" key="NS.object.0">
-							<string key="name">fWindow</string>
-							<string key="candidateClassName">SkDebugger</string>
-						</object>
-					</object>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBProjectSource</string>
-						<string key="minorKey">SkMenuController.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">SkNSView</string>
-					<string key="superclassName">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBProjectSource</string>
-						<string key="minorKey">../SimpleCocoaApp/SkNSView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">SkNSWindow</string>
-					<string key="superclassName">NSWindow</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBProjectSource</string>
-						<string key="minorKey">../SimpleCocoaApp/SkNSWindow.h</string>
-					</object>
-				</object>
-			</object>
-			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSApplication</string>
-					<string key="superclassName">NSResponder</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="822405504">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSApplication</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="850738725">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSApplication</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="624831158">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSApplication</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSApplication</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSApplication</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSBrowser</string>
-					<string key="superclassName">NSControl</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSControl</string>
-					<string key="superclassName">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="310914472">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSDocument</string>
-					<string key="superclassName">NSObject</string>
-					<object class="NSMutableDictionary" key="actions">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>printDocument:</string>
-							<string>revertDocumentToSaved:</string>
-							<string>runPageLayout:</string>
-							<string>saveDocument:</string>
-							<string>saveDocumentAs:</string>
-							<string>saveDocumentTo:</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>id</string>
-							<string>id</string>
-							<string>id</string>
-							<string>id</string>
-							<string>id</string>
-							<string>id</string>
-						</object>
-					</object>
-					<object class="NSMutableDictionary" key="actionInfosByName">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>printDocument:</string>
-							<string>revertDocumentToSaved:</string>
-							<string>runPageLayout:</string>
-							<string>saveDocument:</string>
-							<string>saveDocumentAs:</string>
-							<string>saveDocumentTo:</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<object class="IBActionInfo">
-								<string key="name">printDocument:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">revertDocumentToSaved:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">runPageLayout:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">saveDocument:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">saveDocumentAs:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">saveDocumentTo:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-						</object>
-					</object>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSDocument.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSDocument</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSDocumentScripting.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSDocumentController</string>
-					<string key="superclassName">NSObject</string>
-					<object class="NSMutableDictionary" key="actions">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>clearRecentDocuments:</string>
-							<string>newDocument:</string>
-							<string>openDocument:</string>
-							<string>saveAllDocuments:</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>id</string>
-							<string>id</string>
-							<string>id</string>
-							<string>id</string>
-						</object>
-					</object>
-					<object class="NSMutableDictionary" key="actionInfosByName">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>clearRecentDocuments:</string>
-							<string>newDocument:</string>
-							<string>openDocument:</string>
-							<string>saveAllDocuments:</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<object class="IBActionInfo">
-								<string key="name">clearRecentDocuments:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">newDocument:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">openDocument:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-							<object class="IBActionInfo">
-								<string key="name">saveAllDocuments:</string>
-								<string key="candidateClassName">id</string>
-							</object>
-						</object>
-					</object>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSDocumentController.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSFontManager</string>
-					<string key="superclassName">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="946436764">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSFormatter</string>
-					<string key="superclassName">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSMatrix</string>
-					<string key="superclassName">NSControl</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSMenu</string>
-					<string key="superclassName">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="1056362899">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSMenuItem</string>
-					<string key="superclassName">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="472958451">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSMovieView</string>
-					<string key="superclassName">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSMovieView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<reference key="sourceIdentifier" ref="822405504"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<reference key="sourceIdentifier" ref="850738725"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<reference key="sourceIdentifier" ref="624831158"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<reference key="sourceIdentifier" ref="310914472"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<reference key="sourceIdentifier" ref="946436764"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<reference key="sourceIdentifier" ref="1056362899"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="809545482">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="260078765">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSResponder</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSResponder</string>
-					<string key="superclassName">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSSplitView</string>
-					<string key="superclassName">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSSplitView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSTableView</string>
-					<string key="superclassName">NSControl</string>
-					<reference key="sourceIdentifier" ref="809545482"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSText</string>
-					<string key="superclassName">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSText.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSTextView</string>
-					<string key="superclassName">NSText</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSTextView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSView</string>
-					<reference key="sourceIdentifier" ref="472958451"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSView</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSView</string>
-					<string key="superclassName">NSResponder</string>
-					<reference key="sourceIdentifier" ref="260078765"/>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSWindow</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSWindow</string>
-					<string key="superclassName">NSResponder</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSWindow</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
-					</object>
-				</object>
-			</object>
-		</object>
-		<int key="IBDocument.localizationMode">0</int>
-		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
-		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
-			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
-			<integer value="1060" key="NS.object.0"/>
-		</object>
-		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
-			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
-			<integer value="3000" key="NS.object.0"/>
-		</object>
-		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
-		<string key="IBDocument.LastKnownRelativeProjectPath">../CocoaDebugger.xcodeproj</string>
-		<int key="IBDocument.defaultPropertyAccessControl">3</int>
-		<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
-			<bool key="EncodedWithXMLCoder">YES</bool>
-			<object class="NSArray" key="dict.sortedKeys">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<string>NSMenuCheckmark</string>
-				<string>NSMenuMixedState</string>
-			</object>
-			<object class="NSMutableArray" key="dict.values">
-				<bool key="EncodedWithXMLCoder">YES</bool>
-				<string>{9, 8}</string>
-				<string>{7, 2}</string>
-			</object>
-		</object>
-	</data>
-</archive>
diff --git a/experimental/CocoaDebugger/SkCommandListView.cpp b/experimental/CocoaDebugger/SkCommandListView.cpp
deleted file mode 100644
index 209adcf..0000000
--- a/experimental/CocoaDebugger/SkCommandListView.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkDebuggerViews.h"
-
-SkCommandListView::SkCommandListView() {
-    fBGColor = 0xFFBBBBBB;
-    fTopIndex = 0;
-    fHighlight = 0;
-    
-    SkPaint p;
-    p.setTextSize(SkIntToScalar(SkDebugger_TextSize));
-    fSpacing = p.getFontSpacing();
-    fCentered = false;
-    fRange = (int)(this->height()/fSpacing) - 1;
-}
-
-bool SkCommandListView::onEvent(const SkEvent& evt) {
-    if (evt.isType(SkDebugger_CommandType)) {
-        SkString msg(evt.findString(SkDebugger_Atom));
-        fList.push_back(msg);
-        this->inval(NULL);
-        return true;
-    }
-    return this->INHERITED::onEvent(evt);
-}
-
-void SkCommandListView::onSizeChange() {
-    fRange = (int)(this->height()/fSpacing) - 1;
-    this->INHERITED::onSizeChange();
-}
-
-void SkCommandListView::reinit() {
-    fList.clear();
-    fTopIndex = 0;
-    fHighlight = 0;
-}
-
-void SkCommandListView::alignCenter() {
-    if (!fCentered || fHighlight < fRange/2 || fHighlight > (fList.size() - fRange/2))
-        return;
-    else {
-        if (fHighlight > (fTopIndex + fRange/2)) {
-            fTopIndex += fHighlight - (fTopIndex + fRange/2);
-        }
-        if (fHighlight < (fTopIndex + fRange/2)) {
-            fTopIndex -= (fTopIndex + fRange/2) - fHighlight;
-        }
-    }
-}
-
-int SkCommandListView::nextItem() {
-    if (fHighlight < fList.size() - 1)
-        ++fHighlight;
-    if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange)) {
-        fTopIndex = fHighlight;
-    }
-    if (fHighlight == (fTopIndex + fRange)) {
-        ++fTopIndex;
-    }
-    this->alignCenter();
-    this->inval(NULL);
-    return fHighlight;
-}
-
-int SkCommandListView::prevItem() {
-    if (fHighlight > 0)
-        --fHighlight;
-    if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange)) {
-        fTopIndex = fHighlight;
-    }
-    this->alignCenter();
-    this->inval(NULL);
-    return fHighlight;
-}
-
-int SkCommandListView::scrollUp() {
-    if (fTopIndex > 0)
-        --fTopIndex;
-    this->inval(NULL);
-    return fHighlight;
-}
-
-int SkCommandListView::scrollDown() {
-    if (fTopIndex < (fList.size() - 1))
-        ++fTopIndex;
-    this->inval(NULL);
-    return fHighlight;
-}
-
-void SkCommandListView::highlight(int index) {
-    SkASSERT(index >= 0 && index < fList.size());
-    if (fHighlight != index) {
-        fHighlight = index;
-        this->alignCenter();
-        this->inval(NULL);
-    }
-}
-
-int SkCommandListView::selectHighlight(int ypos) {
-    int i = (int)(ypos/fSpacing) + fTopIndex;
-    if (i >= fList.size()) {
-        i = fList.size() - 1;
-    }
-    if (fHighlight != i) {
-        fHighlight = i;
-        this->alignCenter();
-        this->inval(NULL);
-    }
-    return fHighlight;
-}
-
-void SkCommandListView::toggleCentered() {
-    fCentered = !fCentered;
-    this->alignCenter();
-    this->inval(NULL);
-}
-
-void SkCommandListView::onDraw(SkCanvas* canvas) {
-    canvas->drawColor(fBGColor);
-    
-    SkPaint p;
-    p.setTextSize(SkIntToScalar(SkDebugger_TextSize));
-    p.setAntiAlias(true);
-    
-    //draw highlight
-    int selected = fHighlight - fTopIndex;
-    SkRect r = {0, fSpacing * selected, this->width(), fSpacing * (selected+1)};
-    p.setColor(0x880033DD);
-    canvas->drawRect(r, p);
-    
-    int endIndex = fTopIndex + fRange; 
-    if (endIndex > fList.size())
-        endIndex = fList.size();
-    
-    p.setColor(0xFF000000);
-    int pos;
-    for (int i = fTopIndex; i < endIndex; ++i) {
-        pos = i - fTopIndex;
-        canvas->drawText(fList[i].c_str(), fList[i].size(), 
-                         0, fSpacing - 2 + fSpacing * pos, p);
-    }
-    this->INHERITED::onDraw(canvas);
-}
\ No newline at end of file
diff --git a/experimental/CocoaDebugger/SkContentView.cpp b/experimental/CocoaDebugger/SkContentView.cpp
deleted file mode 100644
index 8846826..0000000
--- a/experimental/CocoaDebugger/SkContentView.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkDebuggerViews.h"
-#include <stdio.h>
-
-SkContentView::SkContentView(SkEventSinkID clID, SkEventSinkID ipID) : 
-                         fDumper(this->getSinkID(), clID, ipID) {
-    fBGColor = 0xFFDDDDDD;
-    fAtomsToRead = 0;
-    fDisplayClip = false;
-}
-
-SkContentView::~SkContentView() {
-    fAtomBounds.clear();
-    fFrameBounds.clear();
-}
-
-void SkContentView::reinit(const char* filename) {
-    fFilePath.set(filename);
-    fAtomsToRead = 0;
-    this->init();
-}
-
-bool SkContentView::onEvent(const SkEvent& evt) {
-    return this->INHERITED::onEvent(evt);
-}
-
-//Read file atom by atom and record attom bounds
-void SkContentView::init() {
-    fDumper.unload();
-    fAtomBounds.clear();
-    fFrameBounds.clear();
-    
-    SkDumpCanvasM* dumpCanvas = new SkDumpCanvasM(&fDumper);
-    SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas);
-    
-    FILE* f = fopen(fFilePath.c_str(), "rb");
-    SkASSERT(f != NULL);
-    fseek(f, 0, SEEK_END);
-    int fileSize = ftell(f) * sizeof(char);
-    fseek(f, 0, SEEK_SET);
-    if (fileSize > 0) {
-        char* block = (char*)sk_malloc_throw(fileSize);
-        fread(block, 1, fileSize, f);
-        int offset = 0;
-        int frameBound = 0;
-        size_t bytesRead;
-        while (offset < fileSize) {
-            SkGPipeReader::Status s = dumpReader->playback(block + offset, 
-                                                           fileSize - offset, 
-                                                           &bytesRead, true);
-            SkASSERT(SkGPipeReader::kError_Status != s);
-            offset += bytesRead;
-            if (SkGPipeReader::kDone_Status == s) {
-                fDumper.dump(dumpCanvas,SkDumpCanvasM::kNULL_Verb, 
-                             "End of Frame", NULL);
-                delete dumpReader;
-                delete dumpCanvas;
-                dumpCanvas = new SkDumpCanvasM(&fDumper);
-                dumpReader = new SkGPipeReader(dumpCanvas);
-                frameBound = offset;
-            }
-            fAtomBounds.push_back(offset);
-            fFrameBounds.push_back(frameBound);
-        }
-        sk_free(block);
-    }
-
-    fclose(f);
-    
-    delete dumpReader;
-    delete dumpCanvas;
-    
-    fDumper.load();
-}
-
-void SkContentView::goToAtom(int atom) {
-    if (atom != fAtomsToRead) {
-        fAtomsToRead = atom;
-        this->inval(NULL);
-    }
-}
-
-void SkContentView::toggleClip() {
-    fDisplayClip = !fDisplayClip;
-    this->inval(NULL);
-}
-
-void SkContentView::onDraw(SkCanvas* canvas) {
-    canvas->drawColor(fBGColor);
-    
-    SkAutoCanvasRestore acr(canvas, true);
-
-    int lastFrameBound = fFrameBounds[fAtomsToRead];
-    int toBeRead = fAtomBounds[fAtomsToRead] - lastFrameBound;
-    int firstChunk = (fAtomsToRead > 0) ? fAtomBounds[fAtomsToRead - 1] -
-                                          lastFrameBound: 0;
-    if (toBeRead > 0) {
-        SkDumpCanvasM* dumpCanvas = new SkDumpCanvasM(&fDumper);
-        SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas);
-        SkGPipeReader* reader = new SkGPipeReader(canvas);
-        fDumper.disable();
-        
-        FILE* f = fopen(fFilePath.c_str(), "rb");
-        SkASSERT(f != NULL);
-        fseek(f, lastFrameBound, SEEK_SET);
-        char* block = (char*)sk_malloc_throw(toBeRead);
-        fread(block, 1, toBeRead, f);
-        int offset = 0;
-        size_t bytesRead;
-        SkGPipeReader::Status s;
-        //Read the first chunk
-        if (offset < firstChunk && firstChunk < toBeRead) {
-            s = dumpReader->playback(block + offset, firstChunk - offset, NULL, false);
-            SkASSERT(SkGPipeReader::kError_Status != s);
-            s = reader->playback(block + offset, firstChunk - offset, &bytesRead, false);
-            SkASSERT(SkGPipeReader::kError_Status != s);
-            if (SkGPipeReader::kDone_Status == s){
-                delete dumpReader;
-                delete dumpCanvas;
-                dumpCanvas = new SkDumpCanvasM(&fDumper);
-                dumpReader = new SkGPipeReader(dumpCanvas);
-                delete reader;
-                reader = new SkGPipeReader(canvas);
-            }
-            offset += bytesRead;
-        }
-        SkASSERT(offset == firstChunk);
-        //Then read the current atom
-        fDumper.enable();
-        s = dumpReader->playback(block + offset, toBeRead - offset, NULL, true);
-        SkASSERT(SkGPipeReader::kError_Status != s);
-        s = reader->playback(block + offset, toBeRead - offset, &bytesRead, true);
-        SkASSERT(SkGPipeReader::kError_Status != s);
-
-        sk_free(block);
-        fclose(f);
-        
-        delete reader;
-        delete dumpReader;
-        delete dumpCanvas;
-        
-        if (fDisplayClip) {
-            SkPaint p;
-            p.setColor(0x440000AA);
-            SkPath path;
-            canvas->getTotalClip().getBoundaryPath(&path);
-            canvas->drawPath(path, p);
-        }
-    }
-    this->INHERITED::onDraw(canvas);
-}
\ No newline at end of file
diff --git a/experimental/CocoaDebugger/SkDebugger.h b/experimental/CocoaDebugger/SkDebugger.h
deleted file mode 100644
index f18848e..0000000
--- a/experimental/CocoaDebugger/SkDebugger.h
+++ /dev/null
@@ -1,22 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#import "SkNSWindow.h"
-#import "SkDebuggerViews.h"
-@interface SkDebugger : SkNSWindow {
-    IBOutlet SkNSView* fCommandView;
-    IBOutlet SkNSView* fContentView;
-    IBOutlet SkNSView* fInfoView;
-    
-    SkCommandListView* fCommand;
-    SkContentView* fContent;
-    SkInfoPanelView* fInfo;
-}
-
-- (void)loadFile:(NSString *)filename;
-@end
-
diff --git a/experimental/CocoaDebugger/SkDebugger.mm b/experimental/CocoaDebugger/SkDebugger.mm
deleted file mode 100644
index a969583..0000000
--- a/experimental/CocoaDebugger/SkDebugger.mm
+++ /dev/null
@@ -1,156 +0,0 @@
-#import "SkDebugger.h"
-@implementation SkDebugger
--(void) installSkViews {
-    
-    float width = [self frame].size.width;
-    float height = [self frame].size.height;
-    float commandListW = 200;
-    float infoPanelH = 150.0;
-    fCommand = new SkCommandListView;
-    fCommand->setSize(commandListW, height);
-    fCommand->setVisibleP(true);
-    
-    fInfo = new SkInfoPanelView;
-    fInfo->setSize(width - commandListW, infoPanelH);
-    fInfo->setVisibleP(true);
-    
-    fContent = new SkContentView(fCommand->getSinkID(), 
-                                 fInfo->getSinkID());
-    fContent->setSize(width - commandListW, height - infoPanelH);
-    fContent->setVisibleP(true);
-    
-    [fInfoView addSkView:fInfo];
-    [fCommandView addSkView:fCommand];
-    [fContentView addSkView:fContent];
-    
-    fInfo->unref();
-    fCommand->unref();
-    fContent->unref();
-}
-
-- (void)loadFile:(NSString *)filename {
-    fCommand->reinit();
-    fContent->reinit([filename UTF8String]);
-}
-
-- (void)keyDown:(NSEvent *)event {
-    // arrow keys have this mask
-    if ([event modifierFlags] & NSNumericPadKeyMask) { 
-        NSString *theArrow = [event charactersIgnoringModifiers];
-        if ( [theArrow length] == 0 )
-            return;            // reject dead keys
-        if ( [theArrow length] == 1 ) {
-            switch ([theArrow characterAtIndex:0]) {
-                case NSLeftArrowFunctionKey:
-                    fContent->goToAtom(fCommand->prevItem());
-                    break;
-                case NSRightArrowFunctionKey:
-                    fContent->goToAtom(fCommand->nextItem());
-                    break;
-                case NSUpArrowFunctionKey:
-                    fContent->goToAtom(fCommand->scrollUp());
-                    break;
-                case NSDownArrowFunctionKey:
-                    fContent->goToAtom(fCommand->scrollDown());
-                    break;
-                default:
-                    [super keyDown:event];
-            }
-            return;
-        }
-    }
-    else {//normal keys
-        switch ([[event characters] characterAtIndex:0]) {
-            case 'c':
-                fContent->toggleClip();
-                break;
-            case 'e':
-                fCommand->toggleCentered();
-                break;
-            default:
-                [super keyDown:event];
-        }
-        return;
-    }
-    
-    [super keyDown:event];
-}
-
-- (void)mouseDown:(NSEvent *)event {
-    if ([event clickCount] > 1) {
-        [fContentView resetTransformations];
-        [fContentView setNeedsDisplay:YES];
-    }
-    else {
-        NSPoint p = [event locationInWindow];
-        NSRect commandRect = [fCommandView convertRectToBase:[fCommandView bounds]];
-        if ([fCommandView mouse:p inRect:commandRect]) {
-            NSPoint mouseLocInView = [fCommandView convertPoint:p fromView:nil];
-            fContent->goToAtom(fCommand->selectHighlight(mouseLocInView.y));
-        }
-    }
-    [super mouseDown:event];
-}
-
-- (void)mouseDragged:(NSEvent *)event {
-    NSPoint p = [event locationInWindow];
-    NSRect contentRect = [fContentView convertRectToBase:[fContentView bounds]];
-    NSRect commandRect = [fCommandView convertRectToBase:[fCommandView bounds]];
-    if ([fContentView mouse:p inRect:contentRect]) {
-        fContentView.fOffset =  NSMakePoint(fContentView.fOffset.x + [event deltaX], 
-                                           fContentView.fOffset.y + [event deltaY]);
-        fContentView.fCenter =  NSMakePoint(fContentView.fCenter.x - [event deltaX], 
-                                           fContentView.fCenter.y - [event deltaY]);
-        [fContentView setNeedsDisplay:YES];
-    }
-    [super mouseDragged:event];
-}
-
-- (void)magnifyWithEvent:(NSEvent *)event {
-    if ([fContentView mouse:[event locationInWindow] 
-                     inRect:[fContentView convertRectToBase:[fContentView bounds]]]) {
-//        fContentView.fCenter = [fContentView convertPoint:[event locationInWindow]
-//                                                fromView:nil];
-        fContentView.fScale = fContentView.fScale * ([event magnification] + 1.0);
-        [fContentView setNeedsDisplay:YES];
-    }
-    [super magnifyWithEvent:event];
-}
-
-- (void)rotateWithEvent:(NSEvent *)event {
-    if ([fContentView mouse:[event locationInWindow] 
-                     inRect:[fContentView convertRectToBase:[fContentView bounds]]]) {
-//        fContentView.fCenter  = [fContentView convertPoint:[event locationInWindow]
-//                                          fromView:nil];
-        fContentView.fRotation = fContentView.fRotation - [event rotation];
-        [fContentView setNeedsDisplay:YES];
-    }
-    [super rotateWithEvent:event];
-}
-
-- (void)scrollWheel:(NSEvent *)event {
-    NSPoint p = [event locationInWindow];
-    NSRect contentRect = [fContentView convertRectToBase:[fContentView bounds]];
-    NSRect commandRect = [fCommandView convertRectToBase:[fCommandView bounds]];
-    if ([fContentView mouse:p inRect:contentRect]) {
-//        fContentView.fCenter = [fContentView convertPoint:[event locationInWindow]
-//                                                fromView:nil];
-        if ([event deltaY] > 0) {
-            fContentView.fScale = fContentView.fScale * (1.05);
-        }
-        if ([event deltaY] < 0) {
-            fContentView.fScale = fContentView.fScale * (0.95);
-        }
-        [fContentView setNeedsDisplay:YES];
-    }
-    if ([fCommandView mouse:p inRect:commandRect]) {
-        if ([event deltaY] > 0) {
-            fContent->goToAtom(fCommand->scrollUp());
-        }
-        if ([event deltaY] < 0) {
-            fContent->goToAtom(fCommand->scrollDown());
-        }
-    }
-    [super scrollWheel:event];
-}
-@end
\ No newline at end of file
diff --git a/experimental/CocoaDebugger/SkDebuggerViews.h b/experimental/CocoaDebugger/SkDebuggerViews.h
deleted file mode 100644
index d292140..0000000
--- a/experimental/CocoaDebugger/SkDebuggerViews.h
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkView.h"
-#include "SkColor.h"
-#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "SkGPipe.h"
-#include "SkPaint.h"
-
-#include "SkDebugDumper.h"
-#include <deque> 
-#define SkDebugger_TextSize 14
-
-#define SkDebugger_CommandType  "SkDebugger_Command"
-#define SkDebugger_StateType    "SkDebugger_State"
-
-#define SkDebugger_Atom         "SkDebugger_Atom"
-#define SkDebugger_Matrix       "SkDebugger_Matrix"
-#define SkDebugger_Clip         "SkDebugger_Clip"
-#define SkDebugger_PaintInfo    "SkDebugger_PaintInfo"
-#define SkDebugger_Paint        "SkDebugger_Paint"
-
-/*
- * Debugger - Main Content
- */
-class SkContentView : public SkView {
-public:
-    SkContentView(SkEventSinkID clID, SkEventSinkID ipID);
-    ~SkContentView();
-    
-    void init();
-    void reinit(const char* fileName);
-    void toggleClip();
-    void goToAtom(int atom);
-    
-protected:
-    virtual bool onEvent(const SkEvent& evt);
-    virtual void onDraw(SkCanvas* canvas);
-    
-private:
-    SkColor         fBGColor;
-    int             fAtomsToRead;
-    std::deque<int> fAtomBounds;
-    std::deque<int> fFrameBounds;
-    bool            fDisplayClip;
-    SkString        fFilePath;
-    SkDebugDumper   fDumper;
-    typedef SkView INHERITED;
-};
-
-/*
- * Debugger - Info Panel
- */
-class SkInfoPanelView : public SkView {
-public:
-    SkInfoPanelView();
-    
-protected:
-    virtual bool onEvent(const SkEvent& evt);
-    virtual void onDraw(SkCanvas* canvas);
-    
-private:
-    SkColor     fBGColor;
-    SkPaint     fPaint;
-    SkString    fMatrix;
-    SkString    fPaintInfo;
-    SkString    fClip;
-    typedef SkView INHERITED;
-};
-
-/*
- * Debugger - Commands List
- */
-class SkCommandListView : public SkView {
-public:
-    SkCommandListView();
-    void reinit();
-    int nextItem();
-    int prevItem();
-    int scrollUp();
-    int scrollDown();
-    void highlight(int index);
-    int  selectHighlight(int ypos);
-    void toggleCentered();
-    
-protected:
-    virtual bool onEvent(const SkEvent& evt);
-    virtual void onSizeChange();
-    virtual void onDraw(SkCanvas* canvas);
-private:
-    void init();
-    void alignCenter();
-    SkColor     fBGColor;
-    int         fTopIndex;
-    int         fHighlight;
-    SkScalar    fSpacing;
-    int         fRange;
-    bool        fCentered;
-    std::deque<SkString> fList;
-    typedef SkView INHERITED;
-};
-
-
-static void* PaintProc(void* ptr, bool doRef) {
-    SkPaint* p = (SkPaint*) ptr;
-    
-    if (doRef) {
-        return new SkPaint(*p);
-    }
-    else {
-        delete p;
-        return NULL;
-    }
-    
-}
-
diff --git a/experimental/CocoaDebugger/SkDumpCanvasM.cpp b/experimental/CocoaDebugger/SkDumpCanvasM.cpp
deleted file mode 100644
index 80d2422..0000000
--- a/experimental/CocoaDebugger/SkDumpCanvasM.cpp
+++ /dev/null
@@ -1,385 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkDumpCanvasM.h"
-#include "SkPicture.h"
-#include "SkPixelRef.h"
-#include "SkString.h"
-#include <stdarg.h>
-
-// needed just to know that these are all subclassed from SkFlattenable
-#include "SkShader.h"
-#include "SkPathEffect.h"
-#include "SkXfermode.h"
-#include "SkColorFilter.h"
-#include "SkPathEffect.h"
-#include "SkMaskFilter.h"
-#include "SkEvent.h"
-static void toString(const SkRect& r, SkString* str) {
-    str->printf("[%g,%g %g:%g]",
-                SkScalarToFloat(r.fLeft), SkScalarToFloat(r.fTop),
-                SkScalarToFloat(r.width()), SkScalarToFloat(r.height()));
-}
-
-static void toString(const SkIRect& r, SkString* str) {
-    str->printf("[%d,%d %d:%d]", r.fLeft, r.fTop, r.width(), r.height());
-}
-
-static void dumpVerbs(const SkPath& path, SkString* str) {
-    SkPath::Iter iter(path, false);
-    SkPoint pts[4];
-    for (;;) {
-        switch (iter.next(pts)) {
-            case SkPath::kMove_Verb:
-                str->appendf(" M%g,%g", pts[0].fX, pts[0].fY);
-                break;
-            case SkPath::kLine_Verb:
-                str->appendf(" L%g,%g", pts[0].fX, pts[0].fY);
-                break;
-            case SkPath::kQuad_Verb:
-                str->appendf(" Q%g,%g,%g,%g", pts[1].fX, pts[1].fY,
-                             pts[2].fX, pts[2].fY);
-                break;
-            case SkPath::kCubic_Verb:
-                str->appendf(" C%g,%g,%g,%g,%g,%g", pts[1].fX, pts[1].fY,
-                             pts[2].fX, pts[2].fY, pts[3].fX, pts[3].fY);
-                break;
-            case SkPath::kClose_Verb:
-                str->appendf("X");
-                break;
-            case SkPath::kDone_Verb:
-                return;
-        }
-    }
-}
-
-static void toString(const SkPath& path, SkString* str) {
-    if (path.isEmpty()) {
-        str->set("path:empty");
-    } else {
-        toString(path.getBounds(), str);
-#if 1
-        SkString s;
-        dumpVerbs(path, &s);
-        str->append(s.c_str());
-#endif
-        str->append("]");
-        str->prepend("path:[");
-    }
-}
-
-static const char* toString(SkRegion::Op op) {
-    static const char* gOpNames[] = {
-        "DIFF", "SECT", "UNION", "XOR", "RDIFF", "REPLACE"
-    };
-    return gOpNames[op];
-}
-
-static void toString(const SkRegion& rgn, SkString* str) {
-    toString(rgn.getBounds(), str);
-    str->prepend("Region:[");
-    str->append("]");
-    if (rgn.isComplex()) {
-        str->append(".complex");
-    }
-}
-
-static const char* toString(SkCanvas::VertexMode vm) {
-    static const char* gVMNames[] = {
-        "TRIANGLES", "STRIP", "FAN"
-    };
-    return gVMNames[vm];
-}
-
-static const char* toString(SkCanvas::PointMode pm) {
-    static const char* gPMNames[] = {
-        "POINTS", "LINES", "POLYGON"
-    };
-    return gPMNames[pm];
-}
-
-static const char* toString(SkBitmap::Config config) {
-    static const char* gConfigNames[] = {
-        "NONE", "A1", "A8", "INDEX8", "565", "4444", "8888", "RLE"
-    };
-    return gConfigNames[config];
-}
-
-static void toString(const SkBitmap& bm, SkString* str) {
-    str->printf("bitmap:[%d %d] %s", bm.width(), bm.height(),
-                toString(bm.config()));
-
-    SkPixelRef* pr = bm.pixelRef();
-    if (NULL == pr) {
-        // show null or the explicit pixel address (rare)
-        str->appendf(" pixels:%p", bm.getPixels());
-    } else {
-        const char* uri = pr->getURI();
-        if (uri) {
-            str->appendf(" uri:\"%s\"", uri);
-        } else {
-            str->appendf(" pixelref:%p", pr);
-        }
-    }
-}
-
-static void toString(const void* text, size_t len, SkPaint::TextEncoding enc,
-                     SkString* str) {
-    switch (enc) {
-        case SkPaint::kUTF8_TextEncoding:
-            str->printf("\"%.*s\"%s", SkMax32(len, 32), text,
-                        len > 32 ? "..." : "");
-            break;
-        case SkPaint::kUTF16_TextEncoding:
-            str->printf("\"%.*S\"%s", SkMax32(len, 32), text,
-                        len > 64 ? "..." : "");
-            break;
-        case SkPaint::kGlyphID_TextEncoding:
-            str->set("<glyphs>");
-            break;
-    }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-SkDumpCanvasM::SkDumpCanvasM(Dumper* dumper) : fNestLevel(0) {
-    SkSafeRef(dumper);
-    fDumper = dumper;
-
-    static const int WIDE_OPEN = 16384;
-    SkBitmap emptyBitmap;
-
-    emptyBitmap.setConfig(SkBitmap::kNo_Config, WIDE_OPEN, WIDE_OPEN);
-    this->setBitmapDevice(emptyBitmap);
-}
-
-SkDumpCanvasM::~SkDumpCanvasM() {
-    SkSafeUnref(fDumper);
-}
-
-void SkDumpCanvasM::dump(Verb verb, const SkPaint* paint,
-                        const char format[], ...) {
-    static const size_t BUFFER_SIZE = 1024;
-
-    char    buffer[BUFFER_SIZE];
-    va_list args;
-    va_start(args, format);
-    vsnprintf(buffer, BUFFER_SIZE, format, args);
-    va_end(args);
-
-    if (fDumper) {
-        fDumper->dump(this, verb, buffer, paint);
-    }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-int SkDumpCanvasM::save(SaveFlags flags) {
-    this->dump(kSave_Verb, NULL, "save(0x%X)", flags);
-    return this->INHERITED::save(flags);
-}
-
-int SkDumpCanvasM::saveLayer(const SkRect* bounds, const SkPaint* paint,
-                             SaveFlags flags) {
-    this->dump(kSave_Verb, paint, "saveLayer(0x%X)", flags);
-    return this->INHERITED::saveLayer(bounds, paint, flags);
-}
-
-void SkDumpCanvasM::restore() {
-    this->INHERITED::restore();
-    this->dump(kRestore_Verb, NULL, "restore");
-}
-
-bool SkDumpCanvasM::translate(SkScalar dx, SkScalar dy) {
-    this->dump(kMatrix_Verb, NULL, "translate(%g %g)",
-               SkScalarToFloat(dx), SkScalarToFloat(dy));
-    return this->INHERITED::translate(dx, dy);
-}
-
-bool SkDumpCanvasM::scale(SkScalar sx, SkScalar sy) {
-    this->dump(kMatrix_Verb, NULL, "scale(%g %g)",
-               SkScalarToFloat(sx), SkScalarToFloat(sy));
-    return this->INHERITED::scale(sx, sy);
-}
-
-bool SkDumpCanvasM::rotate(SkScalar degrees) {
-    this->dump(kMatrix_Verb, NULL, "rotate(%g)", SkScalarToFloat(degrees));
-    return this->INHERITED::rotate(degrees);
-}
-
-bool SkDumpCanvasM::skew(SkScalar sx, SkScalar sy) {
-    this->dump(kMatrix_Verb, NULL, "skew(%g %g)",
-               SkScalarToFloat(sx), SkScalarToFloat(sy));
-    return this->INHERITED::skew(sx, sy);
-}
-
-bool SkDumpCanvasM::concat(const SkMatrix& matrix) {
-    SkString str;
-    matrix.toDumpString(&str);
-    this->dump(kMatrix_Verb, NULL, "concat(%s)", str.c_str());
-    return this->INHERITED::concat(matrix);
-}
-
-void SkDumpCanvasM::setMatrix(const SkMatrix& matrix) {
-    SkString str;
-    matrix.toDumpString(&str);
-    this->dump(kMatrix_Verb, NULL, "setMatrix(%s)", str.c_str());
-    this->INHERITED::setMatrix(matrix);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-bool SkDumpCanvasM::clipRect(const SkRect& rect, SkRegion::Op op) {
-    SkString str;
-    toString(rect, &str);
-    this->dump(kClip_Verb, NULL, "clipRect(%s %s)", str.c_str(), toString(op));
-    return this->INHERITED::clipRect(rect, op);
-}
-
-bool SkDumpCanvasM::clipPath(const SkPath& path, SkRegion::Op op) {
-    SkString str;
-    toString(path, &str);
-    this->dump(kClip_Verb, NULL, "clipPath(%s %s)", str.c_str(), toString(op));
-    return this->INHERITED::clipPath(path, op);
-}
-
-bool SkDumpCanvasM::clipRegion(const SkRegion& deviceRgn, SkRegion::Op op) {
-    SkString str;
-    toString(deviceRgn, &str);
-    this->dump(kClip_Verb, NULL, "clipRegion(%s %s)", str.c_str(),
-               toString(op));
-    return this->INHERITED::clipRegion(deviceRgn, op);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-void SkDumpCanvasM::drawPaint(const SkPaint& paint) {
-    this->dump(kDrawPaint_Verb, &paint, "drawPaint()");
-}
-
-void SkDumpCanvasM::drawPoints(PointMode mode, size_t count,
-                               const SkPoint pts[], const SkPaint& paint) {
-    this->dump(kDrawPoints_Verb, &paint, "drawPoints(%s, %d)", toString(mode),
-               count);
-}
-
-void SkDumpCanvasM::drawRect(const SkRect& rect, const SkPaint& paint) {
-    SkString str;
-    toString(rect, &str);
-    this->dump(kDrawRect_Verb, &paint, "drawRect(%s)", str.c_str());
-}
-
-void SkDumpCanvasM::drawPath(const SkPath& path, const SkPaint& paint) {
-    SkString str;
-    toString(path, &str);
-    this->dump(kDrawPath_Verb, &paint, "drawPath(%s)", str.c_str());
-}
-
-void SkDumpCanvasM::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y,
-                               const SkPaint* paint) {
-    SkString str;
-    toString(bitmap, &str);
-    this->dump(kDrawBitmap_Verb, paint, "drawBitmap(%s %g %g)", str.c_str(),
-               SkScalarToFloat(x), SkScalarToFloat(y));
-}
-
-void SkDumpCanvasM::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src,
-                                   const SkRect& dst, const SkPaint* paint) {
-    SkString bs, rs;
-    toString(bitmap, &bs);
-    toString(dst, &rs);
-    // show the src-rect only if its not everything
-    if (src && (src->fLeft > 0 || src->fTop > 0 ||
-                src->fRight < bitmap.width() ||
-                src->fBottom < bitmap.height())) {
-        SkString ss;
-        toString(*src, &ss);
-        rs.prependf("%s ", ss.c_str());
-    }
-
-    this->dump(kDrawBitmap_Verb, paint, "drawBitmapRect(%s %s)",
-               bs.c_str(), rs.c_str());
-}
-
-void SkDumpCanvasM::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
-                                     const SkPaint* paint) {
-    SkString bs, ms;
-    toString(bitmap, &bs);
-    m.toDumpString(&ms);
-    this->dump(kDrawBitmap_Verb, paint, "drawBitmapMatrix(%s %s)",
-               bs.c_str(), ms.c_str());
-}
-
-void SkDumpCanvasM::drawSprite(const SkBitmap& bitmap, int x, int y,
-                               const SkPaint* paint) {
-    SkString str;
-    toString(bitmap, &str);
-    this->dump(kDrawBitmap_Verb, paint, "drawSprite(%s %d %d)", str.c_str(),
-               x, y);
-}
-
-void SkDumpCanvasM::drawText(const void* text, size_t byteLength, SkScalar x,
-                             SkScalar y, const SkPaint& paint) {
-    SkString str;
-    toString(text, byteLength, paint.getTextEncoding(), &str);
-    this->dump(kDrawText_Verb, &paint, "drawText(%s [%d] %g %g)", str.c_str(),
-               byteLength, SkScalarToFloat(x), SkScalarToFloat(y));
-}
-
-void SkDumpCanvasM::drawPosText(const void* text, size_t byteLength,
-                                const SkPoint pos[], const SkPaint& paint) {
-    SkString str;
-    toString(text, byteLength, paint.getTextEncoding(), &str);
-    this->dump(kDrawText_Verb, &paint, "drawPosText(%s [%d] %g %g ...)",
-               str.c_str(), byteLength, SkScalarToFloat(pos[0].fX),
-               SkScalarToFloat(pos[0].fY));
-}
-
-void SkDumpCanvasM::drawPosTextH(const void* text, size_t byteLength,
-                                 const SkScalar xpos[], SkScalar constY,
-                                 const SkPaint& paint) {
-    SkString str;
-    toString(text, byteLength, paint.getTextEncoding(), &str);
-    this->dump(kDrawText_Verb, &paint, "drawPosTextH(%s [%d] %g %g ...)",
-               str.c_str(), byteLength, SkScalarToFloat(xpos[0]),
-               SkScalarToFloat(constY));
-}
-
-void SkDumpCanvasM::drawTextOnPath(const void* text, size_t byteLength,
-                                   const SkPath& path, const SkMatrix* matrix,
-                                   const SkPaint& paint) {
-    SkString str;
-    toString(text, byteLength, paint.getTextEncoding(), &str);
-    this->dump(kDrawText_Verb, &paint, "drawTextOnPath(%s [%d])",
-               str.c_str(), byteLength);
-}
-
-void SkDumpCanvasM::drawPicture(SkPicture& picture) {
-    this->dump(kDrawPicture_Verb, NULL, "drawPicture(%p) %d:%d", &picture,
-               picture.width(), picture.height());
-    fNestLevel += 1;
-    this->INHERITED::drawPicture(picture);
-    fNestLevel -= 1;
-    this->dump(kDrawPicture_Verb, NULL, "endPicture(%p) %d:%d", &picture,
-               picture.width(), picture.height());
-}
-
-void SkDumpCanvasM::drawVertices(VertexMode vmode, int vertexCount,
-                                 const SkPoint vertices[], const SkPoint texs[],
-                                 const SkColor colors[], SkXfermode* xmode,
-                                 const uint16_t indices[], int indexCount,
-                                 const SkPaint& paint) {
-    this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] %g %g ...)",
-               toString(vmode), vertexCount, SkScalarToFloat(vertices[0].fX),
-               SkScalarToFloat(vertices[0].fY));
-}
-
-void SkDumpCanvasM::drawData(const void* data, size_t length) {
-//    this->dump(kDrawData_Verb, NULL, "drawData(%d)", length);
-    this->dump(kDrawData_Verb, NULL, "drawData(%d) %.*s", length,
-               SkMin32(length, 64), data);
-}
\ No newline at end of file
diff --git a/experimental/CocoaDebugger/SkDumpCanvasM.h b/experimental/CocoaDebugger/SkDumpCanvasM.h
deleted file mode 100644
index be83d6c..0000000
--- a/experimental/CocoaDebugger/SkDumpCanvasM.h
+++ /dev/null
@@ -1,122 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#ifndef SkDumpCanvasM_DEFINED
-#define SkDumpCanvasM_DEFINED
-
-#include "SkCanvas.h"
-
-/** This class overrides all the draw methods on SkCanvas, and formats them
-    as text, and then sends that to a Dumper helper object.
- 
-    Typical use might be to dump a display list to a log file to see what is
-    being drawn.
- */
-class SkDumpCanvasM : public SkCanvas {
-public:
-    class Dumper;
-
-    explicit SkDumpCanvasM(Dumper* = 0);
-    virtual ~SkDumpCanvasM();
-    
-    enum Verb {
-        kNULL_Verb,
-
-        kSave_Verb,
-        kRestore_Verb,
-        
-        kMatrix_Verb,
-        
-        kClip_Verb,
-        
-        kDrawPaint_Verb,
-        kDrawPoints_Verb,
-        kDrawRect_Verb,
-        kDrawPath_Verb,
-        kDrawBitmap_Verb,
-        kDrawText_Verb,
-        kDrawPicture_Verb,
-        kDrawVertices_Verb,
-        kDrawData_Verb
-    };
-    
-    /** Subclasses of this are installed on the DumpCanvas, and then called for
-        each drawing command.
-     */
-    class Dumper : public SkRefCnt {
-    public:
-        virtual void dump(SkDumpCanvasM*, SkDumpCanvasM::Verb, const char str[],
-                          const SkPaint*) = 0;
-    };
-        
-    Dumper* getDumper() const { return fDumper; }
-    void    setDumper(Dumper*);
-    
-    int getNestLevel() const { return fNestLevel; }
-    
-    // overrides from SkCanvas
-
-    virtual int save(SaveFlags flags = kMatrixClip_SaveFlag);
-    virtual int saveLayer(const SkRect* bounds, const SkPaint* paint,
-                          SaveFlags flags = kARGB_ClipLayer_SaveFlag);
-    virtual void restore();
-
-    virtual bool translate(SkScalar dx, SkScalar dy);
-    virtual bool scale(SkScalar sx, SkScalar sy);
-    virtual bool rotate(SkScalar degrees);
-    virtual bool skew(SkScalar sx, SkScalar sy);
-    virtual bool concat(const SkMatrix& matrix);
-    virtual void setMatrix(const SkMatrix& matrix);
-    
-    virtual bool clipRect(const SkRect& rect,
-                          SkRegion::Op op = SkRegion::kIntersect_Op);
-    virtual bool clipPath(const SkPath& path,
-                          SkRegion::Op op = SkRegion::kIntersect_Op);
-    virtual bool clipRegion(const SkRegion& deviceRgn,
-                            SkRegion::Op op = SkRegion::kIntersect_Op);
-
-    virtual void drawPaint(const SkPaint& paint);
-    virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[],
-                            const SkPaint& paint);
-    virtual void drawRect(const SkRect& rect, const SkPaint& paint);
-    virtual void drawPath(const SkPath& path, const SkPaint& paint);
-    virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
-                            const SkPaint* paint = NULL);
-    virtual void drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src,
-                                const SkRect& dst, const SkPaint* paint = NULL);
-    virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
-                                  const SkPaint* paint = NULL);
-    virtual void drawSprite(const SkBitmap& bitmap, int left, int top,
-                            const SkPaint* paint = NULL);
-    virtual void drawText(const void* text, size_t byteLength, SkScalar x,
-                          SkScalar y, const SkPaint& paint);
-    virtual void drawPosText(const void* text, size_t byteLength,
-                             const SkPoint pos[], const SkPaint& paint);
-    virtual void drawPosTextH(const void* text, size_t byteLength,
-                              const SkScalar xpos[], SkScalar constY,
-                              const SkPaint& paint);
-    virtual void drawTextOnPath(const void* text, size_t byteLength,
-                                const SkPath& path, const SkMatrix* matrix,
-                                const SkPaint& paint);
-    virtual void drawPicture(SkPicture&);
-    virtual void drawVertices(VertexMode vmode, int vertexCount,
-                              const SkPoint vertices[], const SkPoint texs[],
-                              const SkColor colors[], SkXfermode* xmode,
-                              const uint16_t indices[], int indexCount,
-                              const SkPaint& paint);
-    virtual void drawData(const void*, size_t);
-
-private:
-    Dumper* fDumper;
-    int     fNestLevel; // for nesting recursive elements like pictures
-    
-    void dump(Verb, const SkPaint*, const char format[], ...);
-
-    typedef SkCanvas INHERITED;
-};
-
-#endif
diff --git a/experimental/CocoaDebugger/SkInfoPanelView.cpp b/experimental/CocoaDebugger/SkInfoPanelView.cpp
deleted file mode 100644
index 3b54860..0000000
--- a/experimental/CocoaDebugger/SkInfoPanelView.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkDebuggerViews.h"
-#include "SkRect.h"
-
-SkInfoPanelView::SkInfoPanelView() {
-    fBGColor = 0xFF999999;
-    fPaint.setColor(fBGColor);
-}
-
-bool SkInfoPanelView::onEvent(const SkEvent& evt) {
-    if (evt.isType(SkDebugger_StateType)) {
-        fMatrix = evt.findString(SkDebugger_Matrix);
-        fClip = evt.findString(SkDebugger_Clip);
-        
-        SkPaint* ptr;
-        if (evt.getMetaData().findPtr(SkDebugger_Paint, (void**)&ptr)) {
-            fPaint = *ptr;
-            fPaintInfo = evt.findString(SkDebugger_PaintInfo);
-        }
-        this->inval(NULL);
-        return true;
-    }
-    return this->INHERITED::onEvent(evt);
-}
-
-void SkInfoPanelView::onDraw(SkCanvas* canvas) {
-    canvas->drawColor(fBGColor);
-    
-    //Display Current Paint
-    SkRect r = {10, 20, 40, 50};
-    canvas->drawRect(r, fPaint);
-    //Display Information
-    SkPaint p;
-    p.setTextSize(SkDebugger_TextSize);
-    p.setAntiAlias(true);
-    int x = 50;
-    canvas->drawText(fPaintInfo.c_str(), fPaintInfo.size(), x, 30, p);
-    canvas->drawText(fMatrix.c_str(), fMatrix.size(), x, 60, p);
-    canvas->drawText(fClip.c_str(), fClip.size(), x, 90, p);
-    
-    this->INHERITED::onDraw(canvas);
-}
\ No newline at end of file
diff --git a/experimental/CocoaDebugger/SkMenuController.h b/experimental/CocoaDebugger/SkMenuController.h
deleted file mode 100644
index e8a7e8b..0000000
--- a/experimental/CocoaDebugger/SkMenuController.h
+++ /dev/null
@@ -1,14 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#import <Cocoa/Cocoa.h>
-#import "SkDebugger.h"
-@interface SkMenuController : NSObject {
-    IBOutlet SkDebugger *fWindow;
-}
--(IBAction) openFile:(id) sender;
-@end
diff --git a/experimental/CocoaDebugger/SkMenuController.mm b/experimental/CocoaDebugger/SkMenuController.mm
deleted file mode 100644
index 4a9f4f7..0000000
--- a/experimental/CocoaDebugger/SkMenuController.mm
+++ /dev/null
@@ -1,16 +0,0 @@
-#import "SkMenuController.h"
-
-@implementation SkMenuController
--(IBAction) openFile:(id) sender {
-    NSOpenPanel* panel = [NSOpenPanel openPanel];
-    NSInteger response = [panel runModal];
-    
-    [panel setFloatingPanel:YES];
-    [panel setCanChooseDirectories:NO];
-    [panel setCanChooseFiles:YES];
-    
-    if(response == NSOKButton){
-        [fWindow loadFile:[panel filename]];
-    } 
-}
-@end
diff --git a/experimental/CocoaDebugger/TestData/test1.data b/experimental/CocoaDebugger/TestData/test1.data
deleted file mode 100644
index 07ae8ea..0000000
--- a/experimental/CocoaDebugger/TestData/test1.data
+++ /dev/null
Binary files differ
diff --git a/experimental/CocoaDebugger/TestData/test2.data b/experimental/CocoaDebugger/TestData/test2.data
deleted file mode 100644
index 9cf95f6..0000000
--- a/experimental/CocoaDebugger/TestData/test2.data
+++ /dev/null
Binary files differ
diff --git a/experimental/CocoaDebugger/main.m b/experimental/CocoaDebugger/main.m
deleted file mode 100644
index cd85c6d..0000000
--- a/experimental/CocoaDebugger/main.m
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-//  main.m
-//  CocoaSampleApp
-//
-//  Created by Yang Su on 6/14/11.
-//  Copyright 2011 Google Inc.
-//  Use of this source code is governed by a BSD-style license that can be
-//  found in the LICENSE file.
-//
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, char *argv[])
-{
-    return NSApplicationMain(argc,  (const char **) argv);
-}
diff --git a/experimental/CocoaSampleApp/SampleApp.xib b/experimental/CocoaSampleApp/SampleApp.xib
index 074d52b..e0c5f2b 100644
--- a/experimental/CocoaSampleApp/SampleApp.xib
+++ b/experimental/CocoaSampleApp/SampleApp.xib
@@ -11,9 +11,9 @@
 			<string key="NS.object.0">851</string>
 		</object>
 		<array class="NSMutableArray" key="IBDocument.EditedObjectIDs">
-			<integer value="296"/>
-			<integer value="372"/>
+			<integer value="24"/>
 			<integer value="634"/>
+			<integer value="372"/>
 		</array>
 		<array key="IBDocument.PluginDependencies">
 			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -952,24 +952,6 @@
 						<object class="NSMenu" key="NSSubmenu" id="466310130">
 							<string key="NSTitle">View</string>
 							<array class="NSMutableArray" key="NSMenuItems">
-								<object class="NSMenuItem" id="962976284">
-									<reference key="NSMenu" ref="466310130"/>
-									<string key="NSTitle">Increase Increase Size</string>
-									<string key="NSKeyEquiv">=</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
-								<object class="NSMenuItem" id="368680108">
-									<reference key="NSMenu" ref="466310130"/>
-									<string key="NSTitle">Decrease Window Size</string>
-									<string key="NSKeyEquiv">-</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="35465992"/>
-									<reference key="NSMixedImage" ref="502551668"/>
-								</object>
 								<object class="NSMenuItem" id="87708234">
 									<reference key="NSMenu" ref="466310130"/>
 									<string key="NSTitle">Show Menu Key Equivalents</string>
@@ -1507,6 +1489,15 @@
 									<reference key="NSOnImage" ref="35465992"/>
 									<reference key="NSMixedImage" ref="502551668"/>
 								</object>
+								<object class="NSMenuItem" id="92029792">
+									<reference key="NSMenu" ref="835318025"/>
+									<string key="NSTitle">768 x 1024</string>
+									<string key="NSKeyEquiv">=</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="35465992"/>
+									<reference key="NSMixedImage" ref="502551668"/>
+								</object>
 								<object class="NSMenuItem" id="299356726">
 									<reference key="NSMenu" ref="835318025"/>
 									<bool key="NSIsDisabled">YES</bool>
@@ -2294,28 +2285,20 @@
 				</object>
 				<object class="IBConnectionRecord">
 					<object class="IBActionConnection" key="connection">
-						<string key="label">increaseWindowSize:</string>
-						<reference key="source" ref="976324537"/>
-						<reference key="destination" ref="962976284"/>
-					</object>
-					<int key="connectionID">711</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
-						<string key="label">decreaseWindowSize:</string>
-						<reference key="source" ref="976324537"/>
-						<reference key="destination" ref="368680108"/>
-					</object>
-					<int key="connectionID">712</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
 						<string key="label">toggleKeyEquivalents:</string>
 						<reference key="source" ref="429436769"/>
 						<reference key="destination" ref="87708234"/>
 					</object>
 					<int key="connectionID">719</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">toiPadSize:</string>
+						<reference key="source" ref="976324537"/>
+						<reference key="destination" ref="92029792"/>
+					</object>
+					<int key="connectionID">721</int>
+				</object>
 			</array>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<array key="orderedObjects">
@@ -2717,6 +2700,7 @@
 							<reference ref="625202149"/>
 							<reference ref="575023229"/>
 							<reference ref="1011231497"/>
+							<reference ref="92029792"/>
 						</array>
 						<reference key="parent" ref="713487014"/>
 					</object>
@@ -2754,8 +2738,6 @@
 						<array class="NSMutableArray" key="children">
 							<reference ref="102151532"/>
 							<reference ref="237841660"/>
-							<reference ref="962976284"/>
-							<reference ref="368680108"/>
 							<reference ref="87708234"/>
 						</array>
 						<reference key="parent" ref="586577488"/>
@@ -3406,20 +3388,15 @@
 						<reference key="parent" ref="110575045"/>
 					</object>
 					<object class="IBObjectRecord">
-						<int key="objectID">708</int>
-						<reference key="object" ref="962976284"/>
-						<reference key="parent" ref="466310130"/>
-					</object>
-					<object class="IBObjectRecord">
-						<int key="objectID">710</int>
-						<reference key="object" ref="368680108"/>
-						<reference key="parent" ref="466310130"/>
-					</object>
-					<object class="IBObjectRecord">
 						<int key="objectID">718</int>
 						<reference key="object" ref="87708234"/>
 						<reference key="parent" ref="466310130"/>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">720</int>
+						<reference key="object" ref="92029792"/>
+						<reference key="parent" ref="835318025"/>
+					</object>
 				</array>
 			</object>
 			<dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -3523,7 +3500,7 @@
 				<integer value="1" key="236.ImportedFromIB2"/>
 				<string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<integer value="1" key="239.ImportedFromIB2"/>
-				<string key="24.IBEditorWindowLastContentRect">{{707, 426}, {194, 73}}</string>
+				<string key="24.IBEditorWindowLastContentRect">{{707, 406}, {194, 93}}</string>
 				<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<integer value="1" key="24.ImportedFromIB2"/>
 				<string key="24.editorWindowContentRectSynchronizationRect">{{525, 802}, {197, 73}}</string>
@@ -3533,7 +3510,7 @@
 				<string key="29.WindowOrigin">{74, 862}</string>
 				<string key="29.editorWindowContentRectSynchronizationRect">{{6, 978}, {478, 20}}</string>
 				<string key="295.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="296.IBEditorWindowLastContentRect">{{591, 396}, {279, 103}}</string>
+				<string key="296.IBEditorWindowLastContentRect">{{591, 436}, {276, 63}}</string>
 				<string key="296.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="296.editorWindowContentRectSynchronizationRect">{{475, 832}, {234, 43}}</string>
 				<string key="297.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3552,9 +3529,9 @@
 				<integer value="1" key="351.ImportedFromIB2"/>
 				<string key="354.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<integer value="1" key="354.ImportedFromIB2"/>
-				<string key="371.IBEditorWindowLastContentRect">{{199, 4}, {640, 480}}</string>
+				<string key="371.IBEditorWindowLastContentRect">{{254, 23}, {640, 480}}</string>
 				<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="371.IBWindowTemplateEditedContentRect">{{199, 4}, {640, 480}}</string>
+				<string key="371.IBWindowTemplateEditedContentRect">{{254, 23}, {640, 480}}</string>
 				<integer value="1" key="371.NSWindowTemplate.visibleAtLaunch"/>
 				<string key="371.editorWindowContentRectSynchronizationRect">{{33, 99}, {480, 360}}</string>
 				<string key="371.windowTemplate.maxSize">{3.40282e+38, 3.40282e+38}</string>
@@ -3642,7 +3619,7 @@
 				<string key="515.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="516.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="517.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="538.IBEditorWindowLastContentRect">{{136, 946}, {341, 321}}</string>
+				<string key="538.IBEditorWindowLastContentRect">{{136, 685}, {341, 321}}</string>
 				<string key="538.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="539.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3670,11 +3647,10 @@
 				<string key="698.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="705.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="706.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="708.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-				<string key="710.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="718.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<integer value="1" key="72.ImportedFromIB2"/>
+				<string key="720.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
 				<integer value="1" key="73.ImportedFromIB2"/>
 				<string key="74.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3704,27 +3680,24 @@
 			<nil key="activeLocalization"/>
 			<dictionary class="NSMutableDictionary" key="localizations"/>
 			<nil key="sourceID"/>
-			<int key="maxID">719</int>
+			<int key="maxID">721</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
 				<object class="IBPartialClassDescription">
 					<string key="className">SampleAppDelegate</string>
 					<string key="superclassName">NSObject</string>
-					<dictionary class="NSMutableDictionary" key="actions">
-						<string key="decreaseWindowSize:">id</string>
-						<string key="increaseWindowSize:">id</string>
-					</dictionary>
-					<dictionary class="NSMutableDictionary" key="actionInfosByName">
-						<object class="IBActionInfo" key="decreaseWindowSize:">
-							<string key="name">decreaseWindowSize:</string>
+					<object class="NSMutableDictionary" key="actions">
+						<string key="NS.key.0">toiPadSize:</string>
+						<string key="NS.object.0">id</string>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<string key="NS.key.0">toiPadSize:</string>
+						<object class="IBActionInfo" key="NS.object.0">
+							<string key="name">toiPadSize:</string>
 							<string key="candidateClassName">id</string>
 						</object>
-						<object class="IBActionInfo" key="increaseWindowSize:">
-							<string key="name">increaseWindowSize:</string>
-							<string key="candidateClassName">id</string>
-						</object>
-					</dictionary>
+					</object>
 					<dictionary class="NSMutableDictionary" key="outlets">
 						<string key="fOptions">SkOptionsTableView</string>
 						<string key="fView">SkNSView</string>
diff --git a/experimental/CocoaSampleApp/SampleAppDelegate.h b/experimental/CocoaSampleApp/SampleAppDelegate.h
index ee2cacb..e4892d6 100644
--- a/experimental/CocoaSampleApp/SampleAppDelegate.h
+++ b/experimental/CocoaSampleApp/SampleAppDelegate.h
@@ -11,6 +11,5 @@
 @property (assign) IBOutlet SkNSView* fView;
 @property (assign) IBOutlet SkOptionsTableView* fOptions;
 
-- (IBAction)decreaseWindowSize:(id)sender;
-- (IBAction)increaseWindowSize:(id)sender;
+- (IBAction)toiPadSize:(id)sender;
 @end
diff --git a/experimental/CocoaSampleApp/SampleAppDelegate.mm b/experimental/CocoaSampleApp/SampleAppDelegate.mm
index 2a216ab..c54a8a3 100644
--- a/experimental/CocoaSampleApp/SampleAppDelegate.mm
+++ b/experimental/CocoaSampleApp/SampleAppDelegate.mm
@@ -8,24 +8,8 @@
     [fOptions registerMenus:fView.fWind->getMenus()];
 }
 
-static float deltaw = 120;
-static float deltah = 80;
-
-- (IBAction)decreaseWindowSize:(id)sender {
-    NSRect frame = [fWindow frame];
-    frame.origin.y += deltah;
-    frame.size.width -=deltaw;
-    frame.size.height -= deltah;
-    
-    [fWindow setFrame:frame display:YES animate:YES];
-}
-
-- (IBAction)increaseWindowSize:(id)sender {
-    NSRect frame = [fWindow frame];
-    frame.origin.y -= deltah;
-    frame.size.width += deltaw;
-    frame.size.height += deltah;
-    
+- (IBAction)toiPadSize:(id)sender {
+    NSRect frame = NSMakeRect(fWindow.frame.origin.x, fWindow.frame.origin.y, 768, 1024);
     [fWindow setFrame:frame display:YES animate:YES];
 }
 @end
diff --git a/experimental/CocoaSampleApp/SkNSView.mm b/experimental/CocoaSampleApp/SkNSView.mm
index 4ce3d3d..aa8768a 100644
--- a/experimental/CocoaSampleApp/SkNSView.mm
+++ b/experimental/CocoaSampleApp/SkNSView.mm
@@ -204,10 +204,7 @@
 
 CGLContextObj createGLContext() {
     GLint major, minor;
-    CGLContextObj ctx;
-    
     CGLGetVersion(&major, &minor);
-    SkDebugf("---- cgl version %d %d\n", major, minor);
     
     const CGLPixelFormatAttribute attributes[] = {
         kCGLPFAStencilSize, (CGLPixelFormatAttribute)8,
@@ -224,11 +221,9 @@
     CGLPixelFormatObj format;
     GLint npix;
     CGLChoosePixelFormat(attributes, &format, &npix);
-    SkDebugf("----- cgl format %p\n", format);
     
+    CGLContextObj ctx;
     CGLCreateContext(format, NULL, &ctx);
-
-    SkDebugf("----- cgl context %p\n", ctx);
     CGLDestroyPixelFormat(format);
     
     static const GLint interval = 1;
diff --git a/experimental/CocoaSampleApp/SkOptionsTableView.mm b/experimental/CocoaSampleApp/SkOptionsTableView.mm
index 2a0cd30..d905f9b 100644
--- a/experimental/CocoaSampleApp/SkOptionsTableView.mm
+++ b/experimental/CocoaSampleApp/SkOptionsTableView.mm
@@ -54,7 +54,7 @@
     if (menuIndex >= 0 && menuIndex < fMenus->count()) {
         NSUInteger first = 0;
         for (NSInteger i = 0; i < menuIndex; ++i) {
-            first += (*fMenus)[i]->countItems();
+            first += (*fMenus)[i]->getCount();
         }
         [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)];
         [self loadMenu:menu];
@@ -72,20 +72,22 @@
 }
 
 - (void)loadMenu:(const SkOSMenu*)menu {
-    for (int i = 0; i < menu->countItems(); ++i) {
-        const SkOSMenu::Item* item = menu->getItem(i);
+    const SkOSMenu::Item* menuitems[menu->getCount()];
+    menu->getItems(menuitems);
+    for (int i = 0; i < menu->getCount(); ++i) {
+        const SkOSMenu::Item* item = menuitems[i];
         SkOptionItem* option = [[SkOptionItem alloc] init];
         option.fItem = item;
         
         if (SkOSMenu::kList_Type == item->getType()) {
             int index = 0, count = 0;
-            SkOSMenu::FindListItemCount(item->getEvent(), &count);
+            SkOSMenu::FindListItemCount(*item->getEvent(), &count);
             NSMutableArray* optionstrs = [[NSMutableArray alloc] initWithCapacity:count];
             SkString options[count];
-            SkOSMenu::FindListItems(item->getEvent(), options);
+            SkOSMenu::FindListItems(*item->getEvent(), options);
             for (int i = 0; i < count; ++i)
                 [optionstrs addObject:[NSString stringWithUTF8String:options[i].c_str()]];
-            SkOSMenu::FindListIndex(item->getEvent(), item->getSlotName(), &index);
+            SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &index);
             option.fCell = [self createList:optionstrs current:index];
             [optionstrs release];
         }
@@ -99,23 +101,23 @@
                     break;
                 case SkOSMenu::kSlider_Type:
                     SkScalar min, max, value;
-                    SkOSMenu::FindSliderValue(item->getEvent(), item->getSlotName(), &value);
-                    SkOSMenu::FindSliderMin(item->getEvent(), &min);
-                    SkOSMenu::FindSliderMax(item->getEvent(), &max);
+                    SkOSMenu::FindSliderValue(*item->getEvent(), item->getSlotName(), &value);
+                    SkOSMenu::FindSliderMin(*item->getEvent(), &min);
+                    SkOSMenu::FindSliderMax(*item->getEvent(), &max);
                     option.fCell = [self createSlider:value 
                                                   min:min 
                                                   max:max];
                     break;                    
                 case SkOSMenu::kSwitch_Type:
-                    SkOSMenu::FindSwitchState(item->getEvent(), item->getSlotName(), &state);
+                    SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state);
                     option.fCell = [self createSwitch:(BOOL)state];
                     break;
                 case SkOSMenu::kTriState_Type:
-                    SkOSMenu::FindTriState(item->getEvent(), item->getSlotName(), &tristate);
+                    SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate);
                     option.fCell = [self createTriState:[self triStateToNSState:tristate]];
                     break;
                 case SkOSMenu::kTextField_Type:
-                    SkOSMenu::FindText(item->getEvent(),item->getSlotName(), &str);
+                    SkOSMenu::FindText(*item->getEvent(),item->getSlotName(), &str);
                     option.fCell = [self createTextField:[NSString stringWithUTF8String:str.c_str()]];
                     break;
                 default:
@@ -202,29 +204,30 @@
                 break;
             case SkOSMenu::kList_Type:
                 [(NSPopUpButtonCell*)cell selectItemAtIndex:[anObject intValue]];
-                item->postEventWithInt([anObject intValue]);
+                item->setInt([anObject intValue]);
                 break;
             case SkOSMenu::kSlider_Type:
                 [cell setFloatValue:[anObject floatValue]];
-                item->postEventWithScalar([anObject floatValue]);
+                item->setScalar([anObject floatValue]);
                 break;
             case SkOSMenu::kSwitch_Type:
                 [cell setState:[anObject boolValue]];
-                item->postEventWithBool([anObject boolValue]);
+                item->setBool([anObject boolValue]);
                 break;
             case SkOSMenu::kTextField_Type:
                 if ([anObject length] > 0) {
                     [cell setStringValue:anObject];
-                    item->postEventWithString([anObject UTF8String]);
+                    item->setString([anObject UTF8String]);
                 }
                 break;
             case SkOSMenu::kTriState_Type:
                 [cell setState:[anObject intValue]];
-                item->postEventWithInt([anObject intValue]);
+                item->setTriState((SkOSMenu::TriState)[anObject intValue]);
                 break;
             default:
                 break;
         }
+        item->postEvent();
     }
 }
 
diff --git a/experimental/Debugger/DebuggerCommandsView.cpp b/experimental/Debugger/DebuggerCommandsView.cpp
new file mode 100644
index 0000000..112c447
--- /dev/null
+++ b/experimental/Debugger/DebuggerCommandsView.cpp
@@ -0,0 +1,145 @@
+
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#include "DebuggerViews.h"
+
+DebuggerCommandsView::DebuggerCommandsView() {
+    fBGColor = 0xFFBBBBBB;
+    fTopIndex = 0;
+    fHighlight = 0;
+    fResizing = false;
+    
+    SkPaint p;
+    p.setTextSize(SkIntToScalar(SKDEBUGGER_TEXTSIZE));
+    fSpacing = p.getFontSpacing();
+    fCentered = false;
+    fRange = (int)(this->height()/fSpacing) - 1;
+}
+
+DebuggerCommandsView::~DebuggerCommandsView() {
+    fList.deleteAll();
+}
+
+bool DebuggerCommandsView::onEvent(const SkEvent& evt) {
+    if (evt.isType(SKDEBUGGER_COMMANDTYPE)) {
+        *fList.append() = new SkString(evt.findString(SKDEBUGGER_ATOM));
+        this->inval(NULL);
+        return true;
+    }
+    return this->INHERITED::onEvent(evt);
+}
+
+void DebuggerCommandsView::onSizeChange() {
+    fRange = (int)(this->height()/fSpacing);
+    this->INHERITED::onSizeChange();
+}
+
+void DebuggerCommandsView::alignCenter() {
+    if (!fCentered || fHighlight < fRange/2 || fHighlight > (fList.count() - fRange/2)) {
+        return;
+    } else {
+        if (fHighlight > (fTopIndex + fRange/2)) 
+            fTopIndex += fHighlight - (fTopIndex + fRange/2);
+        if (fHighlight < (fTopIndex + fRange/2))
+            fTopIndex -= (fTopIndex + fRange/2) - fHighlight;
+    }
+}
+
+int DebuggerCommandsView::nextItem() {
+    if (fHighlight < fList.count() - 1)
+        ++fHighlight;
+    if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange))
+        fTopIndex = fHighlight;
+    if (fHighlight == (fTopIndex + fRange))
+        ++fTopIndex;
+    this->alignCenter();
+    this->inval(NULL);
+    return fHighlight;
+}
+
+int DebuggerCommandsView::prevItem() {
+    if (fHighlight > 0)
+        --fHighlight;
+    if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange))
+        fTopIndex = fHighlight;
+    this->alignCenter();
+    this->inval(NULL);
+    return fHighlight;
+}
+
+int DebuggerCommandsView::scrollUp() {
+    if (fTopIndex > 0)
+        --fTopIndex;
+    this->inval(NULL);
+    return fHighlight;
+}
+
+int DebuggerCommandsView::scrollDown() {
+    if (fTopIndex < (fList.count() - 1))
+        ++fTopIndex;
+    this->inval(NULL);
+    return fHighlight;
+}
+
+void DebuggerCommandsView::highlight(int index) {
+    SkASSERT(index >= 0 && index < fList.count());
+    if (fHighlight != index) {
+        fHighlight = index;
+        this->alignCenter();
+        this->inval(NULL);
+    }
+}
+
+int DebuggerCommandsView::selectHighlight(int ypos) {
+    int i = (int)(ypos/fSpacing) + fTopIndex;
+    if (i >= fList.count()) {
+        i = fList.count() - 1;
+    }
+    if (fHighlight != i) {
+        fHighlight = i;
+        this->alignCenter();
+        this->inval(NULL);
+    }
+    return fHighlight;
+}
+
+void DebuggerCommandsView::toggleCentered() {
+    fCentered = !fCentered;
+    this->alignCenter();
+    this->inval(NULL);
+}
+
+void DebuggerCommandsView::onDraw(SkCanvas* canvas) {
+    canvas->drawColor(fBGColor);
+    
+    SkPaint p;
+    p.setTextSize(SkIntToScalar(SKDEBUGGER_TEXTSIZE));
+    p.setAntiAlias(true);
+    
+    //draw highlight
+    int selected = fHighlight - fTopIndex;
+    SkRect r = {0, fSpacing * selected, this->width(), fSpacing * (selected+1)};
+    p.setColor(SKDEBUGGER_HIGHLIGHTCOLOR);
+    canvas->drawRect(r, p);
+    
+    int endIndex = fTopIndex + fRange; 
+    if (endIndex > fList.count())
+        endIndex = fList.count();
+    
+    p.setColor(SKDEBUGGER_TEXTCOLOR);
+    int pos;
+    for (int i = fTopIndex; i < endIndex; ++i) {
+        pos = i - fTopIndex;
+        canvas->drawText(fList[i]->c_str(), fList[i]->size(), 
+                         0, fSpacing - 2 + fSpacing * pos, p);
+    }
+    p.setColor(SKDEBUGGER_RESIZEBARCOLOR);
+    r = SkRect::MakeXYWH(this->width() - SKDEBUGGER_RESIZEBARSIZE, 0, 
+                         SKDEBUGGER_RESIZEBARSIZE, this->height());
+    canvas->drawRect(r, p);
+    this->INHERITED::onDraw(canvas);
+}
\ No newline at end of file
diff --git a/experimental/Debugger/DebuggerContentView.cpp b/experimental/Debugger/DebuggerContentView.cpp
new file mode 100644
index 0000000..925c372
--- /dev/null
+++ b/experimental/Debugger/DebuggerContentView.cpp
@@ -0,0 +1,271 @@
+#include "SampleCode.h"
+#include "SkView.h"
+#include "SkCanvas.h"
+#include "SkGradientShader.h"
+#include "SkGPipe.h"
+#include "SkOSMenu.h"
+
+#include "DebuggerViews.h"
+static const char gIsDebuggerQuery[] = "is-debugger";
+class DebuggerView : public SampleView {
+public:
+	DebuggerView(const char* data, size_t size) {
+        fData.append(size, data);
+        fCommandsVisible = true;
+        fCommandsResizing = false;
+        fStateVisible = true;
+        fStateResizing = false;
+        
+        fCommands = new DebuggerCommandsView;
+        fCommands->setVisibleP(fCommandsVisible);
+        this->attachChildToFront(fCommands)->unref();
+        
+
+        fState = new DebuggerStateView;
+        fState->setVisibleP(fStateVisible);
+        this->attachChildToFront(fState)->unref();
+        
+        fAtomsToRead = 0;
+        fDisplayClip = false;
+        
+        fDumper = new SkDebugDumper(this->getSinkID(), fCommands->getSinkID(), 
+                                    fState->getSinkID());
+                                    
+        fDumper->unload();
+        fAtomBounds.reset();
+        fFrameBounds.reset();
+        
+        SkDumpCanvas* dumpCanvas = new SkDumpCanvas(fDumper);
+        SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas);
+        
+
+        if (size > 0) {
+            int offset = 0;
+            int frameBound = 0;
+            size_t bytesRead;
+            while (offset < size) {
+                SkGPipeReader::Status s = dumpReader->playback(data + offset, 
+                                                               size - offset, 
+                                                               &bytesRead, 
+                                                               true);
+                SkASSERT(SkGPipeReader::kError_Status != s);
+                offset += bytesRead;
+                
+                if (SkGPipeReader::kDone_Status == s) {
+                    fDumper->dump(dumpCanvas, SkDumpCanvas::kNULL_Verb, 
+                                 "End of Frame", NULL);
+                    delete dumpReader;
+                    delete dumpCanvas;
+                    dumpCanvas = new SkDumpCanvas(fDumper);
+                    dumpReader = new SkGPipeReader(dumpCanvas);
+                    frameBound = offset;
+                }
+                fAtomBounds.append(1, &offset);
+                fFrameBounds.append(1, &frameBound);
+            }
+        }
+        
+        delete dumpReader;
+        delete dumpCanvas;
+        
+        fDumper->load();
+    }
+    
+    ~DebuggerView() {
+        fAtomBounds.reset();
+        fFrameBounds.reset();
+        delete fDumper;
+    }
+    
+    virtual void requestMenu(SkOSMenu* menu) {
+        menu->setTitle("Debugger");
+        menu->appendSwitch("Show Commands", "Commands", this->getSinkID(), fCommandsVisible);
+        menu->appendSwitch("Show State", "State", this->getSinkID(), fStateVisible);
+        menu->appendSwitch("Display Clip", "Clip", this->getSinkID(), fDisplayClip);
+    }
+    
+    
+    void goToAtom(int atom) {
+        if (atom != fAtomsToRead) {
+            fAtomsToRead = atom;
+            this->inval(NULL);
+        }
+    }
+    
+protected:
+    virtual bool onQuery(SkEvent* evt) {
+        if (SampleCode::TitleQ(*evt)) {
+            SampleCode::TitleR(evt, "Debugger");
+            return true;
+        }
+        if (evt->isType(gIsDebuggerQuery)) {
+            return true;
+        }
+        return this->INHERITED::onQuery(evt);
+    }
+    
+    virtual bool onEvent(const SkEvent& evt) {
+        if (SkOSMenu::FindSwitchState(evt, "Commands", &fCommandsVisible) ||
+            SkOSMenu::FindSwitchState(evt, "State", &fStateVisible)) {
+            fCommands->setVisibleP(fCommandsVisible);
+            fState->setVisibleP(fStateVisible);
+            fStateOffset = (fCommandsVisible) ? fCommands->width() : 0;
+            fState->setSize(this->width() - fStateOffset, fState->height());
+            fState->setLoc(fStateOffset, this->height() - fState->height());
+            this->inval(NULL);
+            return true;
+        }
+        if (SkOSMenu::FindSwitchState(evt, "Clip", &fDisplayClip)) {
+            this->inval(NULL);
+            return true;
+        }
+        return this->INHERITED::onEvent(evt);
+    }
+    
+    virtual void onDrawContent(SkCanvas* canvas) {
+        if (fData.count() <= 0)
+            return;
+        SkAutoCanvasRestore acr(canvas, true);
+        canvas->translate(fStateOffset, 0);
+        
+        int lastFrameBound = fFrameBounds[fAtomsToRead];
+        int toBeRead = fAtomBounds[fAtomsToRead] - lastFrameBound;
+        int firstChunk = (fAtomsToRead > 0) ? fAtomBounds[fAtomsToRead - 1] - lastFrameBound: 0;
+        if (toBeRead > 0) {
+            SkDumpCanvas* dumpCanvas = new SkDumpCanvas(fDumper);
+            SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas);
+            SkGPipeReader* reader = new SkGPipeReader(canvas);
+            fDumper->disable();
+            
+            int offset = 0;
+            size_t bytesRead;
+            SkGPipeReader::Status s;
+            //Read the first chunk
+            if (offset < firstChunk && firstChunk < toBeRead) {
+                s = dumpReader->playback(fData.begin() + offset, firstChunk - offset, NULL, false);
+                SkASSERT(SkGPipeReader::kError_Status != s);
+                s = reader->playback(fData.begin() + offset, firstChunk - offset, &bytesRead, false);
+                SkASSERT(SkGPipeReader::kError_Status != s);
+                if (SkGPipeReader::kDone_Status == s){
+                    delete dumpReader;
+                    delete dumpCanvas;
+                    dumpCanvas = new SkDumpCanvas(fDumper);
+                    dumpReader = new SkGPipeReader(dumpCanvas);
+                    delete reader;
+                    reader = new SkGPipeReader(canvas);
+                }
+                offset += bytesRead;
+            }
+            SkASSERT(offset == firstChunk);
+            //Then read the current atom
+            fDumper->enable();
+            s = dumpReader->playback(fData.begin() + offset, toBeRead - offset, NULL, true);
+            SkASSERT(SkGPipeReader::kError_Status != s);
+            s = reader->playback(fData.begin() + offset, toBeRead - offset, &bytesRead, true);
+            SkASSERT(SkGPipeReader::kError_Status != s);
+
+            delete reader;
+            delete dumpReader;
+            delete dumpCanvas;
+            
+            if (fDisplayClip) {
+                SkPaint p;
+                p.setColor(0x440000AA);
+                SkPath path;
+                canvas->getTotalClip().getBoundaryPath(&path);
+                canvas->drawPath(path, p);
+            }
+        }
+    }
+    
+    virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
+        return new Click(this);
+    }
+    
+    virtual bool onClick(SkView::Click* click) {
+        SkPoint prev = click->fPrev;
+        SkPoint curr = click->fCurr;
+        bool handled = true;
+        switch (click->fState) {
+            case SkView::Click::kDown_State:
+                if (SkScalarAbs(curr.fX - fCommands->width()) <= SKDEBUGGER_RESIZEBARSIZE) {
+                    fCommandsResizing = true;
+                }
+                else if (SkScalarAbs(curr.fY - (this->height() - fState->height())) <= SKDEBUGGER_RESIZEBARSIZE &&
+                         curr.fX > fCommands->width()) {
+                    fStateResizing = true;
+                }
+                else if (curr.fX < fCommands->width()) {
+                    fAtomsToRead = fCommands->selectHighlight(curr.fY);
+                }
+                else 
+                    handled = false;
+                break;
+            case SkView::Click::kMoved_State:
+                if (fCommandsResizing)
+                    fCommands->setSize(curr.fX, this->height());
+                else if (fStateResizing)
+                    fState->setSize(this->width(), this->height() - curr.fY);
+                else if (curr.fX < fCommands->width()) {
+                    if (curr.fY - prev.fY < 0) {
+                        fCommands->scrollDown();
+                    }
+                    if (curr.fY - prev.fY > 0) {
+                        fCommands->scrollUp();
+                    }
+                }
+                else
+                    handled = false;
+                break;
+            case SkView::Click::kUp_State:
+                fStateResizing = fCommandsResizing = false;
+                break;
+            default:
+                break;
+        }
+        
+        fStateOffset = fCommands->width();
+        fState->setSize(this->width() - fStateOffset, fState->height());
+        fState->setLoc(fStateOffset, this->height() - fState->height());
+        if (handled)
+            this->inval(NULL);
+        return handled;
+    }
+    
+    virtual void onSizeChange() {
+        this->INHERITED::onSizeChange();
+        fCommands->setSize(CMD_WIDTH, this->height());
+        fCommands->setLoc(0, 0);
+        fState->setSize(this->width() - CMD_WIDTH, INFO_HEIGHT);
+        fState->setLoc(CMD_WIDTH, this->height() - INFO_HEIGHT);
+    }
+    
+private:
+    DebuggerCommandsView*   fCommands;
+    DebuggerStateView*      fState;
+    bool                    fCommandsResizing;
+    bool                    fCommandsVisible;
+    bool                    fStateResizing;
+    bool                    fStateVisible;
+    float                   fStateOffset;
+    bool                    fDisplayClip;
+    int                     fAtomsToRead;
+    SkTDArray<int>          fAtomBounds;
+    SkTDArray<int>          fFrameBounds;
+    SkTDArray<char>         fData;
+    SkDebugDumper*          fDumper;
+    
+    typedef SampleView INHERITED;
+};
+
+
+///////////////////////////////////////////////////////////////////////////////
+
+SkView* create_debugger(const char* data, size_t size) {
+    return SkNEW_ARGS(DebuggerView, (data, size));
+};
+
+bool is_debugger(SkView* view) {
+    SkEvent isDebugger(gIsDebuggerQuery);
+    return view->doQuery(&isDebugger); 
+}
diff --git a/experimental/Debugger/DebuggerStateView.cpp b/experimental/Debugger/DebuggerStateView.cpp
new file mode 100644
index 0000000..2953e8f
--- /dev/null
+++ b/experimental/Debugger/DebuggerStateView.cpp
@@ -0,0 +1,52 @@
+
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#include "DebuggerViews.h"
+#include "SkRect.h"
+
+DebuggerStateView::DebuggerStateView() {
+    fBGColor = 0xFF999999;
+    fPaint.setColor(fBGColor);
+    fResizing = false;
+}
+
+bool DebuggerStateView::onEvent(const SkEvent& evt) {
+    if (evt.isType(SKDEBUGGER_STATETYPE)) {
+        fMatrix = evt.findString(SKDEBUGGER_MATRIX);
+        fClip = evt.findString(SKDEBUGGER_CLIP);
+        
+        SkPaint* ptr;
+        if (evt.getMetaData().findPtr(SKDEBUGGER_PAINT, (void**)&ptr)) {
+            fPaint = *ptr;
+            fPaintInfo = evt.findString(SKDEBUGGER_PAINTINFO);
+        }
+        this->inval(NULL);
+        return true;
+    }
+    return this->INHERITED::onEvent(evt);
+}
+
+void DebuggerStateView::onDraw(SkCanvas* canvas) {
+    canvas->drawColor(fBGColor);
+    
+    //Display Current Paint
+    SkRect r = {10, 20, 40, 50};
+    canvas->drawRect(r, fPaint);
+    //Display Information
+    SkPaint p;
+    p.setTextSize(SKDEBUGGER_TEXTSIZE);
+    p.setAntiAlias(true);
+    int x = 50;
+    canvas->drawText(fPaintInfo.c_str(), fPaintInfo.size(), x, 30, p);
+    canvas->drawText(fMatrix.c_str(), fMatrix.size(), x, 60, p);
+    canvas->drawText(fClip.c_str(), fClip.size(), x, 90, p);
+    
+    p.setColor(SKDEBUGGER_RESIZEBARCOLOR);
+    r = SkRect::MakeXYWH(0, 0, this->width(), SKDEBUGGER_RESIZEBARSIZE);
+    canvas->drawRect(r, p);
+    this->INHERITED::onDraw(canvas);
+}
\ No newline at end of file
diff --git a/experimental/Debugger/DebuggerViews.h b/experimental/Debugger/DebuggerViews.h
new file mode 100644
index 0000000..acaa68b
--- /dev/null
+++ b/experimental/Debugger/DebuggerViews.h
@@ -0,0 +1,100 @@
+
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#include "SkView.h"
+#include "SkColor.h"
+#include "SkBitmap.h"
+#include "SkCanvas.h"
+#include "SkGPipe.h"
+#include "SkPaint.h"
+
+#include "SkDebugDumper.h"
+
+#define SKDEBUGGER_COMMANDTYPE  "SKDEBUGGER_COMMAND"
+#define SKDEBUGGER_STATETYPE    "SKDEBUGGER_STATE"
+
+#define SKDEBUGGER_ATOM         "SKDEBUGGER_ATOM"
+#define SKDEBUGGER_MATRIX       "SKDEBUGGER_MATRIX"
+#define SKDEBUGGER_CLIP         "SKDEBUGGER_CLIP"
+#define SKDEBUGGER_PAINTINFO    "SKDEBUGGER_PAINTINFO"
+#define SKDEBUGGER_PAINT        "SKDEBUGGER_PAINT"
+
+#define SKDEBUGGER_TEXTSIZE         14
+#define CMD_WIDTH                   200
+#define INFO_HEIGHT                 150.0
+#define SKDEBUGGER_HIGHLIGHTCOLOR   0xFF113399
+#define SKDEBUGGER_TEXTCOLOR        0xFF000000
+#define SKDEBUGGER_RESIZEBARCOLOR   0xFF333333
+#define SKDEBUGGER_RESIZEBARSIZE    5
+
+/*
+ * Debugger - Info Panel
+ */
+class DebuggerStateView : public SkView {
+public:
+    DebuggerStateView();
+    
+protected:
+    virtual bool onEvent(const SkEvent& evt);
+    virtual void onDraw(SkCanvas* canvas);
+private:
+    SkColor     fBGColor;
+    SkPaint     fPaint;
+    SkString    fMatrix;
+    SkString    fPaintInfo;
+    SkString    fClip;
+    bool        fResizing;
+    typedef SkView INHERITED;
+};
+
+/*
+ * Debugger - Commands List
+ */
+class DebuggerCommandsView : public SkView {
+public:
+    DebuggerCommandsView();
+    ~DebuggerCommandsView();
+    int nextItem();
+    int prevItem();
+    int scrollUp();
+    int scrollDown();
+    void highlight(int index);
+    int  selectHighlight(int ypos);
+    void toggleCentered();
+    
+protected:
+    virtual bool onEvent(const SkEvent& evt);
+    virtual void onSizeChange();
+    virtual void onDraw(SkCanvas* canvas);
+private:
+    void        init();
+    void        alignCenter();
+    SkColor     fBGColor;
+    int         fTopIndex;
+    int         fHighlight;
+    SkScalar    fSpacing;
+    int         fRange;
+    bool        fResizing;
+    bool        fCentered;
+    SkTDArray<SkString*> fList;
+    typedef SkView INHERITED;
+};
+
+
+static void* PaintProc(void* ptr, bool doRef) {
+    SkPaint* p = (SkPaint*) ptr;
+    
+    if (doRef) {
+        return new SkPaint(*p);
+    }
+    else {
+        delete p;
+        return NULL;
+    }
+    
+}
+
diff --git a/experimental/CocoaDebugger/SkDebugDumper.cpp b/experimental/Debugger/SkDebugDumper.cpp
similarity index 71%
rename from experimental/CocoaDebugger/SkDebugDumper.cpp
rename to experimental/Debugger/SkDebugDumper.cpp
index 225435a..d353cfd 100644
--- a/experimental/CocoaDebugger/SkDebugDumper.cpp
+++ b/experimental/Debugger/SkDebugDumper.cpp
@@ -14,31 +14,16 @@
 #include "SkColorFilter.h"
 #include "SkPathEffect.h"
 #include "SkMaskFilter.h"
-#include "SkGradientShader.h"
-#include "SkDebuggerViews.h"
-
-bool gNeverSetToTrueJustNeedToFoolLinker;
-static void init_effects() {
-    if (gNeverSetToTrueJustNeedToFoolLinker) {
-        SkPoint p = SkPoint::Make(0,0);
-        SkPoint q = SkPoint::Make(100,100);
-        SkPoint pts[] = {p, q};
-        SkColor colors[] = { SK_ColorRED, SK_ColorGREEN };
-        SkScalar pos[] = { 0, 1.0};
-        SkGradientShader::CreateLinear(pts, colors, pos, 2, 
-                                       SkShader::kMirror_TileMode);
-    }
-}
+#include "DebuggerViews.h"
 
 SkDebugDumper::SkDebugDumper(SkEventSinkID cID, SkEventSinkID clID, 
                              SkEventSinkID ipID) {
     fContentID = cID;
-    fCommandListID = clID;
-    fInfoPanelID = ipID;
+    fCommandsID = clID;
+    fStateID = ipID;
     fInit = false;
     fDisabled = false;
     fCount = 0;
-    init_effects();
 }
 
 static void appendPtr(SkString* str, const void* ptr, const char name[]) {
@@ -52,14 +37,14 @@
     if (ptr) {
         SkString info;
         if (ptr->toDumpString(&info)) {
-            str->appendf("%s", info.c_str());
+            str->appendf("%s\n", info.c_str());
         } else {
-            str->appendf("%s: %p", name, ptr);
+            str->appendf("%s: %p\n", name, ptr);
         }
     }
 }
 
-static SkString dumpMatrix(SkDumpCanvasM* canvas) {
+static SkString dumpMatrix(SkDumpCanvas* canvas) {
     SkString str;
     SkMatrix m = canvas->getTotalMatrix();
     str.appendf("Matrix:");
@@ -79,7 +64,7 @@
     return str;
 }
 
-static SkString dumpClip(SkDumpCanvasM* canvas) {
+static SkString dumpClip(SkDumpCanvas* canvas) {
     SkString str;
     SkPath p;
     int maxPts = 50;
@@ -111,13 +96,12 @@
     "LCD/Subpixel Glyph Rendering",
     "Embedded Bitmap Text",
     "Freetype Autohinting",
-    
     "ALL"
 };
 
 
-static SkString dumpPaint(SkDumpCanvasM* canvas, const SkPaint* p,
-                      SkDumpCanvasM::Verb verb) {
+static SkString dumpPaint(SkDumpCanvas* canvas, const SkPaint* p,
+                      SkDumpCanvas::Verb verb) {
     SkString str;
     str.appendf("Color: #%08X\n", p->getColor()); 
     str.appendf("Flags: %s\n", gPaintFlags[p->getFlags()]);
@@ -128,7 +112,7 @@
     appendFlattenable(&str, p->getPathEffect(), "pathEffect");
     appendFlattenable(&str, p->getColorFilter(), "filter");
     
-    if (SkDumpCanvasM::kDrawText_Verb == verb) {
+    if (SkDumpCanvas::kDrawText_Verb == verb) {
         str.appendf("Text Size:%0.4g\n", SkScalarToFloat(p->getTextSize()));
         appendPtr(&str, p->getTypeface(), "typeface");
     }
@@ -136,7 +120,7 @@
     return str;
 }
 
-void SkDebugDumper::dump(SkDumpCanvasM* canvas, SkDumpCanvasM::Verb verb,
+void SkDebugDumper::dump(SkDumpCanvas* canvas, SkDumpCanvas::Verb verb,
                           const char str[], const SkPaint* p) {      
     if (!fDisabled) {
         SkString msg, tab;
@@ -150,19 +134,19 @@
         msg.appendf("%03d: %s%s\n", fCount, tab.c_str(), str);
         ++fCount;
         if (!fInit) {
-            SkEvent* cmd = new SkEvent(SkDebugger_CommandType);
-            cmd->setString(SkDebugger_Atom, msg);
-            cmd->post(fCommandListID, 100);
+            SkEvent* cmd = new SkEvent(SKDEBUGGER_COMMANDTYPE, fCommandsID);
+            cmd->setString(SKDEBUGGER_ATOM, msg);
+            cmd->postDelay(100);
         }
         else {
-            SkEvent* state = new SkEvent(SkDebugger_StateType);
-            state->setString(SkDebugger_Matrix, dumpMatrix(canvas));
-            state->setString(SkDebugger_Clip, dumpClip(canvas));
+            SkEvent* state = new SkEvent(SKDEBUGGER_STATETYPE, fStateID);
+            state->setString(SKDEBUGGER_MATRIX, dumpMatrix(canvas));
+            state->setString(SKDEBUGGER_CLIP, dumpClip(canvas));
             if (p) {
-                state->setString(SkDebugger_PaintInfo, dumpPaint(canvas, p, verb));
-                state->getMetaData().setPtr(SkDebugger_Paint, (void*)p, PaintProc);
+                state->setString(SKDEBUGGER_PAINTINFO, dumpPaint(canvas, p, verb));
+                state->getMetaData().setPtr(SKDEBUGGER_PAINT, (void*)p, PaintProc);
             }
-            state->post(fInfoPanelID);
+            state->post();
         }
     }
 }
\ No newline at end of file
diff --git a/experimental/CocoaDebugger/SkDebugDumper.h b/experimental/Debugger/SkDebugDumper.h
similarity index 72%
rename from experimental/CocoaDebugger/SkDebugDumper.h
rename to experimental/Debugger/SkDebugDumper.h
index 73cb1b2..35b0b23 100644
--- a/experimental/CocoaDebugger/SkDebugDumper.h
+++ b/experimental/Debugger/SkDebugDumper.h
@@ -7,21 +7,18 @@
  */
 #ifndef SkDebugDumper_DEFINED
 #define SkDebugDumper_DEFINED
-#include "SkDumpCanvasM.h"
+#include "SkDumpCanvas.h"
 #include "SkEvent.h"
 
-class CommandListView;
-class InfoPanelView;
-class ContentView;
 /** Formats the draw commands, and send them to a function-pointer provided
  by the caller.
  */
-class SkDebugDumper : public SkDumpCanvasM::Dumper {
+class SkDebugDumper : public SkDumpCanvas::Dumper {
 public:
     SkDebugDumper(SkEventSinkID cID, SkEventSinkID clID, SkEventSinkID ipID);
     // override from baseclass that does the formatting, and in turn calls
     // the function pointer that was passed to the constructor
-    virtual void dump(SkDumpCanvasM*, SkDumpCanvasM::Verb, const char str[],
+    virtual void dump(SkDumpCanvas*, SkDumpCanvas::Verb, const char str[],
                       const SkPaint*);
     
     void load() { fInit = true; };
@@ -33,9 +30,9 @@
     bool            fInit;
     bool            fDisabled;
     SkEventSinkID   fContentID;
-    SkEventSinkID   fCommandListID;
-    SkEventSinkID   fInfoPanelID;
+    SkEventSinkID   fCommandsID;
+    SkEventSinkID   fStateID;
     
-    typedef SkDumpCanvasM::Dumper INHERITED;
+    typedef SkDumpCanvas::Dumper INHERITED;
 };
 #endif
\ No newline at end of file
diff --git a/experimental/DrawingBoard/SampleDrawingClient.cpp b/experimental/DrawingBoard/SampleDrawingClient.cpp
index 9885d51..02b7a3b 100644
--- a/experimental/DrawingBoard/SampleDrawingClient.cpp
+++ b/experimental/DrawingBoard/SampleDrawingClient.cpp
@@ -8,7 +8,32 @@
 #include "SkColorPalette.h"
 #include "SkOSMenu.h"
 
+
+/**
+ * Drawing Client
+ *
+ * A drawing client that allows a user to perform simple brush stokes with 
+ * a selected color and brush size. The drawing client communicates with a 
+ * drawing server to send/receive data to/from other clients connected to the
+ * same server. The drawing client stores data in fData and fBuffer depending on
+ * the data type. Append type means that the drawing data is a completed stroke
+ * and Replace type means that the drawing data is in progress and will be 
+ * replaced by subsequent data. fData and fBuffer are read by a pipe reader and 
+ * reproduce the drawing. When the client is in a normal state, the data stored
+ * on the client and the server should be identical.
+ * The drawing client is also able to switch between vector and bitmap drawing.
+ * The drawing client also renders the latest drawing stroke locally in order to
+ * produce better reponses. This can be disabled by calling 
+ * controller.disablePlayBack(), which will introduce a lag between the input 
+ * and the drawing.
+ * Note: in order to keep up with the drawing data, the client will try to read
+ * a few times each frame in case more than one frame worth of data has been 
+ * received and render them together. This behavior can be adjusted by tweaking
+ * MAX_READ_PER_FRAME or disabled by turning fSync to false
+ */
+
 #define MAX_READ_PER_FRAME 5
+
 class DrawingClientView : public SampleView {
 public:
 	DrawingClientView() {
@@ -22,8 +47,8 @@
         fBrushSize = SkFloatToScalar(2.5);
         fAA = false;
         fPaletteVisible = true;
-        fSync = false;
-        fVector = false;
+        fSync = true;
+        fVector = true;
     }
     ~DrawingClientView() {
         if (fSocket) {
@@ -35,11 +60,14 @@
     
     virtual void requestMenu(SkOSMenu* menu) {
         menu->setTitle("Drawing Client");
-        menu->appendTextField("Server IP", "Server IP", this->getSinkID(), "IP address or hostname");
+        menu->appendTextField("Server IP", "Server IP", this->getSinkID(), 
+                              "IP address or hostname");
         menu->appendSwitch("Vector", "Vector", this->getSinkID(), fVector);
-        menu->appendSlider("Brush Size", "Brush Size", this->getSinkID(), 1.0, 100.0, fBrushSize);
+        menu->appendSlider("Brush Size", "Brush Size", this->getSinkID(), 1.0, 
+                           100.0, fBrushSize);
         menu->appendSwitch("Anti-Aliasing", "AA", this->getSinkID(), fAA);
-        menu->appendSwitch("Show Color Palette", "Palette", this->getSinkID(), fPaletteVisible);
+        menu->appendSwitch("Show Color Palette", "Palette", this->getSinkID(), 
+                           fPaletteVisible);
         menu->appendSwitch("Sync", "Sync", this->getSinkID(), fSync);
         menu->appendAction("Clear", this->getSinkID());
     }
@@ -75,11 +103,11 @@
     }
     
     bool onEvent(const SkEvent& evt) {;
-        if (SkOSMenu::FindSliderValue(&evt, "Brush Size", &fBrushSize))
+        if (SkOSMenu::FindSliderValue(evt, "Brush Size", &fBrushSize))
             return true;
         
         SkString s;
-        if (SkOSMenu::FindText(&evt, "Server IP", &s)) {
+        if (SkOSMenu::FindText(evt, "Server IP", &s)) {
             if (NULL != fSocket) {
                 delete fSocket;
             }
@@ -92,18 +120,18 @@
             this->inval(NULL);
             return true;
         }
-        if (SkOSMenu::FindSwitchState(&evt, "AA", &fAA) ||
-            SkOSMenu::FindSwitchState(&evt, "Sync", &fSync))
+        if (SkOSMenu::FindSwitchState(evt, "AA", &fAA) ||
+            SkOSMenu::FindSwitchState(evt, "Sync", &fSync))
             return true;
-        if (SkOSMenu::FindSwitchState(&evt, "Vector", &fVector)) {
+        if (SkOSMenu::FindSwitchState(evt, "Vector", &fVector)) {
             this->clearBitmap();
             return true;
         }
-        if (SkOSMenu::FindAction(&evt, "Clear")) {
+        if (SkOSMenu::FindAction(evt, "Clear")) {
             this->clear();
             return true;
         }
-        if (SkOSMenu::FindSwitchState(&evt, "Palette", &fPaletteVisible)) {
+        if (SkOSMenu::FindSwitchState(evt, "Palette", &fPaletteVisible)) {
             fPalette->setVisibleP(fPaletteVisible);
             return true;
         }
@@ -150,6 +178,7 @@
                 fSocket->connectToServer();
         }
         size_t bytesRead = 0;
+        SkGPipeReader::Status status;
         SkCanvas bufferCanvas(fBase);
         SkCanvas* tempCanvas;
         while (fTotalBytesRead < fData.count()) {
@@ -157,10 +186,10 @@
                 tempCanvas = canvas;
             else
                 tempCanvas = &bufferCanvas;
-            SkGPipeReader reader(tempCanvas);
-            SkGPipeReader::Status status = reader.playback(fData.begin() + fTotalBytesRead,
-                                                           fData.count() - fTotalBytesRead,
-                                                           &bytesRead);
+            SkGPipeReader reader(tempCanvas); 
+            status = reader.playback(fData.begin() + fTotalBytesRead,
+                                     fData.count() - fTotalBytesRead,
+                                     &bytesRead);
             SkASSERT(SkGPipeReader::kError_Status != status);
             fTotalBytesRead += bytesRead;
         }
@@ -172,10 +201,10 @@
         size_t totalBytesRead = 0;
         while (totalBytesRead < fBuffer.count()) {
             SkGPipeReader reader(canvas);
-            reader.playback(fBuffer.begin() + totalBytesRead, 
-                            fBuffer.count() - totalBytesRead, 
-                            &bytesRead);
-            
+            status = reader.playback(fBuffer.begin() + totalBytesRead, 
+                                     fBuffer.count() - totalBytesRead, 
+                                     &bytesRead);
+            SkASSERT(SkGPipeReader::kError_Status != status);
             totalBytesRead += bytesRead;
         }
         
diff --git a/experimental/DrawingBoard/SampleDrawingServer.cpp b/experimental/DrawingBoard/SampleDrawingServer.cpp
index 6542b58..c79f8d3 100644
--- a/experimental/DrawingBoard/SampleDrawingServer.cpp
+++ b/experimental/DrawingBoard/SampleDrawingServer.cpp
@@ -7,6 +7,25 @@
 #include "SkCornerPathEffect.h"
 #include "SkOSMenu.h"
 #include <map>
+
+/**
+ * Drawing Server
+ *
+ * This simple drawing server can accept connections from multiple drawing 
+ * clients simultaneously. It accumulates drawing data from each client each 
+ * frame, stores it in the appropriate place, and then broadcasts incremental
+ * changes back to all the clients. Each logical packet, meaning one brush
+ * stoke in this case can be of two types, append and replace. Append types are
+ * completed strokes ready to be stored in the fData queue and will no longer be
+ * modified. Replace types are drawing operations that are still in progress on 
+ * the client side, so they are appended to fBuffer. The location and size of 
+ * the buffered data for each client is stored in a map and updated properly.
+ * Each time a new replace drawing call is received from a client, its previous
+ * buffered data is discarded.
+ * Since the Server keeps all the complete drawing data and the latest buffered
+ * data, it's able to switch between vector and bitmap drawing
+ */
+
 class DrawingServerView : public SampleView {
 public:
 	DrawingServerView(){
@@ -77,14 +96,12 @@
                                  SkSocket::kPipeAppend_type);
             fTotalBytesWritten = fData.count();
             fServer->suspendWrite();
-            //this->clearBitmap();
         }
         else {
             //other types of data
         }
     }
     
-    // overrides from SkEventSink
     bool onQuery(SkEvent* evt) {
         if (SampleCode::TitleQ(*evt)) {
             SampleCode::TitleR(evt, "Drawing Server");
@@ -94,11 +111,11 @@
     }
     
     bool onEvent(const SkEvent& evt) {
-        if (SkOSMenu::FindAction(&evt, "Clear")) {
+        if (SkOSMenu::FindAction(evt, "Clear")) {
             this->clear();
             return true;
         }
-        if (SkOSMenu::FindSwitchState(&evt, "Vector", &fVector)) {
+        if (SkOSMenu::FindSwitchState(evt, "Vector", &fVector)) {
             this->clearBitmap();
             return true;
         }
@@ -121,33 +138,35 @@
         }
         
         size_t bytesRead;
+        SkGPipeReader::Status stat;
         SkCanvas bufferCanvas(fBase);
         SkCanvas* tempCanvas;
         while (fTotalBytesRead < fData.count()) {
-            if (fVector)
+            if (fVector) {
                 tempCanvas = canvas;
-            else
+            } else {
                 tempCanvas = &bufferCanvas;
+            }
             SkGPipeReader reader(tempCanvas);
-            SkGPipeReader::Status stat = reader.playback(fData.begin() + fTotalBytesRead,
-                                                         fData.count() - fTotalBytesRead,
-                                                         &bytesRead);
+            stat = reader.playback(fData.begin() + fTotalBytesRead,
+                                   fData.count() - fTotalBytesRead,
+                                   &bytesRead);
             SkASSERT(SkGPipeReader::kError_Status != stat);
             fTotalBytesRead += bytesRead;
-            
-            if (SkGPipeReader::kDone_Status == stat) {}
         }
-        if (fVector)
+        if (fVector) {
             fTotalBytesRead = 0;
-        else
+        } else {
             canvas->drawBitmap(fBase, 0, 0, NULL);
+        }
         
         size_t totalBytesRead = 0;
         while (totalBytesRead < fBuffer.count()) {
             SkGPipeReader reader(canvas);
-            reader.playback(fBuffer.begin() + totalBytesRead,
-                            fBuffer.count() - totalBytesRead,
-                            &bytesRead);
+            stat = reader.playback(fBuffer.begin() + totalBytesRead,
+                                   fBuffer.count() - totalBytesRead,
+                                   &bytesRead);
+            SkASSERT(SkGPipeReader::kError_Status != stat);
             totalBytesRead += bytesRead;
         }
         
@@ -159,7 +178,9 @@
     
     virtual void onSizeChange() {
         this->INHERITED::onSizeChange();
-        fBase.setConfig(SkBitmap::kARGB_8888_Config, this->width(), this->height());
+        fBase.setConfig(SkBitmap::kARGB_8888_Config, 
+                        this->width(), 
+                        this->height());
         fBase.allocPixels(NULL);
         this->clearBitmap();
     }
@@ -181,6 +202,7 @@
         int bufferBase;
         int bufferSize;
     };
+    
     std::map<int, ClientState*> fClientMap;
     SkTDArray<char>             fData;
     SkTDArray<char>             fBuffer;
diff --git a/experimental/Networking/SampleNetPipeReader.cpp b/experimental/Networking/SampleNetPipeReader.cpp
index 0d90286..f58d5c2 100644
--- a/experimental/Networking/SampleNetPipeReader.cpp
+++ b/experimental/Networking/SampleNetPipeReader.cpp
@@ -6,12 +6,26 @@
 #include "SkSockets.h"
 #include "SkOSMenu.h"
 
-#define MAX_READS_PER_FRAME 5
+/**
+ * A simple networked pipe reader
+ *
+ * This view will connect to a user specified server, in this case meaning any
+ * Skia app that's has a SkTCPServer set up to broadcast its piped drawing data,
+ * received all the data transmitted and attempt to reproduce the drawing calls.
+ * This reader will only keep the latest batch of data. In order to keep up with
+ * the server, which may be producing data at a much higher rate than the reader
+ * is consuming, the reader will attempt multiple reads and only render the 
+ * latest frame. this behavior can be adjusted by changing MAX_READS_PER_FRAME
+ * or disabled by setting fSync to false
+ */
+
+#define MAX_READS_PER_FRAME 12
+
 class NetPipeReaderView : public SampleView {
 public:
 	NetPipeReaderView() {
         fSocket = NULL;
-        fSync = false;
+        fSync = true;
     }
     
     ~NetPipeReaderView() {
@@ -47,9 +61,9 @@
         return this->INHERITED::onQuery(evt);
     }
 
-    bool onEvent(const SkEvent& evt) {;
+    bool onEvent(const SkEvent& evt) {
         SkString s;
-        if (SkOSMenu::FindText(&evt, "Server IP", &s)) {
+        if (SkOSMenu::FindText(evt, "Server IP", &s)) {
             if (NULL != fSocket) {
                 delete fSocket;
             }
@@ -58,7 +72,7 @@
             SkDebugf("Connecting to %s\n", s.c_str());
             return true;
         }
-        if (SkOSMenu::FindSwitchState(&evt, "Sync", &fSync))
+        if (SkOSMenu::FindSwitchState(evt, "Sync", &fSync))
             return true;
         return this->INHERITED::onEvent(evt);
     }
@@ -73,10 +87,17 @@
                 int numreads = 0;
                 while (fSocket->readPacket(readData, this) > 0 && 
                        numreads < MAX_READS_PER_FRAME) {
+                    // at this point, new data has been read and stored, discard
+                    // old data since it's not needed anymore
+                    SkASSERT(fDataArray.count() > dataToRemove);
                     fDataArray.remove(0, dataToRemove);
                     dataToRemove = fDataArray.count();
                     ++numreads;
                 }
+                // clean up if max reads reached
+                if (numreads == MAX_READS_PER_FRAME && 
+                    fDataArray.count() > dataToRemove)
+                    fDataArray.remove(0, dataToRemove);
             }
             else {
                 if (fSocket->readPacket(readData, this) > 0) 
@@ -85,7 +106,7 @@
         }
         else
             fSocket->connectToServer();
-
+        
         SkGPipeReader reader(canvas);
         size_t bytesRead;
         SkGPipeReader::Status fStatus = reader.playback(fDataArray.begin(),
@@ -102,7 +123,6 @@
     typedef SampleView INHERITED;
 };
 
-
 ///////////////////////////////////////////////////////////////////////////////
 
 static SkView* MyFactory() { return new NetPipeReaderView; }
diff --git a/experimental/Networking/SkSockets.cpp b/experimental/Networking/SkSockets.cpp
index ccf6010..4304b6c 100644
--- a/experimental/Networking/SkSockets.cpp
+++ b/experimental/Networking/SkSockets.cpp
@@ -23,6 +23,7 @@
 
 SkSocket::~SkSocket() {
     this->closeSocket(fSockfd);
+    shutdown(fSockfd, 2); //stop sending/receiving
 }
 
 int SkSocket::createSocket() {
@@ -49,7 +50,6 @@
     if (!fReady)
         return;
     
-    shutdown(sockfd, 2); //stop sending/receiving
     close(sockfd);
     //SkDebugf("Closed fd:%d\n", sockfd);
     
@@ -151,7 +151,7 @@
         }
 
         if (failure) {
-            onRead(NULL, 0, i, h.type, context);
+            onRead(i, NULL, 0, h.type, context);
             this->onFailedConnection(i);
             continue;
         }
diff --git a/experimental/Networking/SkSockets.h b/experimental/Networking/SkSockets.h
index 1f47a94..0302426 100644
--- a/experimental/Networking/SkSockets.h
+++ b/experimental/Networking/SkSockets.h
@@ -52,8 +52,8 @@
      * For blocking sockets, write will block indefinitely if the socket at the
      * other end of the connection doesn't receive any data.
      * NOTE: This method guarantees that all of the data will be sent unless 
-     * there was an error, so it might block temporarily when the write buffer 
-     * is full
+     * there was an error, so it may block temporarily when the write buffer is 
+     * full
      */
     int writePacket(void* data, size_t size, DataType type = kPipeAppend_type);
     
@@ -67,7 +67,7 @@
      * blocking sockets, read will block indefinitely if the socket doesn't
      * receive any data.
      * NOTE: This method guarantees that all the data in a logical packet will 
-     * be read so there might be temporary delays if it's waiting for parts of a
+     * be read so it may block temporarily if it's waiting for parts of a
      * packet
      */
     int readPacket(void (*onRead)(int cid, const void* data, size_t size, 
diff --git a/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm b/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm
index 29f2c7e..acf70b8 100644
--- a/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm
+++ b/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm
@@ -38,7 +38,7 @@
 - (NSUInteger)convertPathToIndex:(NSIndexPath*)path {
     NSUInteger index = 0;
     for (NSInteger i = 0; i < path.section; ++i) {
-        index += (*fMenus)[i]->countItems();
+        index += (*fMenus)[i]->getCount();
     }
     return index + path.row;
 }
@@ -57,7 +57,7 @@
     if (menuIndex >= 0 && menuIndex < fMenus->count()) {
         NSUInteger first = 0;
         for (NSInteger i = 0; i < menuIndex; ++i) {
-            first += (*fMenus)[i]->countItems();
+            first += (*fMenus)[i]->getCount();
         }
         [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)];
         [self loadMenu:menu];
@@ -66,8 +66,10 @@
 }
 
 - (void)loadMenu:(const SkOSMenu*)menu {
-    for (int i = 0; i < menu->countItems(); ++i) {
-        const SkOSMenu::Item* item = menu->getItem(i);
+    const SkOSMenu::Item* menuitems[menu->getCount()];
+    menu->getItems(menuitems);
+    for (int i = 0; i < menu->getCount(); ++i) {
+        const SkOSMenu::Item* item = menuitems[i];
         NSString* title = [NSString stringWithUTF8String:item->getLabel()];
         
         if (SkOSMenu::kList_Type == item->getType()) {
@@ -78,12 +80,12 @@
             List.fOptions = [[SkOptionListController alloc] initWithStyle:UITableViewStyleGrouped];
             
             int count = 0;
-            SkOSMenu::FindListItemCount(item->getEvent(), &count);
+            SkOSMenu::FindListItemCount(*item->getEvent(), &count);
             SkString options[count];
-            SkOSMenu::FindListItems(item->getEvent(), options);
+            SkOSMenu::FindListItems(*item->getEvent(), options);
             for (int i = 0; i < count; ++i)
                 [List.fOptions addOption:[NSString stringWithUTF8String:options[i].c_str()]];
-            SkOSMenu::FindListIndex(item->getEvent(), item->getSlotName(), &value);
+            SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &value);
             
             List.fOptions.fSelectedIndex = value;
             List.fCell = [self createList:title
@@ -104,25 +106,25 @@
                     option.fCell = [self createAction:title];
                     break;
                 case SkOSMenu::kSwitch_Type:
-                    SkOSMenu::FindSwitchState(item->getEvent(), item->getSlotName(), &state);
+                    SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state);
                     option.fCell = [self createSwitch:title default:(BOOL)state];
                     break;
                 case SkOSMenu::kSlider_Type:
                     SkScalar min, max, value;
-                    SkOSMenu::FindSliderValue(item->getEvent(), item->getSlotName(), &value);
-                    SkOSMenu::FindSliderMin(item->getEvent(), &min);
-                    SkOSMenu::FindSliderMax(item->getEvent(), &max);
+                    SkOSMenu::FindSliderValue(*item->getEvent(), item->getSlotName(), &value);
+                    SkOSMenu::FindSliderMin(*item->getEvent(), &min);
+                    SkOSMenu::FindSliderMax(*item->getEvent(), &max);
                     option.fCell = [self createSlider:title 
                                                   min:min 
                                                   max:max
                                               default:value];
                     break;                    
                 case SkOSMenu::kTriState_Type:
-                    SkOSMenu::FindTriState(item->getEvent(), item->getSlotName(), &tristate);
+                    SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate);
                     option.fCell = [self createTriState:title default:(int)tristate];
                     break;
                 case SkOSMenu::kTextField_Type:
-                    SkOSMenu::FindText(item->getEvent(), item->getSlotName(), &str);
+                    SkOSMenu::FindText(*item->getEvent(), item->getSlotName(), &str);
                     option.fCell = [self createTextField:title 
                                                  default:[NSString stringWithUTF8String:str.c_str()]];
                     break;
@@ -142,26 +144,31 @@
     if ([sender isKindOfClass:[UISlider class]]) {//Slider
         UISlider* slider = (UISlider *)sender;
         cell.detailTextLabel.text = [NSString stringWithFormat:@"%1.1f", slider.value];
-        item.fItem->postEventWithScalar(slider.value);
+        item.fItem->setScalar(slider.value);
     }
     else if ([sender isKindOfClass:[UISwitch class]]) {//Switch
         UISwitch* switch_ = (UISwitch *)sender;
-        item.fItem->postEventWithBool(switch_.on);
+        item.fItem->setBool(switch_.on);
     }
     else if ([sender isKindOfClass:[UITextField class]]) { //TextField
         UITextField* textField = (UITextField *)sender;
         [textField resignFirstResponder];
-        item.fItem->postEventWithString([textField.text UTF8String]);
+        item.fItem->setString([textField.text UTF8String]);
     }
     else if ([sender isKindOfClass:[UISegmentedControl class]]) { //Action
         UISegmentedControl* segmented = (UISegmentedControl *)sender;
-        item.fItem->postEventWithInt((2 == segmented.selectedSegmentIndex) ? 
-                                     SkOSMenu::kMixedState : 
-                                     segmented.selectedSegmentIndex);
+        SkOSMenu::TriState state;
+        if (2 == segmented.selectedSegmentIndex) {
+            state = SkOSMenu::kMixedState;
+        } else {
+            state = (SkOSMenu::TriState)segmented.selectedSegmentIndex;
+        }
+        item.fItem->setTriState(state);
     }
     else{
         NSLog(@"unknown");
     }
+    item.fItem->postEvent();
 }
 
 - (UITableViewCell*)createAction:(NSString*)title {
@@ -272,7 +279,7 @@
 }
 
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
-    return (*fMenus)[section]->countItems();
+    return (*fMenus)[section]->getCount();
 }
 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
@@ -314,7 +321,8 @@
     if (self == viewController) { //when a List option is popped, trigger event
         NSString* selectedOption = [fCurrentList.fOptions getSelectedOption];
         fCurrentList.fCell.detailTextLabel.text = selectedOption;
-        fCurrentList.fItem->postEventWithInt(fCurrentList.fOptions.fSelectedIndex);
+        fCurrentList.fItem->setInt(fCurrentList.fOptions.fSelectedIndex);
+        fCurrentList.fItem->postEvent();
     }
 }
 
diff --git a/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm b/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm
index f4976b5..7c2aef4 100644
--- a/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm
+++ b/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm
@@ -1,4 +1,3 @@
-#import "SkAlertPrompt.h"
 #import "SkUIDetailViewController.h"
 #include "SampleApp.h"
 #include "SkCGUtils.h"
diff --git a/experimental/iOSSampleApp/Shared/SkUIView.mm b/experimental/iOSSampleApp/Shared/SkUIView.mm
index c6f1e22..05b6edd 100644
--- a/experimental/iOSSampleApp/Shared/SkUIView.mm
+++ b/experimental/iOSSampleApp/Shared/SkUIView.mm
@@ -5,7 +5,7 @@
 #define SKGL_CONFIG         kEAGLColorFormatRGB565
 //#define SKGL_CONFIG         kEAGLColorFormatRGBA8
 
-//#define FORCE_REDRAW
+#define FORCE_REDRAW
 
 //#define USE_GL_1
 #define USE_GL_2
diff --git a/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj b/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj
index d1fcab1..e876678 100755
--- a/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj
+++ b/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj
@@ -9,92 +9,51 @@
 /* Begin PBXBuildFile section */
 		1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
 		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
-		260E00D513B11F5B0064D447 /* bitmapfilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001513B11F5B0064D447 /* bitmapfilters.cpp */; };
-		260E00D613B11F5B0064D447 /* blurs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001613B11F5B0064D447 /* blurs.cpp */; };
-		260E00D713B11F5B0064D447 /* complexclip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001713B11F5B0064D447 /* complexclip.cpp */; };
-		260E00D813B11F5B0064D447 /* filltypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001813B11F5B0064D447 /* filltypes.cpp */; };
-		260E00D913B11F5B0064D447 /* gradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001A13B11F5B0064D447 /* gradients.cpp */; };
-		260E00DA13B11F5B0064D447 /* nocolorbleed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001B13B11F5B0064D447 /* nocolorbleed.cpp */; };
-		260E00DB13B11F5B0064D447 /* points.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001C13B11F5B0064D447 /* points.cpp */; };
-		260E00DC13B11F5B0064D447 /* poly2poly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001D13B11F5B0064D447 /* poly2poly.cpp */; };
-		260E00DD13B11F5B0064D447 /* shadertext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001E13B11F5B0064D447 /* shadertext.cpp */; };
-		260E00DE13B11F5B0064D447 /* shadows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001F13B11F5B0064D447 /* shadows.cpp */; };
-		260E00DF13B11F5B0064D447 /* shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002013B11F5B0064D447 /* shapes.cpp */; };
-		260E00E013B11F5B0064D447 /* tilemodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002113B11F5B0064D447 /* tilemodes.cpp */; };
-		260E00E113B11F5B0064D447 /* xfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002213B11F5B0064D447 /* xfermodes.cpp */; };
+		2605F44213F18B1B0044A072 /* DebuggerView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F43C13F18B1B0044A072 /* DebuggerView.cpp */; };
+		2605F44313F18B1B0044A072 /* DebuggerCommandsView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F43E13F18B1B0044A072 /* DebuggerCommandsView.cpp */; };
+		2605F44413F18B1B0044A072 /* SkDebugDumper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F43F13F18B1B0044A072 /* SkDebugDumper.cpp */; };
+		2605F44513F18B1B0044A072 /* DebuggerStateView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F44113F18B1B0044A072 /* DebuggerStateView.cpp */; };
+		2605F65D13F19D1D0044A072 /* SamplePicture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005913B11F5B0064D447 /* SamplePicture.cpp */; };
+		2605F66513F19EB80044A072 /* GrStencilBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F66413F19EB80044A072 /* GrStencilBuffer.cpp */; };
+		2605F83013F1AE4B0044A072 /* xfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002213B11F5B0064D447 /* xfermodes.cpp */; };
+		2605F83113F1AE4C0044A072 /* tilemodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002113B11F5B0064D447 /* tilemodes.cpp */; };
+		2605F83213F1AE4C0044A072 /* shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002013B11F5B0064D447 /* shapes.cpp */; };
+		2605F83313F1AE4D0044A072 /* shadows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001F13B11F5B0064D447 /* shadows.cpp */; };
+		2605F83413F1AE4D0044A072 /* shadertext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001E13B11F5B0064D447 /* shadertext.cpp */; };
+		2605F83513F1AE4E0044A072 /* poly2poly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001D13B11F5B0064D447 /* poly2poly.cpp */; };
+		2605F83613F1AE4F0044A072 /* nocolorbleed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001B13B11F5B0064D447 /* nocolorbleed.cpp */; };
+		2605F83713F1AE500044A072 /* points.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001C13B11F5B0064D447 /* points.cpp */; };
+		2605F83813F1AE500044A072 /* gradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001A13B11F5B0064D447 /* gradients.cpp */; };
+		2605F83913F1AE510044A072 /* filltypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001813B11F5B0064D447 /* filltypes.cpp */; };
+		2605F83A13F1AE520044A072 /* complexclip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001713B11F5B0064D447 /* complexclip.cpp */; };
+		2605F83B13F1AE520044A072 /* blurs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001613B11F5B0064D447 /* blurs.cpp */; };
+		2605F83C13F1AE530044A072 /* bitmapfilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001513B11F5B0064D447 /* bitmapfilters.cpp */; };
 		260E00E313B11F5B0064D447 /* OverView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002513B11F5B0064D447 /* OverView.cpp */; };
-		260E00E413B11F5B0064D447 /* SampleAARects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002613B11F5B0064D447 /* SampleAARects.cpp */; };
-		260E00E513B11F5B0064D447 /* SampleAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002713B11F5B0064D447 /* SampleAll.cpp */; };
-		260E00E613B11F5B0064D447 /* SampleAnimator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002813B11F5B0064D447 /* SampleAnimator.cpp */; };
 		260E00E813B11F5B0064D447 /* SampleArc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002A13B11F5B0064D447 /* SampleArc.cpp */; };
 		260E00E913B11F5B0064D447 /* SampleAvoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002B13B11F5B0064D447 /* SampleAvoid.cpp */; };
-		260E00EA13B11F5B0064D447 /* SampleBigGradient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002C13B11F5B0064D447 /* SampleBigGradient.cpp */; };
-		260E00EB13B11F5B0064D447 /* SampleBitmapRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002D13B11F5B0064D447 /* SampleBitmapRect.cpp */; };
 		260E00EC13B11F5B0064D447 /* SampleBlur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002E13B11F5B0064D447 /* SampleBlur.cpp */; };
-		260E00ED13B11F5B0064D447 /* SampleCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002F13B11F5B0064D447 /* SampleCamera.cpp */; };
 		260E00EE13B11F5B0064D447 /* SampleCircle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003013B11F5B0064D447 /* SampleCircle.cpp */; };
-		260E00EF13B11F5B0064D447 /* SampleColorFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003213B11F5B0064D447 /* SampleColorFilter.cpp */; };
 		260E00F013B11F5B0064D447 /* SampleComplexClip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003313B11F5B0064D447 /* SampleComplexClip.cpp */; };
-		260E00F113B11F5B0064D447 /* SampleConcavePaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003413B11F5B0064D447 /* SampleConcavePaths.cpp */; };
 		260E00F213B11F5B0064D447 /* SampleCull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003513B11F5B0064D447 /* SampleCull.cpp */; };
-		260E00F313B11F5B0064D447 /* SampleDecode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003613B11F5B0064D447 /* SampleDecode.cpp */; };
-		260E00F413B11F5B0064D447 /* SampleDither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003713B11F5B0064D447 /* SampleDither.cpp */; };
-		260E00F513B11F5B0064D447 /* SampleDitherBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003813B11F5B0064D447 /* SampleDitherBitmap.cpp */; };
-		260E00F613B11F5B0064D447 /* SampleDrawLooper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003913B11F5B0064D447 /* SampleDrawLooper.cpp */; };
-		260E00F713B11F5B0064D447 /* SampleEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003A13B11F5B0064D447 /* SampleEffects.cpp */; };
-		260E00F813B11F5B0064D447 /* SampleEmboss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003B13B11F5B0064D447 /* SampleEmboss.cpp */; };
-		260E00F913B11F5B0064D447 /* SampleEncode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003C13B11F5B0064D447 /* SampleEncode.cpp */; };
-		260E00FA13B11F5B0064D447 /* SampleExtractAlpha.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003D13B11F5B0064D447 /* SampleExtractAlpha.cpp */; };
 		260E00FB13B11F5B0064D447 /* SampleFillType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003E13B11F5B0064D447 /* SampleFillType.cpp */; };
-		260E00FC13B11F5B0064D447 /* SampleFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003F13B11F5B0064D447 /* SampleFilter.cpp */; };
-		260E00FD13B11F5B0064D447 /* SampleFilter2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004013B11F5B0064D447 /* SampleFilter2.cpp */; };
-		260E00FE13B11F5B0064D447 /* SampleFontCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004113B11F5B0064D447 /* SampleFontCache.cpp */; };
-		260E010213B11F5B0064D447 /* SampleGradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004513B11F5B0064D447 /* SampleGradients.cpp */; };
-		260E010313B11F5B0064D447 /* SampleHairline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004613B11F5B0064D447 /* SampleHairline.cpp */; };
-		260E010413B11F5B0064D447 /* SampleImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004713B11F5B0064D447 /* SampleImage.cpp */; };
-		260E010513B11F5B0064D447 /* SampleImageDir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004813B11F5B0064D447 /* SampleImageDir.cpp */; };
 		260E010613B11F5B0064D447 /* SampleLCD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004913B11F5B0064D447 /* SampleLCD.cpp */; };
-		260E010713B11F5B0064D447 /* SampleLayerMask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004A13B11F5B0064D447 /* SampleLayerMask.cpp */; };
-		260E010813B11F5B0064D447 /* SampleLayers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004B13B11F5B0064D447 /* SampleLayers.cpp */; };
-		260E010913B11F5B0064D447 /* SampleLineClipper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004C13B11F5B0064D447 /* SampleLineClipper.cpp */; };
-		260E010A13B11F5B0064D447 /* SampleLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004D13B11F5B0064D447 /* SampleLines.cpp */; };
-		260E010B13B11F5B0064D447 /* SampleMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004E13B11F5B0064D447 /* SampleMeasure.cpp */; };
-		260E010C13B11F5B0064D447 /* SampleMipMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004F13B11F5B0064D447 /* SampleMipMap.cpp */; };
-		260E010D13B11F5B0064D447 /* SampleMovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005013B11F5B0064D447 /* SampleMovie.cpp */; };
-		260E010E13B11F5B0064D447 /* SampleNinePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005113B11F5B0064D447 /* SampleNinePatch.cpp */; };
-		260E010F13B11F5B0064D447 /* SampleOvalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005213B11F5B0064D447 /* SampleOvalTest.cpp */; };
-		260E011013B11F5B0064D447 /* SampleOverflow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005313B11F5B0064D447 /* SampleOverflow.cpp */; };
-		260E011113B11F5B0064D447 /* SamplePageFlip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005413B11F5B0064D447 /* SamplePageFlip.cpp */; };
-		260E011213B11F5B0064D447 /* SamplePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005513B11F5B0064D447 /* SamplePatch.cpp */; };
 		260E011313B11F5B0064D447 /* SamplePath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005613B11F5B0064D447 /* SamplePath.cpp */; };
 		260E011413B11F5B0064D447 /* SamplePathClip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005713B11F5B0064D447 /* SamplePathClip.cpp */; };
 		260E011513B11F5B0064D447 /* SamplePathEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005813B11F5B0064D447 /* SamplePathEffects.cpp */; };
-		260E011613B11F5B0064D447 /* SamplePicture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005913B11F5B0064D447 /* SamplePicture.cpp */; };
 		260E011713B11F5B0064D447 /* SamplePoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005A13B11F5B0064D447 /* SamplePoints.cpp */; };
 		260E011813B11F5B0064D447 /* SamplePolyToPoly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005B13B11F5B0064D447 /* SamplePolyToPoly.cpp */; };
 		260E011913B11F5B0064D447 /* SampleRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005C13B11F5B0064D447 /* SampleRegion.cpp */; };
-		260E011A13B11F5B0064D447 /* SampleRepeatTile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005D13B11F5B0064D447 /* SampleRepeatTile.cpp */; };
-		260E011B13B11F5B0064D447 /* SampleShaderText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005E13B11F5B0064D447 /* SampleShaderText.cpp */; };
-		260E011C13B11F5B0064D447 /* SampleShaders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005F13B11F5B0064D447 /* SampleShaders.cpp */; };
 		260E011D13B11F5B0064D447 /* SampleShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006013B11F5B0064D447 /* SampleShapes.cpp */; };
-		260E011E13B11F5B0064D447 /* SampleSkLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006113B11F5B0064D447 /* SampleSkLayer.cpp */; };
 		260E011F13B11F5B0064D447 /* SampleSlides.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006213B11F5B0064D447 /* SampleSlides.cpp */; };
-		260E012013B11F5B0064D447 /* SampleStrokePath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006313B11F5B0064D447 /* SampleStrokePath.cpp */; };
-		260E012113B11F5B0064D447 /* SampleStrokeText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006413B11F5B0064D447 /* SampleStrokeText.cpp */; };
 		260E012313B11F5B0064D447 /* SampleText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006613B11F5B0064D447 /* SampleText.cpp */; };
 		260E012413B11F5B0064D447 /* SampleTextAlpha.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006713B11F5B0064D447 /* SampleTextAlpha.cpp */; };
 		260E012513B11F5B0064D447 /* SampleTextBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006813B11F5B0064D447 /* SampleTextBox.cpp */; };
 		260E012613B11F5B0064D447 /* SampleTextEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006913B11F5B0064D447 /* SampleTextEffects.cpp */; };
 		260E012713B11F5B0064D447 /* SampleTextOnPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006A13B11F5B0064D447 /* SampleTextOnPath.cpp */; };
-		260E012813B11F5B0064D447 /* SampleTextureDomain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006B13B11F5B0064D447 /* SampleTextureDomain.cpp */; };
-		260E012913B11F5B0064D447 /* SampleTiling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006C13B11F5B0064D447 /* SampleTiling.cpp */; };
-		260E012A13B11F5B0064D447 /* SampleTinyBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006D13B11F5B0064D447 /* SampleTinyBitmap.cpp */; };
 		260E012B13B11F5B0064D447 /* SampleTriangles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006E13B11F5B0064D447 /* SampleTriangles.cpp */; };
 		260E012C13B11F5B0064D447 /* SampleTypeface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006F13B11F5B0064D447 /* SampleTypeface.cpp */; };
 		260E012D13B11F5B0064D447 /* SampleUnitMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007013B11F5B0064D447 /* SampleUnitMapper.cpp */; };
 		260E012E13B11F5B0064D447 /* SampleVertices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007113B11F5B0064D447 /* SampleVertices.cpp */; };
-		260E012F13B11F5B0064D447 /* SampleXfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007213B11F5B0064D447 /* SampleXfermodes.cpp */; };
-		260E013013B11F5B0064D447 /* SampleXfermodesBlur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007313B11F5B0064D447 /* SampleXfermodesBlur.cpp */; };
 		260E013113B11F5B0064D447 /* SkGPipeRead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007513B11F5B0064D447 /* SkGPipeRead.cpp */; };
 		260E013213B11F5B0064D447 /* SkGPipeWrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007613B11F5B0064D447 /* SkGPipeWrite.cpp */; };
 		260E02A213B1225D0064D447 /* Sk64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E020C13B1225D0064D447 /* Sk64.cpp */; };
@@ -410,8 +369,6 @@
 		260E095813B134C90064D447 /* GrDrawMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E095613B134C90064D447 /* GrDrawMesh.cpp */; };
 		260E147913B2734E0064D447 /* SkUISplitViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260E147813B2734E0064D447 /* SkUISplitViewController.mm */; };
 		260E16E613B2853F0064D447 /* SampleGM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004413B11F5B0064D447 /* SampleGM.cpp */; };
-		260E16F013B285540064D447 /* SampleFuzz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004313B11F5B0064D447 /* SampleFuzz.cpp */; };
-		260E16F213B285570064D447 /* SampleFontScalerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004213B11F5B0064D447 /* SampleFontScalerTest.cpp */; };
 		260E1DCD13B3AA490064D447 /* SkUINavigationController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260E1DCB13B3AA490064D447 /* SkUINavigationController.mm */; };
 		260E1EA213B3B15A0064D447 /* SkPDFCatalog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E1E9613B3B15A0064D447 /* SkPDFCatalog.cpp */; };
 		260E1EA313B3B15A0064D447 /* SkPDFDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E1E9713B3B15A0064D447 /* SkPDFDevice.cpp */; };
@@ -429,6 +386,7 @@
 		260EF18513AFD62E0064D447 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260EF18413AFD62E0064D447 /* CoreText.framework */; };
 		260EF2B013AFDBD30064D447 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
 		263BE75813CCC7BF00CCE991 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 263BE75713CCC7BF00CCE991 /* QuartzCore.framework */; };
+		2645945F13F34FB100DCF534 /* test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2645945E13F34FB100DCF534 /* test.cpp */; };
 		26591EB913EB16EB000DA8A8 /* TransitionView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26591EB813EB16EB000DA8A8 /* TransitionView.cpp */; };
 		265C7DE313D75752008329F6 /* SkOptionListController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 265C7DE213D75752008329F6 /* SkOptionListController.mm */; };
 		2662AB7013BD067900CDE7E9 /* SkiOSSampleApp-Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2662AB6F13BD067900CDE7E9 /* SkiOSSampleApp-Debug.xcconfig */; };
@@ -440,7 +398,6 @@
 		268C50D613F022820003FF9A /* SkColorPalette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D213F022820003FF9A /* SkColorPalette.cpp */; };
 		268C50D713F022820003FF9A /* SkNetPipeController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D413F022820003FF9A /* SkNetPipeController.cpp */; };
 		268C50DA13F022AF0003FF9A /* SampleDrawingClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D813F022AF0003FF9A /* SampleDrawingClient.cpp */; };
-		268C50DB13F022AF0003FF9A /* SampleDrawingServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D913F022AF0003FF9A /* SampleDrawingServer.cpp */; };
 		268C50DF13F0230C0003FF9A /* SampleNetPipeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50DC13F0230C0003FF9A /* SampleNetPipeReader.cpp */; };
 		268C50E013F0230C0003FF9A /* SkSockets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50DD13F0230C0003FF9A /* SkSockets.cpp */; };
 		26962B2313CDF6A00039B1FB /* SkOSFile_iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260EE8BB13AFA7790064D447 /* SkOSFile_iOS.mm */; };
@@ -482,6 +439,13 @@
 		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 		1D6058910D05DD3D006BFB54 /* iOSSampleApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSSampleApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		2605F43C13F18B1B0044A072 /* DebuggerView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerView.cpp; sourceTree = "<group>"; };
+		2605F43D13F18B1B0044A072 /* DebuggerViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebuggerViews.h; sourceTree = "<group>"; };
+		2605F43E13F18B1B0044A072 /* DebuggerCommandsView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerCommandsView.cpp; sourceTree = "<group>"; };
+		2605F43F13F18B1B0044A072 /* SkDebugDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkDebugDumper.cpp; sourceTree = "<group>"; };
+		2605F44013F18B1B0044A072 /* SkDebugDumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkDebugDumper.h; sourceTree = "<group>"; };
+		2605F44113F18B1B0044A072 /* DebuggerStateView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerStateView.cpp; sourceTree = "<group>"; };
+		2605F66413F19EB80044A072 /* GrStencilBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GrStencilBuffer.cpp; sourceTree = "<group>"; };
 		260E001513B11F5B0064D447 /* bitmapfilters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bitmapfilters.cpp; sourceTree = "<group>"; };
 		260E001613B11F5B0064D447 /* blurs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = blurs.cpp; sourceTree = "<group>"; };
 		260E001713B11F5B0064D447 /* complexclip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = complexclip.cpp; sourceTree = "<group>"; };
@@ -1327,6 +1291,7 @@
 		260EE9D113AFA7850064D447 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
 		260EF18413AFD62E0064D447 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
 		263BE75713CCC7BF00CCE991 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		2645945E13F34FB100DCF534 /* test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test.cpp; sourceTree = SOURCE_ROOT; };
 		26591EB813EB16EB000DA8A8 /* TransitionView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransitionView.cpp; sourceTree = "<group>"; };
 		265C7DE113D75752008329F6 /* SkOptionListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkOptionListController.h; path = Shared/SkOptionListController.h; sourceTree = "<group>"; };
 		265C7DE213D75752008329F6 /* SkOptionListController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SkOptionListController.mm; path = Shared/SkOptionListController.mm; sourceTree = "<group>"; };
@@ -1434,6 +1399,20 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
+		2605F43B13F18B1B0044A072 /* Debugger */ = {
+			isa = PBXGroup;
+			children = (
+				2605F43C13F18B1B0044A072 /* DebuggerView.cpp */,
+				2605F43D13F18B1B0044A072 /* DebuggerViews.h */,
+				2605F43E13F18B1B0044A072 /* DebuggerCommandsView.cpp */,
+				2605F43F13F18B1B0044A072 /* SkDebugDumper.cpp */,
+				2605F44013F18B1B0044A072 /* SkDebugDumper.h */,
+				2605F44113F18B1B0044A072 /* DebuggerStateView.cpp */,
+			);
+			name = Debugger;
+			path = ../Debugger;
+			sourceTree = SOURCE_ROOT;
+		};
 		260E001413B11F5B0064D447 /* gm */ = {
 			isa = PBXGroup;
 			children = (
@@ -1459,6 +1438,7 @@
 		260E002313B11F5B0064D447 /* samplecode */ = {
 			isa = PBXGroup;
 			children = (
+				2645945E13F34FB100DCF534 /* test.cpp */,
 				26591EB813EB16EB000DA8A8 /* TransitionView.cpp */,
 				260E002413B11F5B0064D447 /* ClockFaceView.cpp */,
 				260E002513B11F5B0064D447 /* OverView.cpp */,
@@ -2028,6 +2008,7 @@
 		260E03C813B122D40064D447 /* src */ = {
 			isa = PBXGroup;
 			children = (
+				2605F66413F19EB80044A072 /* GrStencilBuffer.cpp */,
 				26FB12B313E70D51001AFF6D /* GrRenderTarget.cpp */,
 				26FB12AD13E70D3B001AFF6D /* GrGLRenderTarget.cpp */,
 				26FB12AE13E70D3B001AFF6D /* GrGLRenderTarget.h */,
@@ -2822,6 +2803,7 @@
 				26962C8E13CE25D60039B1FB /* iOSSampleApp_Prefix.pch */,
 				26962C8F13CE25D60039B1FB /* iOSSampleApp-Info.plist */,
 				26962CC813CE27390039B1FB /* xcconfig */,
+				2605F43B13F18B1B0044A072 /* Debugger */,
 				26F67B2A13CB3564005DDCD2 /* Networking */,
 				26962CE713CE29120039B1FB /* DrawingBoard */,
 				260EE8B913AFA7790064D447 /* iOS */,
@@ -2912,92 +2894,32 @@
 				1D60589B0D05DD56006BFB54 /* main.m in Sources */,
 				2860E328111B887F00E27156 /* AppDelegate_iPhone.mm in Sources */,
 				2860E32E111B888700E27156 /* AppDelegate_iPad.mm in Sources */,
-				260E00D513B11F5B0064D447 /* bitmapfilters.cpp in Sources */,
-				260E00D613B11F5B0064D447 /* blurs.cpp in Sources */,
-				260E00D713B11F5B0064D447 /* complexclip.cpp in Sources */,
-				260E00D813B11F5B0064D447 /* filltypes.cpp in Sources */,
-				260E00D913B11F5B0064D447 /* gradients.cpp in Sources */,
-				260E00DA13B11F5B0064D447 /* nocolorbleed.cpp in Sources */,
-				260E00DB13B11F5B0064D447 /* points.cpp in Sources */,
-				260E00DC13B11F5B0064D447 /* poly2poly.cpp in Sources */,
-				260E00DD13B11F5B0064D447 /* shadertext.cpp in Sources */,
-				260E00DE13B11F5B0064D447 /* shadows.cpp in Sources */,
-				260E00DF13B11F5B0064D447 /* shapes.cpp in Sources */,
-				260E00E013B11F5B0064D447 /* tilemodes.cpp in Sources */,
-				260E00E113B11F5B0064D447 /* xfermodes.cpp in Sources */,
 				260E00E313B11F5B0064D447 /* OverView.cpp in Sources */,
-				260E00E413B11F5B0064D447 /* SampleAARects.cpp in Sources */,
-				260E00E513B11F5B0064D447 /* SampleAll.cpp in Sources */,
-				260E00E613B11F5B0064D447 /* SampleAnimator.cpp in Sources */,
 				260E00E813B11F5B0064D447 /* SampleArc.cpp in Sources */,
 				260E00E913B11F5B0064D447 /* SampleAvoid.cpp in Sources */,
-				260E00EA13B11F5B0064D447 /* SampleBigGradient.cpp in Sources */,
-				260E00EB13B11F5B0064D447 /* SampleBitmapRect.cpp in Sources */,
 				260E00EC13B11F5B0064D447 /* SampleBlur.cpp in Sources */,
-				260E00ED13B11F5B0064D447 /* SampleCamera.cpp in Sources */,
 				260E00EE13B11F5B0064D447 /* SampleCircle.cpp in Sources */,
-				260E00EF13B11F5B0064D447 /* SampleColorFilter.cpp in Sources */,
 				260E00F013B11F5B0064D447 /* SampleComplexClip.cpp in Sources */,
-				260E00F113B11F5B0064D447 /* SampleConcavePaths.cpp in Sources */,
 				260E00F213B11F5B0064D447 /* SampleCull.cpp in Sources */,
-				260E00F313B11F5B0064D447 /* SampleDecode.cpp in Sources */,
-				260E00F413B11F5B0064D447 /* SampleDither.cpp in Sources */,
-				260E00F513B11F5B0064D447 /* SampleDitherBitmap.cpp in Sources */,
-				260E00F613B11F5B0064D447 /* SampleDrawLooper.cpp in Sources */,
-				260E00F713B11F5B0064D447 /* SampleEffects.cpp in Sources */,
-				260E00F813B11F5B0064D447 /* SampleEmboss.cpp in Sources */,
-				260E00F913B11F5B0064D447 /* SampleEncode.cpp in Sources */,
-				260E00FA13B11F5B0064D447 /* SampleExtractAlpha.cpp in Sources */,
 				260E00FB13B11F5B0064D447 /* SampleFillType.cpp in Sources */,
-				260E00FC13B11F5B0064D447 /* SampleFilter.cpp in Sources */,
-				260E00FD13B11F5B0064D447 /* SampleFilter2.cpp in Sources */,
-				260E00FE13B11F5B0064D447 /* SampleFontCache.cpp in Sources */,
-				260E010213B11F5B0064D447 /* SampleGradients.cpp in Sources */,
-				260E010313B11F5B0064D447 /* SampleHairline.cpp in Sources */,
-				260E010413B11F5B0064D447 /* SampleImage.cpp in Sources */,
-				260E010513B11F5B0064D447 /* SampleImageDir.cpp in Sources */,
 				260E010613B11F5B0064D447 /* SampleLCD.cpp in Sources */,
-				260E010713B11F5B0064D447 /* SampleLayerMask.cpp in Sources */,
-				260E010813B11F5B0064D447 /* SampleLayers.cpp in Sources */,
-				260E010913B11F5B0064D447 /* SampleLineClipper.cpp in Sources */,
-				260E010A13B11F5B0064D447 /* SampleLines.cpp in Sources */,
-				260E010B13B11F5B0064D447 /* SampleMeasure.cpp in Sources */,
-				260E010C13B11F5B0064D447 /* SampleMipMap.cpp in Sources */,
-				260E010D13B11F5B0064D447 /* SampleMovie.cpp in Sources */,
-				260E010E13B11F5B0064D447 /* SampleNinePatch.cpp in Sources */,
-				260E010F13B11F5B0064D447 /* SampleOvalTest.cpp in Sources */,
-				260E011013B11F5B0064D447 /* SampleOverflow.cpp in Sources */,
-				260E011113B11F5B0064D447 /* SamplePageFlip.cpp in Sources */,
-				260E011213B11F5B0064D447 /* SamplePatch.cpp in Sources */,
 				260E011313B11F5B0064D447 /* SamplePath.cpp in Sources */,
 				260E011413B11F5B0064D447 /* SamplePathClip.cpp in Sources */,
 				260E011513B11F5B0064D447 /* SamplePathEffects.cpp in Sources */,
-				260E011613B11F5B0064D447 /* SamplePicture.cpp in Sources */,
 				260E011713B11F5B0064D447 /* SamplePoints.cpp in Sources */,
 				260E011813B11F5B0064D447 /* SamplePolyToPoly.cpp in Sources */,
 				260E011913B11F5B0064D447 /* SampleRegion.cpp in Sources */,
-				260E011A13B11F5B0064D447 /* SampleRepeatTile.cpp in Sources */,
-				260E011B13B11F5B0064D447 /* SampleShaderText.cpp in Sources */,
-				260E011C13B11F5B0064D447 /* SampleShaders.cpp in Sources */,
 				260E011D13B11F5B0064D447 /* SampleShapes.cpp in Sources */,
-				260E011E13B11F5B0064D447 /* SampleSkLayer.cpp in Sources */,
 				260E011F13B11F5B0064D447 /* SampleSlides.cpp in Sources */,
-				260E012013B11F5B0064D447 /* SampleStrokePath.cpp in Sources */,
-				260E012113B11F5B0064D447 /* SampleStrokeText.cpp in Sources */,
 				260E012313B11F5B0064D447 /* SampleText.cpp in Sources */,
 				260E012413B11F5B0064D447 /* SampleTextAlpha.cpp in Sources */,
 				260E012513B11F5B0064D447 /* SampleTextBox.cpp in Sources */,
 				260E012613B11F5B0064D447 /* SampleTextEffects.cpp in Sources */,
 				260E012713B11F5B0064D447 /* SampleTextOnPath.cpp in Sources */,
-				260E012813B11F5B0064D447 /* SampleTextureDomain.cpp in Sources */,
-				260E012913B11F5B0064D447 /* SampleTiling.cpp in Sources */,
-				260E012A13B11F5B0064D447 /* SampleTinyBitmap.cpp in Sources */,
 				260E012B13B11F5B0064D447 /* SampleTriangles.cpp in Sources */,
 				260E012C13B11F5B0064D447 /* SampleTypeface.cpp in Sources */,
 				260E012D13B11F5B0064D447 /* SampleUnitMapper.cpp in Sources */,
 				260E012E13B11F5B0064D447 /* SampleVertices.cpp in Sources */,
-				260E012F13B11F5B0064D447 /* SampleXfermodes.cpp in Sources */,
-				260E013013B11F5B0064D447 /* SampleXfermodesBlur.cpp in Sources */,
 				260E013113B11F5B0064D447 /* SkGPipeRead.cpp in Sources */,
 				260E013213B11F5B0064D447 /* SkGPipeWrite.cpp in Sources */,
 				260E02A213B1225D0064D447 /* Sk64.cpp in Sources */,
@@ -3313,8 +3235,6 @@
 				260E095813B134C90064D447 /* GrDrawMesh.cpp in Sources */,
 				260E147913B2734E0064D447 /* SkUISplitViewController.mm in Sources */,
 				260E16E613B2853F0064D447 /* SampleGM.cpp in Sources */,
-				260E16F013B285540064D447 /* SampleFuzz.cpp in Sources */,
-				260E16F213B285570064D447 /* SampleFontScalerTest.cpp in Sources */,
 				260E1DCD13B3AA490064D447 /* SkUINavigationController.mm in Sources */,
 				260E1EA213B3B15A0064D447 /* SkPDFCatalog.cpp in Sources */,
 				260E1EA313B3B15A0064D447 /* SkPDFDevice.cpp in Sources */,
@@ -3363,9 +3283,28 @@
 				268C50D613F022820003FF9A /* SkColorPalette.cpp in Sources */,
 				268C50D713F022820003FF9A /* SkNetPipeController.cpp in Sources */,
 				268C50DA13F022AF0003FF9A /* SampleDrawingClient.cpp in Sources */,
-				268C50DB13F022AF0003FF9A /* SampleDrawingServer.cpp in Sources */,
 				268C50DF13F0230C0003FF9A /* SampleNetPipeReader.cpp in Sources */,
 				268C50E013F0230C0003FF9A /* SkSockets.cpp in Sources */,
+				2605F44213F18B1B0044A072 /* DebuggerView.cpp in Sources */,
+				2605F44313F18B1B0044A072 /* DebuggerCommandsView.cpp in Sources */,
+				2605F44413F18B1B0044A072 /* SkDebugDumper.cpp in Sources */,
+				2605F44513F18B1B0044A072 /* DebuggerStateView.cpp in Sources */,
+				2605F65D13F19D1D0044A072 /* SamplePicture.cpp in Sources */,
+				2605F66513F19EB80044A072 /* GrStencilBuffer.cpp in Sources */,
+				2605F83013F1AE4B0044A072 /* xfermodes.cpp in Sources */,
+				2605F83113F1AE4C0044A072 /* tilemodes.cpp in Sources */,
+				2605F83213F1AE4C0044A072 /* shapes.cpp in Sources */,
+				2605F83313F1AE4D0044A072 /* shadows.cpp in Sources */,
+				2605F83413F1AE4D0044A072 /* shadertext.cpp in Sources */,
+				2605F83513F1AE4E0044A072 /* poly2poly.cpp in Sources */,
+				2605F83613F1AE4F0044A072 /* nocolorbleed.cpp in Sources */,
+				2605F83713F1AE500044A072 /* points.cpp in Sources */,
+				2605F83813F1AE500044A072 /* gradients.cpp in Sources */,
+				2605F83913F1AE510044A072 /* filltypes.cpp in Sources */,
+				2605F83A13F1AE520044A072 /* complexclip.cpp in Sources */,
+				2605F83B13F1AE520044A072 /* blurs.cpp in Sources */,
+				2605F83C13F1AE530044A072 /* bitmapfilters.cpp in Sources */,
+				2645945F13F34FB100DCF534 /* test.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/gyp/CocoaDebuggerApp.gyp b/gyp/CocoaDebuggerApp.gyp
deleted file mode 100644
index e53dfbb..0000000
--- a/gyp/CocoaDebuggerApp.gyp
+++ /dev/null
@@ -1,79 +0,0 @@
-{
-  'includes': [
-    'common.gypi',
-  ],
-  'targets': [
-    {
-      'target_name': 'CocoaDebuggerApp',
-      'type': 'executable',
-      'mac_bundle' : 1,
-      
-      'include_dirs' : [
-        '../include/pipe',
-        '../experimental/CocoaDebugger',
-        '../experimental/SimpleCocoaApp',
-      ],
-      'sources': [
-        '../experimental/CocoaDebugger/SkCommandListView.cpp',
-        '../experimental/CocoaDebugger/SkContentView.cpp',
-        '../experimental/CocoaDebugger/SkDebugDumper.cpp',
-        '../experimental/CocoaDebugger/SkDumpCanvasM.cpp',
-        '../experimental/CocoaDebugger/SkInfoPanelView.cpp',
-        '../src/pipe/SkGPipeRead.cpp',
-      ],
-      'dependencies': [
-        'core.gyp:core',
-        'effects.gyp:effects',
-        'opts.gyp:opts',
-        'utils.gyp:utils',
-        'views.gyp:views',
-        'xml.gyp:xml',
-      ],
-      'conditions' : [
-        # Only supports Mac currently
-        ['skia_os == "mac"', {
-          'sources': [
-            '../experimental/CocoaDebugger/CocoaDebugger-Info.plist',
-            '../experimental/CocoaDebugger/CocoaDebugger_Prefix.pch',
-            '../experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm',
-            '../experimental/CocoaDebugger/main.m',
-            '../experimental/CocoaDebugger/SkDebugger.mm',
-            '../experimental/CocoaDebugger/SkMenuController.mm',
-            '../experimental/SimpleCocoaApp/SkNSView.mm',
-            '../experimental/SimpleCocoaApp/SkNSWindow.mm',
-            '../include/utils/mac/SkCGUtils.h',
-            '../src/utils/mac/SkCreateCGImageRef.cpp',
-          ],
-          'link_settings': {
-            'libraries': [
-            '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
-            '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
-            '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
-            '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
-            ],
-            'libraries!': [
-            # Currently skia mac apps rely on Carbon and AGL for UI. Future
-            # apps should use Cocoa instead and dependencies on Carbon and AGL
-            # should eventually be removed
-            '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
-            '$(SDKROOT)/System/Library/Frameworks/AGL.framework',
-            ],
-          },
-          'xcode_settings' : {
-            'INFOPLIST_FILE' : '../experimental/CocoaDebugger/CocoaDebugger-Info.plist',
-          },
-          'mac_bundle_resources' : [
-            '../experimental/CocoaDebugger/English.lproj/InfoPlist.strings',
-            '../experimental/CocoaDebugger/English.lproj/MainMenu.xib',
-          ],
-        }],
-      ],
-    },
-  ],
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/gyp/CocoaSampleApp.gyp b/gyp/CocoaSampleApp.gyp
index 8dccce5..27846e1 100644
--- a/gyp/CocoaSampleApp.gyp
+++ b/gyp/CocoaSampleApp.gyp
@@ -14,104 +14,104 @@
       ],
       'sources': [
         # gm files needed for SampleGM.cpp
-        '../gm/bitmapfilters.cpp',
-        '../gm/blurs.cpp',
-        '../gm/complexclip.cpp',
-        '../gm/filltypes.cpp',
-        '../gm/gm.h',
-        '../gm/gradients.cpp',
-        '../gm/nocolorbleed.cpp',
-        '../gm/points.cpp',
-        '../gm/poly2poly.cpp',
-        '../gm/shadertext.cpp',
-        '../gm/shadows.cpp',
-        '../gm/shapes.cpp',
-        '../gm/tilemodes.cpp',
-        '../gm/xfermodes.cpp',
+        #'../gm/bitmapfilters.cpp',
+        #'../gm/blurs.cpp',
+        #'../gm/complexclip.cpp',
+        #'../gm/filltypes.cpp',
+        #'../gm/gm.h',
+        #'../gm/gradients.cpp',
+        #'../gm/nocolorbleed.cpp',
+        #'../gm/points.cpp',
+        #'../gm/poly2poly.cpp',
+        #'../gm/shadertext.cpp',
+        #'../gm/shadows.cpp',
+        #'../gm/shapes.cpp',
+        #'../gm/tilemodes.cpp',
+        #'../gm/xfermodes.cpp',
 
-        '../samplecode/ClockFaceView.cpp',
+        #'../samplecode/ClockFaceView.cpp',
         '../samplecode/OverView.cpp',
-        '../samplecode/Sample2PtRadial.cpp',
-        '../samplecode/SampleAll.cpp',
-        '../samplecode/SampleAnimator.cpp',
+        #'../samplecode/Sample2PtRadial.cpp',
+        #'../samplecode/SampleAll.cpp',
+        #'../samplecode/SampleAnimator.cpp',
         '../samplecode/SampleApp.cpp',
         '../samplecode/SampleArc.cpp',
         '../samplecode/SampleAvoid.cpp',
-        '../samplecode/SampleBigBlur.cpp',
-        '../samplecode/SampleBigGradient.cpp',
-        '../samplecode/SampleBitmapRect.cpp',
+        #'../samplecode/SampleBigBlur.cpp',
+        #'../samplecode/SampleBigGradient.cpp',
+        #'../samplecode/SampleBitmapRect.cpp',
         '../samplecode/SampleBlur.cpp',
-        '../samplecode/SampleCamera.cpp',
-        '../samplecode/SampleCircle.cpp',
+        #'../samplecode/SampleCamera.cpp',
+        #'../samplecode/SampleCircle.cpp',
         '../samplecode/SampleCode.h',
-        '../samplecode/SampleColorFilter.cpp',
+        #'../samplecode/SampleColorFilter.cpp',
         '../samplecode/SampleComplexClip.cpp',
-        '../samplecode/SampleConcavePaths.cpp',
+        #'../samplecode/SampleConcavePaths.cpp',
         '../samplecode/SampleCull.cpp',
-        '../samplecode/SampleDecode.cpp',
+        #'../samplecode/SampleDecode.cpp',
         '../samplecode/SampleDegenerateTwoPtRadials.cpp',
-        '../samplecode/SampleDither.cpp',
-        '../samplecode/SampleDitherBitmap.cpp',
-        '../samplecode/SampleDrawBitmap.cpp',
-        '../samplecode/SampleDrawLooper.cpp',
-        '../samplecode/SampleEffects.cpp',
-        '../samplecode/SampleEmboss.cpp',
-        '../samplecode/SampleEncode.cpp',
-        '../samplecode/SampleExtractAlpha.cpp',
+        #'../samplecode/SampleDither.cpp',
+        #'../samplecode/SampleDitherBitmap.cpp',
+        #'../samplecode/SampleDrawBitmap.cpp',
+        #'../samplecode/SampleDrawLooper.cpp',
+        #'../samplecode/SampleEffects.cpp',
+        #'../samplecode/SampleEmboss.cpp',
+        #'../samplecode/SampleEncode.cpp',
+        #'../samplecode/SampleExtractAlpha.cpp',
         '../samplecode/SampleFillType.cpp',
-        '../samplecode/SampleFilter.cpp',
-        '../samplecode/SampleFilter2.cpp',
-        '../samplecode/SampleFontCache.cpp',
-        '../samplecode/SampleFontScalerTest.cpp',
-        '../samplecode/SampleFuzz.cpp',
-        '../samplecode/SampleGM.cpp',
-        '../samplecode/SampleGradients.cpp',
-        '../samplecode/SampleHairline.cpp',
-        '../samplecode/SampleImage.cpp',
-        '../samplecode/SampleImageDir.cpp',
-        '../samplecode/SampleLayerMask.cpp',
-        '../samplecode/SampleLayers.cpp',
+        #'../samplecode/SampleFilter.cpp',
+        #'../samplecode/SampleFilter2.cpp',
+        #'../samplecode/SampleFontCache.cpp',
+        #'../samplecode/SampleFontScalerTest.cpp',
+        #'../samplecode/SampleFuzz.cpp',
+        #'../samplecode/SampleGM.cpp',
+        #'../samplecode/SampleGradients.cpp',
+        #'../samplecode/SampleHairline.cpp',
+        #'../samplecode/SampleImage.cpp',
+        #'../samplecode/SampleImageDir.cpp',
+        #'../samplecode/SampleLayerMask.cpp',
+        #'../samplecode/SampleLayers.cpp',
         '../samplecode/SampleLCD.cpp',
         '../samplecode/SampleLineClipper.cpp',
-        '../samplecode/SampleLines.cpp',
-        '../samplecode/SampleMeasure.cpp',
-        '../samplecode/SampleMipMap.cpp',
-        '../samplecode/SampleMovie.cpp',
-        '../samplecode/SampleNinePatch.cpp',
-        '../samplecode/SampleOvalTest.cpp',
-        '../samplecode/SampleOverflow.cpp',
-        '../samplecode/SamplePageFlip.cpp',
-        '../samplecode/SamplePatch.cpp',
+        #'../samplecode/SampleLines.cpp',
+        #'../samplecode/SampleMeasure.cpp',
+        #'../samplecode/SampleMipMap.cpp',
+        #'../samplecode/SampleMovie.cpp',
+        #'../samplecode/SampleNinePatch.cpp',
+        #'../samplecode/SampleOvalTest.cpp',
+        #'../samplecode/SampleOverflow.cpp',
+        #'../samplecode/SamplePageFlip.cpp',
+        #'../samplecode/SamplePatch.cpp',
         '../samplecode/SamplePath.cpp',
         '../samplecode/SamplePathClip.cpp',
         '../samplecode/SamplePathEffects.cpp',
         '../samplecode/SamplePicture.cpp',
         '../samplecode/SamplePoints.cpp',
         '../samplecode/SamplePolyToPoly.cpp',
-        '../samplecode/SampleAARects.cpp',
+        ##'../samplecode/SampleAARects.cpp',
         '../samplecode/SampleRegion.cpp',
-        '../samplecode/SampleRepeatTile.cpp',
-        '../samplecode/SampleShaders.cpp',
-        '../samplecode/SampleShaderText.cpp',
-        '../samplecode/SampleShapes.cpp',
-        '../samplecode/SampleSkLayer.cpp',
+        #'../samplecode/SampleRepeatTile.cpp',
+        #'../samplecode/SampleShaders.cpp',
+        #'../samplecode/SampleShaderText.cpp',
+        #'../samplecode/SampleShapes.cpp',
+        #'../samplecode/SampleSkLayer.cpp',
         '../samplecode/SampleSlides.cpp',
-        '../samplecode/SampleStrokePath.cpp',
-        '../samplecode/SampleStrokeText.cpp',
-        '../samplecode/SampleTests.cpp',
-        '../samplecode/SampleText.cpp',
-        '../samplecode/SampleTextAlpha.cpp',
+        #'../samplecode/SampleStrokePath.cpp',
+        #'../samplecode/SampleStrokeText.cpp',
+        #'../samplecode/SampleTests.cpp',
+        #'../samplecode/SampleText.cpp',
+        #'../samplecode/SampleTextAlpha.cpp',
         '../samplecode/SampleTextBox.cpp',
         '../samplecode/SampleTextEffects.cpp',
         '../samplecode/SampleTextOnPath.cpp',
-        '../samplecode/SampleTextureDomain.cpp',
-        '../samplecode/SampleTiling.cpp',
-        '../samplecode/SampleTinyBitmap.cpp',
+        #'../samplecode/SampleTextureDomain.cpp',
+        #'../samplecode/SampleTiling.cpp',
+        #'../samplecode/SampleTinyBitmap.cpp',
         '../samplecode/SampleTriangles.cpp',
         '../samplecode/SampleTypeface.cpp',
         '../samplecode/SampleUnitMapper.cpp',
-        '../samplecode/SampleVertices.cpp',
-        '../samplecode/SampleXfermodes.cpp',
+        #'../samplecode/SampleVertices.cpp',
+        #'../samplecode/SampleXfermodes.cpp',
         '../samplecode/SampleXfermodesBlur.cpp',
         '../samplecode/TransitionView.cpp',
         
@@ -124,13 +124,21 @@
         '../experimental/DrawingBoard/SkColorPalette.cpp',
         '../experimental/DrawingBoard/SkNetPipeController.h',
         '../experimental/DrawingBoard/SkNetPipeController.cpp',
-        '../experimental/DrawingBoard/SampleDrawingClient.cpp',
+        #'../experimental/DrawingBoard/SampleDrawingClient.cpp',
         '../experimental/DrawingBoard/SampleDrawingServer.cpp',
     
         # Networking
         '../experimental/Networking/SampleNetPipeReader.cpp',
         '../experimental/Networking/SkSockets.cpp',
         '../experimental/Networking/SkSockets.h',
+        
+        # Debugger
+        '../experimental/Debugger/DebuggerViews.h',
+        '../experimental/Debugger/DebuggerContentView.cpp',
+        '../experimental/Debugger/DebuggerCommandsView.cpp',
+        '../experimental/Debugger/DebuggerStateView.cpp',
+        '../experimental/Debugger/SkDebugDumper.cpp',
+        '../experimental/Debugger/SkDebugDumper.h',
       ],
       'sources!': [
         '../samplecode/SampleSkLayer.cpp', #relies on SkMatrix44 which doesn't compile
diff --git a/gyp/SimpleCocoaApp.gyp b/gyp/SimpleCocoaApp.gyp
index ead9fe4..1725f12 100644
--- a/gyp/SimpleCocoaApp.gyp
+++ b/gyp/SimpleCocoaApp.gyp
@@ -12,12 +12,16 @@
       ],
       'sources': [
         '../experimental/SimpleCocoaApp/main.m',
+        '../experimental/SimpleCocoaApp/SampleWindow.h',
         '../experimental/SimpleCocoaApp/SampleWindow.mm',
+        '../experimental/SimpleCocoaApp/SimpleCocoaAppDelegate.h',
+        '../experimental/SimpleCocoaApp/SimpleCocoaAppDelegate.mm',
+        '../experimental/SimpleCocoaApp/SkNSView.h',
+        '../experimental/SimpleCocoaApp/SkNSView.mm',
+        '../experimental/SimpleCocoaApp/SkNSWindow.h',
+        '../experimental/SimpleCocoaApp/SkNSWindow.mm',
         '../experimental/SimpleCocoaApp/SimpleCocoaApp-Info.plist',
         '../experimental/SimpleCocoaApp/SimpleCocoaApp_Prefix.pch',
-        '../experimental/SimpleCocoaApp/SimpleCocoaAppDelegate.mm',
-        '../experimental/SimpleCocoaApp/SkNSView.mm',
-        '../experimental/SimpleCocoaApp/SkNSWindow.mm',
       ],
       'dependencies': [
         'core.gyp:core',
diff --git a/include/views/SkOSMenu.h b/include/views/SkOSMenu.h
index 763499e..0c4a619 100644
--- a/include/views/SkOSMenu.h
+++ b/include/views/SkOSMenu.h
@@ -66,18 +66,19 @@
         SkUnichar   getKeyEquivalent() const { return fKey; }
         
         /**
+         * Helper functions for predefined types
+         */
+        void setBool(bool value) const;             //For Switch
+        void setScalar(SkScalar value) const;       //For Slider     
+        void setInt(int value) const;               //For List
+        void setTriState(TriState value) const;     //For Tristate
+        void setString(const char value[]) const;   //For TextField
+        
+        /**
          * Post event associated with the menu item to target, any changes to 
          * the associated event must be made prior to calling this method
          */
         void postEvent() const { (new SkEvent(*(fEvent)))->post(); }
-        
-        /**
-         * Helper functions for predefined types
-         */
-        void postEventWithBool(bool value) const;           //For Switch
-        void postEventWithScalar(SkScalar value) const;     //For Slider
-        void postEventWithInt(int value) const;             //For List, TriState
-        void postEventWithString(const char value[]) const; //For TextField
 
     private:
         int             fID;
@@ -88,11 +89,12 @@
         SkUnichar       fKey;
     };
     
-    void reset();
+    void        reset();
     const char* getTitle() const { return fTitle.c_str(); }
     void        setTitle (const char title[]) { fTitle.set(title); }
-    int         countItems() const { return fItems.count(); }
-    const Item* getItem(int index) const { return fItems[index]; }
+    int         getCount() const { return fItems.count(); }
+    const Item* getItemByID(int itemID) const;
+    void        getItems(const Item* items[]) const;
     
     /**
      * Assign key to the menu item with itemID, will do nothing if there's no 
@@ -143,30 +145,30 @@
      * Helper functions to retrieve information other than the stored value for
      * some predefined types
      */
-    static bool FindListItemCount(const SkEvent* evt, int* count);
+    static bool FindListItemCount(const SkEvent& evt, int* count);
     /**
      * Ensure that the items array can store n SkStrings where n is the count 
      * extracted using FindListItemCount
      */
-    static bool FindListItems(const SkEvent* evt, SkString items[]);
-    static bool FindSliderMin(const SkEvent* evt, SkScalar* min);
-    static bool FindSliderMax(const SkEvent* evt, SkScalar* max);
+    static bool FindListItems(const SkEvent& evt, SkString items[]);
+    static bool FindSliderMin(const SkEvent& evt, SkScalar* min);
+    static bool FindSliderMax(const SkEvent& evt, SkScalar* max);
     
     /**
      * Returns true if an action with the given label is found, false otherwise
      */
-    static bool FindAction(const SkEvent* evt, const char label[]);
+    static bool FindAction(const SkEvent& evt, const char label[]);
     /**
      * The following helper functions will return true if evt is generated from 
      * a predefined item type and retrieve the corresponding state information. 
      * They will return false and leave value unchanged if there's a type 
      * mismatch or slotName is incorrect
      */
-    static bool FindListIndex(const SkEvent* evt, const char slotName[], int* value);
-    static bool FindSliderValue(const SkEvent* evt, const char slotName[], SkScalar* value);
-    static bool FindSwitchState(const SkEvent* evt, const char slotName[], bool* value);
-    static bool FindTriState(const SkEvent* evt, const char slotName[], TriState* value);
-    static bool FindText(const SkEvent* evt, const char slotName[], SkString* value);
+    static bool FindListIndex(const SkEvent& evt, const char slotName[], int* value);
+    static bool FindSliderValue(const SkEvent& evt, const char slotName[], SkScalar* value);
+    static bool FindSwitchState(const SkEvent& evt, const char slotName[], bool* value);
+    static bool FindTriState(const SkEvent& evt, const char slotName[], TriState* value);
+    static bool FindText(const SkEvent& evt, const char slotName[], SkString* value);
     
 private:
     SkString fTitle;
diff --git a/samplecode/OverView.cpp b/samplecode/OverView.cpp
index 8a9359a..1a6d9e9 100644
--- a/samplecode/OverView.cpp
+++ b/samplecode/OverView.cpp
@@ -13,6 +13,11 @@
 const SkScalar W = SkIntToScalar(640);
 const SkScalar H = SkIntToScalar(480); 
 
+static const char gIsOverview[] = "is-overview";
+bool is_overview(SkView* view) {
+    SkEvent isOverview(gIsOverview);
+    return view->doQuery(&isOverview); 
+}
 class OverView : public SkView {
 public:
     OverView(int count, const SkViewFactory factories[]);
@@ -33,6 +38,9 @@
             SampleCode::TitleR(evt, "Overview");
             return true;
         }
+        if (evt->isType(gIsOverview)) {
+            return true;
+        }
         return this->INHERITED::onQuery(evt);
     }
 
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 15d1c28..e450a95 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -29,7 +29,7 @@
 #include "SkPDFDocument.h"
 #include "SkStream.h"
 
-#define TEST_GPIPEx
+#define TEST_GPIPE
 
 #ifdef  TEST_GPIPE
 #define PIPE_FILEx
@@ -42,13 +42,24 @@
 #include "SkSockets.h"
 SkTCPServer gServer;
 #endif
+
+#define DEBUGGERx
+#ifdef  DEBUGGER
+extern SkView* create_debugger(const char* data, size_t size);
+extern bool is_debugger(SkView* view);
+SkTDArray<char> gTempDataStore;
+#endif
+
 #endif
 
 #define USE_ARROWS_FOR_ZOOM true
 //#define DEFAULT_TO_GPU
 
 extern SkView* create_overview(int, const SkViewFactory[]);
+extern bool is_overview(SkView* view);
 extern SkView* create_transition(SkView*, SkView*, int);
+extern bool is_transition(SkView* view);
+
 
 #define ANIMATING_EVENTTYPE "nextSample"
 #define ANIMATING_DELAY     750
@@ -438,6 +449,7 @@
     fZoomScale = SK_Scalar1;
     
     fMagnify = false;
+    fDebugger = false;
     
     fSaveToPdf = false;
     fPdfCanvas = NULL;
@@ -449,7 +461,8 @@
     fAppMenu.setTitle("Global Settings");
     int itemID;
     
-    itemID =fAppMenu.appendList("Device Type", "Device Type", sinkID, 0, "Raster", "Picture", "OpenGL", NULL);
+    itemID =fAppMenu.appendList("Device Type", "Device Type", sinkID, 0, 
+                                "Raster", "Picture", "OpenGL", NULL);
     fAppMenu.assignKeyEquivalentToItem(itemID, 'd');
     itemID = fAppMenu.appendTriState("AA", "AA", sinkID, fAAState);
     fAppMenu.assignKeyEquivalentToItem(itemID, 'b');
@@ -459,14 +472,16 @@
     fAppMenu.assignKeyEquivalentToItem(itemID, 'n');
     itemID = fAppMenu.appendTriState("Hinting", "Hinting", sinkID, fHintingState);
     fAppMenu.assignKeyEquivalentToItem(itemID, 'h');
-    itemID = fAppMenu.appendSwitch("Pipe", "Pipe" , sinkID, fUsePipe);    
-    fAppMenu.assignKeyEquivalentToItem(itemID, 'p');
+    fUsePipeMenuItemID = fAppMenu.appendSwitch("Pipe", "Pipe" , sinkID, fUsePipe);    
+    fAppMenu.assignKeyEquivalentToItem(fUsePipeMenuItemID, 'p');
+#ifdef DEBUGGER
+    itemID = fAppMenu.appendSwitch("Debugger", "Debugger", sinkID, fDebugger);
+    fAppMenu.assignKeyEquivalentToItem(itemID, 'q');
+#endif
     itemID = fAppMenu.appendSwitch("Slide Show", "Slide Show" , sinkID, false);    
     fAppMenu.assignKeyEquivalentToItem(itemID, 'a');    
     itemID = fAppMenu.appendSwitch("Clip", "Clip" , sinkID, fUseClip);    
     fAppMenu.assignKeyEquivalentToItem(itemID, 'c');
-    itemID = fAppMenu.appendSwitch("Measure FPS", "Measure FPS" , sinkID, fMeasureFPS);
-    fAppMenu.assignKeyEquivalentToItem(itemID, 'f');
     itemID = fAppMenu.appendSwitch("Flip X", "Flip X" , sinkID, false); 
     fAppMenu.assignKeyEquivalentToItem(itemID, 'x');
     itemID = fAppMenu.appendSwitch("Flip Y", "Flip Y" , sinkID, false);
@@ -914,7 +929,7 @@
         this->inval(NULL);
         return;
     }
-
+    
     if (fRequestGrabImage) {
         fRequestGrabImage = false;
 
@@ -969,7 +984,24 @@
         r.set(50, 50, 50+100, 50+100);
         bm.scrollRect(&r, dx, dy, &inval);
         paint_rgn(bm, r, inval);
-    }        
+    }
+#ifdef DEBUGGER
+    SkView* curr = curr_view(this);
+    if (fDebugger && !is_debugger(curr) && !is_transition(curr) && !is_overview(curr)) {
+        //Stop Pipe when fDebugger is active
+        fUsePipe = false;
+        (void)SampleView::SetUsePipe(curr, false);
+        fAppMenu.getItemByID(fUsePipeMenuItemID)->setBool(fUsePipe);
+        this->onUpdateMenu(&fAppMenu);
+        
+        //Reset any transformations
+        fGesture.stop();
+        fGesture.reset();
+        
+        this->loadView(create_debugger(gTempDataStore.begin(), 
+                                       gTempDataStore.count()));
+    }
+#endif
 }
 
 void SampleWindow::beforeChild(SkView* child, SkCanvas* canvas) {
@@ -1000,7 +1032,7 @@
     } else {
         (void)SampleView::SetRepeatDraw(child, 1);
     }
-    (void)SampleView::SetUsePipe(child, fUsePipe);
+    //(void)SampleView::SetUsePipe(child, fUsePipe);
 }
 
 void SampleWindow::afterChild(SkView* child, SkCanvas* canvas) {
@@ -1089,8 +1121,8 @@
         }
         return true;
     }
-    if (evt.isType("unref-transition-view")) {
-        SkEventSink::FindSink(evt.getFast32())->unref();
+    if (evt.isType("replace-transition-view")) {
+        this->loadView((SkView*)SkEventSink::FindSink(evt.getFast32()));
         return true;
     }
     if (evt.isType("set-curr-index")) {
@@ -1102,49 +1134,65 @@
         return true;
     }
     int selected = -1;
-    if (SkOSMenu::FindListIndex(&evt, "Device Type", &selected)) {
+    if (SkOSMenu::FindListIndex(evt, "Device Type", &selected)) {
         this->setDeviceType((DeviceType)selected);
         return true; 
     }
-    if (SkOSMenu::FindSwitchState(&evt, "Pipe", NULL)) {
-        this->togglePipe();
+    if (SkOSMenu::FindSwitchState(evt, "Pipe", &fUsePipe)) {
+#ifdef PIPE_NET
+        if (!fUsePipe)
+            gServer.disconnectAll();
+#endif
+        (void)SampleView::SetUsePipe(curr_view(this), fUsePipe);
+        this->updateTitle();
+        this->inval(NULL);
         return true;
     }
-    if (SkOSMenu::FindSwitchState(&evt, "Slide Show", NULL)) {
+    if (SkOSMenu::FindSwitchState(evt, "Slide Show", NULL)) {
         this->toggleSlideshow();
         return true;
     }
-    if (SkOSMenu::FindTriState(&evt, "AA", &fAAState) ||
-        SkOSMenu::FindTriState(&evt, "LCD", &fLCDState) ||
-        SkOSMenu::FindTriState(&evt, "Filter", &fFilterState) ||
-        SkOSMenu::FindTriState(&evt, "Hinting", &fHintingState) ||
-        SkOSMenu::FindSwitchState(&evt, "Clip", &fUseClip) ||
-        SkOSMenu::FindSwitchState(&evt, "Zoomer", &fShowZoomer) ||
-        SkOSMenu::FindSwitchState(&evt, "Magnify", &fMagnify) ||
-        SkOSMenu::FindSwitchState(&evt, "Measure FPS", &fMeasureFPS) ||
-        SkOSMenu::FindListIndex(&evt, "Transition-Next", &fTransitionNext) ||
-        SkOSMenu::FindListIndex(&evt, "Transition-Prev", &fTransitionPrev)) {
+    if (SkOSMenu::FindTriState(evt, "AA", &fAAState) ||
+        SkOSMenu::FindTriState(evt, "LCD", &fLCDState) ||
+        SkOSMenu::FindTriState(evt, "Filter", &fFilterState) ||
+        SkOSMenu::FindTriState(evt, "Hinting", &fHintingState) ||
+        SkOSMenu::FindSwitchState(evt, "Clip", &fUseClip) ||
+        SkOSMenu::FindSwitchState(evt, "Zoomer", &fShowZoomer) ||
+        SkOSMenu::FindSwitchState(evt, "Magnify", &fMagnify) ||
+        SkOSMenu::FindListIndex(evt, "Transition-Next", &fTransitionNext) ||
+        SkOSMenu::FindListIndex(evt, "Transition-Prev", &fTransitionPrev)) {
         this->inval(NULL);
         this->updateTitle();
         return true;
     }
-    if (SkOSMenu::FindSwitchState(&evt, "Flip X", NULL)) {
+    if (SkOSMenu::FindSwitchState(evt, "Flip X", NULL)) {
         fFlipAxis ^= kFlipAxis_X;
         this->updateTitle();
         this->inval(NULL);
         return true;
     }
-    if (SkOSMenu::FindSwitchState(&evt, "Flip Y", NULL)) {
+    if (SkOSMenu::FindSwitchState(evt, "Flip Y", NULL)) {
         fFlipAxis ^= kFlipAxis_Y;
         this->updateTitle();
         this->inval(NULL);
         return true;
     }
-    
-    if (SkOSMenu::FindAction(&evt,"Save to PDF")) {
+    if (SkOSMenu::FindAction(evt,"Save to PDF")) {
         this->saveToPdf();
         return true;
-    }    
+    } 
+#ifdef DEBUGGER
+    if (SkOSMenu::FindSwitchState(evt, "Debugger", &fDebugger)) {
+        if (fDebugger) {
+            fUsePipe = true;
+            (void)SampleView::SetUsePipe(curr_view(this), true);
+        } else {
+            this->loadView(fSamples[fCurrIndex]());
+        }
+        this->inval(NULL);
+        return true;
+    }
+#endif
     return this->INHERITED::onEvent(evt);
 }
 
@@ -1230,6 +1278,12 @@
         case 'd':
             SkGraphics::SetFontCacheUsed(0);
             return true;
+        case 'f':
+            // only 
+            fMeasureFPS = !fMeasureFPS;
+            this->updateTitle();
+            this->inval(NULL);
+            break;
         case 'g':
             fRequestGrabImage = true;
             this->inval(NULL);
@@ -1285,16 +1339,6 @@
     this->inval(NULL);
 }
 
-void SampleWindow::togglePipe() {
-    fUsePipe = !fUsePipe;
-#ifdef PIPE_NET
-    if (!fUsePipe)
-        gServer.disconnectAll();
-#endif
-    this->updateTitle();
-    this->inval(NULL);
-}
-
 #include "SkDumpCanvas.h"
 
 bool SampleWindow::onHandleKey(SkKey key) {
@@ -1427,7 +1471,7 @@
     if (prev) {
         prev->detachFromParent();
     }
-
+    
     view->setVisibleP(true);
     view->setClipToBounds(false);
     this->attachChildToFront(view)->unref();
@@ -1435,10 +1479,16 @@
 
     //repopulate the slide menu when a view is loaded
     fSlideMenu.reset();
+#ifdef DEBUGGER
+    if (!is_debugger(view) && !is_overview(view) && !is_transition(view) && fDebugger) {
+        //Force Pipe to be on if using debugger
+        fUsePipe = true;
+    }
+#endif
+    (void)SampleView::SetUsePipe(view, fUsePipe);
     if (SampleView::IsSampleView(view))
         ((SampleView*)view)->requestMenu(&fSlideMenu);
     this->onUpdateMenu(&fSlideMenu);
-    
     this->updateTitle();
 }
 
@@ -1648,10 +1698,9 @@
 SimplePC::~SimplePC() {
 //    SkASSERT(SkGPipeReader::kDone_Status == fStatus);
     if (fTotalWritten) {
-        SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten,
-                     fAtomsWritten, fStatus);
-        
         if (fWriteToPipe) {
+            SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten,
+                     fAtomsWritten, fStatus);
 #ifdef  PIPE_FILE
             //File is open in append mode
             FILE* f = fopen(FILE_PATH, "ab");
@@ -1665,6 +1714,10 @@
                 gServer.writePacket(fBlock, fTotalWritten);
             }
 #endif
+#ifdef  DEBUGGER
+            gTempDataStore.reset();
+            gTempDataStore.append(fTotalWritten, (const char*)fBlock);
+#endif
         }
     }
     sk_free(fBlock);
@@ -1701,6 +1754,9 @@
         canvas = writer.startRecording(&controller, flags);
         //Must draw before controller goes out of scope and sends data
         this->INHERITED::draw(canvas);
+        //explicitly end recording to ensure writer is flushed before the memory
+        //is freed in the deconstructor of the controller
+        writer.endRecording();
         controller.setWriteToPipe(fUsePipe);
     }
     else
diff --git a/samplecode/SampleApp.h b/samplecode/SampleApp.h
index 07c6452..729b7b1 100644
--- a/samplecode/SampleApp.h
+++ b/samplecode/SampleApp.h
@@ -82,7 +82,6 @@
     void toggleRendering();
     void toggleSlideshow();
     void toggleFPS();
-    void togglePipe();
     void showOverview();
 
     GrContext* getGrContext() const { return fDevManager->getGrContext(); }
@@ -144,11 +143,15 @@
     bool fRotate;
     bool fScale;
     bool fRequestGrabImage;
-    bool fUsePipe;
     bool fMeasureFPS;
     SkMSec fMeasureFPS_Time;
     bool fMagnify;
     
+    
+    bool fUsePipe;
+    int  fUsePipeMenuItemID;
+    bool fDebugger;
+    
     // The following are for the 'fatbits' drawing
     // Latest position of the mouse.
     int fMouseX, fMouseY;
diff --git a/samplecode/TransitionView.cpp b/samplecode/TransitionView.cpp
index 8cf3227..99d1275 100644
--- a/samplecode/TransitionView.cpp
+++ b/samplecode/TransitionView.cpp
@@ -10,9 +10,12 @@
 #include "SkTime.h"
 #include "SkInterpolator.h"
 
+extern bool is_overview(SkView* view);
+
 static const char gIsTransitionQuery[] = "is-transition";
 static const char gReplaceTransitionEvt[] = "replace-transition-view";
-static bool isTransition(SkView* view) {
+
+bool is_transition(SkView* view) {
     SkEvent isTransition(gIsTransitionQuery);
     return view->doQuery(&isTransition);
 }
@@ -37,10 +40,13 @@
         //Calling unref because next is a newly created view and TransitionView
         //is now the sole owner of fNext
         this->attachChildToFront(fNext)->unref();
+        
+        fDone = false;
+        //SkDebugf("--created transition\n");
     }
     
     ~TransitionView(){
-        //SkDebugf("deleted transition\n");
+        //SkDebugf("--deleted transition\n");
     }
     
     virtual void requestMenu(SkOSMenu* menu) {
@@ -72,11 +78,30 @@
             this->attachChildToBack(fPrev)->unref();
             this->inval(NULL);
             return true;
-        } 
+        }
+        if (evt.isType("transition-done")) {
+            fNext->setLoc(0, 0);
+            fNext->setClipToBounds(false);
+            SkEvent* evt = new SkEvent(gReplaceTransitionEvt, 
+                                       this->getParent()->getSinkID());
+            evt->setFast32(fNext->getSinkID());
+            //increate ref count of fNext so it survives detachAllChildren
+            fNext->ref();
+            this->detachAllChildren();
+            evt->post();
+            return true;
+        }
         return this->INHERITED::onEvent(evt);
     }
     virtual void onDrawBackground(SkCanvas* canvas) {}
     virtual void onDrawContent(SkCanvas* canvas) {
+        if (fDone)
+            return;
+
+        if (is_overview(fNext) || is_overview(fPrev)) {
+            fUsePipe = false;
+        }
+        
         SkScalar values[4];
         SkInterpolator::Result result = fInterp.timeToValues(SkTime::GetMSecs(), values);
         //SkDebugf("transition %x %d pipe:%d\n", this, result, fUsePipe);
@@ -89,35 +114,9 @@
             this->inval(NULL);
         }
         else {
-            fNext->setLocX(0);
-            fNext->setLocY(0);
-            fNext->setClipToBounds(false);
-            
-            SkView* parent = this->getParent();
-            int id = this->getParent()->getSinkID();
-            
-            SkEvent* evt;
-            if (isTransition(parent)) {
-                evt = new SkEvent(gReplaceTransitionEvt, id);
-                evt->setFast32(fNext->getSinkID());
-                //increate ref count of fNext so it survives detachAllChildren
-                fNext->ref();
-            }
-            else {
-                parent->attachChildToFront(fNext);
-                (void)SampleView::SetUsePipe(fNext, fUsePipe);
-                evt = new SkEvent("unref-transition-view", id);
-                evt->setFast32(this->getSinkID());
-                fUsePipe = false;
-                //keep this(TransitionView) alive so it can be deleted by its 
-                //parent through the unref-transition-view event
-                this->ref();
-                this->detachFromParent();
-            }
-            this->detachAllChildren();
-            evt->post();
+            (new SkEvent("transition-done", this->getSinkID()))->post();
+            fDone = true;
         }
-        this->inval(NULL);
     }
     
     virtual void onSizeChange() {
@@ -142,7 +141,7 @@
         fNext->setLocX(lr);
         fNext->setLocY(ud);
         
-        if (isTransition(fPrev))
+        if (is_transition(fPrev))
             lr = ud = 0;
         fEnd[kPrevX] = -lr;
         fEnd[kPrevY] = -ud;
@@ -161,6 +160,7 @@
     };
     SkView* fPrev;
     SkView* fNext;
+    bool    fDone;
     SkInterpolator fInterp;
     
     enum Direction{
diff --git a/src/views/SkOSMenu.cpp b/src/views/SkOSMenu.cpp
index ce3894a..ed37541 100644
--- a/src/views/SkOSMenu.cpp
+++ b/src/views/SkOSMenu.cpp
@@ -23,6 +23,22 @@
     fTitle.reset();
 }
 
+const SkOSMenu::Item* SkOSMenu::getItemByID(int itemID) const {
+    for (int i = 0; i < fItems.count(); ++i) {
+        if (itemID == fItems[i]->getID())
+            return fItems[i];
+    }
+    return NULL;
+}
+
+void SkOSMenu::getItems(const SkOSMenu::Item* items[]) const {
+    if (NULL != items) {
+        for (int i = 0; i < fItems.count(); ++i) {
+            items[i] = fItems[i];
+        }
+    }
+}
+
 void SkOSMenu::assignKeyEquivalentToItem(int itemID, SkUnichar key) {
     for (int i = 0; i < fItems.count(); ++i) {
         if (itemID == fItems[i]->getID())
@@ -40,31 +56,31 @@
             SkString list;
             switch (item->getType()) {
                 case kList_Type:
-                    SkOSMenu::FindListItemCount(item->getEvent(), &size);
-                    SkOSMenu::FindListIndex(item->getEvent(), item->getSlotName(), &value);
+                    SkOSMenu::FindListItemCount(*item->getEvent(), &size);
+                    SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &value);
                     value = (value + 1) % size;
-                    item->postEventWithInt(value);
+                    item->setInt(value);
                     break;
                 case kSwitch_Type:
-                    SkOSMenu::FindSwitchState(item->getEvent(), item->getSlotName(), &state);
-                    item->postEventWithBool(!state);
+                    SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state);
+                    item->setBool(!state);
                     break;
                 case kTriState_Type:
-                    SkOSMenu::FindTriState(item->getEvent(), item->getSlotName(), &tristate);
+                    SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate);
                     if (kOnState == tristate)
                         tristate = kMixedState;
                     else
                         tristate = (SkOSMenu::TriState)((int)tristate + 1);
-                    item->postEventWithInt(tristate);
+                    item->setTriState(tristate);
                     break;
                 case kAction_Type:
                 case kCustom_Type:
                 case kSlider_Type:
                 case kTextField_Type:
                 default:
-                    item->postEvent();
                     break;
             }
+            item->postEvent();
             return true;
         }
     }
@@ -83,28 +99,29 @@
     fID = sk_atomic_inc(&gOSMenuCmd);
 }
 
-void SkOSMenu::Item::postEventWithBool(bool value) const {
+void SkOSMenu::Item::setBool(bool value) const {
     SkASSERT(SkOSMenu::kSwitch_Type == fType);
     fEvent->setBool(fSlotName.c_str(), value);
-    this->postEvent();
 }
 
-void SkOSMenu::Item::postEventWithScalar(SkScalar value) const {
+void SkOSMenu::Item::setScalar(SkScalar value) const {
     SkASSERT(SkOSMenu::kSlider_Type == fType);
     fEvent->setScalar(fSlotName.c_str(), value);
-    this->postEvent();
 }
 
-void SkOSMenu::Item::postEventWithInt(int value) const {
-    SkASSERT(SkOSMenu::kList_Type == fType || SkOSMenu::kTriState_Type == fType);
+void SkOSMenu::Item::setInt(int value) const {
+    SkASSERT(SkOSMenu::kList_Type == fType);
     fEvent->setS32(fSlotName.c_str(), value);
-    this->postEvent();
 }
 
-void SkOSMenu::Item::postEventWithString(const char value[]) const {
+void SkOSMenu::Item::setTriState(TriState value) const {
+    SkASSERT(SkOSMenu::kTriState_Type == fType);
+    fEvent->setS32(fSlotName.c_str(), value);
+}
+
+void SkOSMenu::Item::setString(const char value[]) const {
     SkASSERT(SkOSMenu::kTextField_Type == fType);
     fEvent->setString(fSlotName.c_str(), value);
-    this->postEvent();
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -182,13 +199,13 @@
     return appendItem(label, SkOSMenu::kTextField_Type, slotName, evt);
 }
 
-bool SkOSMenu::FindListItemCount(const SkEvent* evt, int* count) {
-    return evt->isType(gMenuEventType) && evt->findS32(gList_ItemCount_S32, count);
+bool SkOSMenu::FindListItemCount(const SkEvent& evt, int* count) {
+    return evt.isType(gMenuEventType) && evt.findS32(gList_ItemCount_S32, count);
 }
 
-bool SkOSMenu::FindListItems(const SkEvent* evt, SkString items[]) {
-    if (evt->isType(gMenuEventType) && NULL != items) {
-        const char* text = evt->findString(gList_Items_Str);
+bool SkOSMenu::FindListItems(const SkEvent& evt, SkString items[]) {
+    if (evt.isType(gMenuEventType) && NULL != items) {
+        const char* text = evt.findString(gList_Items_Str);
         if (text != NULL) {
             SkString temp(text);
             char* token = strtok((char*)temp.c_str(), gDelimiter);
@@ -204,37 +221,37 @@
     return false;
 }
 
-bool SkOSMenu::FindSliderMin(const SkEvent* evt, SkScalar* min) {
-    return evt->isType(gMenuEventType) && evt->findScalar(gSlider_Min_Scalar, min);
+bool SkOSMenu::FindSliderMin(const SkEvent& evt, SkScalar* min) {
+    return evt.isType(gMenuEventType) && evt.findScalar(gSlider_Min_Scalar, min);
 }
 
-bool SkOSMenu::FindSliderMax(const SkEvent* evt, SkScalar* max) {
-    return evt->isType(gMenuEventType) && evt->findScalar(gSlider_Max_Scalar, max);
+bool SkOSMenu::FindSliderMax(const SkEvent& evt, SkScalar* max) {
+    return evt.isType(gMenuEventType) && evt.findScalar(gSlider_Max_Scalar, max);
 }
 
-bool SkOSMenu::FindAction(const SkEvent* evt, const char label[]) {
-    return evt->isType(gMenuEventType) && evt->findString(label);
+bool SkOSMenu::FindAction(const SkEvent& evt, const char label[]) {
+    return evt.isType(gMenuEventType) && evt.findString(label);
 }
 
-bool SkOSMenu::FindListIndex(const SkEvent* evt, const char slotName[], int* value) {
-    return evt->isType(gMenuEventType) && evt->findS32(slotName, value); 
+bool SkOSMenu::FindListIndex(const SkEvent& evt, const char slotName[], int* value) {
+    return evt.isType(gMenuEventType) && evt.findS32(slotName, value); 
 }
 
-bool SkOSMenu::FindSliderValue(const SkEvent* evt, const char slotName[], SkScalar* value) {
-    return evt->isType(gMenuEventType) && evt->findScalar(slotName, value);
+bool SkOSMenu::FindSliderValue(const SkEvent& evt, const char slotName[], SkScalar* value) {
+    return evt.isType(gMenuEventType) && evt.findScalar(slotName, value);
 }
 
-bool SkOSMenu::FindSwitchState(const SkEvent* evt, const char slotName[], bool* value) {
-    return evt->isType(gMenuEventType) && evt->findBool(slotName, value);
+bool SkOSMenu::FindSwitchState(const SkEvent& evt, const char slotName[], bool* value) {
+    return evt.isType(gMenuEventType) && evt.findBool(slotName, value);
 }
 
-bool SkOSMenu::FindTriState(const SkEvent* evt, const char slotName[], SkOSMenu::TriState* value) {
-    return evt->isType(gMenuEventType) && evt->findS32(slotName, (int*)value);
+bool SkOSMenu::FindTriState(const SkEvent& evt, const char slotName[], SkOSMenu::TriState* value) {
+    return evt.isType(gMenuEventType) && evt.findS32(slotName, (int*)value);
 }
 
-bool SkOSMenu::FindText(const SkEvent* evt, const char slotName[], SkString* value) {
-    if (evt->isType(gMenuEventType)) {
-        const char* text = evt->findString(slotName);
+bool SkOSMenu::FindText(const SkEvent& evt, const char slotName[], SkString* value) {
+    if (evt.isType(gMenuEventType)) {
+        const char* text = evt.findString(slotName);
         if (!text || !*text)
             return false;
         else {