aboutsummaryrefslogtreecommitdiffstats
path: root/device_test
diff options
context:
space:
mode:
Diffstat (limited to 'device_test')
-rw-r--r--device_test/AppleMikeyPaneController.h62
-rw-r--r--device_test/AppleMikeyPaneController.m160
-rw-r--r--device_test/AppleRemote.tiffbin0 -> 90050 bytes
-rw-r--r--device_test/AppleRemotePaneController.h51
-rw-r--r--device_test/AppleRemotePaneController.m145
-rw-r--r--device_test/BoolFormatter.h35
-rw-r--r--device_test/BoolFormatter.m82
-rw-r--r--device_test/ButtonState.h38
-rw-r--r--device_test/ButtonState.m77
-rw-r--r--device_test/DeviceTestController.h35
-rw-r--r--device_test/DeviceTestController.m49
-rw-r--r--device_test/English.lproj/InfoPlist.stringsbin0 -> 190 bytes
-rw-r--r--device_test/English.lproj/MainMenu.nib/designable.nib5311
-rw-r--r--device_test/English.lproj/MainMenu.nib/keyedobjects.nibbin0 -> 46512 bytes
-rw-r--r--device_test/Info.plist26
-rw-r--r--device_test/JoystickPaneController.h72
-rw-r--r--device_test/JoystickPaneController.m174
-rw-r--r--device_test/KeyboardPaneController.h64
-rw-r--r--device_test/KeyboardPaneController.m179
-rw-r--r--device_test/MousePaneController.h68
-rw-r--r--device_test/MousePaneController.m211
-rw-r--r--device_test/RemoteFeedbackView.h42
-rw-r--r--device_test/RemoteFeedbackView.m162
-rw-r--r--device_test/main.m30
24 files changed, 7073 insertions, 0 deletions
diff --git a/device_test/AppleMikeyPaneController.h b/device_test/AppleMikeyPaneController.h
new file mode 100644
index 0000000..28f6fc1
--- /dev/null
+++ b/device_test/AppleMikeyPaneController.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
+@class DDHidAppleMikey;
+
+@interface AppleMikeyPaneController : NSObject
+{
+ IBOutlet NSArrayController * mMikeysController;
+ IBOutlet NSArrayController * mMikeysEventsController;
+
+ NSArray * mMikeys;
+ unsigned mMikeyIndex;
+ NSMutableArray * mEvents;
+
+ // Don't retain these
+ DDHidAppleMikey * mCurrentMikey;
+}
+
+- (NSArray *) mMikeys;
+- (void) setMikeys: (NSArray *) theMikeys;
+
+- (unsigned) mikeyIndex;
+- (void) setMikeyIndex: (unsigned) theMikeyIndex;
+
+- (NSMutableArray *) events;
+- (void) setEvents: (NSMutableArray *) theEvents;
+- (void) addEvent: (id)theEvent;
+- (void) removeEvent: (id)theEvent;
+
+@end
+
+@interface AppleMikeyPaneController (DDHidAppleMikeyDelegate)
+
+- (void) ddhidAppleMikey: (DDHidAppleMikey *) mikey
+ press: (unsigned) usageId
+ upOrDown:(BOOL)upOrDown;
+
+@end
diff --git a/device_test/AppleMikeyPaneController.m b/device_test/AppleMikeyPaneController.m
new file mode 100644
index 0000000..0760688
--- /dev/null
+++ b/device_test/AppleMikeyPaneController.m
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "AppleMikeyPaneController.h"
+#import "DDHidLib.h"
+#include <IOKit/hid/IOHIDUsageTables.h>
+
+@implementation AppleMikeyPaneController
+
+- (id) init;
+{
+ self = [super init];
+ if (self == nil)
+ return nil;
+
+ mEvents = [[NSMutableArray alloc] init];
+
+ return self;
+}
+
+- (void) awakeFromNib;
+{
+ NSArray * mikeys = [DDHidAppleMikey allMikeys];
+
+ [mikeys makeObjectsPerformSelector: @selector(setDelegate:)
+ withObject: self];
+ [self setMikeys: mikeys];
+
+ if ([mikeys count] > 0)
+ [self setMikeyIndex: 0];
+ else
+ [self setMikeyIndex: NSNotFound];
+}
+
+//===========================================================
+// dealloc
+//===========================================================
+- (void) dealloc
+{
+ [mMikeys release];
+ [mEvents release];
+
+ mMikeys = nil;
+ mEvents = nil;
+ [super dealloc];
+}
+
+//===========================================================
+// mikeys
+//===========================================================
+- (NSArray *) mikeys
+{
+ return mMikeys;
+}
+
+- (void) setMikeys: (NSArray *) theMikeys
+{
+ if (mMikeys != theMikeys)
+ {
+ [mMikeys release];
+ mMikeys = [theMikeys retain];
+ }
+}
+//===========================================================
+// mikeyIndex
+//===========================================================
+- (unsigned) mikeyIndex
+{
+ return mMikeyIndex;
+}
+
+- (void) setMikeyIndex: (unsigned) theMikeyIndex
+{
+ if (mCurrentMikey != nil)
+ {
+ [mCurrentMikey stopListening];
+ mCurrentMikey = nil;
+ }
+ mMikeyIndex = theMikeyIndex;
+ [mMikeysController setSelectionIndex: mMikeyIndex];
+ [self willChangeValueForKey: @"events"];
+ [mEvents removeAllObjects];
+ [self didChangeValueForKey: @"events"];
+ if (mMikeyIndex != NSNotFound)
+ {
+ mCurrentMikey = [mMikeys objectAtIndex: mMikeyIndex];
+ [mCurrentMikey startListening];
+ }
+}
+
+//===========================================================
+// events
+//===========================================================
+- (NSMutableArray *) events
+{
+ return mEvents;
+}
+
+- (void) setEvents: (NSMutableArray *) theEvents
+{
+ if (mEvents != theEvents)
+ {
+ [mEvents release];
+ mEvents = [theEvents retain];
+ }
+}
+- (void) addEvent: (id)theEvent
+{
+ [[self events] addObject: theEvent];
+}
+- (void) removeEvent: (id)theEvent
+{
+ [[self events] removeObject: theEvent];
+}
+
+@end
+
+@implementation AppleMikeyPaneController (DDHidAppleMikeyDelegate)
+
+- (void) ddhidAppleMikey:(DDHidAppleMikey *)mikey press:(unsigned int)usageId upOrDown:(BOOL)upOrDown
+{
+ NSString *usage = nil;
+ if(usageId==kHIDUsage_GD_SystemMenuDown) {
+ usage = @"MenuDown";
+ }
+ else if(usageId == kHIDUsage_GD_SystemMenuUp) {
+ usage = @"MenuUp";
+ }
+
+ if(!usage)
+ return;
+
+ NSMutableDictionary * row = [mMikeysEventsController newObject];
+ [row setObject: upOrDown ? @"Down" : @"Up" forKey: @"event"];
+ [row setObject:usage forKey: @"description"];
+ [mMikeysEventsController addObject: row];
+}
+
+@end
diff --git a/device_test/AppleRemote.tiff b/device_test/AppleRemote.tiff
new file mode 100644
index 0000000..7e002ca
--- /dev/null
+++ b/device_test/AppleRemote.tiff
Binary files differ
diff --git a/device_test/AppleRemotePaneController.h b/device_test/AppleRemotePaneController.h
new file mode 100644
index 0000000..ca4a9e9
--- /dev/null
+++ b/device_test/AppleRemotePaneController.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+#import "DDHidLib.h"
+
+@class DDHidAppleRemote;
+@class RemoteFeedbackView;
+
+@interface AppleRemotePaneController : NSObject
+{
+ IBOutlet NSButton * mStartStopButton;
+ IBOutlet RemoteFeedbackView * mFeedbackView;
+ IBOutlet NSTextField * mFeedbackText;
+
+ DDHidAppleRemote * mRemote;
+ BOOL mOpenInExclusiveMode;
+}
+
+- (DDHidAppleRemote *) remote;
+
+- (IBAction) toggleListening: (id) sender;
+
+- (BOOL) openInExclusiveMode;
+- (void) setOpenInExclusiveMode: (BOOL) flag;
+
+- (void) ddhidAppleRemoteButton: (DDHidAppleRemoteEventIdentifier) buttonIdentifier
+ pressedDown: (BOOL) pressedDown;
+
+@end
diff --git a/device_test/AppleRemotePaneController.m b/device_test/AppleRemotePaneController.m
new file mode 100644
index 0000000..7cbaf52
--- /dev/null
+++ b/device_test/AppleRemotePaneController.m
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "AppleRemotePaneController.h"
+#import "RemoteFeedbackView.h"
+
+@implementation AppleRemotePaneController
+
+- (void) awakeFromNib;
+{
+ [self willChangeValueForKey: @"remote"];
+ mRemote = [[DDHidAppleRemote firstRemote] retain];
+ [self didChangeValueForKey: @"remote"];
+
+ [mRemote setDelegate: self];
+ [self setOpenInExclusiveMode: YES];
+}
+
+//===========================================================
+// dealloc
+//===========================================================
+- (void) dealloc
+{
+ [mRemote release];
+
+ mRemote = nil;
+ [super dealloc];
+}
+
+- (DDHidAppleRemote *) remote;
+{
+ return mRemote;
+}
+
+- (IBAction) toggleListening: (id) sender;
+{
+ NSAssert(mRemote != nil, @"Remote is nil");
+
+ if ([mRemote isListening])
+ {
+ [mRemote stopListening];
+ [mStartStopButton setTitle: @"Start Listening"];
+ }
+ else
+ {
+ [mRemote setListenInExclusiveMode: mOpenInExclusiveMode];
+ [mRemote startListening];
+ [mStartStopButton setTitle: @"Stop Listening"];
+ }
+}
+
+//===========================================================
+// openInExclusiveMode
+//===========================================================
+- (BOOL) openInExclusiveMode
+{
+ return mOpenInExclusiveMode;
+}
+
+- (void) setOpenInExclusiveMode: (BOOL) flag
+{
+ mOpenInExclusiveMode = flag;
+}
+
+- (void) ddhidAppleRemoteButton: (DDHidAppleRemoteEventIdentifier) buttonIdentifier
+ pressedDown: (BOOL) pressedDown;
+{
+ NSString * buttonName= nil;
+ NSString * pressed = @"";
+
+ switch(buttonIdentifier)
+ {
+ case kDDHidRemoteButtonVolume_Plus:
+ buttonName = @"Volume up";
+ if (pressedDown) pressed = @"(down)"; else pressed = @"(up)";
+ break;
+ case kDDHidRemoteButtonVolume_Minus:
+ buttonName = @"Volume down";
+ if (pressedDown) pressed = @"(down)"; else pressed = @"(up)";
+ break;
+ case kDDHidRemoteButtonMenu:
+ buttonName = @"Menu";
+ break;
+ case kDDHidRemoteButtonPlay:
+ buttonName = @"Play";
+ break;
+ case kDDHidRemoteButtonRight:
+ buttonName = @"Right";
+ break;
+ case kDDHidRemoteButtonLeft:
+ buttonName = @"Left";
+ break;
+ case kDDHidRemoteButtonRight_Hold:
+ buttonName = @"Right holding";
+ if (pressedDown) pressed = @"(down)"; else pressed = @"(up)";
+ break;
+ case kDDHidRemoteButtonLeft_Hold:
+ buttonName = @"Left holding";
+ if (pressedDown) pressed = @"(down)"; else pressed = @"(up)";
+ break;
+ case kDDHidRemoteButtonPlay_Sleep:
+ buttonName = @"Play (sleep mode)";
+ break;
+ case kDDHidRemoteButtonMenu_Hold:
+ buttonName = @"Menu (long)";
+ break;
+ case kDDHidRemoteControl_Switched:
+ buttonName = @"Remote Control Switched";
+ break;
+ case kDDHidRemoteControl_Paired:
+ buttonName = @"Remote Control Paired";
+ break;
+ default:
+ NSLog(@"Unmapped event for button %d", buttonIdentifier);
+ break;
+ }
+ [mFeedbackText setStringValue:[NSString stringWithFormat:@"%@ %@",
+ buttonName, pressed]];
+
+ [mFeedbackView ddhidAppleRemoteButton: buttonIdentifier
+ pressedDown: pressedDown];
+}
+
+@end
diff --git a/device_test/BoolFormatter.h b/device_test/BoolFormatter.h
new file mode 100644
index 0000000..79661cb
--- /dev/null
+++ b/device_test/BoolFormatter.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface BoolFormatter : NSFormatter
+{
+ id labels;
+}
+
+- (id)initWithLables:(id)_l;
+
+@end
diff --git a/device_test/BoolFormatter.m b/device_test/BoolFormatter.m
new file mode 100644
index 0000000..7f302f9
--- /dev/null
+++ b/device_test/BoolFormatter.m
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "BoolFormatter.h"
+
+
+@implementation BoolFormatter
+
+- (id)initWithLables:(id)_l {
+ if ((self = [super init]) != nil) {
+ self->labels = [_l retain];
+ }
+ return self;
+}
+
+- (void)dealloc {
+ [self->labels release];
+ [super dealloc];
+}
+
+- (BOOL) boolForObjectValue: (id) object
+{
+ BOOL result;
+ if ([object respondsToSelector: @selector(boolValue)])
+ result = [object boolValue] ? YES : NO;
+ else
+ result = NO;
+ return result;
+}
+
+- (NSString *)stringForObjectValue:(id)_obj
+{
+ NSString *str;
+
+ if ([self boolForObjectValue: _obj])
+ str = @"Yes";
+ else
+ str = @"No";
+
+ return (self->labels != nil)
+ ? (NSString *)[self->labels valueForKey:str] : str;
+}
+
+- (NSAttributedString *)attributedStringForObjectValue:(id)anObject
+ withDefaultAttributes:(NSDictionary *)defaultAttributes
+{
+ NSDictionary * yesAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
+ [NSColor redColor], NSBackgroundColorAttributeName,
+ nil];
+ NSDictionary * attributes = defaultAttributes;
+ if ([self boolForObjectValue: anObject])
+ attributes = yesAttributes;
+
+ NSAttributedString * string =
+ [[NSAttributedString alloc] initWithString: [self stringForObjectValue: anObject]
+ attributes: attributes];
+ [string autorelease];
+ return string;
+}
+
+@end
diff --git a/device_test/ButtonState.h b/device_test/ButtonState.h
new file mode 100644
index 0000000..63bde74
--- /dev/null
+++ b/device_test/ButtonState.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+@interface ButtonState : NSObject
+{
+ NSString * mName;
+ BOOL mPressed;
+}
+
+- (NSString *) name;
+
+- (BOOL) pressed;
+- (void) setPressed: (BOOL) flag;
+
+@end
diff --git a/device_test/ButtonState.m b/device_test/ButtonState.m
new file mode 100644
index 0000000..d093b52
--- /dev/null
+++ b/device_test/ButtonState.m
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "ButtonState.h"
+
+@implementation ButtonState
+
+- (id) initWithName: (NSString *) name
+{
+ self = [super init];
+ if (self == nil)
+ return nil;
+
+ mName = [name retain];
+ mPressed = NO;
+
+ return self;
+}
+
+//===========================================================
+// dealloc
+//===========================================================
+- (void) dealloc
+{
+ [mName release];
+
+ mName = nil;
+ [super dealloc];
+}
+
+//===========================================================
+// - name
+//===========================================================
+- (NSString *) name
+{
+ return mName;
+}
+
+//===========================================================
+// - pressed
+//===========================================================
+- (BOOL) pressed
+{
+ return mPressed;
+}
+
+//===========================================================
+// - setPressed:
+//===========================================================
+- (void) setPressed: (BOOL) flag
+{
+ mPressed = flag;
+}
+
+@end
+
diff --git a/device_test/DeviceTestController.h b/device_test/DeviceTestController.h
new file mode 100644
index 0000000..bb03cf1
--- /dev/null
+++ b/device_test/DeviceTestController.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+@class MousePaneController;
+
+@interface DeviceTestController : NSObject
+{
+ IBOutlet NSWindow * mWindow;
+ IBOutlet MousePaneController * mMousePaneController;
+}
+
+@end
diff --git a/device_test/DeviceTestController.m b/device_test/DeviceTestController.m
new file mode 100644
index 0000000..58d0f91
--- /dev/null
+++ b/device_test/DeviceTestController.m
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "DeviceTestController.h"
+
+static BOOL sSleepAtExit = NO;
+
+static void exit_sleeper()
+{
+ while (sSleepAtExit) sleep(60);
+}
+
+@implementation DeviceTestController
+
+- (void) awakeFromNib
+{
+ sSleepAtExit = [[NSUserDefaults standardUserDefaults] boolForKey: @"SleepAtExit"];
+ atexit(exit_sleeper);
+
+ [mWindow center];
+ [mWindow makeKeyAndOrderFront: self];
+}
+
+- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication
+{
+ return YES;
+}
+@end
diff --git a/device_test/English.lproj/InfoPlist.strings b/device_test/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..30cfd96
--- /dev/null
+++ b/device_test/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/device_test/English.lproj/MainMenu.nib/designable.nib b/device_test/English.lproj/MainMenu.nib/designable.nib
new file mode 100644
index 0000000..fbb8f5a
--- /dev/null
+++ b/device_test/English.lproj/MainMenu.nib/designable.nib
@@ -0,0 +1,5311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1070</int>
+ <string key="IBDocument.SystemVersion">11G63</string>
+ <string key="IBDocument.InterfaceBuilderVersion">3084</string>
+ <string key="IBDocument.AppKitVersion">1138.51</string>
+ <string key="IBDocument.HIToolboxVersion">569.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">3084</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>NSArrayController</string>
+ <string>NSBox</string>
+ <string>NSButton</string>
+ <string>NSButtonCell</string>
+ <string>NSCustomObject</string>
+ <string>NSCustomView</string>
+ <string>NSLevelIndicator</string>
+ <string>NSLevelIndicatorCell</string>
+ <string>NSMenu</string>
+ <string>NSMenuItem</string>
+ <string>NSPopUpButton</string>
+ <string>NSPopUpButtonCell</string>
+ <string>NSScrollView</string>
+ <string>NSScroller</string>
+ <string>NSTabView</string>
+ <string>NSTabViewItem</string>
+ <string>NSTableColumn</string>
+ <string>NSTableHeaderView</string>
+ <string>NSTableView</string>
+ <string>NSTextField</string>
+ <string>NSTextFieldCell</string>
+ <string>NSView</string>
+ <string>NSWindowTemplate</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="693470140">
+ <object class="NSCustomObject" id="867122125">
+ <object class="NSMutableString" key="NSClassName">
+ <characters key="NS.bytes">NSApplication</characters>
+ </object>
+ </object>
+ <object class="NSCustomObject" id="908386337">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="426702588">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSWindowTemplate" id="982793345">
+ <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{183, 341}, {529, 499}}</string>
+ <int key="NSWTFlags">1881669632</int>
+ <string key="NSWindowTitle">HID Device Test</string>
+ <string key="NSWindowClass">NSWindow</string>
+ <object class="NSMutableString" key="NSViewClass">
+ <characters key="NS.bytes">View</characters>
+ </object>
+ <nil key="NSUserInterfaceItemIdentifier"/>
+ <string key="NSWindowContentMinSize">{213, 107}</string>
+ <object class="NSView" key="NSWindowView" id="1006738540">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTabView" id="644721648">
+ <reference key="NSNextResponder" ref="1006738540"/>
+ <int key="NSvFlags">274</int>
+ <string key="NSFrame">{{13, 10}, {503, 483}}</string>
+ <reference key="NSSuperview" ref="1006738540"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="348322794"/>
+ <array class="NSMutableArray" key="NSTabViewItems">
+ <object class="NSTabViewItem" id="301669676">
+ <object class="NSMutableString" key="NSIdentifier">
+ <characters key="NS.bytes">1</characters>
+ </object>
+ <object class="NSView" key="NSView" id="854750114">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextField" id="803418548">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 399}, {50, 17}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="1023428307"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="960206382">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Mouse:</string>
+ <object class="NSFont" key="NSSupport" id="11966484">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">1044</int>
+ </object>
+ <reference key="NSControlView" ref="803418548"/>
+ <object class="NSColor" key="NSBackgroundColor" id="520461807">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlColor</string>
+ <object class="NSColor" key="NSColor" id="531362288">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="309990206">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlTextColor</string>
+ <object class="NSColor" key="NSColor" id="557825989">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ </object>
+ </object>
+ <object class="NSPopUpButton" id="1023428307">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{69, 393}, {397, 26}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="186449852"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="874323760">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="1023428307"/>
+ <int key="NSButtonFlags">109199615</int>
+ <int key="NSButtonFlags2">1</int>
+ <object class="NSFont" key="NSAlternateImage" id="121555804">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="821687636">
+ <reference key="NSMenu" ref="70472645"/>
+ <string key="NSTitle">Item1</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <object class="NSCustomResource" key="NSOnImage" id="555564785">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuCheckmark</string>
+ </object>
+ <object class="NSCustomResource" key="NSMixedImage" id="189791066">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuMixedState</string>
+ </object>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="874323760"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="70472645">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">OtherViews</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <reference ref="821687636"/>
+ <object class="NSMenuItem" id="554006839">
+ <reference key="NSMenu" ref="70472645"/>
+ <string key="NSTitle">Item2</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="874323760"/>
+ </object>
+ <object class="NSMenuItem" id="781805482">
+ <reference key="NSMenu" ref="70472645"/>
+ <string key="NSTitle">Item3</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="874323760"/>
+ </object>
+ </array>
+ </object>
+ <int key="NSPreferredEdge">3</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">1</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="186449852">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 372}, {93, 17}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="445056641"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="721914736">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Manufacturer:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="186449852"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="445056641">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{112, 372}, {354, 17}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="299472703"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="1051972028">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">System Font Text</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="445056641"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="848268071">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{48, 338}, {62, 17}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="867143968"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="777783325">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Mouse X:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="848268071"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSBox" id="299472703">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{12, 361}, {459, 5}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="848268071"/>
+ <string key="NSOffsets">{0, 0}</string>
+ <object class="NSTextFieldCell" key="NSTitleCell">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Box</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <object class="NSColor" key="NSBackgroundColor" id="147273098">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textBackgroundColor</string>
+ <object class="NSColor" key="NSColor" id="991614945">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+ </object>
+ </object>
+ <int key="NSBorderType">3</int>
+ <int key="NSBoxType">2</int>
+ <int key="NSTitlePosition">0</int>
+ <bool key="NSTransparent">NO</bool>
+ </object>
+ <object class="NSTextField" id="548001438">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{46, 312}, {62, 17}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="114543662"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="873471934">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Mouse Y:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="548001438"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="198193797">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 286}, {91, 17}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="679224553"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="213114820">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Mouse Wheel:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="198193797"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSLevelIndicator" id="867143968">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{113, 338}, {350, 16}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="548001438"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSLevelIndicatorCell" key="NSCell" id="465679605">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSControlView" ref="867143968"/>
+ <double key="NSMaxValue">5000</double>
+ <int key="NSIndicatorStyle">1</int>
+ </object>
+ </object>
+ <object class="NSLevelIndicator" id="114543662">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{113, 312}, {350, 16}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="198193797"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSLevelIndicatorCell" key="NSCell" id="14328985">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSControlView" ref="114543662"/>
+ <double key="NSMaxValue">5000</double>
+ <int key="NSIndicatorStyle">1</int>
+ </object>
+ </object>
+ <object class="NSLevelIndicator" id="679224553">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{113, 286}, {350, 16}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="1019553122"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSLevelIndicatorCell" key="NSCell" id="537133846">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSControlView" ref="679224553"/>
+ <double key="NSMaxValue">5</double>
+ <int key="NSIndicatorStyle">1</int>
+ </object>
+ </object>
+ <object class="NSScrollView" id="1019553122">
+ <reference key="NSNextResponder" ref="854750114"/>
+ <int key="NSvFlags">272</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSClipView" id="1025379532">
+ <reference key="NSNextResponder" ref="1019553122"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTableView" id="392699757">
+ <reference key="NSNextResponder" ref="1025379532"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{157, 240}</string>
+ <reference key="NSSuperview" ref="1025379532"/>
+ <reference key="NSNextKeyView" ref="803957232"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTableHeaderView" key="NSHeaderView" id="772621236">
+ <reference key="NSNextResponder" ref="862989901"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{157, 17}</string>
+ <reference key="NSSuperview" ref="862989901"/>
+ <reference key="NSNextKeyView" ref="569263196"/>
+ <reference key="NSTableView" ref="392699757"/>
+ </object>
+ <object class="_NSCornerView" key="NSCornerView" id="569263196">
+ <reference key="NSNextResponder" ref="1019553122"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{158, 0}, {16, 17}}</string>
+ <reference key="NSSuperview" ref="1019553122"/>
+ <reference key="NSNextKeyView" ref="1025379532"/>
+ </object>
+ <array class="NSMutableArray" key="NSTableColumns">
+ <object class="NSTableColumn" id="925696421">
+ <double key="NSWidth">65</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Button</string>
+ <object class="NSFont" key="NSSupport" id="26">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">11</double>
+ <int key="NSfFlags">3100</int>
+ </object>
+ <object class="NSColor" key="NSBackgroundColor" id="1032951786">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="906593754">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">headerTextColor</string>
+ <reference key="NSColor" ref="557825989"/>
+ </object>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="907171440">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="392699757"/>
+ <object class="NSColor" key="NSBackgroundColor" id="791991748">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlBackgroundColor</string>
+ <reference key="NSColor" ref="531362288"/>
+ </object>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="392699757"/>
+ </object>
+ <object class="NSTableColumn" id="108449693">
+ <double key="NSWidth">85.97607421875</double>
+ <double key="NSMinWidth">48.97607421875</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Pressed</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSBackgroundColor" ref="1032951786"/>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="282094758">
+ <int key="NSCellFlags">337772032</int>
+ <int key="NSCellFlags2">0</int>
+ <object class="NSFont" key="NSSupport" id="905429554">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">12</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <reference key="NSControlView" ref="392699757"/>
+ <reference key="NSBackgroundColor" ref="147273098"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="392699757"/>
+ </object>
+ </array>
+ <double key="NSIntercellSpacingWidth">3</double>
+ <double key="NSIntercellSpacingHeight">2</double>
+ <reference key="NSBackgroundColor" ref="991614945"/>
+ <object class="NSColor" key="NSGridColor" id="155750304">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">gridColor</string>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ </object>
+ <double key="NSRowHeight">17</double>
+ <int key="NSTvFlags">-700448768</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
+ <int key="NSColumnAutoresizingStyle">5</int>
+ <int key="NSDraggingSourceMaskForLocal">15</int>
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
+ <bool key="NSAllowsTypeSelect">YES</bool>
+ <int key="NSTableViewDraggingDestinationStyle">0</int>
+ <int key="NSTableViewGroupRowStyle">1</int>
+ </object>
+ </array>
+ <string key="NSFrame">{{1, 17}, {157, 240}}</string>
+ <reference key="NSSuperview" ref="1019553122"/>
+ <reference key="NSNextKeyView" ref="392699757"/>
+ <reference key="NSDocView" ref="392699757"/>
+ <reference key="NSBGColor" ref="791991748"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="803957232">
+ <reference key="NSNextResponder" ref="1019553122"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{158, 17}, {15, 240}}</string>
+ <reference key="NSSuperview" ref="1019553122"/>
+ <reference key="NSNextKeyView"/>
+ <reference key="NSTarget" ref="1019553122"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.89473682641983032</double>
+ </object>
+ <object class="NSScroller" id="722307718">
+ <reference key="NSNextResponder" ref="1019553122"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{-100, -100}, {131, 15}}</string>
+ <reference key="NSSuperview" ref="1019553122"/>
+ <reference key="NSNextKeyView" ref="862989901"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="1019553122"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.99047619104385376</double>
+ </object>
+ <object class="NSClipView" id="862989901">
+ <reference key="NSNextResponder" ref="1019553122"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <reference ref="772621236"/>
+ </array>
+ <string key="NSFrame">{{1, 0}, {157, 17}}</string>
+ <reference key="NSSuperview" ref="1019553122"/>
+ <reference key="NSNextKeyView" ref="772621236"/>
+ <reference key="NSDocView" ref="772621236"/>
+ <reference key="NSBGColor" ref="791991748"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <reference ref="569263196"/>
+ </array>
+ <string key="NSFrame">{{113, 20}, {174, 258}}</string>
+ <reference key="NSSuperview" ref="854750114"/>
+ <reference key="NSNextKeyView" ref="722307718"/>
+ <int key="NSsFlags">133138</int>
+ <reference key="NSVScroller" ref="803957232"/>
+ <reference key="NSHScroller" ref="722307718"/>
+ <reference key="NSContentView" ref="1025379532"/>
+ <reference key="NSHeaderClipView" ref="862989901"/>
+ <reference key="NSCornerView" ref="569263196"/>
+ <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+ </object>
+ </array>
+ <string key="NSFrame">{{10, 33}, {483, 437}}</string>
+ <reference key="NSNextKeyView" ref="803418548"/>
+ </object>
+ <string key="NSLabel">Mice</string>
+ <reference key="NSColor" ref="520461807"/>
+ <reference key="NSTabView" ref="644721648"/>
+ </object>
+ <object class="NSTabViewItem" id="637701892">
+ <object class="NSMutableString" key="NSIdentifier">
+ <characters key="NS.bytes">2</characters>
+ </object>
+ <object class="NSView" key="NSView" id="639734842">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextField" id="604537169">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 399}, {57, 17}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="361458923">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Joystick:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="604537169"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSPopUpButton" id="470251532">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{76, 393}, {390, 26}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="656700384">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="470251532"/>
+ <int key="NSButtonFlags">109199615</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="121555804"/>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="642014613">
+ <reference key="NSMenu" ref="794327235"/>
+ <string key="NSTitle">Item1</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="656700384"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="794327235">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">OtherViews</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <reference ref="642014613"/>
+ <object class="NSMenuItem" id="424623477">
+ <reference key="NSMenu" ref="794327235"/>
+ <string key="NSTitle">Item2</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="656700384"/>
+ </object>
+ <object class="NSMenuItem" id="563627306">
+ <reference key="NSMenu" ref="794327235"/>
+ <string key="NSTitle">Item3</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="656700384"/>
+ </object>
+ </array>
+ </object>
+ <int key="NSPreferredEdge">3</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">1</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="30575616">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 372}, {93, 17}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="895842563">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Manufacturer:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="30575616"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="28013203">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{112, 372}, {354, 17}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="646237192">
+ <int key="NSCellFlags">69336577</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">System Font Text</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="28013203"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSScrollView" id="416538861">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">276</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSClipView" id="578574056">
+ <reference key="NSNextResponder" ref="416538861"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTableView" id="209939006">
+ <reference key="NSNextResponder" ref="578574056"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{177, 267}</string>
+ <reference key="NSSuperview" ref="578574056"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTableHeaderView" key="NSHeaderView" id="644754426">
+ <reference key="NSNextResponder" ref="226206000"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{177, 17}</string>
+ <reference key="NSSuperview" ref="226206000"/>
+ <reference key="NSTableView" ref="209939006"/>
+ </object>
+ <object class="_NSCornerView" key="NSCornerView" id="694675632">
+ <reference key="NSNextResponder" ref="416538861"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{178, 0}, {16, 17}}</string>
+ <reference key="NSSuperview" ref="416538861"/>
+ </object>
+ <array class="NSMutableArray" key="NSTableColumns">
+ <object class="NSTableColumn" id="214598876">
+ <double key="NSWidth">80</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Button</string>
+ <reference key="NSSupport" ref="26"/>
+ <object class="NSColor" key="NSBackgroundColor" id="693116718">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+ </object>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="826160026">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="209939006"/>
+ <reference key="NSBackgroundColor" ref="791991748"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <reference key="NSTableView" ref="209939006"/>
+ </object>
+ <object class="NSTableColumn" id="234886615">
+ <double key="NSWidth">90.97607421875</double>
+ <double key="NSMinWidth">48.97607421875</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Pressed</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSBackgroundColor" ref="693116718"/>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="324020026">
+ <int key="NSCellFlags">337772032</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSSupport" ref="905429554"/>
+ <reference key="NSControlView" ref="209939006"/>
+ <reference key="NSBackgroundColor" ref="147273098"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <reference key="NSTableView" ref="209939006"/>
+ </object>
+ </array>
+ <double key="NSIntercellSpacingWidth">3</double>
+ <double key="NSIntercellSpacingHeight">2</double>
+ <reference key="NSBackgroundColor" ref="991614945"/>
+ <reference key="NSGridColor" ref="155750304"/>
+ <double key="NSRowHeight">17</double>
+ <int key="NSTvFlags">-700448768</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
+ <int key="NSColumnAutoresizingStyle">5</int>
+ <int key="NSDraggingSourceMaskForLocal">15</int>
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
+ <bool key="NSAllowsTypeSelect">YES</bool>
+ <int key="NSTableViewDraggingDestinationStyle">0</int>
+ <int key="NSTableViewGroupRowStyle">1</int>
+ </object>
+ </array>
+ <string key="NSFrame">{{1, 17}, {177, 267}}</string>
+ <reference key="NSSuperview" ref="416538861"/>
+ <reference key="NSNextKeyView" ref="209939006"/>
+ <reference key="NSDocView" ref="209939006"/>
+ <reference key="NSBGColor" ref="791991748"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="548447063">
+ <reference key="NSNextResponder" ref="416538861"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{178, 17}, {15, 267}}</string>
+ <reference key="NSSuperview" ref="416538861"/>
+ <reference key="NSTarget" ref="416538861"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.95789474248886108</double>
+ </object>
+ <object class="NSScroller" id="128836592">
+ <reference key="NSNextResponder" ref="416538861"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{-100, -100}, {177, 15}}</string>
+ <reference key="NSSuperview" ref="416538861"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="416538861"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.99047619104385376</double>
+ </object>
+ <object class="NSClipView" id="226206000">
+ <reference key="NSNextResponder" ref="416538861"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <reference ref="644754426"/>
+ </array>
+ <string key="NSFrame">{{1, 0}, {177, 17}}</string>
+ <reference key="NSSuperview" ref="416538861"/>
+ <reference key="NSNextKeyView" ref="644754426"/>
+ <reference key="NSDocView" ref="644754426"/>
+ <reference key="NSBGColor" ref="791991748"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <reference ref="694675632"/>
+ </array>
+ <string key="NSFrame">{{74, 20}, {194, 285}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <reference key="NSNextKeyView" ref="578574056"/>
+ <int key="NSsFlags">133138</int>
+ <reference key="NSVScroller" ref="548447063"/>
+ <reference key="NSHScroller" ref="128836592"/>
+ <reference key="NSContentView" ref="578574056"/>
+ <reference key="NSHeaderClipView" ref="226206000"/>
+ <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+ </object>
+ <object class="NSBox" id="737187669">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{12, 361}, {459, 5}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <string key="NSOffsets">{0, 0}</string>
+ <object class="NSTextFieldCell" key="NSTitleCell">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Box</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSBackgroundColor" ref="147273098"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+ </object>
+ </object>
+ <int key="NSBorderType">3</int>
+ <int key="NSBoxType">2</int>
+ <int key="NSTitlePosition">0</int>
+ <bool key="NSTransparent">NO</bool>
+ </object>
+ <object class="NSLevelIndicator" id="152294097">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{74, 337}, {389, 16}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSLevelIndicatorCell" key="NSCell" id="688209869">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSControlView" ref="152294097"/>
+ <double key="NSMinValue">-32768</double>
+ <double key="NSMaxValue">32768</double>
+ <int key="NSIndicatorStyle">1</int>
+ </object>
+ </object>
+ <object class="NSLevelIndicator" id="507655026">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{74, 313}, {389, 16}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSLevelIndicatorCell" key="NSCell" id="191024010">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSControlView" ref="507655026"/>
+ <double key="NSMinValue">-32768</double>
+ <double key="NSMaxValue">32768</double>
+ <int key="NSIndicatorStyle">1</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="1035429346">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 337}, {52, 17}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="678112624">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">X-Axis:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="1035429346"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="299566195">
+ <reference key="NSNextResponder" ref="639734842"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 313}, {52, 17}}</string>
+ <reference key="NSSuperview" ref="639734842"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="760716940">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Y-Axis:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="299566195"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{10, 33}, {483, 437}}</string>
+ </object>
+ <string key="NSLabel">Joysticks</string>
+ <reference key="NSColor" ref="520461807"/>
+ <reference key="NSTabView" ref="644721648"/>
+ </object>
+ <object class="NSTabViewItem" id="805145155">
+ <object class="NSView" key="NSView" id="425526148">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSPopUpButton" id="801273994">
+ <reference key="NSNextResponder" ref="425526148"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{87, 393}, {379, 26}}</string>
+ <reference key="NSSuperview" ref="425526148"/>
+ <reference key="NSNextKeyView" ref="936527210"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="124405559">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="801273994"/>
+ <int key="NSButtonFlags">109199615</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="121555804"/>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="296793368">
+ <reference key="NSMenu" ref="17814120"/>
+ <string key="NSTitle">Item1</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="124405559"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="17814120">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">OtherViews</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <reference ref="296793368"/>
+ <object class="NSMenuItem" id="882835994">
+ <reference key="NSMenu" ref="17814120"/>
+ <string key="NSTitle">Item2</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="124405559"/>
+ </object>
+ <object class="NSMenuItem" id="157934231">
+ <reference key="NSMenu" ref="17814120"/>
+ <string key="NSTitle">Item3</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="124405559"/>
+ </object>
+ </array>
+ </object>
+ <int key="NSPreferredEdge">3</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">1</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="821770352">
+ <reference key="NSNextResponder" ref="425526148"/>
+ <int key="NSvFlags">264</int>
+ <string key="NSFrame">{{17, 399}, {68, 17}}</string>
+ <reference key="NSSuperview" ref="425526148"/>
+ <reference key="NSNextKeyView" ref="801273994"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="635585675">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Keyboard:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="821770352"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="846710279">
+ <reference key="NSNextResponder" ref="425526148"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{112, 372}, {354, 17}}</string>
+ <reference key="NSSuperview" ref="425526148"/>
+ <reference key="NSNextKeyView" ref="293480414"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="271966601">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">System Font Text</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="846710279"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="936527210">
+ <reference key="NSNextResponder" ref="425526148"/>
+ <int key="NSvFlags">264</int>
+ <string key="NSFrame">{{17, 372}, {93, 17}}</string>
+ <reference key="NSSuperview" ref="425526148"/>
+ <reference key="NSNextKeyView" ref="846710279"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="600387788">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Manufacturer:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="936527210"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSBox" id="293480414">
+ <reference key="NSNextResponder" ref="425526148"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{12, 361}, {459, 5}}</string>
+ <reference key="NSSuperview" ref="425526148"/>
+ <reference key="NSNextKeyView" ref="352565696"/>
+ <string key="NSOffsets">{0, 0}</string>
+ <object class="NSTextFieldCell" key="NSTitleCell">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Box</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSBackgroundColor" ref="147273098"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+ </object>
+ </object>
+ <int key="NSBorderType">3</int>
+ <int key="NSBoxType">2</int>
+ <int key="NSTitlePosition">0</int>
+ <bool key="NSTransparent">NO</bool>
+ </object>
+ <object class="NSScrollView" id="352565696">
+ <reference key="NSNextResponder" ref="425526148"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSClipView" id="243217988">
+ <reference key="NSNextResponder" ref="352565696"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTableView" id="1058080016">
+ <reference key="NSNextResponder" ref="243217988"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{426, 333}</string>
+ <reference key="NSSuperview" ref="243217988"/>
+ <reference key="NSNextKeyView" ref="899917373"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="_NSCornerView" key="NSCornerView">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{427, 0}, {16, 17}}</string>
+ </object>
+ <array class="NSMutableArray" key="NSTableColumns">
+ <object class="NSTableColumn" id="104560874">
+ <double key="NSWidth">94</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="26"/>
+ <object class="NSColor" key="NSBackgroundColor" id="73149108">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+ </object>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="493334896">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="1058080016"/>
+ <reference key="NSBackgroundColor" ref="791991748"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="1058080016"/>
+ </object>
+ <object class="NSTableColumn" id="25394885">
+ <double key="NSWidth">326</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSBackgroundColor" ref="73149108"/>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="376526475">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="1058080016"/>
+ <reference key="NSBackgroundColor" ref="791991748"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="1058080016"/>
+ </object>
+ </array>
+ <double key="NSIntercellSpacingWidth">3</double>
+ <double key="NSIntercellSpacingHeight">2</double>
+ <reference key="NSBackgroundColor" ref="991614945"/>
+ <reference key="NSGridColor" ref="155750304"/>
+ <double key="NSRowHeight">17</double>
+ <int key="NSTvFlags">306184192</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
+ <int key="NSColumnAutoresizingStyle">4</int>
+ <int key="NSDraggingSourceMaskForLocal">15</int>
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
+ <bool key="NSAllowsTypeSelect">YES</bool>
+ <int key="NSTableViewDraggingDestinationStyle">0</int>
+ <int key="NSTableViewGroupRowStyle">1</int>
+ </object>
+ </array>
+ <string key="NSFrame">{{1, 1}, {426, 333}}</string>
+ <reference key="NSSuperview" ref="352565696"/>
+ <reference key="NSNextKeyView" ref="1058080016"/>
+ <reference key="NSDocView" ref="1058080016"/>
+ <reference key="NSBGColor" ref="791991748"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="899917373">
+ <reference key="NSNextResponder" ref="352565696"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{427, 1}, {15, 333}}</string>
+ <reference key="NSSuperview" ref="352565696"/>
+ <reference key="NSNextKeyView"/>
+ <reference key="NSTarget" ref="352565696"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.96315789222717285</double>
+ </object>
+ <object class="NSScroller" id="626352804">
+ <reference key="NSNextResponder" ref="352565696"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{-100, -100}, {426, 15}}</string>
+ <reference key="NSSuperview" ref="352565696"/>
+ <reference key="NSNextKeyView" ref="243217988"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="352565696"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.99047619104385376</double>
+ </object>
+ </array>
+ <string key="NSFrame">{{20, 20}, {443, 335}}</string>
+ <reference key="NSSuperview" ref="425526148"/>
+ <reference key="NSNextKeyView" ref="626352804"/>
+ <int key="NSsFlags">133138</int>
+ <reference key="NSVScroller" ref="899917373"/>
+ <reference key="NSHScroller" ref="626352804"/>
+ <reference key="NSContentView" ref="243217988"/>
+ <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+ </object>
+ </array>
+ <string key="NSFrame">{{10, 33}, {483, 437}}</string>
+ <reference key="NSNextKeyView" ref="821770352"/>
+ </object>
+ <string key="NSLabel">Keyboards</string>
+ <reference key="NSColor" ref="520461807"/>
+ <reference key="NSTabView" ref="644721648"/>
+ </object>
+ <object class="NSTabViewItem" id="206151473">
+ <object class="NSView" key="NSView" id="103723724">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSCustomView" id="279154427">
+ <reference key="NSNextResponder" ref="103723724"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{188, 137}, {107, 280}}</string>
+ <reference key="NSSuperview" ref="103723724"/>
+ <reference key="NSNextKeyView" ref="682296781"/>
+ <string key="NSClassName">RemoteFeedbackView</string>
+ <string key="NSExtension">NSView</string>
+ </object>
+ <object class="NSButton" id="927927578">
+ <reference key="NSNextResponder" ref="103723724"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{176, 67}, {131, 32}}</string>
+ <reference key="NSSuperview" ref="103723724"/>
+ <reference key="NSNextKeyView" ref="1042890665"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="625781673">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Start Listening</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="927927578"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="11966484"/>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="1042890665">
+ <reference key="NSNextResponder" ref="103723724"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{165, 39}, {151, 18}}</string>
+ <reference key="NSSuperview" ref="103723724"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="113061213">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">131072</int>
+ <string key="NSContents">Open in exclusive mode</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="1042890665"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">2</int>
+ <object class="NSButtonImageSource" key="NSAlternateImage">
+ <string key="NSImageName">NSSwitch</string>
+ </object>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="682296781">
+ <reference key="NSNextResponder" ref="103723724"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{165, 115}, {152, 14}}</string>
+ <reference key="NSSuperview" ref="103723724"/>
+ <reference key="NSNextKeyView" ref="927927578"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="1014225370">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">138543104</int>
+ <string key="NSContents">-</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="682296781"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="80389755">
+ <reference key="NSNextResponder" ref="103723724"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{194, 423}, {63, 14}}</string>
+ <reference key="NSSuperview" ref="103723724"/>
+ <reference key="NSNextKeyView" ref="179085848"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="357183005">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Remote ID:</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="80389755"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="179085848">
+ <reference key="NSNextResponder" ref="103723724"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{259, 423}, {32, 14}}</string>
+ <reference key="NSSuperview" ref="103723724"/>
+ <reference key="NSNextKeyView" ref="279154427"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="319211686">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">9999</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="179085848"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{10, 33}, {483, 437}}</string>
+ <reference key="NSNextKeyView" ref="80389755"/>
+ </object>
+ <string key="NSLabel">Remote</string>
+ <reference key="NSColor" ref="520461807"/>
+ <reference key="NSTabView" ref="644721648"/>
+ </object>
+ <object class="NSTabViewItem" id="341515874">
+ <object class="NSView" key="NSView" id="348322794">
+ <reference key="NSNextResponder" ref="644721648"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSPopUpButton" id="198711655">
+ <reference key="NSNextResponder" ref="348322794"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{87, 393}, {379, 26}}</string>
+ <reference key="NSSuperview" ref="348322794"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="417902156"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="646203599">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="198711655"/>
+ <int key="NSButtonFlags">109199615</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="121555804"/>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="209592817">
+ <reference key="NSMenu" ref="1033926023"/>
+ <string key="NSTitle">Item1</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="646203599"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="1033926023">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">OtherViews</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <reference ref="209592817"/>
+ <object class="NSMenuItem" id="799967634">
+ <reference key="NSMenu" ref="1033926023"/>
+ <string key="NSTitle">Item2</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="646203599"/>
+ </object>
+ <object class="NSMenuItem" id="1019206975">
+ <reference key="NSMenu" ref="1033926023"/>
+ <string key="NSTitle">Item3</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="646203599"/>
+ </object>
+ </array>
+ </object>
+ <int key="NSPreferredEdge">3</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">1</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="533537148">
+ <reference key="NSNextResponder" ref="348322794"/>
+ <int key="NSvFlags">264</int>
+ <string key="NSFrame">{{17, 399}, {41, 17}}</string>
+ <reference key="NSSuperview" ref="348322794"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="198711655"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="1028846042">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Mikey</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="533537148"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="775775215">
+ <reference key="NSNextResponder" ref="348322794"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{112, 372}, {354, 17}}</string>
+ <reference key="NSSuperview" ref="348322794"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="648226226"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="60166265">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">System Font Text</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="775775215"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="417902156">
+ <reference key="NSNextResponder" ref="348322794"/>
+ <int key="NSvFlags">264</int>
+ <string key="NSFrame">{{17, 372}, {93, 17}}</string>
+ <reference key="NSSuperview" ref="348322794"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="775775215"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="839783436">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Manufacturer:</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="417902156"/>
+ <reference key="NSBackgroundColor" ref="520461807"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ </object>
+ <object class="NSBox" id="648226226">
+ <reference key="NSNextResponder" ref="348322794"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{12, 361}, {459, 5}}</string>
+ <reference key="NSSuperview" ref="348322794"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="969348819"/>
+ <string key="NSOffsets">{0, 0}</string>
+ <object class="NSTextFieldCell" key="NSTitleCell">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Box</string>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSBackgroundColor" ref="147273098"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+ </object>
+ </object>
+ <int key="NSBorderType">3</int>
+ <int key="NSBoxType">2</int>
+ <int key="NSTitlePosition">0</int>
+ <bool key="NSTransparent">NO</bool>
+ </object>
+ <object class="NSScrollView" id="969348819">
+ <reference key="NSNextResponder" ref="348322794"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSClipView" id="1062920427">
+ <reference key="NSNextResponder" ref="969348819"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTableView" id="6762116">
+ <reference key="NSNextResponder" ref="1062920427"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{426, 333}</string>
+ <reference key="NSSuperview" ref="1062920427"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="524946031"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="_NSCornerView" key="NSCornerView">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{427, 0}, {16, 17}}</string>
+ </object>
+ <array class="NSMutableArray" key="NSTableColumns">
+ <object class="NSTableColumn" id="1010687613">
+ <double key="NSWidth">94</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="26"/>
+ <object class="NSColor" key="NSBackgroundColor" id="785507273">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+ </object>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="373004376">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="6762116"/>
+ <reference key="NSBackgroundColor" ref="791991748"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="6762116"/>
+ </object>
+ <object class="NSTableColumn" id="762433403">
+ <double key="NSWidth">326</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSBackgroundColor" ref="785507273"/>
+ <reference key="NSTextColor" ref="906593754"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="258874923">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="11966484"/>
+ <reference key="NSControlView" ref="6762116"/>
+ <reference key="NSBackgroundColor" ref="791991748"/>
+ <reference key="NSTextColor" ref="309990206"/>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="6762116"/>
+ </object>
+ </array>
+ <double key="NSIntercellSpacingWidth">3</double>
+ <double key="NSIntercellSpacingHeight">2</double>
+ <reference key="NSBackgroundColor" ref="991614945"/>
+ <reference key="NSGridColor" ref="155750304"/>
+ <double key="NSRowHeight">17</double>
+ <int key="NSTvFlags">306184192</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
+ <int key="NSColumnAutoresizingStyle">4</int>
+ <int key="NSDraggingSourceMaskForLocal">15</int>
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
+ <bool key="NSAllowsTypeSelect">YES</bool>
+ <int key="NSTableViewDraggingDestinationStyle">0</int>
+ <int key="NSTableViewGroupRowStyle">1</int>
+ </object>
+ </array>
+ <string key="NSFrame">{{1, 1}, {426, 333}}</string>
+ <reference key="NSSuperview" ref="969348819"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="6762116"/>
+ <reference key="NSDocView" ref="6762116"/>
+ <reference key="NSBGColor" ref="791991748"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="524946031">
+ <reference key="NSNextResponder" ref="969348819"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{427, 1}, {15, 333}}</string>
+ <reference key="NSSuperview" ref="969348819"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <reference key="NSTarget" ref="969348819"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.96315789222717285</double>
+ </object>
+ <object class="NSScroller" id="388049267">
+ <reference key="NSNextResponder" ref="969348819"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{-100, -100}, {426, 15}}</string>
+ <reference key="NSSuperview" ref="969348819"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1062920427"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="969348819"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.99047619104385376</double>
+ </object>
+ </array>
+ <string key="NSFrame">{{20, 20}, {443, 335}}</string>
+ <reference key="NSSuperview" ref="348322794"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="388049267"/>
+ <int key="NSsFlags">133138</int>
+ <reference key="NSVScroller" ref="524946031"/>
+ <reference key="NSHScroller" ref="388049267"/>
+ <reference key="NSContentView" ref="1062920427"/>
+ <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+ </object>
+ </array>
+ <string key="NSFrame">{{10, 33}, {483, 437}}</string>
+ <reference key="NSSuperview" ref="644721648"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="533537148"/>
+ </object>
+ <string key="NSLabel">Mikeys</string>
+ <reference key="NSColor" ref="520461807"/>
+ <reference key="NSTabView" ref="644721648"/>
+ </object>
+ </array>
+ <reference key="NSSelectedTabViewItem" ref="341515874"/>
+ <reference key="NSFont" ref="11966484"/>
+ <int key="NSTvFlags">0</int>
+ <bool key="NSAllowTruncatedLabels">YES</bool>
+ <bool key="NSDrawsBackground">YES</bool>
+ <array class="NSMutableArray" key="NSSubviews">
+ <reference ref="348322794"/>
+ </array>
+ </object>
+ </array>
+ <string key="NSFrameSize">{529, 499}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="644721648"/>
+ </object>
+ <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+ <string key="NSMinSize">{213, 129}</string>
+ <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+ <bool key="NSWindowIsRestorable">YES</bool>
+ </object>
+ <object class="NSMenu" id="985818309">
+ <string key="NSTitle">MainMenu</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="718640928">
+ <reference key="NSMenu" ref="985818309"/>
+ <string key="NSTitle">HIDDeviceTest</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="334835152">
+ <string key="NSTitle">HIDDeviceTest</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="824448059">
+ <reference key="NSMenu" ref="334835152"/>
+ <string key="NSTitle">About HIDDeviceTest</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="164663327">
+ <reference key="NSMenu" ref="334835152"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="441187593">
+ <reference key="NSMenu" ref="334835152"/>
+ <string key="NSTitle">Preferences…</string>
+ <string key="NSKeyEquiv">,</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="516492413">
+ <reference key="NSMenu" ref="334835152"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="75425932">
+ <reference key="NSMenu" ref="334835152"/>
+ <string key="NSTitle">Services</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="718887502">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Services</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems"/>
+ <string key="NSName">_NSServicesMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="740657299">
+ <reference key="NSMenu" ref="334835152"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="924050144">
+ <reference key="NSMenu" ref="334835152"/>
+ <string key="NSTitle">Hide HIDDeviceTest</string>
+ <string key="NSKeyEquiv">h</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="640088582">
+ <reference key="NSMenu" ref="334835152"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="103269932">
+ <reference key="NSMenu" ref="334835152"/>
+ <string key="NSTitle">Show All</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="1035629316">
+ <reference key="NSMenu" ref="334835152"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="1061266757">
+ <reference key="NSMenu" ref="334835152"/>
+ <string key="NSTitle">Quit HIDDeviceTest</string>
+ <string key="NSKeyEquiv">q</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ <string key="NSName">_NSAppleMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="141310426">
+ <reference key="NSMenu" ref="985818309"/>
+ <string key="NSTitle">File</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="946423102">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">File</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="395391345">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">New</string>
+ <string key="NSKeyEquiv">n</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="739670817">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Open…</string>
+ <string key="NSKeyEquiv">o</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="272198838">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Open Recent</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="606750118">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Open Recent</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="430142160">
+ <reference key="NSMenu" ref="606750118"/>
+ <string key="NSTitle">Clear Menu</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ <string key="NSName">_NSRecentDocumentsMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="131606599">
+ <reference key="NSMenu" ref="946423102"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="962434548">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Close</string>
+ <string key="NSKeyEquiv">w</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="932001322">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Save</string>
+ <string key="NSKeyEquiv">s</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="1052462246">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Save As…</string>
+ <string key="NSKeyEquiv">S</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="1038775041">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Revert</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="1038134261">
+ <reference key="NSMenu" ref="946423102"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="280140765">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Page Setup…</string>
+ <string key="NSKeyEquiv">P</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="460995318">
+ <reference key="NSMenu" ref="946423102"/>
+ <string key="NSTitle">Print…</string>
+ <string key="NSKeyEquiv">p</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="471057131">
+ <reference key="NSMenu" ref="985818309"/>
+ <string key="NSTitle">Edit</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="883281215">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Edit</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="609227008">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Undo</string>
+ <string key="NSKeyEquiv">z</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="64556550">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Redo</string>
+ <string key="NSKeyEquiv">Z</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="1030974022">
+ <reference key="NSMenu" ref="883281215"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="89134411">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Cut</string>
+ <string key="NSKeyEquiv">x</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="190362399">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Copy</string>
+ <string key="NSKeyEquiv">c</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="944061161">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Paste</string>
+ <string key="NSKeyEquiv">v</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="586425156">
+ <reference key="NSMenu" ref="883281215"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="27756945">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Delete</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="848176626">
+ <reference key="NSMenu" ref="883281215"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="872585626">
+ <reference key="NSMenu" ref="883281215"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="613523294">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Find</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="1515871">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Find</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="739763715">
+ <reference key="NSMenu" ref="1515871"/>
+ <string key="NSTitle">Find…</string>
+ <string key="NSKeyEquiv">f</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <int key="NSTag">1</int>
+ </object>
+ <object class="NSMenuItem" id="792228336">
+ <reference key="NSMenu" ref="1515871"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <int key="NSTag">2</int>
+ </object>
+ <object class="NSMenuItem" id="835718921">
+ <reference key="NSMenu" ref="1515871"/>
+ <string key="NSTitle">Find Previous</string>
+ <string key="NSKeyEquiv">G</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <int key="NSTag">3</int>
+ </object>
+ <object class="NSMenuItem" id="533142018">
+ <reference key="NSMenu" ref="1515871"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <int key="NSTag">7</int>
+ </object>
+ <object class="NSMenuItem" id="779751270">
+ <reference key="NSMenu" ref="1515871"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="450567093">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Spelling</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="759043215">
+ <string key="NSTitle">Spelling</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="753598553">
+ <reference key="NSMenu" ref="759043215"/>
+ <string key="NSTitle">Spelling…</string>
+ <string key="NSKeyEquiv">:</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="556128115">
+ <reference key="NSMenu" ref="759043215"/>
+ <string key="NSTitle">Check Spelling</string>
+ <string key="NSKeyEquiv">;</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="644053629">
+ <reference key="NSMenu" ref="759043215"/>
+ <string key="NSTitle">Check Spelling as You Type</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="236999817">
+ <reference key="NSMenu" ref="883281215"/>
+ <string key="NSTitle">Speech</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="317192418">
+ <string key="NSTitle">Speech</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="1070789972">
+ <reference key="NSMenu" ref="317192418"/>
+ <string key="NSTitle">Start Speaking</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="63041679">
+ <reference key="NSMenu" ref="317192418"/>
+ <string key="NSTitle">Stop Speaking</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="677671214">
+ <reference key="NSMenu" ref="985818309"/>
+ <string key="NSTitle">Window</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="1036944217">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Window</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="176418040">
+ <reference key="NSMenu" ref="1036944217"/>
+ <string key="NSTitle">Minimize</string>
+ <string key="NSKeyEquiv">m</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="833041214">
+ <reference key="NSMenu" ref="1036944217"/>
+ <string key="NSTitle">Zoom</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="829519296">
+ <reference key="NSMenu" ref="1036944217"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ <object class="NSMenuItem" id="709479120">
+ <reference key="NSMenu" ref="1036944217"/>
+ <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="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ <string key="NSName">_NSWindowsMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="250164583">
+ <reference key="NSMenu" ref="985818309"/>
+ <string key="NSTitle">Help</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="1058608410">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Help</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="563664873">
+ <reference key="NSMenu" ref="1058608410"/>
+ <string key="NSTitle">NewApplication Help</string>
+ <string key="NSKeyEquiv">?</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="555564785"/>
+ <reference key="NSMixedImage" ref="189791066"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ </array>
+ <string key="NSName">_NSMainMenu</string>
+ </object>
+ <object class="NSCustomObject" id="883305570">
+ <string key="NSClassName">DeviceTestController</string>
+ </object>
+ <object class="NSArrayController" id="99488775">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>productName</string>
+ <string>manufacturer</string>
+ </array>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSArrayController" id="72508071">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>name</string>
+ <string>pressed</string>
+ </array>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSCustomObject" id="1034941619">
+ <string key="NSClassName">BoolFormatter</string>
+ </object>
+ <object class="NSCustomObject" id="630057591">
+ <string key="NSClassName">MousePaneController</string>
+ </object>
+ <object class="NSCustomObject" id="752502322">
+ <string key="NSClassName">JoystickPaneController</string>
+ </object>
+ <object class="NSArrayController" id="891320766">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>productName</string>
+ <string>manufacturer</string>
+ </array>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSArrayController" id="761638104">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>name</string>
+ <string>pressed</string>
+ </array>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSCustomObject" id="441492835">
+ <string key="NSClassName">AppleRemotePaneController</string>
+ </object>
+ <object class="NSCustomObject" id="98452829">
+ <string key="NSClassName">KeyboardPaneController</string>
+ </object>
+ <object class="NSArrayController" id="438538984">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>productName</string>
+ <string>manufacturer</string>
+ </array>
+ <bool key="NSEditable">YES</bool>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSArrayController" id="306908374">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>event</string>
+ <string>description</string>
+ </array>
+ <bool key="NSEditable">YES</bool>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSCustomObject" id="131495452">
+ <string key="NSClassName">AppleMikeyPaneController</string>
+ </object>
+ <object class="NSArrayController" id="414111609">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>productName</string>
+ <string>manufacturer</string>
+ </array>
+ <bool key="NSEditable">YES</bool>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSArrayController" id="189836260">
+ <array class="NSMutableArray" key="NSDeclaredKeys">
+ <string>event</string>
+ <string>description</string>
+ </array>
+ <bool key="NSEditable">YES</bool>
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
+ <bool key="NSAvoidsEmptySelection">YES</bool>
+ <bool key="NSPreservesSelection">YES</bool>
+ <bool key="NSSelectsInsertedObjects">YES</bool>
+ <bool key="NSFilterRestrictsInsertion">YES</bool>
+ <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ </object>
+ <object class="NSView" id="1024145421">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{125, 1}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ </object>
+ <object class="NSView" id="408097814">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{125, 1}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ </object>
+ <object class="NSView" id="897756721">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{125, 1}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">terminate:</string>
+ <reference key="source" ref="867122125"/>
+ <reference key="destination" ref="1061266757"/>
+ </object>
+ <int key="connectionID">139</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">orderFrontStandardAboutPanel:</string>
+ <reference key="source" ref="867122125"/>
+ <reference key="destination" ref="824448059"/>
+ </object>
+ <int key="connectionID">142</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hideOtherApplications:</string>
+ <reference key="source" ref="867122125"/>
+ <reference key="destination" ref="640088582"/>
+ </object>
+ <int key="connectionID">146</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hide:</string>
+ <reference key="source" ref="867122125"/>
+ <reference key="destination" ref="924050144"/>
+ </object>
+ <int key="connectionID">152</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">unhideAllApplications:</string>
+ <reference key="source" ref="867122125"/>
+ <reference key="destination" ref="103269932"/>
+ </object>
+ <int key="connectionID">153</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="867122125"/>
+ <reference key="destination" ref="883305570"/>
+ </object>
+ <int key="connectionID">396</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performMiniaturize:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="176418040"/>
+ </object>
+ <int key="connectionID">37</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">arrangeInFront:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="709479120"/>
+ </object>
+ <int key="connectionID">39</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">print:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="460995318"/>
+ </object>
+ <int key="connectionID">86</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">runPageLayout:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="280140765"/>
+ </object>
+ <int key="connectionID">87</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showHelp:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="563664873"/>
+ </object>
+ <int key="connectionID">122</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">clearRecentDocuments:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="430142160"/>
+ </object>
+ <int key="connectionID">127</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performClose:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="962434548"/>
+ </object>
+ <int key="connectionID">193</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleContinuousSpellChecking:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="644053629"/>
+ </object>
+ <int key="connectionID">222</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">undo:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="609227008"/>
+ </object>
+ <int key="connectionID">223</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">copy:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="190362399"/>
+ </object>
+ <int key="connectionID">224</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">checkSpelling:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="556128115"/>
+ </object>
+ <int key="connectionID">225</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">paste:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="944061161"/>
+ </object>
+ <int key="connectionID">226</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">stopSpeaking:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="63041679"/>
+ </object>
+ <int key="connectionID">227</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">cut:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="89134411"/>
+ </object>
+ <int key="connectionID">228</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showGuessPanel:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="753598553"/>
+ </object>
+ <int key="connectionID">230</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">redo:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="64556550"/>
+ </object>
+ <int key="connectionID">231</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">selectAll:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="848176626"/>
+ </object>
+ <int key="connectionID">232</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">startSpeaking:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="1070789972"/>
+ </object>
+ <int key="connectionID">233</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">delete:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="27756945"/>
+ </object>
+ <int key="connectionID">235</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performZoom:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="833041214"/>
+ </object>
+ <int key="connectionID">240</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performFindPanelAction:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="739763715"/>
+ </object>
+ <int key="connectionID">241</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performFindPanelAction:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="792228336"/>
+ </object>
+ <int key="connectionID">242</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performFindPanelAction:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="835718921"/>
+ </object>
+ <int key="connectionID">243</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performFindPanelAction:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="533142018"/>
+ </object>
+ <int key="connectionID">244</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">centerSelectionInVisibleArea:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="779751270"/>
+ </object>
+ <int key="connectionID">245</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">pasteAsPlainText:</string>
+ <reference key="source" ref="908386337"/>
+ <reference key="destination" ref="586425156"/>
+ </object>
+ <int key="connectionID">247</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">content: arrangedObjects.productName</string>
+ <reference key="source" ref="1023428307"/>
+ <reference key="destination" ref="99488775"/>
+ <object class="NSNibBindingConnector" key="connector" id="689694088">
+ <reference key="NSSource" ref="1023428307"/>
+ <reference key="NSDestination" ref="99488775"/>
+ <string key="NSLabel">content: arrangedObjects.productName</string>
+ <string key="NSBinding">content</string>
+ <string key="NSKeyPath">arrangedObjects.productName</string>
+ <dictionary key="NSOptions">
+ <string key="NSNoSelectionPlaceholder">Foo</string>
+ <string key="NSNotApplicablePlaceholder">Bar</string>
+ <string key="NSNullPlaceholder">No Mice</string>
+ </dictionary>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">342</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">selectedIndex: mouseIndex</string>
+ <reference key="source" ref="1023428307"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1023428307"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">selectedIndex: mouseIndex</string>
+ <string key="NSBinding">selectedIndex</string>
+ <string key="NSKeyPath">mouseIndex</string>
+ <reference key="NSPreviousConnector" ref="689694088"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">355</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mMousePaneController</string>
+ <reference key="source" ref="883305570"/>
+ <reference key="destination" ref="630057591"/>
+ </object>
+ <int key="connectionID">346</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mWindow</string>
+ <reference key="source" ref="883305570"/>
+ <reference key="destination" ref="982793345"/>
+ </object>
+ <int key="connectionID">397</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: mice</string>
+ <reference key="source" ref="99488775"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="99488775"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">contentArray: mice</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">mice</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSConditionallySetsEditable</string>
+ <boolean value="NO" key="NS.object.0"/>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">354</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.manufacturer</string>
+ <reference key="source" ref="445056641"/>
+ <reference key="destination" ref="99488775"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="445056641"/>
+ <reference key="NSDestination" ref="99488775"/>
+ <string key="NSLabel">value: selection.manufacturer</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.manufacturer</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">267</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">maxValue: maxValue</string>
+ <reference key="source" ref="867143968"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector" id="464702103">
+ <reference key="NSSource" ref="867143968"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">maxValue: maxValue</string>
+ <string key="NSBinding">maxValue</string>
+ <string key="NSKeyPath">maxValue</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">347</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: mouseX</string>
+ <reference key="source" ref="867143968"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="867143968"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">value: mouseX</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">mouseX</string>
+ <reference key="NSPreviousConnector" ref="464702103"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">356</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">maxValue: maxValue</string>
+ <reference key="source" ref="114543662"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector" id="866111129">
+ <reference key="NSSource" ref="114543662"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">maxValue: maxValue</string>
+ <string key="NSBinding">maxValue</string>
+ <string key="NSKeyPath">maxValue</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">349</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: mouseY</string>
+ <reference key="source" ref="114543662"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="114543662"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">value: mouseY</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">mouseY</string>
+ <reference key="NSPreviousConnector" ref="866111129"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">357</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">maxValue: maxValue</string>
+ <reference key="source" ref="679224553"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector" id="618528643">
+ <reference key="NSSource" ref="679224553"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">maxValue: maxValue</string>
+ <string key="NSBinding">maxValue</string>
+ <string key="NSKeyPath">maxValue</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">351</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: mouseWheel</string>
+ <reference key="source" ref="679224553"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="679224553"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">value: mouseWheel</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">mouseWheel</string>
+ <reference key="NSPreviousConnector" ref="618528643"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">358</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.name</string>
+ <reference key="source" ref="925696421"/>
+ <reference key="destination" ref="72508071"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="925696421"/>
+ <reference key="NSDestination" ref="72508071"/>
+ <string key="NSLabel">value: arrangedObjects.name</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.name</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">316</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.pressed</string>
+ <reference key="source" ref="108449693"/>
+ <reference key="destination" ref="72508071"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="108449693"/>
+ <reference key="NSDestination" ref="72508071"/>
+ <string key="NSLabel">value: arrangedObjects.pressed</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.pressed</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">317</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: mouseButtons</string>
+ <reference key="source" ref="72508071"/>
+ <reference key="destination" ref="630057591"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="72508071"/>
+ <reference key="NSDestination" ref="630057591"/>
+ <string key="NSLabel">contentArray: mouseButtons</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">mouseButtons</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSConditionallySetsEditable</string>
+ <boolean value="NO" key="NS.object.0"/>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">353</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">formatter</string>
+ <reference key="source" ref="282094758"/>
+ <reference key="destination" ref="1034941619"/>
+ </object>
+ <int key="connectionID">323</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mMiceController</string>
+ <reference key="source" ref="630057591"/>
+ <reference key="destination" ref="99488775"/>
+ </object>
+ <int key="connectionID">345</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mJoysticksController</string>
+ <reference key="source" ref="752502322"/>
+ <reference key="destination" ref="891320766"/>
+ </object>
+ <int key="connectionID">374</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">content: arrangedObjects.productName</string>
+ <reference key="source" ref="470251532"/>
+ <reference key="destination" ref="891320766"/>
+ <object class="NSNibBindingConnector" key="connector" id="151560195">
+ <reference key="NSSource" ref="470251532"/>
+ <reference key="NSDestination" ref="891320766"/>
+ <string key="NSLabel">content: arrangedObjects.productName</string>
+ <string key="NSBinding">content</string>
+ <string key="NSKeyPath">arrangedObjects.productName</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSNullPlaceholder</string>
+ <string key="NS.object.0">No Joysticks</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">394</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">selectedIndex: joystickIndex</string>
+ <reference key="source" ref="470251532"/>
+ <reference key="destination" ref="752502322"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="470251532"/>
+ <reference key="NSDestination" ref="752502322"/>
+ <string key="NSLabel">selectedIndex: joystickIndex</string>
+ <string key="NSBinding">selectedIndex</string>
+ <string key="NSKeyPath">joystickIndex</string>
+ <reference key="NSPreviousConnector" ref="151560195"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">395</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.manufacturer</string>
+ <reference key="source" ref="28013203"/>
+ <reference key="destination" ref="891320766"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="28013203"/>
+ <reference key="NSDestination" ref="891320766"/>
+ <string key="NSLabel">value: selection.manufacturer</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.manufacturer</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSNoSelectionPlaceholder</string>
+ <string type="base64-UTF8" key="NS.object.0">IA</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">393</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: joysticks</string>
+ <reference key="source" ref="891320766"/>
+ <reference key="destination" ref="752502322"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="891320766"/>
+ <reference key="NSDestination" ref="752502322"/>
+ <string key="NSLabel">contentArray: joysticks</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">joysticks</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">369</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.pressed</string>
+ <reference key="source" ref="234886615"/>
+ <reference key="destination" ref="761638104"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="234886615"/>
+ <reference key="NSDestination" ref="761638104"/>
+ <string key="NSLabel">value: arrangedObjects.pressed</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.pressed</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSConditionallySetsEditable</string>
+ <boolean value="YES" key="NS.object.0"/>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">401</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.name</string>
+ <reference key="source" ref="214598876"/>
+ <reference key="destination" ref="761638104"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="214598876"/>
+ <reference key="NSDestination" ref="761638104"/>
+ <string key="NSLabel">value: arrangedObjects.name</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.name</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">385</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: joystickButtons</string>
+ <reference key="source" ref="761638104"/>
+ <reference key="destination" ref="752502322"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="761638104"/>
+ <reference key="NSDestination" ref="752502322"/>
+ <string key="NSLabel">contentArray: joystickButtons</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">joystickButtons</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">383</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">formatter</string>
+ <reference key="source" ref="324020026"/>
+ <reference key="destination" ref="1034941619"/>
+ </object>
+ <int key="connectionID">388</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: xAxis</string>
+ <reference key="source" ref="152294097"/>
+ <reference key="destination" ref="752502322"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="152294097"/>
+ <reference key="NSDestination" ref="752502322"/>
+ <string key="NSLabel">value: xAxis</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">xAxis</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">404</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: yAxis</string>
+ <reference key="source" ref="507655026"/>
+ <reference key="destination" ref="752502322"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="507655026"/>
+ <reference key="NSDestination" ref="752502322"/>
+ <string key="NSLabel">value: yAxis</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">yAxis</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">405</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleListening:</string>
+ <reference key="source" ref="441492835"/>
+ <reference key="destination" ref="927927578"/>
+ </object>
+ <int key="connectionID">412</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mStartStopButton</string>
+ <reference key="source" ref="441492835"/>
+ <reference key="destination" ref="927927578"/>
+ </object>
+ <int key="connectionID">414</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mFeedbackView</string>
+ <reference key="source" ref="441492835"/>
+ <reference key="destination" ref="279154427"/>
+ </object>
+ <int key="connectionID">415</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mFeedbackText</string>
+ <reference key="source" ref="441492835"/>
+ <reference key="destination" ref="682296781"/>
+ </object>
+ <int key="connectionID">419</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: openInExclusiveMode</string>
+ <reference key="source" ref="1042890665"/>
+ <reference key="destination" ref="441492835"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1042890665"/>
+ <reference key="NSDestination" ref="441492835"/>
+ <string key="NSLabel">value: openInExclusiveMode</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">openInExclusiveMode</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">413</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: remote.remoteId</string>
+ <reference key="source" ref="179085848"/>
+ <reference key="destination" ref="441492835"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="179085848"/>
+ <reference key="NSDestination" ref="441492835"/>
+ <string key="NSLabel">value: remote.remoteId</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">remote.remoteId</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">422</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mKeyboardsController</string>
+ <reference key="source" ref="98452829"/>
+ <reference key="destination" ref="438538984"/>
+ </object>
+ <int key="connectionID">454</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mKeyboardEventsController</string>
+ <reference key="source" ref="98452829"/>
+ <reference key="destination" ref="306908374"/>
+ </object>
+ <int key="connectionID">457</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">content: arrangedObjects.productName</string>
+ <reference key="source" ref="801273994"/>
+ <reference key="destination" ref="438538984"/>
+ <object class="NSNibBindingConnector" key="connector" id="931493043">
+ <reference key="NSSource" ref="801273994"/>
+ <reference key="NSDestination" ref="438538984"/>
+ <string key="NSLabel">content: arrangedObjects.productName</string>
+ <string key="NSBinding">content</string>
+ <string key="NSKeyPath">arrangedObjects.productName</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSNullPlaceholder</string>
+ <string key="NS.object.0">No Joysticks</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">440</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">selectedIndex: keyboardIndex</string>
+ <reference key="source" ref="801273994"/>
+ <reference key="destination" ref="98452829"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="801273994"/>
+ <reference key="NSDestination" ref="98452829"/>
+ <string key="NSLabel">selectedIndex: keyboardIndex</string>
+ <string key="NSBinding">selectedIndex</string>
+ <string key="NSKeyPath">keyboardIndex</string>
+ <reference key="NSPreviousConnector" ref="931493043"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">441</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.manufacturer</string>
+ <reference key="source" ref="846710279"/>
+ <reference key="destination" ref="438538984"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="846710279"/>
+ <reference key="NSDestination" ref="438538984"/>
+ <string key="NSLabel">value: selection.manufacturer</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.manufacturer</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">439</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: keyboards</string>
+ <reference key="source" ref="438538984"/>
+ <reference key="destination" ref="98452829"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="438538984"/>
+ <reference key="NSDestination" ref="98452829"/>
+ <string key="NSLabel">contentArray: keyboards</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">keyboards</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">433</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.event</string>
+ <reference key="source" ref="104560874"/>
+ <reference key="destination" ref="306908374"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="104560874"/>
+ <reference key="NSDestination" ref="306908374"/>
+ <string key="NSLabel">value: arrangedObjects.event</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.event</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">459</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.description</string>
+ <reference key="source" ref="25394885"/>
+ <reference key="destination" ref="306908374"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="25394885"/>
+ <reference key="NSDestination" ref="306908374"/>
+ <string key="NSLabel">value: arrangedObjects.description</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.description</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">460</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: events</string>
+ <reference key="source" ref="306908374"/>
+ <reference key="destination" ref="98452829"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="306908374"/>
+ <reference key="NSDestination" ref="98452829"/>
+ <string key="NSLabel">contentArray: events</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">events</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">456</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mMikeysController</string>
+ <reference key="source" ref="131495452"/>
+ <reference key="destination" ref="414111609"/>
+ </object>
+ <int key="connectionID">504</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">mMikeysEventsController</string>
+ <reference key="source" ref="131495452"/>
+ <reference key="destination" ref="189836260"/>
+ </object>
+ <int key="connectionID">505</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: mikeys</string>
+ <reference key="source" ref="414111609"/>
+ <reference key="destination" ref="131495452"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="414111609"/>
+ <reference key="NSDestination" ref="131495452"/>
+ <string key="NSLabel">contentArray: mikeys</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">mikeys</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">538</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">contentArray: events</string>
+ <reference key="source" ref="189836260"/>
+ <reference key="destination" ref="131495452"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="189836260"/>
+ <reference key="NSDestination" ref="131495452"/>
+ <string key="NSLabel">contentArray: events</string>
+ <string key="NSBinding">contentArray</string>
+ <string key="NSKeyPath">events</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">540</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.manufacturer</string>
+ <reference key="source" ref="775775215"/>
+ <reference key="destination" ref="414111609"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="775775215"/>
+ <reference key="NSDestination" ref="414111609"/>
+ <string key="NSLabel">value: selection.manufacturer</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.manufacturer</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">544</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">content: arrangedObjects.productName</string>
+ <reference key="source" ref="198711655"/>
+ <reference key="destination" ref="414111609"/>
+ <object class="NSNibBindingConnector" key="connector" id="551539712">
+ <reference key="NSSource" ref="198711655"/>
+ <reference key="NSDestination" ref="414111609"/>
+ <string key="NSLabel">content: arrangedObjects.productName</string>
+ <string key="NSBinding">content</string>
+ <string key="NSKeyPath">arrangedObjects.productName</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSNullPlaceholder</string>
+ <string key="NS.object.0">No Mikeys</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">541</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">selectedIndex: mikeyIndex</string>
+ <reference key="source" ref="198711655"/>
+ <reference key="destination" ref="131495452"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="198711655"/>
+ <reference key="NSDestination" ref="131495452"/>
+ <string key="NSLabel">selectedIndex: mikeyIndex</string>
+ <string key="NSBinding">selectedIndex</string>
+ <string key="NSKeyPath">mikeyIndex</string>
+ <reference key="NSPreviousConnector" ref="551539712"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">542</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.description</string>
+ <reference key="source" ref="762433403"/>
+ <reference key="destination" ref="189836260"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="762433403"/>
+ <reference key="NSDestination" ref="189836260"/>
+ <string key="NSLabel">value: arrangedObjects.description</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.description</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">536</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.event</string>
+ <reference key="source" ref="1010687613"/>
+ <reference key="destination" ref="189836260"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1010687613"/>
+ <reference key="NSDestination" ref="189836260"/>
+ <string key="NSLabel">value: arrangedObjects.event</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.event</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">535</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="693470140"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="867122125"/>
+ <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="908386337"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">21</int>
+ <reference key="object" ref="982793345"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1006738540"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Window</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="1006738540"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="644721648"/>
+ </array>
+ <reference key="parent" ref="982793345"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">248</int>
+ <reference key="object" ref="644721648"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="637701892"/>
+ <reference ref="301669676"/>
+ <reference ref="805145155"/>
+ <reference ref="206151473"/>
+ <reference ref="341515874"/>
+ </array>
+ <reference key="parent" ref="1006738540"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">249</int>
+ <reference key="object" ref="637701892"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="639734842"/>
+ </array>
+ <reference key="parent" ref="644721648"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">250</int>
+ <reference key="object" ref="639734842"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="604537169"/>
+ <reference ref="470251532"/>
+ <reference ref="30575616"/>
+ <reference ref="28013203"/>
+ <reference ref="416538861"/>
+ <reference ref="737187669"/>
+ <reference ref="152294097"/>
+ <reference ref="507655026"/>
+ <reference ref="1035429346"/>
+ <reference ref="299566195"/>
+ </array>
+ <reference key="parent" ref="637701892"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">360</int>
+ <reference key="object" ref="604537169"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="361458923"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">361</int>
+ <reference key="object" ref="470251532"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="656700384"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">366</int>
+ <reference key="object" ref="30575616"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="895842563"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">367</int>
+ <reference key="object" ref="28013203"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="646237192"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">376</int>
+ <reference key="object" ref="416538861"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="209939006"/>
+ <reference ref="128836592"/>
+ <reference ref="644754426"/>
+ <reference ref="548447063"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">377</int>
+ <reference key="object" ref="209939006"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="234886615"/>
+ <reference ref="214598876"/>
+ </array>
+ <reference key="parent" ref="416538861"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">378</int>
+ <reference key="object" ref="234886615"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="324020026"/>
+ </array>
+ <reference key="parent" ref="209939006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">387</int>
+ <reference key="object" ref="324020026"/>
+ <reference key="parent" ref="234886615"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">379</int>
+ <reference key="object" ref="214598876"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="826160026"/>
+ </array>
+ <reference key="parent" ref="209939006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">380</int>
+ <reference key="object" ref="737187669"/>
+ <array class="NSMutableArray" key="children"/>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">398</int>
+ <reference key="object" ref="152294097"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="688209869"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">399</int>
+ <reference key="object" ref="507655026"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="191024010"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">402</int>
+ <reference key="object" ref="1035429346"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="678112624"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">403</int>
+ <reference key="object" ref="299566195"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="760716940"/>
+ </array>
+ <reference key="parent" ref="639734842"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">251</int>
+ <reference key="object" ref="301669676"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="854750114"/>
+ </array>
+ <reference key="parent" ref="644721648"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">252</int>
+ <reference key="object" ref="854750114"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="803418548"/>
+ <reference ref="1023428307"/>
+ <reference ref="186449852"/>
+ <reference ref="445056641"/>
+ <reference ref="848268071"/>
+ <reference ref="299472703"/>
+ <reference ref="548001438"/>
+ <reference ref="198193797"/>
+ <reference ref="867143968"/>
+ <reference ref="114543662"/>
+ <reference ref="679224553"/>
+ <reference ref="1019553122"/>
+ </array>
+ <reference key="parent" ref="301669676"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">255</int>
+ <reference key="object" ref="803418548"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="960206382"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">256</int>
+ <reference key="object" ref="1023428307"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="874323760"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">265</int>
+ <reference key="object" ref="186449852"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="721914736"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">266</int>
+ <reference key="object" ref="445056641"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1051972028"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">270</int>
+ <reference key="object" ref="848268071"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="777783325"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">271</int>
+ <reference key="object" ref="299472703"/>
+ <array class="NSMutableArray" key="children"/>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">273</int>
+ <reference key="object" ref="548001438"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="873471934"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">274</int>
+ <reference key="object" ref="198193797"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="213114820"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">281</int>
+ <reference key="object" ref="867143968"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="465679605"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">288</int>
+ <reference key="object" ref="114543662"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="14328985"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">294</int>
+ <reference key="object" ref="679224553"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="537133846"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">310</int>
+ <reference key="object" ref="1019553122"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="392699757"/>
+ <reference ref="722307718"/>
+ <reference ref="772621236"/>
+ <reference ref="803957232"/>
+ </array>
+ <reference key="parent" ref="854750114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">311</int>
+ <reference key="object" ref="392699757"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="925696421"/>
+ <reference ref="108449693"/>
+ </array>
+ <reference key="parent" ref="1019553122"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">312</int>
+ <reference key="object" ref="925696421"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="907171440"/>
+ </array>
+ <reference key="parent" ref="392699757"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">313</int>
+ <reference key="object" ref="108449693"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="282094758"/>
+ </array>
+ <reference key="parent" ref="392699757"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">321</int>
+ <reference key="object" ref="282094758"/>
+ <reference key="parent" ref="108449693"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">253</int>
+ <reference key="object" ref="805145155"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="425526148"/>
+ </array>
+ <reference key="parent" ref="644721648"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">254</int>
+ <reference key="object" ref="425526148"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="801273994"/>
+ <reference ref="821770352"/>
+ <reference ref="846710279"/>
+ <reference ref="936527210"/>
+ <reference ref="293480414"/>
+ <reference ref="352565696"/>
+ </array>
+ <reference key="parent" ref="805145155"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">424</int>
+ <reference key="object" ref="801273994"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="124405559"/>
+ </array>
+ <reference key="parent" ref="425526148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">429</int>
+ <reference key="object" ref="821770352"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="635585675"/>
+ </array>
+ <reference key="parent" ref="425526148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">430</int>
+ <reference key="object" ref="846710279"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="271966601"/>
+ </array>
+ <reference key="parent" ref="425526148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">431</int>
+ <reference key="object" ref="936527210"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="600387788"/>
+ </array>
+ <reference key="parent" ref="425526148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">448</int>
+ <reference key="object" ref="293480414"/>
+ <array class="NSMutableArray" key="children"/>
+ <reference key="parent" ref="425526148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">450</int>
+ <reference key="object" ref="352565696"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1058080016"/>
+ <reference ref="626352804"/>
+ <reference ref="899917373"/>
+ </array>
+ <reference key="parent" ref="425526148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">451</int>
+ <reference key="object" ref="1058080016"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="104560874"/>
+ <reference ref="25394885"/>
+ </array>
+ <reference key="parent" ref="352565696"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">452</int>
+ <reference key="object" ref="104560874"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="493334896"/>
+ </array>
+ <reference key="parent" ref="1058080016"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">453</int>
+ <reference key="object" ref="25394885"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="376526475"/>
+ </array>
+ <reference key="parent" ref="1058080016"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">407</int>
+ <reference key="object" ref="206151473"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="103723724"/>
+ </array>
+ <reference key="parent" ref="644721648"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">408</int>
+ <reference key="object" ref="103723724"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="279154427"/>
+ <reference ref="927927578"/>
+ <reference ref="1042890665"/>
+ <reference ref="682296781"/>
+ <reference ref="80389755"/>
+ <reference ref="179085848"/>
+ </array>
+ <reference key="parent" ref="206151473"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">409</int>
+ <reference key="object" ref="279154427"/>
+ <reference key="parent" ref="103723724"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">410</int>
+ <reference key="object" ref="927927578"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="625781673"/>
+ </array>
+ <reference key="parent" ref="103723724"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">411</int>
+ <reference key="object" ref="1042890665"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="113061213"/>
+ </array>
+ <reference key="parent" ref="103723724"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">416</int>
+ <reference key="object" ref="682296781"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1014225370"/>
+ </array>
+ <reference key="parent" ref="103723724"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">420</int>
+ <reference key="object" ref="80389755"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="357183005"/>
+ </array>
+ <reference key="parent" ref="103723724"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">421</int>
+ <reference key="object" ref="179085848"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="319211686"/>
+ </array>
+ <reference key="parent" ref="103723724"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">29</int>
+ <reference key="object" ref="985818309"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="677671214"/>
+ <reference ref="718640928"/>
+ <reference ref="141310426"/>
+ <reference ref="250164583"/>
+ <reference ref="471057131"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">MainMenu</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">19</int>
+ <reference key="object" ref="677671214"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1036944217"/>
+ </array>
+ <reference key="parent" ref="985818309"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">24</int>
+ <reference key="object" ref="1036944217"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="709479120"/>
+ <reference ref="176418040"/>
+ <reference ref="829519296"/>
+ <reference ref="833041214"/>
+ </array>
+ <reference key="parent" ref="677671214"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="709479120"/>
+ <reference key="parent" ref="1036944217"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">23</int>
+ <reference key="object" ref="176418040"/>
+ <reference key="parent" ref="1036944217"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">92</int>
+ <reference key="object" ref="829519296"/>
+ <reference key="parent" ref="1036944217"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">239</int>
+ <reference key="object" ref="833041214"/>
+ <reference key="parent" ref="1036944217"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">56</int>
+ <reference key="object" ref="718640928"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="334835152"/>
+ </array>
+ <reference key="parent" ref="985818309"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">57</int>
+ <reference key="object" ref="334835152"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="824448059"/>
+ <reference ref="441187593"/>
+ <reference ref="75425932"/>
+ <reference ref="924050144"/>
+ <reference ref="1061266757"/>
+ <reference ref="516492413"/>
+ <reference ref="740657299"/>
+ <reference ref="640088582"/>
+ <reference ref="1035629316"/>
+ <reference ref="103269932"/>
+ <reference ref="164663327"/>
+ </array>
+ <reference key="parent" ref="718640928"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">58</int>
+ <reference key="object" ref="824448059"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">129</int>
+ <reference key="object" ref="441187593"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">131</int>
+ <reference key="object" ref="75425932"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="718887502"/>
+ </array>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">130</int>
+ <reference key="object" ref="718887502"/>
+ <reference key="parent" ref="75425932"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">134</int>
+ <reference key="object" ref="924050144"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">136</int>
+ <reference key="object" ref="1061266757"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">143</int>
+ <reference key="object" ref="516492413"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">144</int>
+ <reference key="object" ref="740657299"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">145</int>
+ <reference key="object" ref="640088582"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">149</int>
+ <reference key="object" ref="1035629316"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">150</int>
+ <reference key="object" ref="103269932"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">236</int>
+ <reference key="object" ref="164663327"/>
+ <reference key="parent" ref="334835152"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">83</int>
+ <reference key="object" ref="141310426"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="946423102"/>
+ </array>
+ <reference key="parent" ref="985818309"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">81</int>
+ <reference key="object" ref="946423102"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="739670817"/>
+ <reference ref="962434548"/>
+ <reference ref="1038134261"/>
+ <reference ref="932001322"/>
+ <reference ref="280140765"/>
+ <reference ref="460995318"/>
+ <reference ref="131606599"/>
+ <reference ref="1052462246"/>
+ <reference ref="395391345"/>
+ <reference ref="1038775041"/>
+ <reference ref="272198838"/>
+ </array>
+ <reference key="parent" ref="141310426"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">72</int>
+ <reference key="object" ref="739670817"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">73</int>
+ <reference key="object" ref="962434548"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">74</int>
+ <reference key="object" ref="1038134261"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">75</int>
+ <reference key="object" ref="932001322"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">77</int>
+ <reference key="object" ref="280140765"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">78</int>
+ <reference key="object" ref="460995318"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">79</int>
+ <reference key="object" ref="131606599"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">80</int>
+ <reference key="object" ref="1052462246"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">82</int>
+ <reference key="object" ref="395391345"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">112</int>
+ <reference key="object" ref="1038775041"/>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">124</int>
+ <reference key="object" ref="272198838"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="606750118"/>
+ </array>
+ <reference key="parent" ref="946423102"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">125</int>
+ <reference key="object" ref="606750118"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="430142160"/>
+ </array>
+ <reference key="parent" ref="272198838"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">126</int>
+ <reference key="object" ref="430142160"/>
+ <reference key="parent" ref="606750118"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">103</int>
+ <reference key="object" ref="250164583"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1058608410"/>
+ </array>
+ <reference key="parent" ref="985818309"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">106</int>
+ <reference key="object" ref="1058608410"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="563664873"/>
+ </array>
+ <reference key="parent" ref="250164583"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">111</int>
+ <reference key="object" ref="563664873"/>
+ <reference key="parent" ref="1058608410"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">217</int>
+ <reference key="object" ref="471057131"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="883281215"/>
+ </array>
+ <reference key="parent" ref="985818309"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">205</int>
+ <reference key="object" ref="883281215"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="190362399"/>
+ <reference ref="848176626"/>
+ <reference ref="89134411"/>
+ <reference ref="27756945"/>
+ <reference ref="944061161"/>
+ <reference ref="1030974022"/>
+ <reference ref="609227008"/>
+ <reference ref="236999817"/>
+ <reference ref="872585626"/>
+ <reference ref="64556550"/>
+ <reference ref="450567093"/>
+ <reference ref="613523294"/>
+ <reference ref="586425156"/>
+ </array>
+ <reference key="parent" ref="471057131"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">197</int>
+ <reference key="object" ref="190362399"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">198</int>
+ <reference key="object" ref="848176626"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">199</int>
+ <reference key="object" ref="89134411"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">202</int>
+ <reference key="object" ref="27756945"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">203</int>
+ <reference key="object" ref="944061161"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">206</int>
+ <reference key="object" ref="1030974022"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">207</int>
+ <reference key="object" ref="609227008"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">211</int>
+ <reference key="object" ref="236999817"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="317192418"/>
+ </array>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">212</int>
+ <reference key="object" ref="317192418"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="63041679"/>
+ <reference ref="1070789972"/>
+ </array>
+ <reference key="parent" ref="236999817"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">195</int>
+ <reference key="object" ref="63041679"/>
+ <reference key="parent" ref="317192418"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">196</int>
+ <reference key="object" ref="1070789972"/>
+ <reference key="parent" ref="317192418"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">214</int>
+ <reference key="object" ref="872585626"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">215</int>
+ <reference key="object" ref="64556550"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">216</int>
+ <reference key="object" ref="450567093"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="759043215"/>
+ </array>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">200</int>
+ <reference key="object" ref="759043215"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="556128115"/>
+ <reference ref="753598553"/>
+ <reference ref="644053629"/>
+ </array>
+ <reference key="parent" ref="450567093"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">201</int>
+ <reference key="object" ref="556128115"/>
+ <reference key="parent" ref="759043215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">204</int>
+ <reference key="object" ref="753598553"/>
+ <reference key="parent" ref="759043215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">219</int>
+ <reference key="object" ref="644053629"/>
+ <reference key="parent" ref="759043215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">218</int>
+ <reference key="object" ref="613523294"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1515871"/>
+ </array>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">220</int>
+ <reference key="object" ref="1515871"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="792228336"/>
+ <reference ref="739763715"/>
+ <reference ref="779751270"/>
+ <reference ref="835718921"/>
+ <reference ref="533142018"/>
+ </array>
+ <reference key="parent" ref="613523294"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">208</int>
+ <reference key="object" ref="792228336"/>
+ <reference key="parent" ref="1515871"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">209</int>
+ <reference key="object" ref="739763715"/>
+ <reference key="parent" ref="1515871"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">210</int>
+ <reference key="object" ref="779751270"/>
+ <reference key="parent" ref="1515871"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">213</int>
+ <reference key="object" ref="835718921"/>
+ <reference key="parent" ref="1515871"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">221</int>
+ <reference key="object" ref="533142018"/>
+ <reference key="parent" ref="1515871"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">246</int>
+ <reference key="object" ref="586425156"/>
+ <reference key="parent" ref="883281215"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">261</int>
+ <reference key="object" ref="883305570"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">DeviceTestController</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">262</int>
+ <reference key="object" ref="99488775"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Mice</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">314</int>
+ <reference key="object" ref="72508071"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">MouseButtons</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">322</int>
+ <reference key="object" ref="1034941619"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">BoolFormatter</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">344</int>
+ <reference key="object" ref="630057591"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">MousePaneController</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">359</int>
+ <reference key="object" ref="752502322"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">JoystickPaneController</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">368</int>
+ <reference key="object" ref="891320766"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Joysticks</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">382</int>
+ <reference key="object" ref="761638104"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">JoystickButtons</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">406</int>
+ <reference key="object" ref="441492835"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">AppleRemotePaneController</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">423</int>
+ <reference key="object" ref="98452829"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">KeyboardPaneController</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">432</int>
+ <reference key="object" ref="438538984"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Keyboards</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">455</int>
+ <reference key="object" ref="306908374"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">KeyboardEvents</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">462</int>
+ <reference key="object" ref="361458923"/>
+ <reference key="parent" ref="604537169"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">463</int>
+ <reference key="object" ref="656700384"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="794327235"/>
+ </array>
+ <reference key="parent" ref="470251532"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">464</int>
+ <reference key="object" ref="895842563"/>
+ <reference key="parent" ref="30575616"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">465</int>
+ <reference key="object" ref="646237192"/>
+ <reference key="parent" ref="28013203"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">466</int>
+ <reference key="object" ref="688209869"/>
+ <reference key="parent" ref="152294097"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">467</int>
+ <reference key="object" ref="191024010"/>
+ <reference key="parent" ref="507655026"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">468</int>
+ <reference key="object" ref="678112624"/>
+ <reference key="parent" ref="1035429346"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">469</int>
+ <reference key="object" ref="760716940"/>
+ <reference key="parent" ref="299566195"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">470</int>
+ <reference key="object" ref="960206382"/>
+ <reference key="parent" ref="803418548"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">471</int>
+ <reference key="object" ref="874323760"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="70472645"/>
+ </array>
+ <reference key="parent" ref="1023428307"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">472</int>
+ <reference key="object" ref="721914736"/>
+ <reference key="parent" ref="186449852"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">473</int>
+ <reference key="object" ref="1051972028"/>
+ <reference key="parent" ref="445056641"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">474</int>
+ <reference key="object" ref="777783325"/>
+ <reference key="parent" ref="848268071"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">475</int>
+ <reference key="object" ref="873471934"/>
+ <reference key="parent" ref="548001438"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">476</int>
+ <reference key="object" ref="213114820"/>
+ <reference key="parent" ref="198193797"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">477</int>
+ <reference key="object" ref="465679605"/>
+ <reference key="parent" ref="867143968"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">478</int>
+ <reference key="object" ref="14328985"/>
+ <reference key="parent" ref="114543662"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">479</int>
+ <reference key="object" ref="537133846"/>
+ <reference key="parent" ref="679224553"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">480</int>
+ <reference key="object" ref="124405559"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="17814120"/>
+ </array>
+ <reference key="parent" ref="801273994"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">481</int>
+ <reference key="object" ref="635585675"/>
+ <reference key="parent" ref="821770352"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">482</int>
+ <reference key="object" ref="271966601"/>
+ <reference key="parent" ref="846710279"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">483</int>
+ <reference key="object" ref="600387788"/>
+ <reference key="parent" ref="936527210"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">484</int>
+ <reference key="object" ref="625781673"/>
+ <reference key="parent" ref="927927578"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">485</int>
+ <reference key="object" ref="113061213"/>
+ <reference key="parent" ref="1042890665"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">486</int>
+ <reference key="object" ref="1014225370"/>
+ <reference key="parent" ref="682296781"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">487</int>
+ <reference key="object" ref="357183005"/>
+ <reference key="parent" ref="80389755"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">488</int>
+ <reference key="object" ref="319211686"/>
+ <reference key="parent" ref="179085848"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">489</int>
+ <reference key="object" ref="826160026"/>
+ <reference key="parent" ref="214598876"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">490</int>
+ <reference key="object" ref="907171440"/>
+ <reference key="parent" ref="925696421"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">491</int>
+ <reference key="object" ref="493334896"/>
+ <reference key="parent" ref="104560874"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">492</int>
+ <reference key="object" ref="376526475"/>
+ <reference key="parent" ref="25394885"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">362</int>
+ <reference key="object" ref="794327235"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="642014613"/>
+ <reference ref="424623477"/>
+ <reference ref="563627306"/>
+ </array>
+ <reference key="parent" ref="656700384"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">365</int>
+ <reference key="object" ref="642014613"/>
+ <reference key="parent" ref="794327235"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">364</int>
+ <reference key="object" ref="424623477"/>
+ <reference key="parent" ref="794327235"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">363</int>
+ <reference key="object" ref="563627306"/>
+ <reference key="parent" ref="794327235"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">257</int>
+ <reference key="object" ref="70472645"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="821687636"/>
+ <reference ref="554006839"/>
+ <reference ref="781805482"/>
+ </array>
+ <reference key="parent" ref="874323760"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">260</int>
+ <reference key="object" ref="821687636"/>
+ <reference key="parent" ref="70472645"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">259</int>
+ <reference key="object" ref="554006839"/>
+ <reference key="parent" ref="70472645"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">258</int>
+ <reference key="object" ref="781805482"/>
+ <reference key="parent" ref="70472645"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">425</int>
+ <reference key="object" ref="17814120"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="882835994"/>
+ <reference ref="296793368"/>
+ <reference ref="157934231"/>
+ </array>
+ <reference key="parent" ref="124405559"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">428</int>
+ <reference key="object" ref="882835994"/>
+ <reference key="parent" ref="17814120"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">427</int>
+ <reference key="object" ref="296793368"/>
+ <reference key="parent" ref="17814120"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">426</int>
+ <reference key="object" ref="157934231"/>
+ <reference key="parent" ref="17814120"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">493</int>
+ <reference key="object" ref="128836592"/>
+ <reference key="parent" ref="416538861"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">494</int>
+ <reference key="object" ref="644754426"/>
+ <reference key="parent" ref="416538861"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">495</int>
+ <reference key="object" ref="548447063"/>
+ <reference key="parent" ref="416538861"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">496</int>
+ <reference key="object" ref="722307718"/>
+ <reference key="parent" ref="1019553122"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">497</int>
+ <reference key="object" ref="772621236"/>
+ <reference key="parent" ref="1019553122"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">498</int>
+ <reference key="object" ref="803957232"/>
+ <reference key="parent" ref="1019553122"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">499</int>
+ <reference key="object" ref="626352804"/>
+ <reference key="parent" ref="352565696"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">500</int>
+ <reference key="object" ref="899917373"/>
+ <reference key="parent" ref="352565696"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="426702588"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">381</int>
+ <reference key="object" ref="1024145421"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">272</int>
+ <reference key="object" ref="408097814"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">449</int>
+ <reference key="object" ref="897756721"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">501</int>
+ <reference key="object" ref="131495452"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">AppleMikeyPaneController</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">502</int>
+ <reference key="object" ref="414111609"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">mikeys</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">503</int>
+ <reference key="object" ref="189836260"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">mikeyEvents</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">506</int>
+ <reference key="object" ref="341515874"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="348322794"/>
+ </array>
+ <reference key="parent" ref="644721648"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">507</int>
+ <reference key="object" ref="348322794"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="198711655"/>
+ <reference ref="533537148"/>
+ <reference ref="417902156"/>
+ <reference ref="648226226"/>
+ <reference ref="775775215"/>
+ <reference ref="969348819"/>
+ </array>
+ <reference key="parent" ref="341515874"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">513</int>
+ <reference key="object" ref="198711655"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="646203599"/>
+ </array>
+ <reference key="parent" ref="348322794"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">512</int>
+ <reference key="object" ref="533537148"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1028846042"/>
+ </array>
+ <reference key="parent" ref="348322794"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">509</int>
+ <reference key="object" ref="648226226"/>
+ <reference key="parent" ref="348322794"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">508</int>
+ <reference key="object" ref="969348819"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="6762116"/>
+ <reference ref="388049267"/>
+ <reference ref="524946031"/>
+ </array>
+ <reference key="parent" ref="348322794"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">524</int>
+ <reference key="object" ref="6762116"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1010687613"/>
+ <reference ref="762433403"/>
+ </array>
+ <reference key="parent" ref="969348819"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">523</int>
+ <reference key="object" ref="388049267"/>
+ <reference key="parent" ref="969348819"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">522</int>
+ <reference key="object" ref="524946031"/>
+ <reference key="parent" ref="969348819"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">526</int>
+ <reference key="object" ref="1010687613"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="373004376"/>
+ </array>
+ <reference key="parent" ref="6762116"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">525</int>
+ <reference key="object" ref="762433403"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="258874923"/>
+ </array>
+ <reference key="parent" ref="6762116"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">528</int>
+ <reference key="object" ref="258874923"/>
+ <reference key="parent" ref="762433403"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">527</int>
+ <reference key="object" ref="373004376"/>
+ <reference key="parent" ref="1010687613"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">519</int>
+ <reference key="object" ref="1028846042"/>
+ <reference key="parent" ref="533537148"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">514</int>
+ <reference key="object" ref="646203599"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1033926023"/>
+ </array>
+ <reference key="parent" ref="198711655"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">515</int>
+ <reference key="object" ref="1033926023"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="799967634"/>
+ <reference ref="209592817"/>
+ <reference ref="1019206975"/>
+ </array>
+ <reference key="parent" ref="646203599"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">518</int>
+ <reference key="object" ref="799967634"/>
+ <reference key="parent" ref="1033926023"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">517</int>
+ <reference key="object" ref="209592817"/>
+ <reference key="parent" ref="1033926023"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">516</int>
+ <reference key="object" ref="1019206975"/>
+ <reference key="parent" ref="1033926023"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">510</int>
+ <reference key="object" ref="417902156"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="839783436"/>
+ </array>
+ <reference key="parent" ref="348322794"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">521</int>
+ <reference key="object" ref="839783436"/>
+ <reference key="parent" ref="417902156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">511</int>
+ <reference key="object" ref="775775215"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="60166265"/>
+ </array>
+ <reference key="parent" ref="348322794"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">520</int>
+ <reference key="object" ref="60166265"/>
+ <reference key="parent" ref="775775215"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="103.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="106.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="111.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="112.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="124.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="125.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="126.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="129.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="130.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="149.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="150.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="195.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="196.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="197.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="200.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="204.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="207.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="208.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="210.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="211.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="212.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="213.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="214.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="215.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="216.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="217.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="218.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="219.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="220.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="221.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="236.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="246.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="248.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="249.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="250.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="251.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="252.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="253.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="254.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="255.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="256.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="257.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="258.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="259.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="260.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="261.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="262.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="265.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="266.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="270.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="271.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="272.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="273.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="274.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="281.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="288.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="294.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="310.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="311.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="312.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="313.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="314.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="321.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="322.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="344.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="359.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="360.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="361.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="362.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="363.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="364.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="365.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="366.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="367.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="368.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="376.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="377.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="378.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="379.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="380.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="381.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="382.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="387.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="398.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="399.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="402.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="403.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="406.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="407.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="408.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="409.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="410.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="411.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="416.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="420.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="421.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="423.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="424.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="425.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="426.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="427.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="428.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="429.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="430.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="431.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="432.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="448.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="449.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="450.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="451.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="452.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="453.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="455.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="462.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="463.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="464.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="465.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="466.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="467.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="468.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="469.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="470.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="471.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="472.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="473.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="474.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="475.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="476.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="477.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="478.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="479.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="480.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="481.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="482.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="483.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="484.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="485.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="486.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="487.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="488.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="489.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="490.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="491.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="492.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="493.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="494.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="495.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="496.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="497.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="498.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="499.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="500.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="501.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="502.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="503.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="506.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="507.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="508.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="509.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="510.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="511.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="512.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="513.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="514.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <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="518.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="519.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="520.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="521.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="522.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="523.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="524.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="525.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="526.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="527.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="528.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="74.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="75.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="77.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="78.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="79.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="80.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="81.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="82.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">544</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">AppleMikeyPaneController</string>
+ <string key="superclassName">NSObject</string>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="mMikeysController">NSArrayController</string>
+ <string key="mMikeysEventsController">NSArrayController</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="mMikeysController">
+ <string key="name">mMikeysController</string>
+ <string key="candidateClassName">NSArrayController</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="mMikeysEventsController">
+ <string key="name">mMikeysEventsController</string>
+ <string key="candidateClassName">NSArrayController</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AppleMikeyPaneController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">AppleRemotePaneController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">toggleListening:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">toggleListening:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">toggleListening:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="mFeedbackText">NSTextField</string>
+ <string key="mFeedbackView">RemoteFeedbackView</string>
+ <string key="mStartStopButton">NSButton</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="mFeedbackText">
+ <string key="name">mFeedbackText</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="mFeedbackView">
+ <string key="name">mFeedbackView</string>
+ <string key="candidateClassName">RemoteFeedbackView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="mStartStopButton">
+ <string key="name">mStartStopButton</string>
+ <string key="candidateClassName">NSButton</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AppleRemotePaneController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">BoolFormatter</string>
+ <string key="superclassName">NSFormatter</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/BoolFormatter.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">DeviceTestController</string>
+ <string key="superclassName">NSObject</string>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="mMousePaneController">MousePaneController</string>
+ <string key="mWindow">NSWindow</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="mMousePaneController">
+ <string key="name">mMousePaneController</string>
+ <string key="candidateClassName">MousePaneController</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="mWindow">
+ <string key="name">mWindow</string>
+ <string key="candidateClassName">NSWindow</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/DeviceTestController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">JoystickPaneController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">mJoysticksController</string>
+ <string key="NS.object.0">NSArrayController</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">mJoysticksController</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">mJoysticksController</string>
+ <string key="candidateClassName">NSArrayController</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/JoystickPaneController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">KeyboardPaneController</string>
+ <string key="superclassName">NSObject</string>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="mKeyboardEventsController">NSArrayController</string>
+ <string key="mKeyboardsController">NSArrayController</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="mKeyboardEventsController">
+ <string key="name">mKeyboardEventsController</string>
+ <string key="candidateClassName">NSArrayController</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="mKeyboardsController">
+ <string key="name">mKeyboardsController</string>
+ <string key="candidateClassName">NSArrayController</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/KeyboardPaneController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">MousePaneController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">mMiceController</string>
+ <string key="NS.object.0">NSArrayController</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">mMiceController</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">mMiceController</string>
+ <string key="candidateClassName">NSArrayController</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/MousePaneController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">RemoteFeedbackView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/RemoteFeedbackView.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1070" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="NSMenuCheckmark">{11, 11}</string>
+ <string key="NSMenuMixedState">{10, 3}</string>
+ </dictionary>
+ </data>
+</archive>
diff --git a/device_test/English.lproj/MainMenu.nib/keyedobjects.nib b/device_test/English.lproj/MainMenu.nib/keyedobjects.nib
new file mode 100644
index 0000000..8158386
--- /dev/null
+++ b/device_test/English.lproj/MainMenu.nib/keyedobjects.nib
Binary files differ
diff --git a/device_test/Info.plist b/device_test/Info.plist
new file mode 100644
index 0000000..db90f92
--- /dev/null
+++ b/device_test/Info.plist
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.dribin.dave.ddhidlib.HIDDeviceTest</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>${CURRENT_PROJECT_VERSION}</string>
+ <key>CFBundleShortVersionString</key>
+ <string>${CURRENT_MARKETING_VERSION}</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/device_test/JoystickPaneController.h b/device_test/JoystickPaneController.h
new file mode 100644
index 0000000..38015d0
--- /dev/null
+++ b/device_test/JoystickPaneController.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+#import "DDHidLib.h"
+
+
+@interface JoystickPaneController : NSObject
+{
+ IBOutlet NSArrayController * mJoysticksController;
+
+ NSArray * mJoysticks;
+ NSMutableArray * mJoystickButtons;
+ int mXAxis;
+ int mYAxis;
+ unsigned mJoystickIndex;
+
+ // Don't retain these
+ DDHidJoystick * mCurrentJoystick;
+}
+
+- (NSArray *) joysticks;
+
+- (NSArray *) joystickButtons;
+
+- (unsigned) joystickIndex;
+- (void) setJoystickIndex: (unsigned) theJoystickIndex;
+
+- (int) xAxis;
+- (int) yAxis;
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ xChanged: (int) value;
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ yChanged: (int) value;
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ otherAxis: (unsigned) otherAxis
+ valueChanged: (int) value;
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ buttonDown: (unsigned) buttonNumber;
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ buttonUp: (unsigned) buttonNumber;
+
+@end
diff --git a/device_test/JoystickPaneController.m b/device_test/JoystickPaneController.m
new file mode 100644
index 0000000..52dd949
--- /dev/null
+++ b/device_test/JoystickPaneController.m
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "JoystickPaneController.h"
+#import "DDHidJoystick.h"
+#import "ButtonState.h"
+
+@interface JoystickPaneController (Private)
+
+- (void) setJoysticks: (NSArray *) theJoysticks;
+
+@end
+
+@implementation JoystickPaneController
+
+- (void) awakeFromNib;
+{
+ NSArray * joysticks = [DDHidJoystick allJoysticks];
+
+ mJoystickButtons = [[NSMutableArray alloc] init];
+ [joysticks makeObjectsPerformSelector: @selector(setDelegate:)
+ withObject: self];
+ [self setJoysticks: joysticks];
+ if ([mJoysticks count] > 0)
+ [self setJoystickIndex: 0];
+ else
+ [self setJoystickIndex: NSNotFound];
+}
+
+//===========================================================
+// joysticks
+//===========================================================
+- (NSArray *) joysticks
+{
+ return mJoysticks;
+}
+
+- (NSArray *) joystickButtons;
+{
+ return mJoystickButtons;
+}
+
+//===========================================================
+// joystickIndex
+//===========================================================
+- (unsigned) joystickIndex
+{
+ return mJoystickIndex;
+}
+
+- (void) setJoystickIndex: (unsigned) theJoystickIndex
+{
+ if (mCurrentJoystick != nil)
+ {
+ [mCurrentJoystick stopListening];
+ mCurrentJoystick = nil;
+ }
+ mJoystickIndex = theJoystickIndex;
+ [mJoysticksController setSelectionIndex: mJoystickIndex];
+ if (mJoystickIndex != NSNotFound)
+ {
+ mCurrentJoystick = [mJoysticks objectAtIndex: mJoystickIndex];
+ [mCurrentJoystick startListening];
+
+ [self willChangeValueForKey: @"joystickButtons"];
+ [mJoystickButtons removeAllObjects];
+ NSArray * buttons = [mCurrentJoystick buttonElements];
+ NSEnumerator * e = [buttons objectEnumerator];
+ DDHidElement * element;
+ while (element = [e nextObject])
+ {
+ ButtonState * state = [[ButtonState alloc] initWithName: [[element usage] usageName]];
+ [state autorelease];
+ [mJoystickButtons addObject: state];
+ }
+ [self didChangeValueForKey: @"joystickButtons"];
+ }
+}
+
+- (int) xAxis;
+{
+ return mXAxis;
+}
+
+- (int) yAxis;
+{
+ return mYAxis;
+}
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ xChanged: (int) value;
+{
+ [self willChangeValueForKey: @"xAxis"];
+ mXAxis = value;
+ [self didChangeValueForKey: @"xAxis"];
+}
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ yChanged: (int) value;
+{
+ [self willChangeValueForKey: @"yAxis"];
+ mYAxis = value;
+ [self didChangeValueForKey: @"yAxis"];
+}
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ otherAxis: (unsigned) otherAxis
+ valueChanged: (int) value;
+{
+ // Somehow display values here
+ NSLog(@"Stick: %d, other axis: %d, changed: %d", stick, otherAxis, value);
+}
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ stick: (unsigned) stick
+ povNumber: (unsigned) povNumber
+ valueChanged: (int) value;
+{
+ // Somehow display values here
+ NSLog(@"Stick: %d, POV number: %d, changed: %d", stick, povNumber, value);
+}
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ buttonDown: (unsigned) buttonNumber;
+{
+ ButtonState * state = [mJoystickButtons objectAtIndex: buttonNumber];
+ [state setPressed: YES];
+}
+
+- (void) ddhidJoystick: (DDHidJoystick *) joystick
+ buttonUp: (unsigned) buttonNumber;
+{
+ ButtonState * state = [mJoystickButtons objectAtIndex: buttonNumber];
+ [state setPressed: NO];
+}
+
+@end
+
+@implementation JoystickPaneController (Private)
+
+- (void) setJoysticks: (NSArray *) theJoysticks
+{
+ if (mJoysticks != theJoysticks)
+ {
+ [mJoysticks release];
+ mJoysticks = [theJoysticks retain];
+ }
+}
+
+@end
diff --git a/device_test/KeyboardPaneController.h b/device_test/KeyboardPaneController.h
new file mode 100644
index 0000000..b42db30
--- /dev/null
+++ b/device_test/KeyboardPaneController.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
+@class DDHidKeyboard;
+
+@interface KeyboardPaneController : NSObject
+{
+ IBOutlet NSArrayController * mKeyboardsController;
+ IBOutlet NSArrayController * mKeyboardEventsController;
+
+ NSArray * mKeyboards;
+ unsigned mKeyboardIndex;
+ NSMutableArray * mEvents;
+
+ // Don't retain these
+ DDHidKeyboard * mCurrentKeyboard;
+}
+
+- (NSArray *) keyboards;
+- (void) setKeyboards: (NSArray *) theKeyboards;
+
+- (unsigned) keyboardIndex;
+- (void) setKeyboardIndex: (unsigned) theKeyboardIndex;
+
+- (NSMutableArray *) events;
+- (void) setEvents: (NSMutableArray *) theEvents;
+- (void) addEvent: (id)theEvent;
+- (void) removeEvent: (id)theEvent;
+
+@end
+
+@interface KeyboardPaneController (DDHidKeyboardDelegate)
+
+- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
+ keyDown: (unsigned) usageId;
+
+- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
+ keyUp: (unsigned) usageId;
+
+@end
diff --git a/device_test/KeyboardPaneController.m b/device_test/KeyboardPaneController.m
new file mode 100644
index 0000000..1f8730e
--- /dev/null
+++ b/device_test/KeyboardPaneController.m
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "KeyboardPaneController.h"
+#import "DDHidLib.h"
+#include <IOKit/hid/IOHIDUsageTables.h>
+
+@interface KeyboardPaneController (Private)
+
+- (void) addEvent: (NSString *) event usageId: (unsigned) usageId;
+
+@end
+
+@implementation KeyboardPaneController
+
+- (id) init;
+{
+ self = [super init];
+ if (self == nil)
+ return nil;
+
+ mEvents = [[NSMutableArray alloc] init];
+
+ return self;
+}
+
+- (void) awakeFromNib;
+{
+ NSArray * keyboards = [DDHidKeyboard allKeyboards];
+
+ [keyboards makeObjectsPerformSelector: @selector(setDelegate:)
+ withObject: self];
+ [self setKeyboards: keyboards];
+
+ if ([keyboards count] > 0)
+ [self setKeyboardIndex: 0];
+ else
+ [self setKeyboardIndex: NSNotFound];
+}
+
+//===========================================================
+// dealloc
+//===========================================================
+- (void) dealloc
+{
+ [mKeyboards release];
+ [mEvents release];
+
+ mKeyboards = nil;
+ mEvents = nil;
+ [super dealloc];
+}
+
+//===========================================================
+// keyboards
+//===========================================================
+- (NSArray *) keyboards
+{
+ return mKeyboards;
+}
+
+- (void) setKeyboards: (NSArray *) theKeyboards
+{
+ if (mKeyboards != theKeyboards)
+ {
+ [mKeyboards release];
+ mKeyboards = [theKeyboards retain];
+ }
+}
+//===========================================================
+// keyboardIndex
+//===========================================================
+- (unsigned) keyboardIndex
+{
+ return mKeyboardIndex;
+}
+
+- (void) setKeyboardIndex: (unsigned) theKeyboardIndex
+{
+ if (mCurrentKeyboard != nil)
+ {
+ [mCurrentKeyboard stopListening];
+ mCurrentKeyboard = nil;
+ }
+ mKeyboardIndex = theKeyboardIndex;
+ [mKeyboardsController setSelectionIndex: mKeyboardIndex];
+ [self willChangeValueForKey: @"events"];
+ [mEvents removeAllObjects];
+ [self didChangeValueForKey: @"events"];
+ if (mKeyboardIndex != NSNotFound)
+ {
+ mCurrentKeyboard = [mKeyboards objectAtIndex: mKeyboardIndex];
+ [mCurrentKeyboard startListening];
+ }
+}
+
+//===========================================================
+// events
+//===========================================================
+- (NSMutableArray *) events
+{
+ return mEvents;
+}
+
+- (void) setEvents: (NSMutableArray *) theEvents
+{
+ if (mEvents != theEvents)
+ {
+ [mEvents release];
+ mEvents = [theEvents retain];
+ }
+}
+- (void) addEvent: (id)theEvent
+{
+ [[self events] addObject: theEvent];
+}
+- (void) removeEvent: (id)theEvent
+{
+ [[self events] removeObject: theEvent];
+}
+
+
+@end
+
+@implementation KeyboardPaneController (DDHidKeyboardDelegate)
+
+- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
+ keyDown: (unsigned) usageId;
+{
+ [self addEvent: @"Key Down" usageId: usageId];
+}
+
+- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
+ keyUp: (unsigned) usageId;
+{
+ [self addEvent: @"Key Up" usageId: usageId];
+}
+
+@end
+
+@implementation KeyboardPaneController (Private)
+
+- (void) addEvent: (NSString *) event usageId: (unsigned) usageId;
+{
+ DDHidUsageTables * usageTables = [DDHidUsageTables standardUsageTables];
+ NSString * description = [NSString stringWithFormat: @"%@ (0x%04X)",
+ [usageTables descriptionForUsagePage: kHIDPage_KeyboardOrKeypad
+ usage: usageId],
+ usageId];
+
+ NSMutableDictionary * row = [mKeyboardEventsController newObject];
+ [row setObject: event forKey: @"event"];
+ [row setObject: description forKey: @"description"];
+ [mKeyboardEventsController addObject: row];
+}
+
+@end
+
diff --git a/device_test/MousePaneController.h b/device_test/MousePaneController.h
new file mode 100644
index 0000000..031aae1
--- /dev/null
+++ b/device_test/MousePaneController.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+@class DDHidQueue;
+@class DDHidMouse;
+
+@interface MousePaneController : NSObject
+{
+ IBOutlet NSArrayController * mMiceController;
+ NSArray * mMice;
+ DDHidMouse * mCurrentMouse;
+
+ unsigned mMouseIndex;
+ int mMouseX;
+ int mMouseY;
+ int mMouseWheel;
+ NSMutableArray * mMouseButtons;
+}
+
+- (BOOL) no;
+
+- (NSArray *) mice;
+- (void) setMice: (NSArray *) newMice;
+
+- (NSArray *) mouseButtons;
+
+- (unsigned) mouseIndex;
+- (void) setMouseIndex: (unsigned) theMouseIndex;
+
+- (int) maxValue;
+
+- (int) mouseX;
+
+- (int) mouseY;
+
+- (int) mouseWheel;
+
+- (void) ddhidMouse: (DDHidMouse *) mouse xChanged: (SInt32) deltaX;
+- (void) ddhidMouse: (DDHidMouse *) mouse yChanged: (SInt32) deltaY;
+- (void) ddhidMouse: (DDHidMouse *) mouse wheelChanged: (SInt32) deltaWheel;
+
+- (void) ddhidMouse: (DDHidMouse *) mouse buttonDown: (unsigned) buttonNumber;
+- (void) ddhidMouse: (DDHidMouse *) mouse buttonUp: (unsigned) buttonNumber;
+
+@end
diff --git a/device_test/MousePaneController.m b/device_test/MousePaneController.m
new file mode 100644
index 0000000..74f1590
--- /dev/null
+++ b/device_test/MousePaneController.m
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import "MousePaneController.h"
+#import "DDHidLib.h"
+#import "ButtonState.h"
+
+
+@interface MousePaneController (Private)
+
+- (void) setMouseX: (int) mouseX;
+- (void) setMouseY: (int) mouseY;
+- (void) setMouseWheel: (int) mouseWheel;
+
+@end
+
+@implementation MousePaneController
+
+static int sMaxValue = 2500;
+
+static int applyDelta(int current, int delta)
+{
+ int newValue = (current + delta) % sMaxValue;
+ if (newValue < 0)
+ newValue = sMaxValue + newValue;
+ return newValue;
+}
+
+- (void) awakeFromNib;
+{
+ mCurrentMouse = 0;
+ mMouseButtons = [[NSMutableArray alloc] init];
+
+ NSArray * mice = [DDHidMouse allMice];
+ [mice makeObjectsPerformSelector: @selector(setDelegate:)
+ withObject: self];
+ [self setMice: mice];
+ [self setMouseIndex: 0];
+}
+
+//===========================================================
+// mice
+//===========================================================
+- (NSArray *) mice
+{
+ return mMice;
+}
+
+- (void) setMice: (NSArray *) theMice
+{
+ if (mMice != theMice)
+ {
+ [mMice release];
+ mMice = [theMice retain];
+ }
+}
+
+- (NSArray *) mouseButtons;
+{
+ return mMouseButtons;
+}
+
+- (BOOL) no;
+{
+ return NO;
+}
+
+//===========================================================
+// - mouseIndex
+//===========================================================
+- (unsigned) mouseIndex
+{
+ return mMouseIndex;
+}
+
+//===========================================================
+// - setMouseIndex:
+//===========================================================
+- (void) setMouseIndex: (unsigned) theMouseIndex
+{
+ if (mCurrentMouse != nil)
+ {
+ [mCurrentMouse stopListening];
+ mCurrentMouse = nil;
+ }
+ mMouseIndex = theMouseIndex;
+ [mMiceController setSelectionIndex: mMouseIndex];
+ if (mMouseIndex != NSNotFound)
+ {
+ mCurrentMouse = [mMice objectAtIndex: mMouseIndex];
+ [mCurrentMouse startListening];
+ [self setMouseX: sMaxValue/2];
+ [self setMouseY: sMaxValue/2];
+ [self setMouseWheel: sMaxValue/2];
+
+ [self willChangeValueForKey: @"mouseButtons"];
+ [mMouseButtons removeAllObjects];
+ NSArray * buttons = [mCurrentMouse buttonElements];
+ NSEnumerator * e = [buttons objectEnumerator];
+ DDHidElement * element;
+ while (element = [e nextObject])
+ {
+ ButtonState * state = [[ButtonState alloc] initWithName: [[element usage] usageName]];
+ [state autorelease];
+ [mMouseButtons addObject: state];
+ }
+ [self didChangeValueForKey: @"mouseButtons"];
+ }
+}
+
+- (int) maxValue;
+{
+ return sMaxValue;
+}
+
+//===========================================================
+// - mouseX
+//===========================================================
+- (int) mouseX
+{
+ return mMouseX;
+}
+
+//===========================================================
+// - mouseY
+//===========================================================
+- (int) mouseY
+{
+ return mMouseY;
+}
+
+//===========================================================
+// - mouseWheel
+//===========================================================
+- (int) mouseWheel
+{
+ return mMouseWheel;
+}
+
+- (void) ddhidMouse: (DDHidMouse *) mouse xChanged: (SInt32) deltaX;
+{
+ [self setMouseX: applyDelta(mMouseX, deltaX)];
+}
+
+- (void) ddhidMouse: (DDHidMouse *) mouse yChanged: (SInt32) deltaY;
+{
+ [self setMouseY: applyDelta(mMouseY, deltaY)];
+}
+
+- (void) ddhidMouse: (DDHidMouse *) mouse wheelChanged: (SInt32) deltaWheel;
+{
+ // Some wheels only output -1 or +1, some output a more analog value.
+ // Normalize wheel to -1%/+1% movement.
+ deltaWheel = (deltaWheel/abs(deltaWheel))*(sMaxValue/100);
+ [self setMouseWheel: applyDelta(mMouseWheel, deltaWheel)];
+}
+
+- (void) ddhidMouse: (DDHidMouse *) mouse buttonDown: (unsigned) buttonNumber;
+{
+ ButtonState * state = [mMouseButtons objectAtIndex: buttonNumber];
+ [state setPressed: YES];
+}
+
+- (void) ddhidMouse: (DDHidMouse *) mouse buttonUp: (unsigned) buttonNumber;
+{
+ ButtonState * state = [mMouseButtons objectAtIndex: buttonNumber];
+ [state setPressed: NO];
+}
+
+@end
+
+@implementation MousePaneController (Private)
+
+- (void) setMouseX: (int) mouseX;
+{
+ mMouseX = mouseX;
+}
+
+- (void) setMouseY: (int) mouseY;
+{
+ mMouseY = mouseY;
+}
+
+- (void) setMouseWheel: (int) mouseWheel;
+{
+ mMouseWheel = mouseWheel;
+}
+
+@end
+
diff --git a/device_test/RemoteFeedbackView.h b/device_test/RemoteFeedbackView.h
new file mode 100644
index 0000000..767e5d6
--- /dev/null
+++ b/device_test/RemoteFeedbackView.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+// Based on Martin Kahr's Apple Remote wrapper
+// http://www.martinkahr.com/source-code/
+
+#import <Cocoa/Cocoa.h>
+#import "DDHidAppleRemote.h"
+
+@interface RemoteFeedbackView : NSView
+{
+ NSImage* remoteImage;
+ DDHidAppleRemoteEventIdentifier lastButtonIdentifier;
+ BOOL drawn;
+ BOOL clearAfterDraw;
+}
+
+- (void) ddhidAppleRemoteButton: (DDHidAppleRemoteEventIdentifier)buttonIdentifier
+ pressedDown: (BOOL) pressedDown;
+
+@end
diff --git a/device_test/RemoteFeedbackView.m b/device_test/RemoteFeedbackView.m
new file mode 100644
index 0000000..acfdf3c
--- /dev/null
+++ b/device_test/RemoteFeedbackView.m
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+// Based on Martin Kahr's Apple Remote wrapper
+// http://www.martinkahr.com/source-code/
+
+#import "RemoteFeedbackView.h"
+
+@implementation RemoteFeedbackView
+
+- (id)initWithFrame:(NSRect)frameRect
+{
+ if ((self = [super initWithFrame:frameRect]) != nil) {
+ remoteImage = [[NSImage imageNamed:@"AppleRemote"] retain];
+ lastButtonIdentifier = -1;
+ }
+ return self;
+}
+
+- (void) dealloc {
+
+ [remoteImage release];
+ [super dealloc];
+}
+
+- (void) clearAfterRedraw: (id) sender
+{
+ clearAfterDraw = NO;
+ [self ddhidAppleRemoteButton: lastButtonIdentifier pressedDown: NO];
+}
+
+- (void) ddhidAppleRemoteButton: (DDHidAppleRemoteEventIdentifier)buttonIdentifier
+ pressedDown: (BOOL) pressedDown;
+{
+
+ clearAfterDraw = NO;
+
+ if (pressedDown) {
+ lastButtonIdentifier = buttonIdentifier;
+ } else {
+ if (drawn)
+ lastButtonIdentifier = -1;
+ else {
+ lastButtonIdentifier = buttonIdentifier;
+ clearAfterDraw = YES;
+ }
+ }
+
+ drawn = NO;
+ [self setNeedsDisplay:YES];
+}
+
+- (void)drawRect:(NSRect)rect
+{
+ drawn = YES;
+ NSRect imageRect;
+ NSRect drawingRect;
+ imageRect.origin = NSZeroPoint;
+ imageRect.size = [remoteImage size];
+
+ int x = ([self bounds].size.width - [remoteImage size].width)/2;
+ int y = ([self bounds].size.height - [remoteImage size].height)/2;
+
+ drawingRect.origin = NSMakePoint(x, y);
+ drawingRect.size = imageRect.size;
+
+ [remoteImage drawInRect: drawingRect
+ fromRect: imageRect
+ operation: NSCompositeSourceOver
+ fraction: 1.0];
+
+
+ if (lastButtonIdentifier == -1) {
+ return;
+ }
+
+ DDHidAppleRemoteEventIdentifier buttonToSelect = lastButtonIdentifier;
+
+ NSPoint buttonPos;
+ float opacity = 0.5;
+
+ switch(buttonToSelect) {
+ case kDDHidRemoteButtonVolume_Plus:
+ buttonPos.x = 53;
+ buttonPos.y = 240;
+ break;
+ case kDDHidRemoteButtonVolume_Minus:
+ buttonPos.x = 53;
+ buttonPos.y = 180;
+ break;
+ case kDDHidRemoteButtonMenu_Hold:
+ opacity = 0.8;
+ case kDDHidRemoteButtonMenu:
+ buttonPos.x = 53;
+ buttonPos.y = 137;
+ clearAfterDraw = YES;
+ break;
+ case kDDHidRemoteButtonPlay_Sleep:
+ opacity = 0.8;
+ case kDDHidRemoteButtonPlay:
+ buttonPos.x = 53;
+ buttonPos.y = 210;
+ clearAfterDraw = YES;
+ break;
+ case kDDHidRemoteButtonRight_Hold:
+ opacity = 0.8;
+ buttonPos.x = 83;
+ buttonPos.y = 210;
+ break;
+ case kDDHidRemoteButtonRight:
+ buttonPos.x = 83;
+ buttonPos.y = 210;
+ clearAfterDraw = YES;
+ break;
+ case kDDHidRemoteButtonLeft_Hold:
+ opacity = 0.8;
+ buttonPos.x = 23;
+ buttonPos.y = 210;
+ break;
+ case kDDHidRemoteButtonLeft:
+ buttonPos.x = 23;
+ buttonPos.y = 210;
+ clearAfterDraw = YES;
+ break;
+ default:
+ break;
+ }
+
+ float width = 20.0;
+ float height= 20.0;
+ NSRect r = NSMakeRect(buttonPos.x + x - (width/2), buttonPos.y + y - (height/2), width, height);
+ NSBezierPath* bp = [NSBezierPath bezierPathWithOvalInRect:r];
+
+ [[NSColor colorWithCalibratedRed:1.0 green:0.0 blue:0.0 alpha:opacity] set];
+ [bp fill];
+ if (clearAfterDraw) {
+ [self performSelector:@selector(clearAfterRedraw:) withObject:self afterDelay:0.1];
+ }
+}
+
+@end
diff --git a/device_test/main.m b/device_test/main.m
new file mode 100644
index 0000000..f05b99f
--- /dev/null
+++ b/device_test/main.m
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2007 Dave Dribin
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+int main(int argc, char *argv[])
+{
+ return NSApplicationMain(argc, (const char **) argv);
+}