Added a BLIP port of Apple's "CocoaEcho" sample code.
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/BLIP/BLIP.h Sat May 24 21:26:09 2008 -0700
1.3 @@ -0,0 +1,12 @@
1.4 +//
1.5 +// BLIP.h
1.6 +// MYNetwork
1.7 +//
1.8 +// Created by Jens Alfke on 5/24/08.
1.9 +// Copyright 2008 __MyCompanyName__. All rights reserved.
1.10 +//
1.11 +
1.12 +#import "BLIPConnection.h"
1.13 +#import "BLIPDispatcher.h"
1.14 +#import "BLIPRequest.h"
1.15 +#import "BLIPProperties.h"
2.1 --- a/BLIP/BLIPConnection.h Sat May 24 17:25:06 2008 -0700
2.2 +++ b/BLIP/BLIPConnection.h Sat May 24 21:26:09 2008 -0700
2.3 @@ -57,8 +57,10 @@
2.4
2.5
2.6 /** The delegate messages that BLIPConnection will send,
2.7 - in addition to the ones inherited from TCPConnectionDelegate. */
2.8 + in addition to the ones inherited from TCPConnectionDelegate.
2.9 + All methods are optional. */
2.10 @protocol BLIPConnectionDelegate <TCPConnectionDelegate>
2.11 +@optional
2.12
2.13 /** Called when a BLIPRequest is received from the peer, if there is no BLIPDispatcher
2.14 rule to handle it.
2.15 @@ -68,10 +70,8 @@
2.16 to prevent this, call -deferResponse on the request if you want to send a response later. */
2.17 - (void) connection: (BLIPConnection*)connection receivedRequest: (BLIPRequest*)request;
2.18
2.19 -@optional
2.20 /** Called when a BLIPResponse (to one of your requests) is received from the peer.
2.21 - This is called <i>after</i> the response object's onComplete target, if any, is invoked.
2.22 - (This method is optional.) */
2.23 + This is called <i>after</i> the response object's onComplete target, if any, is invoked.*/
2.24 - (void) connection: (BLIPConnection*)connection receivedResponse: (BLIPResponse*)response;
2.25 @end
2.26
3.1 --- a/BLIP/BLIPMessage.h Sat May 24 17:25:06 2008 -0700
3.2 +++ b/BLIP/BLIPMessage.h Sat May 24 21:26:09 2008 -0700
3.3 @@ -82,6 +82,10 @@
3.4 /** Appends data to the body. */
3.5 - (void) addToBody: (NSData*)data;
3.6
3.7 +/** The message body as an NSString.
3.8 + The UTF-8 character encoding is used to convert. */
3.9 +@property (copy) NSString *bodyString;
3.10 +
3.11 #pragma mark PROPERTIES:
3.12
3.13 /** The message's properties, a dictionary-like object.
4.1 --- a/BLIP/BLIPMessage.m Sat May 24 17:25:06 2008 -0700
4.2 +++ b/BLIP/BLIPMessage.m Sat May 24 21:26:09 2008 -0700
4.3 @@ -144,6 +144,22 @@
4.4 }
4.5
4.6
4.7 +- (NSString*) bodyString
4.8 +{
4.9 + NSData *body = self.body;
4.10 + if( body )
4.11 + return [[[NSString alloc] initWithData: body encoding: NSUTF8StringEncoding] autorelease];
4.12 + else
4.13 + return nil;
4.14 +}
4.15 +
4.16 +- (void) setBodyString: (NSString*)string
4.17 +{
4.18 + self.body = [string dataUsingEncoding: NSUTF8StringEncoding];
4.19 + self.contentType = @"text/plain; charset=UTF-8";
4.20 +}
4.21 +
4.22 +
4.23 - (BLIPProperties*) properties
4.24 {
4.25 return _properties;
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/BLIP/Demo/BLIP Echo Client-Info.plist Sat May 24 21:26:09 2008 -0700
5.3 @@ -0,0 +1,24 @@
5.4 +<?xml version="1.0" encoding="UTF-8"?>
5.5 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
5.6 +<plist version="1.0">
5.7 +<dict>
5.8 + <key>CFBundleDevelopmentRegion</key>
5.9 + <string>English</string>
5.10 + <key>CFBundleExecutable</key>
5.11 + <string>${EXECUTABLE_NAME}</string>
5.12 + <key>CFBundleIdentifier</key>
5.13 + <string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
5.14 + <key>CFBundleInfoDictionaryVersion</key>
5.15 + <string>6.0</string>
5.16 + <key>CFBundlePackageType</key>
5.17 + <string>APPL</string>
5.18 + <key>CFBundleSignature</key>
5.19 + <string>????</string>
5.20 + <key>CFBundleVersion</key>
5.21 + <string>1.0</string>
5.22 + <key>NSMainNibFile</key>
5.23 + <string>BLIPEchoClient</string>
5.24 + <key>NSPrincipalClass</key>
5.25 + <string>NSApplication</string>
5.26 +</dict>
5.27 +</plist>
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/BLIP/Demo/BLIPEchoClient.h Sat May 24 21:26:09 2008 -0700
6.3 @@ -0,0 +1,30 @@
6.4 +//
6.5 +// BLIPEchoClient.h
6.6 +// MYNetwork
6.7 +//
6.8 +// Created by Jens Alfke on 5/24/08.
6.9 +// Copyright 2008 Jens Alfke. All rights reserved.
6.10 +// Adapted from Apple sample code "CocoaEcho".
6.11 +//
6.12 +
6.13 +#import <Cocoa/Cocoa.h>
6.14 +@class BLIPConnection;
6.15 +
6.16 +
6.17 +@interface BLIPEchoClient : NSObject
6.18 +{
6.19 + IBOutlet NSTextField * inputField;
6.20 + IBOutlet NSTextField * responseField;
6.21 + IBOutlet NSTableView * serverTableView;
6.22 +
6.23 + NSNetServiceBrowser * _serviceBrowser;
6.24 + NSMutableArray * _serviceList;
6.25 + NSNetService *_resolvingService;
6.26 + BLIPConnection *_connection;
6.27 +}
6.28 +
6.29 +@property (readonly) NSMutableArray *serviceList;
6.30 +
6.31 +- (IBAction)sendText:(id)sender;
6.32 +
6.33 +@end
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/BLIP/Demo/BLIPEchoClient.m Sat May 24 21:26:09 2008 -0700
7.3 @@ -0,0 +1,136 @@
7.4 +//
7.5 +// BLIPEchoClient.m
7.6 +// MYNetwork
7.7 +//
7.8 +// Created by Jens Alfke on 5/24/08.
7.9 +// Copyright 2008 Jens Alfke. All rights reserved.
7.10 +// Adapted from Apple sample code "CocoaEcho".
7.11 +//
7.12 +
7.13 +#import "BLIPEchoClient.h"
7.14 +#import "BLIP.h"
7.15 +#import "IPAddress.h"
7.16 +#import "Target.h"
7.17 +
7.18 +
7.19 +@implementation BLIPEchoClient
7.20 +
7.21 +@synthesize serviceList=_serviceList;
7.22 +
7.23 +- (void)awakeFromNib
7.24 +{
7.25 + _serviceBrowser = [[NSNetServiceBrowser alloc] init];
7.26 + _serviceList = [[NSMutableArray alloc] init];
7.27 + [_serviceBrowser setDelegate:self];
7.28 +
7.29 + [_serviceBrowser searchForServicesOfType:@"_blipecho._tcp." inDomain:@""];
7.30 +}
7.31 +
7.32 +#pragma mark -
7.33 +#pragma mark BLIPConnection support
7.34 +
7.35 +- (void)openConnection: (IPAddress*)address
7.36 +{
7.37 + _connection = [[BLIPConnection alloc] initToAddress: address];
7.38 + [_connection open];
7.39 +}
7.40 +
7.41 +- (void)closeConnection
7.42 +{
7.43 + [_connection close];
7.44 + [_connection release];
7.45 + _connection = nil;
7.46 +}
7.47 +
7.48 +#pragma mark -
7.49 +#pragma mark NSNetServiceBrowser delegate methods
7.50 +
7.51 +// We broadcast the willChangeValueForKey: and didChangeValueForKey: for the NSTableView binding to work.
7.52 +
7.53 +- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService *)aNetService moreComing:(BOOL)moreComing {
7.54 + if (![_serviceList containsObject:aNetService]) {
7.55 + [self willChangeValueForKey:@"serviceList"];
7.56 + [_serviceList addObject:aNetService];
7.57 + [self didChangeValueForKey:@"serviceList"];
7.58 + }
7.59 +}
7.60 +
7.61 +- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didRemoveService:(NSNetService *)aNetService moreComing:(BOOL)moreComing {
7.62 + if ([_serviceList containsObject:aNetService]) {
7.63 + [self willChangeValueForKey:@"serviceList"];
7.64 + [_serviceList removeObject:aNetService];
7.65 + [self didChangeValueForKey:@"serviceList"];
7.66 + }
7.67 +}
7.68 +
7.69 +#pragma mark -
7.70 +#pragma mark NSNetService delegate methods
7.71 +
7.72 +- (void)stopResolving
7.73 +{
7.74 + if( _resolvingService ) {
7.75 + _resolvingService.delegate = nil;
7.76 + [_resolvingService stop];
7.77 + [_resolvingService release];
7.78 + _resolvingService = nil;
7.79 + }
7.80 +}
7.81 +
7.82 +- (void)startResolving: (NSNetService*)service
7.83 +{
7.84 + [self stopResolving];
7.85 + _resolvingService = [service retain];
7.86 + _resolvingService.delegate = self;
7.87 + [_resolvingService resolveWithTimeout: 5.0];
7.88 +
7.89 +}
7.90 +
7.91 +- (void)netServiceDidResolveAddress:(NSNetService *)sender
7.92 +{
7.93 + if( sender == _resolvingService ) {
7.94 + NSArray *addresses = _resolvingService.addresses;
7.95 + if( addresses.count > 0 ) {
7.96 + NSData *addressData = [addresses objectAtIndex: 0];
7.97 + IPAddress *address = [[IPAddress alloc] initWithSockAddr: addressData.bytes];
7.98 + [self openConnection: address];
7.99 + [address release];
7.100 + }
7.101 + [self stopResolving];
7.102 + }
7.103 +}
7.104 +
7.105 +#pragma mark -
7.106 +#pragma mark GUI action methods
7.107 +
7.108 +- (IBAction)serverClicked:(id)sender {
7.109 + NSTableView * table = (NSTableView *)sender;
7.110 + int selectedRow = [table selectedRow];
7.111 +
7.112 + [self closeConnection];
7.113 + [self stopResolving];
7.114 +
7.115 + if (-1 != selectedRow) {
7.116 + [self startResolving: [_serviceList objectAtIndex:selectedRow]];
7.117 + }
7.118 +}
7.119 +
7.120 +- (IBAction)sendText:(id)sender
7.121 +{
7.122 + BLIPRequest *r = [_connection requestWithBody: nil];
7.123 + r.bodyString = [sender stringValue];
7.124 + BLIPResponse *response = [r send];
7.125 + response.onComplete = $target(self,gotResponse:);
7.126 +}
7.127 +
7.128 +- (void) gotResponse: (BLIPResponse*)response
7.129 +{
7.130 + [responseField setObjectValue: response.bodyString];
7.131 +}
7.132 +
7.133 +
7.134 +@end
7.135 +
7.136 +int main(int argc, char *argv[])
7.137 +{
7.138 + return NSApplicationMain(argc, (const char **) argv);
7.139 +}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/BLIP/Demo/BLIPEchoClient.xib Sat May 24 21:26:09 2008 -0700
8.3 @@ -0,0 +1,2176 @@
8.4 +<?xml version="1.0" encoding="UTF-8"?>
8.5 +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02">
8.6 + <data>
8.7 + <int key="IBDocument.SystemTarget">1050</int>
8.8 + <string key="IBDocument.SystemVersion">9C7010</string>
8.9 + <string key="IBDocument.InterfaceBuilderVersion">658</string>
8.10 + <string key="IBDocument.AppKitVersion">949.26</string>
8.11 + <string key="IBDocument.HIToolboxVersion">352.00</string>
8.12 + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
8.13 + <bool key="EncodedWithXMLCoder">YES</bool>
8.14 + <integer value="21"/>
8.15 + <integer value="29"/>
8.16 + </object>
8.17 + <object class="NSArray" key="IBDocument.PluginDependencies">
8.18 + <bool key="EncodedWithXMLCoder">YES</bool>
8.19 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.20 + </object>
8.21 + <object class="NSMutableArray" key="IBDocument.RootObjects" id="81650750">
8.22 + <bool key="EncodedWithXMLCoder">YES</bool>
8.23 + <object class="NSCustomObject" id="568359733">
8.24 + <object class="NSMutableString" key="NSClassName">
8.25 + <characters key="NS.bytes">NSApplication</characters>
8.26 + </object>
8.27 + </object>
8.28 + <object class="NSCustomObject" id="685609397">
8.29 + <string key="NSClassName">FirstResponder</string>
8.30 + </object>
8.31 + <object class="NSCustomObject" id="685333307">
8.32 + <string key="NSClassName">NSApplication</string>
8.33 + </object>
8.34 + <object class="NSWindowTemplate" id="49403084">
8.35 + <int key="NSWindowStyleMask">5</int>
8.36 + <int key="NSWindowBacking">2</int>
8.37 + <string key="NSWindowRect">{{372, 467}, {529, 256}}</string>
8.38 + <int key="NSWTFlags">1886912512</int>
8.39 + <string key="NSWindowTitle">Echo client</string>
8.40 + <string key="NSWindowClass">NSWindow</string>
8.41 + <object class="NSMutableString" key="NSViewClass">
8.42 + <characters key="NS.bytes">View</characters>
8.43 + </object>
8.44 + <string key="NSWindowContentMinSize">{213, 107}</string>
8.45 + <object class="NSView" key="NSWindowView" id="707481179">
8.46 + <reference key="NSNextResponder"/>
8.47 + <int key="NSvFlags">256</int>
8.48 + <object class="NSMutableArray" key="NSSubviews">
8.49 + <bool key="EncodedWithXMLCoder">YES</bool>
8.50 + <object class="NSScrollView" id="107293221">
8.51 + <reference key="NSNextResponder" ref="707481179"/>
8.52 + <int key="NSvFlags">256</int>
8.53 + <object class="NSMutableArray" key="NSSubviews">
8.54 + <bool key="EncodedWithXMLCoder">YES</bool>
8.55 + <object class="NSClipView" id="541931154">
8.56 + <reference key="NSNextResponder" ref="107293221"/>
8.57 + <int key="NSvFlags">2304</int>
8.58 + <object class="NSMutableArray" key="NSSubviews">
8.59 + <bool key="EncodedWithXMLCoder">YES</bool>
8.60 + <object class="NSTableView" id="670064340">
8.61 + <reference key="NSNextResponder" ref="541931154"/>
8.62 + <int key="NSvFlags">256</int>
8.63 + <string key="NSFrameSize">{191, 183}</string>
8.64 + <reference key="NSSuperview" ref="541931154"/>
8.65 + <bool key="NSEnabled">YES</bool>
8.66 + <object class="NSTableHeaderView" key="NSHeaderView" id="470642343">
8.67 + <reference key="NSNextResponder" ref="881113449"/>
8.68 + <int key="NSvFlags">256</int>
8.69 + <string key="NSFrameSize">{191, 17}</string>
8.70 + <reference key="NSSuperview" ref="881113449"/>
8.71 + <reference key="NSTableView" ref="670064340"/>
8.72 + </object>
8.73 + <object class="_NSCornerView" key="NSCornerView" id="596079724">
8.74 + <reference key="NSNextResponder" ref="107293221"/>
8.75 + <int key="NSvFlags">256</int>
8.76 + <string key="NSFrame">{{192, 0}, {16, 17}}</string>
8.77 + <reference key="NSSuperview" ref="107293221"/>
8.78 + </object>
8.79 + <object class="NSMutableArray" key="NSTableColumns">
8.80 + <bool key="EncodedWithXMLCoder">YES</bool>
8.81 + <object class="NSTableColumn" id="77123075">
8.82 + <string key="NSIdentifier">serverName</string>
8.83 + <double key="NSWidth">1.878271e+02</double>
8.84 + <double key="NSMinWidth">7.482715e+01</double>
8.85 + <double key="NSMaxWidth">1.000000e+03</double>
8.86 + <object class="NSTableHeaderCell" key="NSHeaderCell">
8.87 + <int key="NSCellFlags">75628032</int>
8.88 + <int key="NSCellFlags2">0</int>
8.89 + <string key="NSContents">Echo servers</string>
8.90 + <object class="NSFont" key="NSSupport" id="26">
8.91 + <string key="NSName">LucidaGrande</string>
8.92 + <double key="NSSize">1.100000e+01</double>
8.93 + <int key="NSfFlags">3100</int>
8.94 + </object>
8.95 + <object class="NSColor" key="NSBackgroundColor">
8.96 + <int key="NSColorSpace">3</int>
8.97 + <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
8.98 + </object>
8.99 + <object class="NSColor" key="NSTextColor">
8.100 + <int key="NSColorSpace">6</int>
8.101 + <string key="NSCatalogName">System</string>
8.102 + <string key="NSColorName">headerTextColor</string>
8.103 + <object class="NSColor" key="NSColor" id="643036323">
8.104 + <int key="NSColorSpace">3</int>
8.105 + <bytes key="NSWhite">MAA</bytes>
8.106 + </object>
8.107 + </object>
8.108 + </object>
8.109 + <object class="NSTextFieldCell" key="NSDataCell" id="173085971">
8.110 + <int key="NSCellFlags">337772096</int>
8.111 + <int key="NSCellFlags2">2048</int>
8.112 + <object class="NSFont" key="NSSupport" id="343719836">
8.113 + <string key="NSName">LucidaGrande</string>
8.114 + <double key="NSSize">1.300000e+01</double>
8.115 + <int key="NSfFlags">1044</int>
8.116 + </object>
8.117 + <reference key="NSControlView" ref="670064340"/>
8.118 + <object class="NSColor" key="NSBackgroundColor" id="673261562">
8.119 + <int key="NSColorSpace">6</int>
8.120 + <string key="NSCatalogName">System</string>
8.121 + <string key="NSColorName">controlBackgroundColor</string>
8.122 + <object class="NSColor" key="NSColor" id="347027145">
8.123 + <int key="NSColorSpace">3</int>
8.124 + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
8.125 + </object>
8.126 + </object>
8.127 + <object class="NSColor" key="NSTextColor" id="940877632">
8.128 + <int key="NSColorSpace">6</int>
8.129 + <string key="NSCatalogName">System</string>
8.130 + <string key="NSColorName">controlTextColor</string>
8.131 + <reference key="NSColor" ref="643036323"/>
8.132 + </object>
8.133 + </object>
8.134 + <int key="NSResizingMask">3</int>
8.135 + <bool key="NSIsResizeable">YES</bool>
8.136 + <bool key="NSIsEditable">YES</bool>
8.137 + <reference key="NSTableView" ref="670064340"/>
8.138 + </object>
8.139 + </object>
8.140 + <double key="NSIntercellSpacingWidth">3.000000e+00</double>
8.141 + <double key="NSIntercellSpacingHeight">2.000000e+00</double>
8.142 + <object class="NSColor" key="NSBackgroundColor" id="115570364">
8.143 + <int key="NSColorSpace">3</int>
8.144 + <bytes key="NSWhite">MQA</bytes>
8.145 + </object>
8.146 + <object class="NSColor" key="NSGridColor">
8.147 + <int key="NSColorSpace">6</int>
8.148 + <string key="NSCatalogName">System</string>
8.149 + <string key="NSColorName">gridColor</string>
8.150 + <object class="NSColor" key="NSColor">
8.151 + <int key="NSColorSpace">3</int>
8.152 + <bytes key="NSWhite">MC41AA</bytes>
8.153 + </object>
8.154 + </object>
8.155 + <double key="NSRowHeight">1.700000e+01</double>
8.156 + <int key="NSTvFlags">-700448768</int>
8.157 + <int key="NSColumnAutoresizingStyle">4</int>
8.158 + <int key="NSDraggingSourceMaskForLocal">15</int>
8.159 + <int key="NSDraggingSourceMaskForNonLocal">0</int>
8.160 + <bool key="NSAllowsTypeSelect">YES</bool>
8.161 + </object>
8.162 + </object>
8.163 + <string key="NSFrame">{{1, 17}, {191, 183}}</string>
8.164 + <reference key="NSSuperview" ref="107293221"/>
8.165 + <reference key="NSNextKeyView" ref="670064340"/>
8.166 + <reference key="NSDocView" ref="670064340"/>
8.167 + <reference key="NSBGColor" ref="673261562"/>
8.168 + <int key="NScvFlags">4</int>
8.169 + </object>
8.170 + <object class="NSScroller" id="958315114">
8.171 + <reference key="NSNextResponder" ref="107293221"/>
8.172 + <int key="NSvFlags">256</int>
8.173 + <string key="NSFrame">{{192, 17}, {15, 183}}</string>
8.174 + <reference key="NSSuperview" ref="107293221"/>
8.175 + <reference key="NSTarget" ref="107293221"/>
8.176 + <string key="NSAction">_doScroller:</string>
8.177 + <double key="NSPercent">9.631579e-01</double>
8.178 + </object>
8.179 + <object class="NSScroller" id="573168767">
8.180 + <reference key="NSNextResponder" ref="107293221"/>
8.181 + <int key="NSvFlags">256</int>
8.182 + <string key="NSFrame">{{1, 200}, {191, 15}}</string>
8.183 + <reference key="NSSuperview" ref="107293221"/>
8.184 + <int key="NSsFlags">1</int>
8.185 + <reference key="NSTarget" ref="107293221"/>
8.186 + <string key="NSAction">_doScroller:</string>
8.187 + <double key="NSPercent">9.904762e-01</double>
8.188 + </object>
8.189 + <object class="NSClipView" id="881113449">
8.190 + <reference key="NSNextResponder" ref="107293221"/>
8.191 + <int key="NSvFlags">2304</int>
8.192 + <object class="NSMutableArray" key="NSSubviews">
8.193 + <bool key="EncodedWithXMLCoder">YES</bool>
8.194 + <reference ref="470642343"/>
8.195 + </object>
8.196 + <string key="NSFrame">{{1, 0}, {191, 17}}</string>
8.197 + <reference key="NSSuperview" ref="107293221"/>
8.198 + <reference key="NSNextKeyView" ref="470642343"/>
8.199 + <reference key="NSDocView" ref="470642343"/>
8.200 + <reference key="NSBGColor" ref="673261562"/>
8.201 + <int key="NScvFlags">4</int>
8.202 + </object>
8.203 + <reference ref="596079724"/>
8.204 + </object>
8.205 + <string key="NSFrame">{{20, 20}, {208, 216}}</string>
8.206 + <reference key="NSSuperview" ref="707481179"/>
8.207 + <reference key="NSNextKeyView" ref="541931154"/>
8.208 + <int key="NSsFlags">50</int>
8.209 + <reference key="NSVScroller" ref="958315114"/>
8.210 + <reference key="NSHScroller" ref="573168767"/>
8.211 + <reference key="NSContentView" ref="541931154"/>
8.212 + <reference key="NSHeaderClipView" ref="881113449"/>
8.213 + <reference key="NSCornerView" ref="596079724"/>
8.214 + <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
8.215 + </object>
8.216 + <object class="NSTextField" id="692869434">
8.217 + <reference key="NSNextResponder" ref="707481179"/>
8.218 + <int key="NSvFlags">256</int>
8.219 + <string key="NSFrame">{{236, 143}, {273, 93}}</string>
8.220 + <reference key="NSSuperview" ref="707481179"/>
8.221 + <bool key="NSEnabled">YES</bool>
8.222 + <object class="NSTextFieldCell" key="NSCell" id="364162739">
8.223 + <int key="NSCellFlags">-1804468671</int>
8.224 + <int key="NSCellFlags2">272630784</int>
8.225 + <string key="NSContents"/>
8.226 + <reference key="NSSupport" ref="343719836"/>
8.227 + <reference key="NSControlView" ref="692869434"/>
8.228 + <bool key="NSDrawsBackground">YES</bool>
8.229 + <object class="NSColor" key="NSBackgroundColor" id="241742447">
8.230 + <int key="NSColorSpace">6</int>
8.231 + <string key="NSCatalogName">System</string>
8.232 + <string key="NSColorName">textBackgroundColor</string>
8.233 + <reference key="NSColor" ref="115570364"/>
8.234 + </object>
8.235 + <object class="NSColor" key="NSTextColor" id="726041091">
8.236 + <int key="NSColorSpace">6</int>
8.237 + <string key="NSCatalogName">System</string>
8.238 + <string key="NSColorName">textColor</string>
8.239 + <reference key="NSColor" ref="643036323"/>
8.240 + </object>
8.241 + </object>
8.242 + </object>
8.243 + <object class="NSTextField" id="764371910">
8.244 + <reference key="NSNextResponder" ref="707481179"/>
8.245 + <int key="NSvFlags">256</int>
8.246 + <string key="NSFrame">{{236, 20}, {273, 93}}</string>
8.247 + <reference key="NSSuperview" ref="707481179"/>
8.248 + <bool key="NSEnabled">YES</bool>
8.249 + <object class="NSTextFieldCell" key="NSCell" id="617761818">
8.250 + <int key="NSCellFlags">-2072904127</int>
8.251 + <int key="NSCellFlags2">272630784</int>
8.252 + <string key="NSContents"/>
8.253 + <reference key="NSSupport" ref="343719836"/>
8.254 + <reference key="NSControlView" ref="764371910"/>
8.255 + <bool key="NSDrawsBackground">YES</bool>
8.256 + <reference key="NSBackgroundColor" ref="241742447"/>
8.257 + <reference key="NSTextColor" ref="726041091"/>
8.258 + </object>
8.259 + </object>
8.260 + <object class="NSTextField" id="66637806">
8.261 + <reference key="NSNextResponder" ref="707481179"/>
8.262 + <int key="NSvFlags">256</int>
8.263 + <string key="NSFrame">{{233, 121}, {59, 14}}</string>
8.264 + <reference key="NSSuperview" ref="707481179"/>
8.265 + <bool key="NSEnabled">YES</bool>
8.266 + <object class="NSTextFieldCell" key="NSCell" id="149094482">
8.267 + <int key="NSCellFlags">67239424</int>
8.268 + <int key="NSCellFlags2">272629760</int>
8.269 + <string key="NSContents">Response:</string>
8.270 + <reference key="NSSupport" ref="26"/>
8.271 + <reference key="NSControlView" ref="66637806"/>
8.272 + <object class="NSColor" key="NSBackgroundColor">
8.273 + <int key="NSColorSpace">6</int>
8.274 + <string key="NSCatalogName">System</string>
8.275 + <string key="NSColorName">controlColor</string>
8.276 + <reference key="NSColor" ref="347027145"/>
8.277 + </object>
8.278 + <reference key="NSTextColor" ref="940877632"/>
8.279 + </object>
8.280 + </object>
8.281 + </object>
8.282 + <string key="NSFrameSize">{529, 256}</string>
8.283 + <reference key="NSSuperview"/>
8.284 + </object>
8.285 + <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
8.286 + <string key="NSMinSize">{213, 129}</string>
8.287 + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
8.288 + </object>
8.289 + <object class="NSMenu" id="200148102">
8.290 + <string key="NSTitle">MainMenu</string>
8.291 + <object class="NSMutableArray" key="NSMenuItems">
8.292 + <bool key="EncodedWithXMLCoder">YES</bool>
8.293 + <object class="NSMenuItem" id="456098562">
8.294 + <reference key="NSMenu" ref="200148102"/>
8.295 + <string key="NSTitle">CocoaEchoClient</string>
8.296 + <string key="NSKeyEquiv"/>
8.297 + <int key="NSKeyEquivModMask">1048576</int>
8.298 + <int key="NSMnemonicLoc">2147483647</int>
8.299 + <object class="NSCustomResource" key="NSOnImage" id="181824414">
8.300 + <string key="NSClassName">NSImage</string>
8.301 + <string key="NSResourceName">NSMenuCheckmark</string>
8.302 + </object>
8.303 + <object class="NSCustomResource" key="NSMixedImage" id="606137440">
8.304 + <string key="NSClassName">NSImage</string>
8.305 + <string key="NSResourceName">NSMenuMixedState</string>
8.306 + </object>
8.307 + <string key="NSAction">submenuAction:</string>
8.308 + <object class="NSMenu" key="NSSubmenu" id="697640916">
8.309 + <string key="NSTitle">CocoaEchoClient</string>
8.310 + <object class="NSMutableArray" key="NSMenuItems">
8.311 + <bool key="EncodedWithXMLCoder">YES</bool>
8.312 + <object class="NSMenuItem" id="251996201">
8.313 + <reference key="NSMenu" ref="697640916"/>
8.314 + <string key="NSTitle">About CocoaEchoClient</string>
8.315 + <string key="NSKeyEquiv"/>
8.316 + <int key="NSMnemonicLoc">2147483647</int>
8.317 + <reference key="NSOnImage" ref="181824414"/>
8.318 + <reference key="NSMixedImage" ref="606137440"/>
8.319 + </object>
8.320 + <object class="NSMenuItem" id="149048707">
8.321 + <reference key="NSMenu" ref="697640916"/>
8.322 + <bool key="NSIsDisabled">YES</bool>
8.323 + <bool key="NSIsSeparator">YES</bool>
8.324 + <string key="NSTitle"/>
8.325 + <string key="NSKeyEquiv"/>
8.326 + <int key="NSKeyEquivModMask">1048576</int>
8.327 + <int key="NSMnemonicLoc">2147483647</int>
8.328 + <reference key="NSOnImage" ref="181824414"/>
8.329 + <reference key="NSMixedImage" ref="606137440"/>
8.330 + </object>
8.331 + <object class="NSMenuItem" id="1003582342">
8.332 + <reference key="NSMenu" ref="697640916"/>
8.333 + <string type="base64-UTF8" key="NSTitle">UHJlZmVyZW5jZXPigKY</string>
8.334 + <string key="NSKeyEquiv">,</string>
8.335 + <int key="NSKeyEquivModMask">1048576</int>
8.336 + <int key="NSMnemonicLoc">2147483647</int>
8.337 + <reference key="NSOnImage" ref="181824414"/>
8.338 + <reference key="NSMixedImage" ref="606137440"/>
8.339 + </object>
8.340 + <object class="NSMenuItem" id="838744712">
8.341 + <reference key="NSMenu" ref="697640916"/>
8.342 + <bool key="NSIsDisabled">YES</bool>
8.343 + <bool key="NSIsSeparator">YES</bool>
8.344 + <string key="NSTitle"/>
8.345 + <string key="NSKeyEquiv"/>
8.346 + <int key="NSKeyEquivModMask">1048576</int>
8.347 + <int key="NSMnemonicLoc">2147483647</int>
8.348 + <reference key="NSOnImage" ref="181824414"/>
8.349 + <reference key="NSMixedImage" ref="606137440"/>
8.350 + </object>
8.351 + <object class="NSMenuItem" id="654403859">
8.352 + <reference key="NSMenu" ref="697640916"/>
8.353 + <string key="NSTitle">Services</string>
8.354 + <string key="NSKeyEquiv"/>
8.355 + <int key="NSKeyEquivModMask">1048576</int>
8.356 + <int key="NSMnemonicLoc">2147483647</int>
8.357 + <reference key="NSOnImage" ref="181824414"/>
8.358 + <reference key="NSMixedImage" ref="606137440"/>
8.359 + <string key="NSAction">submenuAction:</string>
8.360 + <object class="NSMenu" key="NSSubmenu" id="401470722">
8.361 + <object class="NSMutableString" key="NSTitle">
8.362 + <characters key="NS.bytes">Services</characters>
8.363 + </object>
8.364 + <object class="NSMutableArray" key="NSMenuItems">
8.365 + <bool key="EncodedWithXMLCoder">YES</bool>
8.366 + </object>
8.367 + <string key="NSName">_NSServicesMenu</string>
8.368 + </object>
8.369 + </object>
8.370 + <object class="NSMenuItem" id="890577986">
8.371 + <reference key="NSMenu" ref="697640916"/>
8.372 + <bool key="NSIsDisabled">YES</bool>
8.373 + <bool key="NSIsSeparator">YES</bool>
8.374 + <string key="NSTitle"/>
8.375 + <string key="NSKeyEquiv"/>
8.376 + <int key="NSKeyEquivModMask">1048576</int>
8.377 + <int key="NSMnemonicLoc">2147483647</int>
8.378 + <reference key="NSOnImage" ref="181824414"/>
8.379 + <reference key="NSMixedImage" ref="606137440"/>
8.380 + </object>
8.381 + <object class="NSMenuItem" id="668877944">
8.382 + <reference key="NSMenu" ref="697640916"/>
8.383 + <string key="NSTitle">Hide CocoaEchoClient</string>
8.384 + <string key="NSKeyEquiv">h</string>
8.385 + <int key="NSKeyEquivModMask">1048576</int>
8.386 + <int key="NSMnemonicLoc">2147483647</int>
8.387 + <reference key="NSOnImage" ref="181824414"/>
8.388 + <reference key="NSMixedImage" ref="606137440"/>
8.389 + </object>
8.390 + <object class="NSMenuItem" id="912078569">
8.391 + <reference key="NSMenu" ref="697640916"/>
8.392 + <string key="NSTitle">Hide Others</string>
8.393 + <string key="NSKeyEquiv">h</string>
8.394 + <int key="NSKeyEquivModMask">1572864</int>
8.395 + <int key="NSMnemonicLoc">2147483647</int>
8.396 + <reference key="NSOnImage" ref="181824414"/>
8.397 + <reference key="NSMixedImage" ref="606137440"/>
8.398 + </object>
8.399 + <object class="NSMenuItem" id="367565565">
8.400 + <reference key="NSMenu" ref="697640916"/>
8.401 + <string key="NSTitle">Show All</string>
8.402 + <string key="NSKeyEquiv"/>
8.403 + <int key="NSKeyEquivModMask">1048576</int>
8.404 + <int key="NSMnemonicLoc">2147483647</int>
8.405 + <reference key="NSOnImage" ref="181824414"/>
8.406 + <reference key="NSMixedImage" ref="606137440"/>
8.407 + </object>
8.408 + <object class="NSMenuItem" id="486571394">
8.409 + <reference key="NSMenu" ref="697640916"/>
8.410 + <bool key="NSIsDisabled">YES</bool>
8.411 + <bool key="NSIsSeparator">YES</bool>
8.412 + <string key="NSTitle"/>
8.413 + <string key="NSKeyEquiv"/>
8.414 + <int key="NSKeyEquivModMask">1048576</int>
8.415 + <int key="NSMnemonicLoc">2147483647</int>
8.416 + <reference key="NSOnImage" ref="181824414"/>
8.417 + <reference key="NSMixedImage" ref="606137440"/>
8.418 + </object>
8.419 + <object class="NSMenuItem" id="1049750335">
8.420 + <reference key="NSMenu" ref="697640916"/>
8.421 + <string key="NSTitle">Quit NewApplication</string>
8.422 + <string key="NSKeyEquiv">q</string>
8.423 + <int key="NSKeyEquivModMask">1048576</int>
8.424 + <int key="NSMnemonicLoc">2147483647</int>
8.425 + <reference key="NSOnImage" ref="181824414"/>
8.426 + <reference key="NSMixedImage" ref="606137440"/>
8.427 + </object>
8.428 + </object>
8.429 + <string key="NSName">_NSAppleMenu</string>
8.430 + </object>
8.431 + </object>
8.432 + <object class="NSMenuItem" id="817969428">
8.433 + <reference key="NSMenu" ref="200148102"/>
8.434 + <string key="NSTitle">File</string>
8.435 + <string key="NSKeyEquiv"/>
8.436 + <int key="NSKeyEquivModMask">1048576</int>
8.437 + <int key="NSMnemonicLoc">2147483647</int>
8.438 + <reference key="NSOnImage" ref="181824414"/>
8.439 + <reference key="NSMixedImage" ref="606137440"/>
8.440 + <string key="NSAction">submenuAction:</string>
8.441 + <object class="NSMenu" key="NSSubmenu" id="490965826">
8.442 + <object class="NSMutableString" key="NSTitle">
8.443 + <characters key="NS.bytes">File</characters>
8.444 + </object>
8.445 + <object class="NSMutableArray" key="NSMenuItems">
8.446 + <bool key="EncodedWithXMLCoder">YES</bool>
8.447 + <object class="NSMenuItem" id="382253523">
8.448 + <reference key="NSMenu" ref="490965826"/>
8.449 + <string key="NSTitle">New</string>
8.450 + <string key="NSKeyEquiv">n</string>
8.451 + <int key="NSKeyEquivModMask">1048576</int>
8.452 + <int key="NSMnemonicLoc">2147483647</int>
8.453 + <reference key="NSOnImage" ref="181824414"/>
8.454 + <reference key="NSMixedImage" ref="606137440"/>
8.455 + </object>
8.456 + <object class="NSMenuItem" id="500564341">
8.457 + <reference key="NSMenu" ref="490965826"/>
8.458 + <string key="NSTitle">Open...</string>
8.459 + <string key="NSKeyEquiv">o</string>
8.460 + <int key="NSKeyEquivModMask">1048576</int>
8.461 + <int key="NSMnemonicLoc">2147483647</int>
8.462 + <reference key="NSOnImage" ref="181824414"/>
8.463 + <reference key="NSMixedImage" ref="606137440"/>
8.464 + </object>
8.465 + <object class="NSMenuItem" id="626443743">
8.466 + <reference key="NSMenu" ref="490965826"/>
8.467 + <string key="NSTitle">Open Recent</string>
8.468 + <string key="NSKeyEquiv"/>
8.469 + <int key="NSKeyEquivModMask">1048576</int>
8.470 + <int key="NSMnemonicLoc">2147483647</int>
8.471 + <reference key="NSOnImage" ref="181824414"/>
8.472 + <reference key="NSMixedImage" ref="606137440"/>
8.473 + <string key="NSAction">submenuAction:</string>
8.474 + <object class="NSMenu" key="NSSubmenu" id="199229696">
8.475 + <object class="NSMutableString" key="NSTitle">
8.476 + <characters key="NS.bytes">Open Recent</characters>
8.477 + </object>
8.478 + <object class="NSMutableArray" key="NSMenuItems">
8.479 + <bool key="EncodedWithXMLCoder">YES</bool>
8.480 + <object class="NSMenuItem" id="752571257">
8.481 + <reference key="NSMenu" ref="199229696"/>
8.482 + <string key="NSTitle">Clear Menu</string>
8.483 + <string key="NSKeyEquiv"/>
8.484 + <int key="NSKeyEquivModMask">1048576</int>
8.485 + <int key="NSMnemonicLoc">2147483647</int>
8.486 + <reference key="NSOnImage" ref="181824414"/>
8.487 + <reference key="NSMixedImage" ref="606137440"/>
8.488 + </object>
8.489 + </object>
8.490 + <string key="NSName">_NSRecentDocumentsMenu</string>
8.491 + </object>
8.492 + </object>
8.493 + <object class="NSMenuItem" id="713783987">
8.494 + <reference key="NSMenu" ref="490965826"/>
8.495 + <bool key="NSIsDisabled">YES</bool>
8.496 + <bool key="NSIsSeparator">YES</bool>
8.497 + <string key="NSTitle"/>
8.498 + <string key="NSKeyEquiv"/>
8.499 + <int key="NSKeyEquivModMask">1048576</int>
8.500 + <int key="NSMnemonicLoc">2147483647</int>
8.501 + <reference key="NSOnImage" ref="181824414"/>
8.502 + <reference key="NSMixedImage" ref="606137440"/>
8.503 + </object>
8.504 + <object class="NSMenuItem" id="13993947">
8.505 + <reference key="NSMenu" ref="490965826"/>
8.506 + <string key="NSTitle">Close</string>
8.507 + <string key="NSKeyEquiv">w</string>
8.508 + <int key="NSKeyEquivModMask">1048576</int>
8.509 + <int key="NSMnemonicLoc">2147483647</int>
8.510 + <reference key="NSOnImage" ref="181824414"/>
8.511 + <reference key="NSMixedImage" ref="606137440"/>
8.512 + </object>
8.513 + <object class="NSMenuItem" id="403328285">
8.514 + <reference key="NSMenu" ref="490965826"/>
8.515 + <string key="NSTitle">Save</string>
8.516 + <string key="NSKeyEquiv">s</string>
8.517 + <int key="NSKeyEquivModMask">1048576</int>
8.518 + <int key="NSMnemonicLoc">2147483647</int>
8.519 + <reference key="NSOnImage" ref="181824414"/>
8.520 + <reference key="NSMixedImage" ref="606137440"/>
8.521 + </object>
8.522 + <object class="NSMenuItem" id="952309176">
8.523 + <reference key="NSMenu" ref="490965826"/>
8.524 + <string type="base64-UTF8" key="NSTitle">U2F2ZSBBc+KApg</string>
8.525 + <string key="NSKeyEquiv">S</string>
8.526 + <int key="NSKeyEquivModMask">1048576</int>
8.527 + <int key="NSMnemonicLoc">2147483647</int>
8.528 + <reference key="NSOnImage" ref="181824414"/>
8.529 + <reference key="NSMixedImage" ref="606137440"/>
8.530 + </object>
8.531 + <object class="NSMenuItem" id="431578984">
8.532 + <reference key="NSMenu" ref="490965826"/>
8.533 + <string key="NSTitle">Revert</string>
8.534 + <string key="NSKeyEquiv"/>
8.535 + <int key="NSMnemonicLoc">2147483647</int>
8.536 + <reference key="NSOnImage" ref="181824414"/>
8.537 + <reference key="NSMixedImage" ref="606137440"/>
8.538 + </object>
8.539 + <object class="NSMenuItem" id="65491140">
8.540 + <reference key="NSMenu" ref="490965826"/>
8.541 + <bool key="NSIsDisabled">YES</bool>
8.542 + <bool key="NSIsSeparator">YES</bool>
8.543 + <string key="NSTitle"/>
8.544 + <string key="NSKeyEquiv"/>
8.545 + <int key="NSKeyEquivModMask">1048576</int>
8.546 + <int key="NSMnemonicLoc">2147483647</int>
8.547 + <reference key="NSOnImage" ref="181824414"/>
8.548 + <reference key="NSMixedImage" ref="606137440"/>
8.549 + </object>
8.550 + <object class="NSMenuItem" id="1046023832">
8.551 + <reference key="NSMenu" ref="490965826"/>
8.552 + <string type="base64-UTF8" key="NSTitle">UGFnZSBTZXR1cOKApg</string>
8.553 + <string key="NSKeyEquiv">P</string>
8.554 + <int key="NSKeyEquivModMask">1048576</int>
8.555 + <int key="NSMnemonicLoc">2147483647</int>
8.556 + <reference key="NSOnImage" ref="181824414"/>
8.557 + <reference key="NSMixedImage" ref="606137440"/>
8.558 + </object>
8.559 + <object class="NSMenuItem" id="281929914">
8.560 + <reference key="NSMenu" ref="490965826"/>
8.561 + <string type="base64-UTF8" key="NSTitle">UHJpbnTigKY</string>
8.562 + <string key="NSKeyEquiv">p</string>
8.563 + <int key="NSKeyEquivModMask">1048576</int>
8.564 + <int key="NSMnemonicLoc">2147483647</int>
8.565 + <reference key="NSOnImage" ref="181824414"/>
8.566 + <reference key="NSMixedImage" ref="606137440"/>
8.567 + </object>
8.568 + </object>
8.569 + </object>
8.570 + </object>
8.571 + <object class="NSMenuItem" id="1058804219">
8.572 + <reference key="NSMenu" ref="200148102"/>
8.573 + <string key="NSTitle">Edit</string>
8.574 + <string key="NSKeyEquiv"/>
8.575 + <int key="NSKeyEquivModMask">1048576</int>
8.576 + <int key="NSMnemonicLoc">2147483647</int>
8.577 + <reference key="NSOnImage" ref="181824414"/>
8.578 + <reference key="NSMixedImage" ref="606137440"/>
8.579 + <string key="NSAction">submenuAction:</string>
8.580 + <object class="NSMenu" key="NSSubmenu" id="970378601">
8.581 + <object class="NSMutableString" key="NSTitle">
8.582 + <characters key="NS.bytes">Edit</characters>
8.583 + </object>
8.584 + <object class="NSMutableArray" key="NSMenuItems">
8.585 + <bool key="EncodedWithXMLCoder">YES</bool>
8.586 + <object class="NSMenuItem" id="183900715">
8.587 + <reference key="NSMenu" ref="970378601"/>
8.588 + <string key="NSTitle">Undo</string>
8.589 + <string key="NSKeyEquiv">z</string>
8.590 + <int key="NSKeyEquivModMask">1048576</int>
8.591 + <int key="NSMnemonicLoc">2147483647</int>
8.592 + <reference key="NSOnImage" ref="181824414"/>
8.593 + <reference key="NSMixedImage" ref="606137440"/>
8.594 + </object>
8.595 + <object class="NSMenuItem" id="19862834">
8.596 + <reference key="NSMenu" ref="970378601"/>
8.597 + <string key="NSTitle">Redo</string>
8.598 + <string key="NSKeyEquiv">Z</string>
8.599 + <int key="NSKeyEquivModMask">1048576</int>
8.600 + <int key="NSMnemonicLoc">2147483647</int>
8.601 + <reference key="NSOnImage" ref="181824414"/>
8.602 + <reference key="NSMixedImage" ref="606137440"/>
8.603 + </object>
8.604 + <object class="NSMenuItem" id="1045726617">
8.605 + <reference key="NSMenu" ref="970378601"/>
8.606 + <bool key="NSIsDisabled">YES</bool>
8.607 + <bool key="NSIsSeparator">YES</bool>
8.608 + <string key="NSTitle"/>
8.609 + <string key="NSKeyEquiv"/>
8.610 + <int key="NSKeyEquivModMask">1048576</int>
8.611 + <int key="NSMnemonicLoc">2147483647</int>
8.612 + <reference key="NSOnImage" ref="181824414"/>
8.613 + <reference key="NSMixedImage" ref="606137440"/>
8.614 + </object>
8.615 + <object class="NSMenuItem" id="602706656">
8.616 + <reference key="NSMenu" ref="970378601"/>
8.617 + <string key="NSTitle">Cut</string>
8.618 + <string key="NSKeyEquiv">x</string>
8.619 + <int key="NSKeyEquivModMask">1048576</int>
8.620 + <int key="NSMnemonicLoc">2147483647</int>
8.621 + <reference key="NSOnImage" ref="181824414"/>
8.622 + <reference key="NSMixedImage" ref="606137440"/>
8.623 + </object>
8.624 + <object class="NSMenuItem" id="960739466">
8.625 + <reference key="NSMenu" ref="970378601"/>
8.626 + <string key="NSTitle">Copy</string>
8.627 + <string key="NSKeyEquiv">c</string>
8.628 + <int key="NSKeyEquivModMask">1048576</int>
8.629 + <int key="NSMnemonicLoc">2147483647</int>
8.630 + <reference key="NSOnImage" ref="181824414"/>
8.631 + <reference key="NSMixedImage" ref="606137440"/>
8.632 + </object>
8.633 + <object class="NSMenuItem" id="910617393">
8.634 + <reference key="NSMenu" ref="970378601"/>
8.635 + <string key="NSTitle">Paste</string>
8.636 + <string key="NSKeyEquiv">v</string>
8.637 + <int key="NSKeyEquivModMask">1048576</int>
8.638 + <int key="NSMnemonicLoc">2147483647</int>
8.639 + <reference key="NSOnImage" ref="181824414"/>
8.640 + <reference key="NSMixedImage" ref="606137440"/>
8.641 + </object>
8.642 + <object class="NSMenuItem" id="663474094">
8.643 + <reference key="NSMenu" ref="970378601"/>
8.644 + <string key="NSTitle">Paste and Match Style</string>
8.645 + <string key="NSKeyEquiv">V</string>
8.646 + <int key="NSKeyEquivModMask">1572864</int>
8.647 + <int key="NSMnemonicLoc">2147483647</int>
8.648 + <reference key="NSOnImage" ref="181824414"/>
8.649 + <reference key="NSMixedImage" ref="606137440"/>
8.650 + </object>
8.651 + <object class="NSMenuItem" id="990184258">
8.652 + <reference key="NSMenu" ref="970378601"/>
8.653 + <string key="NSTitle">Delete</string>
8.654 + <string key="NSKeyEquiv"/>
8.655 + <int key="NSKeyEquivModMask">1048576</int>
8.656 + <int key="NSMnemonicLoc">2147483647</int>
8.657 + <reference key="NSOnImage" ref="181824414"/>
8.658 + <reference key="NSMixedImage" ref="606137440"/>
8.659 + </object>
8.660 + <object class="NSMenuItem" id="669343463">
8.661 + <reference key="NSMenu" ref="970378601"/>
8.662 + <string key="NSTitle">Select All</string>
8.663 + <string key="NSKeyEquiv">a</string>
8.664 + <int key="NSKeyEquivModMask">1048576</int>
8.665 + <int key="NSMnemonicLoc">2147483647</int>
8.666 + <reference key="NSOnImage" ref="181824414"/>
8.667 + <reference key="NSMixedImage" ref="606137440"/>
8.668 + </object>
8.669 + <object class="NSMenuItem" id="703565818">
8.670 + <reference key="NSMenu" ref="970378601"/>
8.671 + <bool key="NSIsDisabled">YES</bool>
8.672 + <bool key="NSIsSeparator">YES</bool>
8.673 + <string key="NSTitle"/>
8.674 + <string key="NSKeyEquiv"/>
8.675 + <int key="NSKeyEquivModMask">1048576</int>
8.676 + <int key="NSMnemonicLoc">2147483647</int>
8.677 + <reference key="NSOnImage" ref="181824414"/>
8.678 + <reference key="NSMixedImage" ref="606137440"/>
8.679 + </object>
8.680 + <object class="NSMenuItem" id="834982377">
8.681 + <reference key="NSMenu" ref="970378601"/>
8.682 + <string key="NSTitle">Find</string>
8.683 + <string key="NSKeyEquiv"/>
8.684 + <int key="NSKeyEquivModMask">1048576</int>
8.685 + <int key="NSMnemonicLoc">2147483647</int>
8.686 + <reference key="NSOnImage" ref="181824414"/>
8.687 + <reference key="NSMixedImage" ref="606137440"/>
8.688 + <string key="NSAction">submenuAction:</string>
8.689 + <object class="NSMenu" key="NSSubmenu" id="1050811499">
8.690 + <object class="NSMutableString" key="NSTitle">
8.691 + <characters key="NS.bytes">Find</characters>
8.692 + </object>
8.693 + <object class="NSMutableArray" key="NSMenuItems">
8.694 + <bool key="EncodedWithXMLCoder">YES</bool>
8.695 + <object class="NSMenuItem" id="213220646">
8.696 + <reference key="NSMenu" ref="1050811499"/>
8.697 + <string type="base64-UTF8" key="NSTitle">RmluZOKApg</string>
8.698 + <string key="NSKeyEquiv">f</string>
8.699 + <int key="NSKeyEquivModMask">1048576</int>
8.700 + <int key="NSMnemonicLoc">2147483647</int>
8.701 + <reference key="NSOnImage" ref="181824414"/>
8.702 + <reference key="NSMixedImage" ref="606137440"/>
8.703 + <int key="NSTag">1</int>
8.704 + </object>
8.705 + <object class="NSMenuItem" id="886821034">
8.706 + <reference key="NSMenu" ref="1050811499"/>
8.707 + <string key="NSTitle">Find Next</string>
8.708 + <string key="NSKeyEquiv">g</string>
8.709 + <int key="NSKeyEquivModMask">1048576</int>
8.710 + <int key="NSMnemonicLoc">2147483647</int>
8.711 + <reference key="NSOnImage" ref="181824414"/>
8.712 + <reference key="NSMixedImage" ref="606137440"/>
8.713 + <int key="NSTag">2</int>
8.714 + </object>
8.715 + <object class="NSMenuItem" id="1052669061">
8.716 + <reference key="NSMenu" ref="1050811499"/>
8.717 + <string key="NSTitle">Find Previous</string>
8.718 + <string key="NSKeyEquiv">G</string>
8.719 + <int key="NSKeyEquivModMask">1048576</int>
8.720 + <int key="NSMnemonicLoc">2147483647</int>
8.721 + <reference key="NSOnImage" ref="181824414"/>
8.722 + <reference key="NSMixedImage" ref="606137440"/>
8.723 + <int key="NSTag">3</int>
8.724 + </object>
8.725 + <object class="NSMenuItem" id="791538819">
8.726 + <reference key="NSMenu" ref="1050811499"/>
8.727 + <string key="NSTitle">Use Selection for Find</string>
8.728 + <string key="NSKeyEquiv">e</string>
8.729 + <int key="NSKeyEquivModMask">1048576</int>
8.730 + <int key="NSMnemonicLoc">2147483647</int>
8.731 + <reference key="NSOnImage" ref="181824414"/>
8.732 + <reference key="NSMixedImage" ref="606137440"/>
8.733 + <int key="NSTag">7</int>
8.734 + </object>
8.735 + <object class="NSMenuItem" id="747878389">
8.736 + <reference key="NSMenu" ref="1050811499"/>
8.737 + <string key="NSTitle">Jump to Selection</string>
8.738 + <string key="NSKeyEquiv">j</string>
8.739 + <int key="NSKeyEquivModMask">1048576</int>
8.740 + <int key="NSMnemonicLoc">2147483647</int>
8.741 + <reference key="NSOnImage" ref="181824414"/>
8.742 + <reference key="NSMixedImage" ref="606137440"/>
8.743 + </object>
8.744 + </object>
8.745 + </object>
8.746 + </object>
8.747 + <object class="NSMenuItem" id="53633545">
8.748 + <reference key="NSMenu" ref="970378601"/>
8.749 + <string key="NSTitle">Spelling</string>
8.750 + <string key="NSKeyEquiv"/>
8.751 + <int key="NSKeyEquivModMask">1048576</int>
8.752 + <int key="NSMnemonicLoc">2147483647</int>
8.753 + <reference key="NSOnImage" ref="181824414"/>
8.754 + <reference key="NSMixedImage" ref="606137440"/>
8.755 + <string key="NSAction">submenuAction:</string>
8.756 + <object class="NSMenu" key="NSSubmenu" id="578319173">
8.757 + <string key="NSTitle">Spelling</string>
8.758 + <object class="NSMutableArray" key="NSMenuItems">
8.759 + <bool key="EncodedWithXMLCoder">YES</bool>
8.760 + <object class="NSMenuItem" id="905911358">
8.761 + <reference key="NSMenu" ref="578319173"/>
8.762 + <string type="base64-UTF8" key="NSTitle">U3BlbGxpbmfigKY</string>
8.763 + <string key="NSKeyEquiv">:</string>
8.764 + <int key="NSKeyEquivModMask">1048576</int>
8.765 + <int key="NSMnemonicLoc">2147483647</int>
8.766 + <reference key="NSOnImage" ref="181824414"/>
8.767 + <reference key="NSMixedImage" ref="606137440"/>
8.768 + </object>
8.769 + <object class="NSMenuItem" id="384047817">
8.770 + <reference key="NSMenu" ref="578319173"/>
8.771 + <string key="NSTitle">Check Spelling</string>
8.772 + <string key="NSKeyEquiv">;</string>
8.773 + <int key="NSKeyEquivModMask">1048576</int>
8.774 + <int key="NSMnemonicLoc">2147483647</int>
8.775 + <reference key="NSOnImage" ref="181824414"/>
8.776 + <reference key="NSMixedImage" ref="606137440"/>
8.777 + </object>
8.778 + <object class="NSMenuItem" id="584636559">
8.779 + <reference key="NSMenu" ref="578319173"/>
8.780 + <string key="NSTitle">Check Spelling as You Type</string>
8.781 + <string key="NSKeyEquiv"/>
8.782 + <int key="NSKeyEquivModMask">1048576</int>
8.783 + <int key="NSMnemonicLoc">2147483647</int>
8.784 + <reference key="NSOnImage" ref="181824414"/>
8.785 + <reference key="NSMixedImage" ref="606137440"/>
8.786 + </object>
8.787 + </object>
8.788 + </object>
8.789 + </object>
8.790 + </object>
8.791 + </object>
8.792 + </object>
8.793 + <object class="NSMenuItem" id="616157941">
8.794 + <reference key="NSMenu" ref="200148102"/>
8.795 + <string key="NSTitle">Window</string>
8.796 + <string key="NSKeyEquiv"/>
8.797 + <int key="NSKeyEquivModMask">1048576</int>
8.798 + <int key="NSMnemonicLoc">2147483647</int>
8.799 + <reference key="NSOnImage" ref="181824414"/>
8.800 + <reference key="NSMixedImage" ref="606137440"/>
8.801 + <string key="NSAction">submenuAction:</string>
8.802 + <object class="NSMenu" key="NSSubmenu" id="934801178">
8.803 + <object class="NSMutableString" key="NSTitle">
8.804 + <characters key="NS.bytes">Window</characters>
8.805 + </object>
8.806 + <object class="NSMutableArray" key="NSMenuItems">
8.807 + <bool key="EncodedWithXMLCoder">YES</bool>
8.808 + <object class="NSMenuItem" id="402988509">
8.809 + <reference key="NSMenu" ref="934801178"/>
8.810 + <string key="NSTitle">Minimize</string>
8.811 + <string key="NSKeyEquiv">m</string>
8.812 + <int key="NSKeyEquivModMask">1048576</int>
8.813 + <int key="NSMnemonicLoc">2147483647</int>
8.814 + <reference key="NSOnImage" ref="181824414"/>
8.815 + <reference key="NSMixedImage" ref="606137440"/>
8.816 + </object>
8.817 + <object class="NSMenuItem" id="1858562">
8.818 + <reference key="NSMenu" ref="934801178"/>
8.819 + <string key="NSTitle">Zoom</string>
8.820 + <string key="NSKeyEquiv"/>
8.821 + <int key="NSKeyEquivModMask">1048576</int>
8.822 + <int key="NSMnemonicLoc">2147483647</int>
8.823 + <reference key="NSOnImage" ref="181824414"/>
8.824 + <reference key="NSMixedImage" ref="606137440"/>
8.825 + </object>
8.826 + <object class="NSMenuItem" id="654844997">
8.827 + <reference key="NSMenu" ref="934801178"/>
8.828 + <bool key="NSIsDisabled">YES</bool>
8.829 + <bool key="NSIsSeparator">YES</bool>
8.830 + <string key="NSTitle"/>
8.831 + <string key="NSKeyEquiv"/>
8.832 + <int key="NSKeyEquivModMask">1048576</int>
8.833 + <int key="NSMnemonicLoc">2147483647</int>
8.834 + <reference key="NSOnImage" ref="181824414"/>
8.835 + <reference key="NSMixedImage" ref="606137440"/>
8.836 + </object>
8.837 + <object class="NSMenuItem" id="491918481">
8.838 + <reference key="NSMenu" ref="934801178"/>
8.839 + <string key="NSTitle">Bring All to Front</string>
8.840 + <string key="NSKeyEquiv"/>
8.841 + <int key="NSKeyEquivModMask">1048576</int>
8.842 + <int key="NSMnemonicLoc">2147483647</int>
8.843 + <reference key="NSOnImage" ref="181824414"/>
8.844 + <reference key="NSMixedImage" ref="606137440"/>
8.845 + </object>
8.846 + </object>
8.847 + <string key="NSName">_NSWindowsMenu</string>
8.848 + </object>
8.849 + </object>
8.850 + <object class="NSMenuItem" id="983720508">
8.851 + <reference key="NSMenu" ref="200148102"/>
8.852 + <string key="NSTitle">Help</string>
8.853 + <string key="NSKeyEquiv"/>
8.854 + <int key="NSKeyEquivModMask">1048576</int>
8.855 + <int key="NSMnemonicLoc">2147483647</int>
8.856 + <reference key="NSOnImage" ref="181824414"/>
8.857 + <reference key="NSMixedImage" ref="606137440"/>
8.858 + <string key="NSAction">submenuAction:</string>
8.859 + <object class="NSMenu" key="NSSubmenu" id="684548855">
8.860 + <string key="NSTitle">Help</string>
8.861 + <object class="NSMutableArray" key="NSMenuItems">
8.862 + <bool key="EncodedWithXMLCoder">YES</bool>
8.863 + <object class="NSMenuItem" id="91438219">
8.864 + <reference key="NSMenu" ref="684548855"/>
8.865 + <string key="NSTitle">NewApplication Help</string>
8.866 + <string key="NSKeyEquiv">?</string>
8.867 + <int key="NSKeyEquivModMask">1048576</int>
8.868 + <int key="NSMnemonicLoc">2147483647</int>
8.869 + <reference key="NSOnImage" ref="181824414"/>
8.870 + <reference key="NSMixedImage" ref="606137440"/>
8.871 + </object>
8.872 + </object>
8.873 + </object>
8.874 + </object>
8.875 + </object>
8.876 + <string key="NSName">_NSMainMenu</string>
8.877 + </object>
8.878 + <object class="NSCustomObject" id="403404393">
8.879 + <string key="NSClassName">BLIPEchoClient</string>
8.880 + </object>
8.881 + </object>
8.882 + <object class="IBObjectContainer" key="IBDocument.Objects">
8.883 + <object class="NSMutableArray" key="connectionRecords">
8.884 + <bool key="EncodedWithXMLCoder">YES</bool>
8.885 + <object class="IBConnectionRecord">
8.886 + <object class="IBActionConnection" key="connection">
8.887 + <string key="label">performMiniaturize:</string>
8.888 + <reference key="source" ref="685609397"/>
8.889 + <reference key="destination" ref="402988509"/>
8.890 + </object>
8.891 + <int key="connectionID">37</int>
8.892 + </object>
8.893 + <object class="IBConnectionRecord">
8.894 + <object class="IBActionConnection" key="connection">
8.895 + <string key="label">arrangeInFront:</string>
8.896 + <reference key="source" ref="685609397"/>
8.897 + <reference key="destination" ref="491918481"/>
8.898 + </object>
8.899 + <int key="connectionID">39</int>
8.900 + </object>
8.901 + <object class="IBConnectionRecord">
8.902 + <object class="IBActionConnection" key="connection">
8.903 + <string key="label">print:</string>
8.904 + <reference key="source" ref="685609397"/>
8.905 + <reference key="destination" ref="281929914"/>
8.906 + </object>
8.907 + <int key="connectionID">86</int>
8.908 + </object>
8.909 + <object class="IBConnectionRecord">
8.910 + <object class="IBActionConnection" key="connection">
8.911 + <string key="label">runPageLayout:</string>
8.912 + <reference key="source" ref="685609397"/>
8.913 + <reference key="destination" ref="1046023832"/>
8.914 + </object>
8.915 + <int key="connectionID">87</int>
8.916 + </object>
8.917 + <object class="IBConnectionRecord">
8.918 + <object class="IBActionConnection" key="connection">
8.919 + <string key="label">showHelp:</string>
8.920 + <reference key="source" ref="685609397"/>
8.921 + <reference key="destination" ref="91438219"/>
8.922 + </object>
8.923 + <int key="connectionID">122</int>
8.924 + </object>
8.925 + <object class="IBConnectionRecord">
8.926 + <object class="IBActionConnection" key="connection">
8.927 + <string key="label">clearRecentDocuments:</string>
8.928 + <reference key="source" ref="685609397"/>
8.929 + <reference key="destination" ref="752571257"/>
8.930 + </object>
8.931 + <int key="connectionID">127</int>
8.932 + </object>
8.933 + <object class="IBConnectionRecord">
8.934 + <object class="IBActionConnection" key="connection">
8.935 + <string key="label">terminate:</string>
8.936 + <reference key="source" ref="568359733"/>
8.937 + <reference key="destination" ref="1049750335"/>
8.938 + </object>
8.939 + <int key="connectionID">139</int>
8.940 + </object>
8.941 + <object class="IBConnectionRecord">
8.942 + <object class="IBActionConnection" key="connection">
8.943 + <string key="label">orderFrontStandardAboutPanel:</string>
8.944 + <reference key="source" ref="568359733"/>
8.945 + <reference key="destination" ref="251996201"/>
8.946 + </object>
8.947 + <int key="connectionID">142</int>
8.948 + </object>
8.949 + <object class="IBConnectionRecord">
8.950 + <object class="IBActionConnection" key="connection">
8.951 + <string key="label">hideOtherApplications:</string>
8.952 + <reference key="source" ref="568359733"/>
8.953 + <reference key="destination" ref="912078569"/>
8.954 + </object>
8.955 + <int key="connectionID">146</int>
8.956 + </object>
8.957 + <object class="IBConnectionRecord">
8.958 + <object class="IBActionConnection" key="connection">
8.959 + <string key="label">hide:</string>
8.960 + <reference key="source" ref="568359733"/>
8.961 + <reference key="destination" ref="668877944"/>
8.962 + </object>
8.963 + <int key="connectionID">152</int>
8.964 + </object>
8.965 + <object class="IBConnectionRecord">
8.966 + <object class="IBActionConnection" key="connection">
8.967 + <string key="label">unhideAllApplications:</string>
8.968 + <reference key="source" ref="568359733"/>
8.969 + <reference key="destination" ref="367565565"/>
8.970 + </object>
8.971 + <int key="connectionID">153</int>
8.972 + </object>
8.973 + <object class="IBConnectionRecord">
8.974 + <object class="IBActionConnection" key="connection">
8.975 + <string key="label">cut:</string>
8.976 + <reference key="source" ref="685609397"/>
8.977 + <reference key="destination" ref="602706656"/>
8.978 + </object>
8.979 + <int key="connectionID">175</int>
8.980 + </object>
8.981 + <object class="IBConnectionRecord">
8.982 + <object class="IBActionConnection" key="connection">
8.983 + <string key="label">paste:</string>
8.984 + <reference key="source" ref="685609397"/>
8.985 + <reference key="destination" ref="910617393"/>
8.986 + </object>
8.987 + <int key="connectionID">176</int>
8.988 + </object>
8.989 + <object class="IBConnectionRecord">
8.990 + <object class="IBActionConnection" key="connection">
8.991 + <string key="label">redo:</string>
8.992 + <reference key="source" ref="685609397"/>
8.993 + <reference key="destination" ref="19862834"/>
8.994 + </object>
8.995 + <int key="connectionID">178</int>
8.996 + </object>
8.997 + <object class="IBConnectionRecord">
8.998 + <object class="IBActionConnection" key="connection">
8.999 + <string key="label">selectAll:</string>
8.1000 + <reference key="source" ref="685609397"/>
8.1001 + <reference key="destination" ref="669343463"/>
8.1002 + </object>
8.1003 + <int key="connectionID">179</int>
8.1004 + </object>
8.1005 + <object class="IBConnectionRecord">
8.1006 + <object class="IBActionConnection" key="connection">
8.1007 + <string key="label">undo:</string>
8.1008 + <reference key="source" ref="685609397"/>
8.1009 + <reference key="destination" ref="183900715"/>
8.1010 + </object>
8.1011 + <int key="connectionID">180</int>
8.1012 + </object>
8.1013 + <object class="IBConnectionRecord">
8.1014 + <object class="IBActionConnection" key="connection">
8.1015 + <string key="label">copy:</string>
8.1016 + <reference key="source" ref="685609397"/>
8.1017 + <reference key="destination" ref="960739466"/>
8.1018 + </object>
8.1019 + <int key="connectionID">181</int>
8.1020 + </object>
8.1021 + <object class="IBConnectionRecord">
8.1022 + <object class="IBActionConnection" key="connection">
8.1023 + <string key="label">showGuessPanel:</string>
8.1024 + <reference key="source" ref="685609397"/>
8.1025 + <reference key="destination" ref="905911358"/>
8.1026 + </object>
8.1027 + <int key="connectionID">188</int>
8.1028 + </object>
8.1029 + <object class="IBConnectionRecord">
8.1030 + <object class="IBActionConnection" key="connection">
8.1031 + <string key="label">checkSpelling:</string>
8.1032 + <reference key="source" ref="685609397"/>
8.1033 + <reference key="destination" ref="384047817"/>
8.1034 + </object>
8.1035 + <int key="connectionID">190</int>
8.1036 + </object>
8.1037 + <object class="IBConnectionRecord">
8.1038 + <object class="IBActionConnection" key="connection">
8.1039 + <string key="label">toggleContinuousSpellChecking:</string>
8.1040 + <reference key="source" ref="685609397"/>
8.1041 + <reference key="destination" ref="584636559"/>
8.1042 + </object>
8.1043 + <int key="connectionID">192</int>
8.1044 + </object>
8.1045 + <object class="IBConnectionRecord">
8.1046 + <object class="IBActionConnection" key="connection">
8.1047 + <string key="label">performClose:</string>
8.1048 + <reference key="source" ref="685609397"/>
8.1049 + <reference key="destination" ref="13993947"/>
8.1050 + </object>
8.1051 + <int key="connectionID">193</int>
8.1052 + </object>
8.1053 + <object class="IBConnectionRecord">
8.1054 + <object class="IBActionConnection" key="connection">
8.1055 + <string key="label">delete:</string>
8.1056 + <reference key="source" ref="685609397"/>
8.1057 + <reference key="destination" ref="990184258"/>
8.1058 + </object>
8.1059 + <int key="connectionID">195</int>
8.1060 + </object>
8.1061 + <object class="IBConnectionRecord">
8.1062 + <object class="IBActionConnection" key="connection">
8.1063 + <string key="label">performZoom:</string>
8.1064 + <reference key="source" ref="685609397"/>
8.1065 + <reference key="destination" ref="1858562"/>
8.1066 + </object>
8.1067 + <int key="connectionID">198</int>
8.1068 + </object>
8.1069 + <object class="IBConnectionRecord">
8.1070 + <object class="IBActionConnection" key="connection">
8.1071 + <string key="label">performFindPanelAction:</string>
8.1072 + <reference key="source" ref="685609397"/>
8.1073 + <reference key="destination" ref="213220646"/>
8.1074 + </object>
8.1075 + <int key="connectionID">199</int>
8.1076 + </object>
8.1077 + <object class="IBConnectionRecord">
8.1078 + <object class="IBActionConnection" key="connection">
8.1079 + <string key="label">performFindPanelAction:</string>
8.1080 + <reference key="source" ref="685609397"/>
8.1081 + <reference key="destination" ref="886821034"/>
8.1082 + </object>
8.1083 + <int key="connectionID">200</int>
8.1084 + </object>
8.1085 + <object class="IBConnectionRecord">
8.1086 + <object class="IBActionConnection" key="connection">
8.1087 + <string key="label">performFindPanelAction:</string>
8.1088 + <reference key="source" ref="685609397"/>
8.1089 + <reference key="destination" ref="1052669061"/>
8.1090 + </object>
8.1091 + <int key="connectionID">201</int>
8.1092 + </object>
8.1093 + <object class="IBConnectionRecord">
8.1094 + <object class="IBActionConnection" key="connection">
8.1095 + <string key="label">performFindPanelAction:</string>
8.1096 + <reference key="source" ref="685609397"/>
8.1097 + <reference key="destination" ref="791538819"/>
8.1098 + </object>
8.1099 + <int key="connectionID">202</int>
8.1100 + </object>
8.1101 + <object class="IBConnectionRecord">
8.1102 + <object class="IBActionConnection" key="connection">
8.1103 + <string key="label">centerSelectionInVisibleArea:</string>
8.1104 + <reference key="source" ref="685609397"/>
8.1105 + <reference key="destination" ref="747878389"/>
8.1106 + </object>
8.1107 + <int key="connectionID">203</int>
8.1108 + </object>
8.1109 + <object class="IBConnectionRecord">
8.1110 + <object class="IBActionConnection" key="connection">
8.1111 + <string key="label">pasteAsPlainText:</string>
8.1112 + <reference key="source" ref="685609397"/>
8.1113 + <reference key="destination" ref="663474094"/>
8.1114 + </object>
8.1115 + <int key="connectionID">205</int>
8.1116 + </object>
8.1117 + <object class="IBConnectionRecord">
8.1118 + <object class="IBOutletConnection" key="connection">
8.1119 + <string key="label">serverTableView</string>
8.1120 + <reference key="source" ref="403404393"/>
8.1121 + <reference key="destination" ref="670064340"/>
8.1122 + </object>
8.1123 + <int key="connectionID">215</int>
8.1124 + </object>
8.1125 + <object class="IBConnectionRecord">
8.1126 + <object class="IBOutletConnection" key="connection">
8.1127 + <string key="label">inputField</string>
8.1128 + <reference key="source" ref="403404393"/>
8.1129 + <reference key="destination" ref="692869434"/>
8.1130 + </object>
8.1131 + <int key="connectionID">216</int>
8.1132 + </object>
8.1133 + <object class="IBConnectionRecord">
8.1134 + <object class="IBOutletConnection" key="connection">
8.1135 + <string key="label">responseField</string>
8.1136 + <reference key="source" ref="403404393"/>
8.1137 + <reference key="destination" ref="764371910"/>
8.1138 + </object>
8.1139 + <int key="connectionID">217</int>
8.1140 + </object>
8.1141 + <object class="IBConnectionRecord">
8.1142 + <object class="IBActionConnection" key="connection">
8.1143 + <string key="label">sendText:</string>
8.1144 + <reference key="source" ref="403404393"/>
8.1145 + <reference key="destination" ref="692869434"/>
8.1146 + </object>
8.1147 + <int key="connectionID">218</int>
8.1148 + </object>
8.1149 + <object class="IBConnectionRecord">
8.1150 + <object class="IBOutletConnection" key="connection">
8.1151 + <string key="label">delegate</string>
8.1152 + <reference key="source" ref="568359733"/>
8.1153 + <reference key="destination" ref="403404393"/>
8.1154 + </object>
8.1155 + <int key="connectionID">219</int>
8.1156 + </object>
8.1157 + <object class="IBConnectionRecord">
8.1158 + <object class="IBActionConnection" key="connection">
8.1159 + <string key="label">serverClicked:</string>
8.1160 + <reference key="source" ref="403404393"/>
8.1161 + <reference key="destination" ref="670064340"/>
8.1162 + </object>
8.1163 + <int key="connectionID">224</int>
8.1164 + </object>
8.1165 + <object class="IBConnectionRecord">
8.1166 + <object class="IBBindingConnection" key="connection">
8.1167 + <string key="label">content: serviceList</string>
8.1168 + <reference key="source" ref="670064340"/>
8.1169 + <reference key="destination" ref="403404393"/>
8.1170 + <object class="NSNibBindingConnector" key="connector">
8.1171 + <reference key="NSSource" ref="670064340"/>
8.1172 + <reference key="NSDestination" ref="403404393"/>
8.1173 + <string key="NSLabel">content: serviceList</string>
8.1174 + <string key="NSBinding">content</string>
8.1175 + <string key="NSKeyPath">serviceList</string>
8.1176 + <int key="NSNibBindingConnectorVersion">2</int>
8.1177 + </object>
8.1178 + </object>
8.1179 + <int key="connectionID">225</int>
8.1180 + </object>
8.1181 + <object class="IBConnectionRecord">
8.1182 + <object class="IBBindingConnection" key="connection">
8.1183 + <string key="label">value: serviceList.name</string>
8.1184 + <reference key="source" ref="77123075"/>
8.1185 + <reference key="destination" ref="403404393"/>
8.1186 + <object class="NSNibBindingConnector" key="connector">
8.1187 + <reference key="NSSource" ref="77123075"/>
8.1188 + <reference key="NSDestination" ref="403404393"/>
8.1189 + <string key="NSLabel">value: serviceList.name</string>
8.1190 + <string key="NSBinding">value</string>
8.1191 + <string key="NSKeyPath">serviceList.name</string>
8.1192 + <int key="NSNibBindingConnectorVersion">2</int>
8.1193 + </object>
8.1194 + </object>
8.1195 + <int key="connectionID">226</int>
8.1196 + </object>
8.1197 + </object>
8.1198 + <object class="IBMutableOrderedSet" key="objectRecords">
8.1199 + <object class="NSArray" key="orderedObjects">
8.1200 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1201 + <object class="IBObjectRecord">
8.1202 + <int key="objectID">0</int>
8.1203 + <object class="NSArray" key="object" id="0">
8.1204 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1205 + </object>
8.1206 + <reference key="children" ref="81650750"/>
8.1207 + <nil key="parent"/>
8.1208 + </object>
8.1209 + <object class="IBObjectRecord">
8.1210 + <int key="objectID">-2</int>
8.1211 + <reference key="object" ref="568359733"/>
8.1212 + <reference key="parent" ref="0"/>
8.1213 + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
8.1214 + </object>
8.1215 + <object class="IBObjectRecord">
8.1216 + <int key="objectID">-1</int>
8.1217 + <reference key="object" ref="685609397"/>
8.1218 + <reference key="parent" ref="0"/>
8.1219 + <string key="objectName">First Responder</string>
8.1220 + </object>
8.1221 + <object class="IBObjectRecord">
8.1222 + <int key="objectID">-3</int>
8.1223 + <reference key="object" ref="685333307"/>
8.1224 + <reference key="parent" ref="0"/>
8.1225 + <string key="objectName">Application</string>
8.1226 + </object>
8.1227 + <object class="IBObjectRecord">
8.1228 + <int key="objectID">21</int>
8.1229 + <reference key="object" ref="49403084"/>
8.1230 + <object class="NSMutableArray" key="children">
8.1231 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1232 + <reference ref="707481179"/>
8.1233 + </object>
8.1234 + <reference key="parent" ref="0"/>
8.1235 + <string key="objectName">Window</string>
8.1236 + </object>
8.1237 + <object class="IBObjectRecord">
8.1238 + <int key="objectID">2</int>
8.1239 + <reference key="object" ref="707481179"/>
8.1240 + <object class="NSMutableArray" key="children">
8.1241 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1242 + <reference ref="107293221"/>
8.1243 + <reference ref="692869434"/>
8.1244 + <reference ref="764371910"/>
8.1245 + <reference ref="66637806"/>
8.1246 + </object>
8.1247 + <reference key="parent" ref="49403084"/>
8.1248 + </object>
8.1249 + <object class="IBObjectRecord">
8.1250 + <int key="objectID">206</int>
8.1251 + <reference key="object" ref="107293221"/>
8.1252 + <object class="NSMutableArray" key="children">
8.1253 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1254 + <reference ref="670064340"/>
8.1255 + <reference ref="958315114"/>
8.1256 + <reference ref="573168767"/>
8.1257 + <reference ref="470642343"/>
8.1258 + </object>
8.1259 + <reference key="parent" ref="707481179"/>
8.1260 + </object>
8.1261 + <object class="IBObjectRecord">
8.1262 + <int key="objectID">207</int>
8.1263 + <reference key="object" ref="670064340"/>
8.1264 + <object class="NSMutableArray" key="children">
8.1265 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1266 + <reference ref="77123075"/>
8.1267 + </object>
8.1268 + <reference key="parent" ref="107293221"/>
8.1269 + </object>
8.1270 + <object class="IBObjectRecord">
8.1271 + <int key="objectID">208</int>
8.1272 + <reference key="object" ref="77123075"/>
8.1273 + <object class="NSMutableArray" key="children">
8.1274 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1275 + <reference ref="173085971"/>
8.1276 + </object>
8.1277 + <reference key="parent" ref="670064340"/>
8.1278 + </object>
8.1279 + <object class="IBObjectRecord">
8.1280 + <int key="objectID">211</int>
8.1281 + <reference key="object" ref="692869434"/>
8.1282 + <object class="NSMutableArray" key="children">
8.1283 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1284 + <reference ref="364162739"/>
8.1285 + </object>
8.1286 + <reference key="parent" ref="707481179"/>
8.1287 + </object>
8.1288 + <object class="IBObjectRecord">
8.1289 + <int key="objectID">212</int>
8.1290 + <reference key="object" ref="764371910"/>
8.1291 + <object class="NSMutableArray" key="children">
8.1292 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1293 + <reference ref="617761818"/>
8.1294 + </object>
8.1295 + <reference key="parent" ref="707481179"/>
8.1296 + </object>
8.1297 + <object class="IBObjectRecord">
8.1298 + <int key="objectID">213</int>
8.1299 + <reference key="object" ref="66637806"/>
8.1300 + <object class="NSMutableArray" key="children">
8.1301 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1302 + <reference ref="149094482"/>
8.1303 + </object>
8.1304 + <reference key="parent" ref="707481179"/>
8.1305 + </object>
8.1306 + <object class="IBObjectRecord">
8.1307 + <int key="objectID">29</int>
8.1308 + <reference key="object" ref="200148102"/>
8.1309 + <object class="NSMutableArray" key="children">
8.1310 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1311 + <reference ref="616157941"/>
8.1312 + <reference ref="456098562"/>
8.1313 + <reference ref="817969428"/>
8.1314 + <reference ref="983720508"/>
8.1315 + <reference ref="1058804219"/>
8.1316 + </object>
8.1317 + <reference key="parent" ref="0"/>
8.1318 + <string key="objectName">MainMenu</string>
8.1319 + </object>
8.1320 + <object class="IBObjectRecord">
8.1321 + <int key="objectID">19</int>
8.1322 + <reference key="object" ref="616157941"/>
8.1323 + <object class="NSMutableArray" key="children">
8.1324 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1325 + <reference ref="934801178"/>
8.1326 + </object>
8.1327 + <reference key="parent" ref="200148102"/>
8.1328 + </object>
8.1329 + <object class="IBObjectRecord">
8.1330 + <int key="objectID">24</int>
8.1331 + <reference key="object" ref="934801178"/>
8.1332 + <object class="NSMutableArray" key="children">
8.1333 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1334 + <reference ref="491918481"/>
8.1335 + <reference ref="402988509"/>
8.1336 + <reference ref="654844997"/>
8.1337 + <reference ref="1858562"/>
8.1338 + </object>
8.1339 + <reference key="parent" ref="616157941"/>
8.1340 + </object>
8.1341 + <object class="IBObjectRecord">
8.1342 + <int key="objectID">5</int>
8.1343 + <reference key="object" ref="491918481"/>
8.1344 + <reference key="parent" ref="934801178"/>
8.1345 + </object>
8.1346 + <object class="IBObjectRecord">
8.1347 + <int key="objectID">23</int>
8.1348 + <reference key="object" ref="402988509"/>
8.1349 + <reference key="parent" ref="934801178"/>
8.1350 + </object>
8.1351 + <object class="IBObjectRecord">
8.1352 + <int key="objectID">92</int>
8.1353 + <reference key="object" ref="654844997"/>
8.1354 + <reference key="parent" ref="934801178"/>
8.1355 + </object>
8.1356 + <object class="IBObjectRecord">
8.1357 + <int key="objectID">197</int>
8.1358 + <reference key="object" ref="1858562"/>
8.1359 + <reference key="parent" ref="934801178"/>
8.1360 + </object>
8.1361 + <object class="IBObjectRecord">
8.1362 + <int key="objectID">56</int>
8.1363 + <reference key="object" ref="456098562"/>
8.1364 + <object class="NSMutableArray" key="children">
8.1365 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1366 + <reference ref="697640916"/>
8.1367 + </object>
8.1368 + <reference key="parent" ref="200148102"/>
8.1369 + </object>
8.1370 + <object class="IBObjectRecord">
8.1371 + <int key="objectID">57</int>
8.1372 + <reference key="object" ref="697640916"/>
8.1373 + <object class="NSMutableArray" key="children">
8.1374 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1375 + <reference ref="251996201"/>
8.1376 + <reference ref="1003582342"/>
8.1377 + <reference ref="654403859"/>
8.1378 + <reference ref="668877944"/>
8.1379 + <reference ref="1049750335"/>
8.1380 + <reference ref="838744712"/>
8.1381 + <reference ref="890577986"/>
8.1382 + <reference ref="912078569"/>
8.1383 + <reference ref="486571394"/>
8.1384 + <reference ref="367565565"/>
8.1385 + <reference ref="149048707"/>
8.1386 + </object>
8.1387 + <reference key="parent" ref="456098562"/>
8.1388 + </object>
8.1389 + <object class="IBObjectRecord">
8.1390 + <int key="objectID">58</int>
8.1391 + <reference key="object" ref="251996201"/>
8.1392 + <reference key="parent" ref="697640916"/>
8.1393 + </object>
8.1394 + <object class="IBObjectRecord">
8.1395 + <int key="objectID">129</int>
8.1396 + <reference key="object" ref="1003582342"/>
8.1397 + <reference key="parent" ref="697640916"/>
8.1398 + </object>
8.1399 + <object class="IBObjectRecord">
8.1400 + <int key="objectID">131</int>
8.1401 + <reference key="object" ref="654403859"/>
8.1402 + <object class="NSMutableArray" key="children">
8.1403 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1404 + <reference ref="401470722"/>
8.1405 + </object>
8.1406 + <reference key="parent" ref="697640916"/>
8.1407 + </object>
8.1408 + <object class="IBObjectRecord">
8.1409 + <int key="objectID">130</int>
8.1410 + <reference key="object" ref="401470722"/>
8.1411 + <reference key="parent" ref="654403859"/>
8.1412 + </object>
8.1413 + <object class="IBObjectRecord">
8.1414 + <int key="objectID">134</int>
8.1415 + <reference key="object" ref="668877944"/>
8.1416 + <reference key="parent" ref="697640916"/>
8.1417 + </object>
8.1418 + <object class="IBObjectRecord">
8.1419 + <int key="objectID">136</int>
8.1420 + <reference key="object" ref="1049750335"/>
8.1421 + <reference key="parent" ref="697640916"/>
8.1422 + </object>
8.1423 + <object class="IBObjectRecord">
8.1424 + <int key="objectID">143</int>
8.1425 + <reference key="object" ref="838744712"/>
8.1426 + <reference key="parent" ref="697640916"/>
8.1427 + </object>
8.1428 + <object class="IBObjectRecord">
8.1429 + <int key="objectID">144</int>
8.1430 + <reference key="object" ref="890577986"/>
8.1431 + <reference key="parent" ref="697640916"/>
8.1432 + </object>
8.1433 + <object class="IBObjectRecord">
8.1434 + <int key="objectID">145</int>
8.1435 + <reference key="object" ref="912078569"/>
8.1436 + <reference key="parent" ref="697640916"/>
8.1437 + </object>
8.1438 + <object class="IBObjectRecord">
8.1439 + <int key="objectID">149</int>
8.1440 + <reference key="object" ref="486571394"/>
8.1441 + <reference key="parent" ref="697640916"/>
8.1442 + </object>
8.1443 + <object class="IBObjectRecord">
8.1444 + <int key="objectID">150</int>
8.1445 + <reference key="object" ref="367565565"/>
8.1446 + <reference key="parent" ref="697640916"/>
8.1447 + </object>
8.1448 + <object class="IBObjectRecord">
8.1449 + <int key="objectID">196</int>
8.1450 + <reference key="object" ref="149048707"/>
8.1451 + <reference key="parent" ref="697640916"/>
8.1452 + </object>
8.1453 + <object class="IBObjectRecord">
8.1454 + <int key="objectID">83</int>
8.1455 + <reference key="object" ref="817969428"/>
8.1456 + <object class="NSMutableArray" key="children">
8.1457 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1458 + <reference ref="490965826"/>
8.1459 + </object>
8.1460 + <reference key="parent" ref="200148102"/>
8.1461 + </object>
8.1462 + <object class="IBObjectRecord">
8.1463 + <int key="objectID">81</int>
8.1464 + <reference key="object" ref="490965826"/>
8.1465 + <object class="NSMutableArray" key="children">
8.1466 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1467 + <reference ref="500564341"/>
8.1468 + <reference ref="13993947"/>
8.1469 + <reference ref="65491140"/>
8.1470 + <reference ref="403328285"/>
8.1471 + <reference ref="1046023832"/>
8.1472 + <reference ref="281929914"/>
8.1473 + <reference ref="713783987"/>
8.1474 + <reference ref="952309176"/>
8.1475 + <reference ref="382253523"/>
8.1476 + <reference ref="431578984"/>
8.1477 + <reference ref="626443743"/>
8.1478 + </object>
8.1479 + <reference key="parent" ref="817969428"/>
8.1480 + </object>
8.1481 + <object class="IBObjectRecord">
8.1482 + <int key="objectID">72</int>
8.1483 + <reference key="object" ref="500564341"/>
8.1484 + <reference key="parent" ref="490965826"/>
8.1485 + </object>
8.1486 + <object class="IBObjectRecord">
8.1487 + <int key="objectID">73</int>
8.1488 + <reference key="object" ref="13993947"/>
8.1489 + <reference key="parent" ref="490965826"/>
8.1490 + </object>
8.1491 + <object class="IBObjectRecord">
8.1492 + <int key="objectID">74</int>
8.1493 + <reference key="object" ref="65491140"/>
8.1494 + <reference key="parent" ref="490965826"/>
8.1495 + </object>
8.1496 + <object class="IBObjectRecord">
8.1497 + <int key="objectID">75</int>
8.1498 + <reference key="object" ref="403328285"/>
8.1499 + <reference key="parent" ref="490965826"/>
8.1500 + </object>
8.1501 + <object class="IBObjectRecord">
8.1502 + <int key="objectID">77</int>
8.1503 + <reference key="object" ref="1046023832"/>
8.1504 + <reference key="parent" ref="490965826"/>
8.1505 + </object>
8.1506 + <object class="IBObjectRecord">
8.1507 + <int key="objectID">78</int>
8.1508 + <reference key="object" ref="281929914"/>
8.1509 + <reference key="parent" ref="490965826"/>
8.1510 + </object>
8.1511 + <object class="IBObjectRecord">
8.1512 + <int key="objectID">79</int>
8.1513 + <reference key="object" ref="713783987"/>
8.1514 + <reference key="parent" ref="490965826"/>
8.1515 + </object>
8.1516 + <object class="IBObjectRecord">
8.1517 + <int key="objectID">80</int>
8.1518 + <reference key="object" ref="952309176"/>
8.1519 + <reference key="parent" ref="490965826"/>
8.1520 + </object>
8.1521 + <object class="IBObjectRecord">
8.1522 + <int key="objectID">82</int>
8.1523 + <reference key="object" ref="382253523"/>
8.1524 + <reference key="parent" ref="490965826"/>
8.1525 + </object>
8.1526 + <object class="IBObjectRecord">
8.1527 + <int key="objectID">112</int>
8.1528 + <reference key="object" ref="431578984"/>
8.1529 + <reference key="parent" ref="490965826"/>
8.1530 + </object>
8.1531 + <object class="IBObjectRecord">
8.1532 + <int key="objectID">124</int>
8.1533 + <reference key="object" ref="626443743"/>
8.1534 + <object class="NSMutableArray" key="children">
8.1535 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1536 + <reference ref="199229696"/>
8.1537 + </object>
8.1538 + <reference key="parent" ref="490965826"/>
8.1539 + </object>
8.1540 + <object class="IBObjectRecord">
8.1541 + <int key="objectID">125</int>
8.1542 + <reference key="object" ref="199229696"/>
8.1543 + <object class="NSMutableArray" key="children">
8.1544 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1545 + <reference ref="752571257"/>
8.1546 + </object>
8.1547 + <reference key="parent" ref="626443743"/>
8.1548 + </object>
8.1549 + <object class="IBObjectRecord">
8.1550 + <int key="objectID">126</int>
8.1551 + <reference key="object" ref="752571257"/>
8.1552 + <reference key="parent" ref="199229696"/>
8.1553 + </object>
8.1554 + <object class="IBObjectRecord">
8.1555 + <int key="objectID">103</int>
8.1556 + <reference key="object" ref="983720508"/>
8.1557 + <object class="NSMutableArray" key="children">
8.1558 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1559 + <reference ref="684548855"/>
8.1560 + </object>
8.1561 + <reference key="parent" ref="200148102"/>
8.1562 + </object>
8.1563 + <object class="IBObjectRecord">
8.1564 + <int key="objectID">106</int>
8.1565 + <reference key="object" ref="684548855"/>
8.1566 + <object class="NSMutableArray" key="children">
8.1567 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1568 + <reference ref="91438219"/>
8.1569 + </object>
8.1570 + <reference key="parent" ref="983720508"/>
8.1571 + </object>
8.1572 + <object class="IBObjectRecord">
8.1573 + <int key="objectID">111</int>
8.1574 + <reference key="object" ref="91438219"/>
8.1575 + <reference key="parent" ref="684548855"/>
8.1576 + </object>
8.1577 + <object class="IBObjectRecord">
8.1578 + <int key="objectID">163</int>
8.1579 + <reference key="object" ref="1058804219"/>
8.1580 + <object class="NSMutableArray" key="children">
8.1581 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1582 + <reference ref="970378601"/>
8.1583 + </object>
8.1584 + <reference key="parent" ref="200148102"/>
8.1585 + </object>
8.1586 + <object class="IBObjectRecord">
8.1587 + <int key="objectID">169</int>
8.1588 + <reference key="object" ref="970378601"/>
8.1589 + <object class="NSMutableArray" key="children">
8.1590 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1591 + <reference ref="1045726617"/>
8.1592 + <reference ref="960739466"/>
8.1593 + <reference ref="183900715"/>
8.1594 + <reference ref="602706656"/>
8.1595 + <reference ref="990184258"/>
8.1596 + <reference ref="834982377"/>
8.1597 + <reference ref="910617393"/>
8.1598 + <reference ref="669343463"/>
8.1599 + <reference ref="19862834"/>
8.1600 + <reference ref="703565818"/>
8.1601 + <reference ref="53633545"/>
8.1602 + <reference ref="663474094"/>
8.1603 + </object>
8.1604 + <reference key="parent" ref="1058804219"/>
8.1605 + </object>
8.1606 + <object class="IBObjectRecord">
8.1607 + <int key="objectID">156</int>
8.1608 + <reference key="object" ref="1045726617"/>
8.1609 + <reference key="parent" ref="970378601"/>
8.1610 + </object>
8.1611 + <object class="IBObjectRecord">
8.1612 + <int key="objectID">157</int>
8.1613 + <reference key="object" ref="960739466"/>
8.1614 + <reference key="parent" ref="970378601"/>
8.1615 + </object>
8.1616 + <object class="IBObjectRecord">
8.1617 + <int key="objectID">158</int>
8.1618 + <reference key="object" ref="183900715"/>
8.1619 + <reference key="parent" ref="970378601"/>
8.1620 + </object>
8.1621 + <object class="IBObjectRecord">
8.1622 + <int key="objectID">160</int>
8.1623 + <reference key="object" ref="602706656"/>
8.1624 + <reference key="parent" ref="970378601"/>
8.1625 + </object>
8.1626 + <object class="IBObjectRecord">
8.1627 + <int key="objectID">164</int>
8.1628 + <reference key="object" ref="990184258"/>
8.1629 + <reference key="parent" ref="970378601"/>
8.1630 + </object>
8.1631 + <object class="IBObjectRecord">
8.1632 + <int key="objectID">168</int>
8.1633 + <reference key="object" ref="834982377"/>
8.1634 + <object class="NSMutableArray" key="children">
8.1635 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1636 + <reference ref="1050811499"/>
8.1637 + </object>
8.1638 + <reference key="parent" ref="970378601"/>
8.1639 + </object>
8.1640 + <object class="IBObjectRecord">
8.1641 + <int key="objectID">159</int>
8.1642 + <reference key="object" ref="1050811499"/>
8.1643 + <object class="NSMutableArray" key="children">
8.1644 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1645 + <reference ref="213220646"/>
8.1646 + <reference ref="747878389"/>
8.1647 + <reference ref="791538819"/>
8.1648 + <reference ref="1052669061"/>
8.1649 + <reference ref="886821034"/>
8.1650 + </object>
8.1651 + <reference key="parent" ref="834982377"/>
8.1652 + </object>
8.1653 + <object class="IBObjectRecord">
8.1654 + <int key="objectID">154</int>
8.1655 + <reference key="object" ref="213220646"/>
8.1656 + <reference key="parent" ref="1050811499"/>
8.1657 + </object>
8.1658 + <object class="IBObjectRecord">
8.1659 + <int key="objectID">155</int>
8.1660 + <reference key="object" ref="747878389"/>
8.1661 + <reference key="parent" ref="1050811499"/>
8.1662 + </object>
8.1663 + <object class="IBObjectRecord">
8.1664 + <int key="objectID">161</int>
8.1665 + <reference key="object" ref="791538819"/>
8.1666 + <reference key="parent" ref="1050811499"/>
8.1667 + </object>
8.1668 + <object class="IBObjectRecord">
8.1669 + <int key="objectID">162</int>
8.1670 + <reference key="object" ref="1052669061"/>
8.1671 + <reference key="parent" ref="1050811499"/>
8.1672 + </object>
8.1673 + <object class="IBObjectRecord">
8.1674 + <int key="objectID">167</int>
8.1675 + <reference key="object" ref="886821034"/>
8.1676 + <reference key="parent" ref="1050811499"/>
8.1677 + </object>
8.1678 + <object class="IBObjectRecord">
8.1679 + <int key="objectID">171</int>
8.1680 + <reference key="object" ref="910617393"/>
8.1681 + <reference key="parent" ref="970378601"/>
8.1682 + </object>
8.1683 + <object class="IBObjectRecord">
8.1684 + <int key="objectID">172</int>
8.1685 + <reference key="object" ref="669343463"/>
8.1686 + <reference key="parent" ref="970378601"/>
8.1687 + </object>
8.1688 + <object class="IBObjectRecord">
8.1689 + <int key="objectID">173</int>
8.1690 + <reference key="object" ref="19862834"/>
8.1691 + <reference key="parent" ref="970378601"/>
8.1692 + </object>
8.1693 + <object class="IBObjectRecord">
8.1694 + <int key="objectID">174</int>
8.1695 + <reference key="object" ref="703565818"/>
8.1696 + <reference key="parent" ref="970378601"/>
8.1697 + </object>
8.1698 + <object class="IBObjectRecord">
8.1699 + <int key="objectID">184</int>
8.1700 + <reference key="object" ref="53633545"/>
8.1701 + <object class="NSMutableArray" key="children">
8.1702 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1703 + <reference ref="578319173"/>
8.1704 + </object>
8.1705 + <reference key="parent" ref="970378601"/>
8.1706 + </object>
8.1707 + <object class="IBObjectRecord">
8.1708 + <int key="objectID">185</int>
8.1709 + <reference key="object" ref="578319173"/>
8.1710 + <object class="NSMutableArray" key="children">
8.1711 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1712 + <reference ref="905911358"/>
8.1713 + <reference ref="384047817"/>
8.1714 + <reference ref="584636559"/>
8.1715 + </object>
8.1716 + <reference key="parent" ref="53633545"/>
8.1717 + </object>
8.1718 + <object class="IBObjectRecord">
8.1719 + <int key="objectID">187</int>
8.1720 + <reference key="object" ref="905911358"/>
8.1721 + <reference key="parent" ref="578319173"/>
8.1722 + </object>
8.1723 + <object class="IBObjectRecord">
8.1724 + <int key="objectID">189</int>
8.1725 + <reference key="object" ref="384047817"/>
8.1726 + <reference key="parent" ref="578319173"/>
8.1727 + </object>
8.1728 + <object class="IBObjectRecord">
8.1729 + <int key="objectID">191</int>
8.1730 + <reference key="object" ref="584636559"/>
8.1731 + <reference key="parent" ref="578319173"/>
8.1732 + </object>
8.1733 + <object class="IBObjectRecord">
8.1734 + <int key="objectID">204</int>
8.1735 + <reference key="object" ref="663474094"/>
8.1736 + <reference key="parent" ref="970378601"/>
8.1737 + </object>
8.1738 + <object class="IBObjectRecord">
8.1739 + <int key="objectID">214</int>
8.1740 + <reference key="object" ref="403404393"/>
8.1741 + <reference key="parent" ref="0"/>
8.1742 + <string key="objectName">EchoClientAppDelegate</string>
8.1743 + </object>
8.1744 + <object class="IBObjectRecord">
8.1745 + <int key="objectID">228</int>
8.1746 + <reference key="object" ref="364162739"/>
8.1747 + <reference key="parent" ref="692869434"/>
8.1748 + </object>
8.1749 + <object class="IBObjectRecord">
8.1750 + <int key="objectID">229</int>
8.1751 + <reference key="object" ref="617761818"/>
8.1752 + <reference key="parent" ref="764371910"/>
8.1753 + </object>
8.1754 + <object class="IBObjectRecord">
8.1755 + <int key="objectID">230</int>
8.1756 + <reference key="object" ref="149094482"/>
8.1757 + <reference key="parent" ref="66637806"/>
8.1758 + </object>
8.1759 + <object class="IBObjectRecord">
8.1760 + <int key="objectID">231</int>
8.1761 + <reference key="object" ref="173085971"/>
8.1762 + <reference key="parent" ref="77123075"/>
8.1763 + </object>
8.1764 + <object class="IBObjectRecord">
8.1765 + <int key="objectID">232</int>
8.1766 + <reference key="object" ref="958315114"/>
8.1767 + <reference key="parent" ref="107293221"/>
8.1768 + </object>
8.1769 + <object class="IBObjectRecord">
8.1770 + <int key="objectID">233</int>
8.1771 + <reference key="object" ref="573168767"/>
8.1772 + <reference key="parent" ref="107293221"/>
8.1773 + </object>
8.1774 + <object class="IBObjectRecord">
8.1775 + <int key="objectID">234</int>
8.1776 + <reference key="object" ref="470642343"/>
8.1777 + <reference key="parent" ref="107293221"/>
8.1778 + </object>
8.1779 + </object>
8.1780 + </object>
8.1781 + <object class="NSMutableDictionary" key="flattenedProperties">
8.1782 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1783 + <object class="NSMutableArray" key="dict.sortedKeys">
8.1784 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1785 + <string>-1.IBPluginDependency</string>
8.1786 + <string>-2.IBPluginDependency</string>
8.1787 + <string>-3.IBPluginDependency</string>
8.1788 + <string>-3.ImportedFromIB2</string>
8.1789 + <string>103.IBPluginDependency</string>
8.1790 + <string>103.ImportedFromIB2</string>
8.1791 + <string>106.IBPluginDependency</string>
8.1792 + <string>106.ImportedFromIB2</string>
8.1793 + <string>111.IBPluginDependency</string>
8.1794 + <string>111.ImportedFromIB2</string>
8.1795 + <string>112.IBPluginDependency</string>
8.1796 + <string>112.ImportedFromIB2</string>
8.1797 + <string>124.IBPluginDependency</string>
8.1798 + <string>124.ImportedFromIB2</string>
8.1799 + <string>125.IBPluginDependency</string>
8.1800 + <string>125.ImportedFromIB2</string>
8.1801 + <string>126.IBPluginDependency</string>
8.1802 + <string>126.ImportedFromIB2</string>
8.1803 + <string>129.IBPluginDependency</string>
8.1804 + <string>129.ImportedFromIB2</string>
8.1805 + <string>130.IBPluginDependency</string>
8.1806 + <string>130.ImportedFromIB2</string>
8.1807 + <string>131.IBPluginDependency</string>
8.1808 + <string>131.ImportedFromIB2</string>
8.1809 + <string>134.IBPluginDependency</string>
8.1810 + <string>134.ImportedFromIB2</string>
8.1811 + <string>136.IBPluginDependency</string>
8.1812 + <string>136.ImportedFromIB2</string>
8.1813 + <string>143.IBPluginDependency</string>
8.1814 + <string>143.ImportedFromIB2</string>
8.1815 + <string>144.IBPluginDependency</string>
8.1816 + <string>144.ImportedFromIB2</string>
8.1817 + <string>145.IBPluginDependency</string>
8.1818 + <string>145.ImportedFromIB2</string>
8.1819 + <string>149.IBPluginDependency</string>
8.1820 + <string>149.ImportedFromIB2</string>
8.1821 + <string>150.IBPluginDependency</string>
8.1822 + <string>150.ImportedFromIB2</string>
8.1823 + <string>154.IBPluginDependency</string>
8.1824 + <string>154.ImportedFromIB2</string>
8.1825 + <string>155.IBPluginDependency</string>
8.1826 + <string>155.ImportedFromIB2</string>
8.1827 + <string>156.IBPluginDependency</string>
8.1828 + <string>156.ImportedFromIB2</string>
8.1829 + <string>157.IBPluginDependency</string>
8.1830 + <string>157.ImportedFromIB2</string>
8.1831 + <string>158.IBPluginDependency</string>
8.1832 + <string>158.ImportedFromIB2</string>
8.1833 + <string>159.IBPluginDependency</string>
8.1834 + <string>159.ImportedFromIB2</string>
8.1835 + <string>160.IBPluginDependency</string>
8.1836 + <string>160.ImportedFromIB2</string>
8.1837 + <string>161.IBPluginDependency</string>
8.1838 + <string>161.ImportedFromIB2</string>
8.1839 + <string>162.IBPluginDependency</string>
8.1840 + <string>162.ImportedFromIB2</string>
8.1841 + <string>163.IBPluginDependency</string>
8.1842 + <string>163.ImportedFromIB2</string>
8.1843 + <string>164.IBPluginDependency</string>
8.1844 + <string>164.ImportedFromIB2</string>
8.1845 + <string>167.IBPluginDependency</string>
8.1846 + <string>167.ImportedFromIB2</string>
8.1847 + <string>168.IBPluginDependency</string>
8.1848 + <string>168.ImportedFromIB2</string>
8.1849 + <string>169.IBPluginDependency</string>
8.1850 + <string>169.ImportedFromIB2</string>
8.1851 + <string>171.IBPluginDependency</string>
8.1852 + <string>171.ImportedFromIB2</string>
8.1853 + <string>172.IBPluginDependency</string>
8.1854 + <string>172.ImportedFromIB2</string>
8.1855 + <string>173.IBPluginDependency</string>
8.1856 + <string>173.ImportedFromIB2</string>
8.1857 + <string>174.IBPluginDependency</string>
8.1858 + <string>174.ImportedFromIB2</string>
8.1859 + <string>184.IBPluginDependency</string>
8.1860 + <string>184.ImportedFromIB2</string>
8.1861 + <string>185.IBPluginDependency</string>
8.1862 + <string>185.ImportedFromIB2</string>
8.1863 + <string>187.IBPluginDependency</string>
8.1864 + <string>187.ImportedFromIB2</string>
8.1865 + <string>189.IBPluginDependency</string>
8.1866 + <string>189.ImportedFromIB2</string>
8.1867 + <string>19.IBPluginDependency</string>
8.1868 + <string>19.ImportedFromIB2</string>
8.1869 + <string>191.IBPluginDependency</string>
8.1870 + <string>191.ImportedFromIB2</string>
8.1871 + <string>196.IBPluginDependency</string>
8.1872 + <string>196.ImportedFromIB2</string>
8.1873 + <string>197.IBPluginDependency</string>
8.1874 + <string>197.ImportedFromIB2</string>
8.1875 + <string>2.IBPluginDependency</string>
8.1876 + <string>2.ImportedFromIB2</string>
8.1877 + <string>204.IBPluginDependency</string>
8.1878 + <string>204.ImportedFromIB2</string>
8.1879 + <string>206.IBPluginDependency</string>
8.1880 + <string>206.ImportedFromIB2</string>
8.1881 + <string>207.IBPluginDependency</string>
8.1882 + <string>207.ImportedFromIB2</string>
8.1883 + <string>208.IBPluginDependency</string>
8.1884 + <string>208.ImportedFromIB2</string>
8.1885 + <string>21.IBEditorWindowLastContentRect</string>
8.1886 + <string>21.IBPluginDependency</string>
8.1887 + <string>21.IBWindowTemplateEditedContentRect</string>
8.1888 + <string>21.ImportedFromIB2</string>
8.1889 + <string>21.NSWindowTemplate.visibleAtLaunch</string>
8.1890 + <string>21.windowTemplate.hasMinSize</string>
8.1891 + <string>21.windowTemplate.minSize</string>
8.1892 + <string>211.IBPluginDependency</string>
8.1893 + <string>211.ImportedFromIB2</string>
8.1894 + <string>212.IBPluginDependency</string>
8.1895 + <string>212.ImportedFromIB2</string>
8.1896 + <string>213.IBPluginDependency</string>
8.1897 + <string>213.ImportedFromIB2</string>
8.1898 + <string>214.IBPluginDependency</string>
8.1899 + <string>214.ImportedFromIB2</string>
8.1900 + <string>23.IBPluginDependency</string>
8.1901 + <string>23.ImportedFromIB2</string>
8.1902 + <string>231.IBShouldRemoveOnLegacySave</string>
8.1903 + <string>232.IBShouldRemoveOnLegacySave</string>
8.1904 + <string>233.IBShouldRemoveOnLegacySave</string>
8.1905 + <string>234.IBShouldRemoveOnLegacySave</string>
8.1906 + <string>24.IBPluginDependency</string>
8.1907 + <string>24.ImportedFromIB2</string>
8.1908 + <string>29.IBEditorWindowLastContentRect</string>
8.1909 + <string>29.IBPluginDependency</string>
8.1910 + <string>29.ImportedFromIB2</string>
8.1911 + <string>5.IBPluginDependency</string>
8.1912 + <string>5.ImportedFromIB2</string>
8.1913 + <string>56.IBPluginDependency</string>
8.1914 + <string>56.ImportedFromIB2</string>
8.1915 + <string>57.IBPluginDependency</string>
8.1916 + <string>57.ImportedFromIB2</string>
8.1917 + <string>58.IBPluginDependency</string>
8.1918 + <string>58.ImportedFromIB2</string>
8.1919 + <string>72.IBPluginDependency</string>
8.1920 + <string>72.ImportedFromIB2</string>
8.1921 + <string>73.IBPluginDependency</string>
8.1922 + <string>73.ImportedFromIB2</string>
8.1923 + <string>74.IBPluginDependency</string>
8.1924 + <string>74.ImportedFromIB2</string>
8.1925 + <string>75.IBPluginDependency</string>
8.1926 + <string>75.ImportedFromIB2</string>
8.1927 + <string>77.IBPluginDependency</string>
8.1928 + <string>77.ImportedFromIB2</string>
8.1929 + <string>78.IBPluginDependency</string>
8.1930 + <string>78.ImportedFromIB2</string>
8.1931 + <string>79.IBPluginDependency</string>
8.1932 + <string>79.ImportedFromIB2</string>
8.1933 + <string>80.IBPluginDependency</string>
8.1934 + <string>80.ImportedFromIB2</string>
8.1935 + <string>81.IBPluginDependency</string>
8.1936 + <string>81.ImportedFromIB2</string>
8.1937 + <string>82.IBPluginDependency</string>
8.1938 + <string>82.ImportedFromIB2</string>
8.1939 + <string>83.IBPluginDependency</string>
8.1940 + <string>83.ImportedFromIB2</string>
8.1941 + <string>92.IBPluginDependency</string>
8.1942 + <string>92.ImportedFromIB2</string>
8.1943 + </object>
8.1944 + <object class="NSMutableArray" key="dict.values">
8.1945 + <bool key="EncodedWithXMLCoder">YES</bool>
8.1946 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1947 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1948 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1949 + <integer value="1" id="5"/>
8.1950 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1951 + <reference ref="5"/>
8.1952 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1953 + <reference ref="5"/>
8.1954 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1955 + <reference ref="5"/>
8.1956 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1957 + <reference ref="5"/>
8.1958 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1959 + <reference ref="5"/>
8.1960 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1961 + <reference ref="5"/>
8.1962 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1963 + <reference ref="5"/>
8.1964 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1965 + <reference ref="5"/>
8.1966 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1967 + <reference ref="5"/>
8.1968 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1969 + <reference ref="5"/>
8.1970 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1971 + <reference ref="5"/>
8.1972 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1973 + <reference ref="5"/>
8.1974 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1975 + <reference ref="5"/>
8.1976 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1977 + <reference ref="5"/>
8.1978 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1979 + <reference ref="5"/>
8.1980 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1981 + <reference ref="5"/>
8.1982 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1983 + <reference ref="5"/>
8.1984 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1985 + <reference ref="5"/>
8.1986 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1987 + <reference ref="5"/>
8.1988 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1989 + <reference ref="5"/>
8.1990 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1991 + <reference ref="5"/>
8.1992 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1993 + <reference ref="5"/>
8.1994 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1995 + <reference ref="5"/>
8.1996 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1997 + <reference ref="5"/>
8.1998 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.1999 + <reference ref="5"/>
8.2000 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2001 + <reference ref="5"/>
8.2002 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2003 + <reference ref="5"/>
8.2004 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2005 + <reference ref="5"/>
8.2006 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2007 + <reference ref="5"/>
8.2008 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2009 + <reference ref="5"/>
8.2010 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2011 + <reference ref="5"/>
8.2012 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2013 + <reference ref="5"/>
8.2014 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2015 + <reference ref="5"/>
8.2016 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2017 + <reference ref="5"/>
8.2018 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2019 + <reference ref="5"/>
8.2020 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2021 + <reference ref="5"/>
8.2022 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2023 + <reference ref="5"/>
8.2024 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2025 + <reference ref="5"/>
8.2026 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2027 + <reference ref="5"/>
8.2028 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2029 + <reference ref="5"/>
8.2030 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2031 + <reference ref="5"/>
8.2032 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2033 + <reference ref="5"/>
8.2034 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2035 + <reference ref="5"/>
8.2036 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2037 + <reference ref="5"/>
8.2038 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2039 + <reference ref="5"/>
8.2040 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2041 + <reference ref="5"/>
8.2042 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2043 + <reference ref="5"/>
8.2044 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2045 + <reference ref="5"/>
8.2046 + <string>{{108, 555}, {529, 256}}</string>
8.2047 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2048 + <string>{{108, 555}, {529, 256}}</string>
8.2049 + <reference ref="5"/>
8.2050 + <reference ref="5"/>
8.2051 + <reference ref="5"/>
8.2052 + <string>{213, 107}</string>
8.2053 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2054 + <reference ref="5"/>
8.2055 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2056 + <reference ref="5"/>
8.2057 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2058 + <reference ref="5"/>
8.2059 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2060 + <reference ref="5"/>
8.2061 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2062 + <reference ref="5"/>
8.2063 + <reference ref="5"/>
8.2064 + <reference ref="5"/>
8.2065 + <reference ref="5"/>
8.2066 + <reference ref="5"/>
8.2067 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2068 + <reference ref="5"/>
8.2069 + <string>{{98, 802}, {368, 20}}</string>
8.2070 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2071 + <reference ref="5"/>
8.2072 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2073 + <reference ref="5"/>
8.2074 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2075 + <reference ref="5"/>
8.2076 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2077 + <reference ref="5"/>
8.2078 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2079 + <reference ref="5"/>
8.2080 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2081 + <reference ref="5"/>
8.2082 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2083 + <reference ref="5"/>
8.2084 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2085 + <reference ref="5"/>
8.2086 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2087 + <reference ref="5"/>
8.2088 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2089 + <reference ref="5"/>
8.2090 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2091 + <reference ref="5"/>
8.2092 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2093 + <reference ref="5"/>
8.2094 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2095 + <reference ref="5"/>
8.2096 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2097 + <reference ref="5"/>
8.2098 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2099 + <reference ref="5"/>
8.2100 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2101 + <reference ref="5"/>
8.2102 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
8.2103 + <reference ref="5"/>
8.2104 + </object>
8.2105 + </object>
8.2106 + <object class="NSMutableDictionary" key="unlocalizedProperties">
8.2107 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2108 + <object class="NSArray" key="dict.sortedKeys">
8.2109 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2110 + </object>
8.2111 + <object class="NSMutableArray" key="dict.values">
8.2112 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2113 + </object>
8.2114 + </object>
8.2115 + <nil key="activeLocalization"/>
8.2116 + <object class="NSMutableDictionary" key="localizations">
8.2117 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2118 + <object class="NSArray" key="dict.sortedKeys">
8.2119 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2120 + </object>
8.2121 + <object class="NSMutableArray" key="dict.values">
8.2122 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2123 + </object>
8.2124 + </object>
8.2125 + <nil key="sourceID"/>
8.2126 + <int key="maxID">234</int>
8.2127 + </object>
8.2128 + <object class="IBClassDescriber" key="IBDocument.Classes">
8.2129 + <object class="NSMutableArray" key="referencedPartialClassDescriptions">
8.2130 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2131 + <object class="IBPartialClassDescription">
8.2132 + <string key="className">BLIPEchoClient</string>
8.2133 + <string key="superclassName">NSObject</string>
8.2134 + <object class="NSMutableDictionary" key="actions">
8.2135 + <string key="NS.key.0">sendText:</string>
8.2136 + <string key="NS.object.0">id</string>
8.2137 + </object>
8.2138 + <object class="NSMutableDictionary" key="outlets">
8.2139 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2140 + <object class="NSMutableArray" key="dict.sortedKeys">
8.2141 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2142 + <string>inputField</string>
8.2143 + <string>responseField</string>
8.2144 + <string>serverTableView</string>
8.2145 + </object>
8.2146 + <object class="NSMutableArray" key="dict.values">
8.2147 + <bool key="EncodedWithXMLCoder">YES</bool>
8.2148 + <string>NSTextField</string>
8.2149 + <string>NSTextField</string>
8.2150 + <string>NSTableView</string>
8.2151 + </object>
8.2152 + </object>
8.2153 + <object class="IBClassDescriptionSource" key="sourceIdentifier">
8.2154 + <string key="majorKey">IBProjectSource</string>
8.2155 + <string key="minorKey">BLIP/Demo/BLIPEchoClient.h</string>
8.2156 + </object>
8.2157 + </object>
8.2158 + <object class="IBPartialClassDescription">
8.2159 + <string key="className">BLIPEchoClient</string>
8.2160 + <string key="superclassName">NSObject</string>
8.2161 + <object class="IBClassDescriptionSource" key="sourceIdentifier">
8.2162 + <string key="majorKey">IBUserSource</string>
8.2163 + <string key="minorKey"/>
8.2164 + </object>
8.2165 + </object>
8.2166 + <object class="IBPartialClassDescription">
8.2167 + <string key="className">FirstResponder</string>
8.2168 + <object class="IBClassDescriptionSource" key="sourceIdentifier">
8.2169 + <string key="majorKey">IBUserSource</string>
8.2170 + <string key="minorKey"/>
8.2171 + </object>
8.2172 + </object>
8.2173 + </object>
8.2174 + </object>
8.2175 + <int key="IBDocument.localizationMode">0</int>
8.2176 + <nil key="IBDocument.LastKnownRelativeProjectPath"/>
8.2177 + <int key="IBDocument.defaultPropertyAccessControl">3</int>
8.2178 + </data>
8.2179 +</archive>
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/BLIP/Demo/BLIPEchoServer.h Sat May 24 21:26:09 2008 -0700
9.3 @@ -0,0 +1,17 @@
9.4 +//
9.5 +// BLIPEchoServer.h
9.6 +// MYNetwork
9.7 +//
9.8 +// Created by Jens Alfke on 5/24/08.
9.9 +// Copyright 2008 Jens Alfke. All rights reserved.
9.10 +//
9.11 +
9.12 +#import <Foundation/Foundation.h>
9.13 +#import "BLIPConnection.h"
9.14 +
9.15 +@interface BLIPEchoServer : NSObject <TCPListenerDelegate, BLIPConnectionDelegate>
9.16 +{
9.17 + BLIPListener *_listener;
9.18 +}
9.19 +
9.20 +@end
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/BLIP/Demo/BLIPEchoServer.m Sat May 24 21:26:09 2008 -0700
10.3 @@ -0,0 +1,70 @@
10.4 +//
10.5 +// BLIPEchoServer.m
10.6 +// MYNetwork
10.7 +//
10.8 +// Created by Jens Alfke on 5/24/08.
10.9 +// Copyright 2008 Jens Alfke. All rights reserved.
10.10 +//
10.11 +
10.12 +#import "BLIPEchoServer.h"
10.13 +#import "BLIP.h"
10.14 +
10.15 +
10.16 +@implementation BLIPEchoServer
10.17 +
10.18 +
10.19 +- (id) init
10.20 +{
10.21 + self = [super init];
10.22 + if (self != nil) {
10.23 + _listener = [[BLIPListener alloc] initWithPort: 12345];
10.24 + _listener.delegate = self;
10.25 + _listener.pickAvailablePort = YES;
10.26 + _listener.bonjourServiceType = @"_blipecho._tcp";
10.27 + [_listener open];
10.28 + NSLog(@"%@ is listening...",self);
10.29 + }
10.30 + return self;
10.31 +}
10.32 +
10.33 +- (void) dealloc
10.34 +{
10.35 + [_listener close];
10.36 + [_listener release];
10.37 + [super dealloc];
10.38 +}
10.39 +
10.40 +- (void) listener: (TCPListener*)listener failedToOpen: (NSError*)error
10.41 +{
10.42 + NSLog(@"** %@ failed to open: %@",self,error);
10.43 +}
10.44 +
10.45 +- (void) listener: (TCPListener*)listener didAcceptConnection: (TCPConnection*)connection
10.46 +{
10.47 + NSLog(@"** %@ accepted %@",self,connection);
10.48 + connection.delegate = self;
10.49 +}
10.50 +
10.51 +- (void) connection: (TCPConnection*)connection failedToOpen: (NSError*)error
10.52 +{
10.53 + NSLog(@"** %@ failedToOpen: %@",connection,error);
10.54 +}
10.55 +
10.56 +- (void) connection: (BLIPConnection*)connection receivedRequest: (BLIPRequest*)request
10.57 +{
10.58 + NSLog(@"***** %@ received %@",connection,request);
10.59 + [request respondWithData: request.body contentType: request.contentType];
10.60 +}
10.61 +
10.62 +
10.63 +@end
10.64 +
10.65 +
10.66 +int main( int argc, const char **argv )
10.67 +{
10.68 + NSAutoreleasePool *pool = [NSAutoreleasePool new];
10.69 + BLIPEchoServer *listener = [[BLIPEchoServer alloc] init];
10.70 + [[NSRunLoop currentRunLoop] run];
10.71 + [listener release];
10.72 + [pool drain];
10.73 +}
11.1 --- a/MYNetwork.xcodeproj/project.pbxproj Sat May 24 17:25:06 2008 -0700
11.2 +++ b/MYNetwork.xcodeproj/project.pbxproj Sat May 24 21:26:09 2008 -0700
11.3 @@ -12,7 +12,6 @@
11.4 270461150DE49030003D9D3F /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F90DE49030003D9D3F /* BLIPMessage.m */; };
11.5 270461160DE49030003D9D3F /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FB0DE49030003D9D3F /* BLIPProperties.m */; };
11.6 270461170DE49030003D9D3F /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FD0DE49030003D9D3F /* BLIPReader.m */; };
11.7 - 270461180DE49030003D9D3F /* BLIPTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FE0DE49030003D9D3F /* BLIPTest.m */; };
11.8 270461190DE49030003D9D3F /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461000DE49030003D9D3F /* BLIPWriter.m */; };
11.9 2704611A0DE49030003D9D3F /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461020DE49030003D9D3F /* IPAddress.m */; };
11.10 2704611B0DE49030003D9D3F /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610A0DE49030003D9D3F /* TCPConnection.m */; };
11.11 @@ -28,7 +27,27 @@
11.12 270461890DE49634003D9D3F /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
11.13 2704618C0DE49652003D9D3F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2704618B0DE49652003D9D3F /* libz.dylib */; };
11.14 270461920DE4975D003D9D3F /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270461910DE4975C003D9D3F /* CoreServices.framework */; };
11.15 - 270462C20DE4A64B003D9D3F /* MYUtilitiesTest_main.m in Sources */ = {isa = PBXBuildFile; fileRef = 270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */; };
11.16 + 277904330DE91DE600C6D295 /* BLIPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F40DE49030003D9D3F /* BLIPConnection.m */; };
11.17 + 277904340DE91DE700C6D295 /* BLIPDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F60DE49030003D9D3F /* BLIPDispatcher.m */; };
11.18 + 277904350DE91DE800C6D295 /* BLIPEchoClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903E90DE8F08100C6D295 /* BLIPEchoClient.m */; };
11.19 + 277904370DE91DEB00C6D295 /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F90DE49030003D9D3F /* BLIPMessage.m */; };
11.20 + 277904380DE91DEC00C6D295 /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FB0DE49030003D9D3F /* BLIPProperties.m */; };
11.21 + 277904390DE91DEE00C6D295 /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FD0DE49030003D9D3F /* BLIPReader.m */; };
11.22 + 2779043A0DE91DEF00C6D295 /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
11.23 + 2779043C0DE91DF100C6D295 /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461000DE49030003D9D3F /* BLIPWriter.m */; };
11.24 + 2779043D0DE91DF300C6D295 /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461020DE49030003D9D3F /* IPAddress.m */; };
11.25 + 2779043E0DE91DF500C6D295 /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610A0DE49030003D9D3F /* TCPConnection.m */; };
11.26 + 2779043F0DE91DF800C6D295 /* TCPEndpoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610C0DE49030003D9D3F /* TCPEndpoint.m */; };
11.27 + 277904400DE91DF900C6D295 /* TCPListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610E0DE49030003D9D3F /* TCPListener.m */; };
11.28 + 277904410DE91DFA00C6D295 /* TCPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461100DE49030003D9D3F /* TCPStream.m */; };
11.29 + 277904420DE91DFC00C6D295 /* TCPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461120DE49030003D9D3F /* TCPWriter.m */; };
11.30 + 277904440DE91E3500C6D295 /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
11.31 + 277904450DE91E3600C6D295 /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
11.32 + 277904460DE91E3700C6D295 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
11.33 + 277904480DE91E3900C6D295 /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
11.34 + 277904490DE91E3A00C6D295 /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461280DE49088003D9D3F /* Test.m */; };
11.35 + 2779046D0DE91F4200C6D295 /* BLIPEchoServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */; };
11.36 + 2779048B0DE9204300C6D295 /* BLIPEchoClient.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */; };
11.37 27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
11.38 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
11.39 /* End PBXBuildFile section */
11.40 @@ -94,11 +113,26 @@
11.41 270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYUtilitiesTest_main.m; sourceTree = "<group>"; };
11.42 270462C30DE4A65B003D9D3F /* BLIP Overview.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "BLIP Overview.txt"; path = "BLIP/BLIP Overview.txt"; sourceTree = "<group>"; wrapsLines = 1; };
11.43 277903830DE8C2DD00C6D295 /* maindocs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maindocs.h; sourceTree = "<group>"; wrapsLines = 1; };
11.44 + 277903D50DE8EE4800C6D295 /* BLIPEchoServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPEchoServer.h; sourceTree = "<group>"; };
11.45 + 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPEchoServer.m; sourceTree = "<group>"; };
11.46 + 277903D80DE8EFC900C6D295 /* BLIP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIP.h; sourceTree = "<group>"; };
11.47 + 277903E80DE8F08100C6D295 /* BLIPEchoClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPEchoClient.h; sourceTree = "<group>"; };
11.48 + 277903E90DE8F08100C6D295 /* BLIPEchoClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPEchoClient.m; sourceTree = "<group>"; };
11.49 + 277904260DE91C7900C6D295 /* BLIP Echo Client.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "BLIP Echo Client.app"; sourceTree = BUILT_PRODUCTS_DIR; };
11.50 + 277904280DE91C7900C6D295 /* BLIP Echo Client-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BLIP Echo Client-Info.plist"; sourceTree = "<group>"; };
11.51 + 2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BLIPEchoClient.xib; sourceTree = "<group>"; };
11.52 27D5EC050DE5FEDE00CD84FA /* BLIPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPRequest.h; sourceTree = "<group>"; };
11.53 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPRequest.m; sourceTree = "<group>"; };
11.54 /* End PBXFileReference section */
11.55
11.56 /* Begin PBXFrameworksBuildPhase section */
11.57 + 277904240DE91C7900C6D295 /* Frameworks */ = {
11.58 + isa = PBXFrameworksBuildPhase;
11.59 + buildActionMask = 2147483647;
11.60 + files = (
11.61 + );
11.62 + runOnlyForDeploymentPostprocessing = 0;
11.63 + };
11.64 8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
11.65 isa = PBXFrameworksBuildPhase;
11.66 buildActionMask = 2147483647;
11.67 @@ -140,6 +174,7 @@
11.68 isa = PBXGroup;
11.69 children = (
11.70 270461720DE49340003D9D3F /* MYNetwork */,
11.71 + 277904260DE91C7900C6D295 /* BLIP Echo Client.app */,
11.72 );
11.73 name = Products;
11.74 sourceTree = "<group>";
11.75 @@ -158,6 +193,7 @@
11.76 270460F10DE49030003D9D3F /* BLIP */ = {
11.77 isa = PBXGroup;
11.78 children = (
11.79 + 277903D80DE8EFC900C6D295 /* BLIP.h */,
11.80 270460F30DE49030003D9D3F /* BLIPConnection.h */,
11.81 270460F40DE49030003D9D3F /* BLIPConnection.m */,
11.82 270460F50DE49030003D9D3F /* BLIPDispatcher.h */,
11.83 @@ -174,6 +210,7 @@
11.84 270461000DE49030003D9D3F /* BLIPWriter.m */,
11.85 270460FE0DE49030003D9D3F /* BLIPTest.m */,
11.86 270460F70DE49030003D9D3F /* BLIP_Internal.h */,
11.87 + 277903E70DE8F05F00C6D295 /* Demo */,
11.88 );
11.89 path = BLIP;
11.90 sourceTree = "<group>";
11.91 @@ -226,9 +263,39 @@
11.92 name = "google-toolbox";
11.93 sourceTree = "google-toolbox";
11.94 };
11.95 + 277903E70DE8F05F00C6D295 /* Demo */ = {
11.96 + isa = PBXGroup;
11.97 + children = (
11.98 + 277903D50DE8EE4800C6D295 /* BLIPEchoServer.h */,
11.99 + 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */,
11.100 + 277903E80DE8F08100C6D295 /* BLIPEchoClient.h */,
11.101 + 277903E90DE8F08100C6D295 /* BLIPEchoClient.m */,
11.102 + 2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */,
11.103 + 277904280DE91C7900C6D295 /* BLIP Echo Client-Info.plist */,
11.104 + );
11.105 + path = Demo;
11.106 + sourceTree = "<group>";
11.107 + };
11.108 /* End PBXGroup section */
11.109
11.110 /* Begin PBXNativeTarget section */
11.111 + 277904250DE91C7900C6D295 /* BLIP Echo Client */ = {
11.112 + isa = PBXNativeTarget;
11.113 + buildConfigurationList = 2779042B0DE91C7A00C6D295 /* Build configuration list for PBXNativeTarget "BLIP Echo Client" */;
11.114 + buildPhases = (
11.115 + 277904220DE91C7900C6D295 /* Resources */,
11.116 + 277904230DE91C7900C6D295 /* Sources */,
11.117 + 277904240DE91C7900C6D295 /* Frameworks */,
11.118 + );
11.119 + buildRules = (
11.120 + );
11.121 + dependencies = (
11.122 + );
11.123 + name = "BLIP Echo Client";
11.124 + productName = "BLIP Echo Client";
11.125 + productReference = 277904260DE91C7900C6D295 /* BLIP Echo Client.app */;
11.126 + productType = "com.apple.product-type.application";
11.127 + };
11.128 8DD76F960486AA7600D96B5E /* MYNetwork */ = {
11.129 isa = PBXNativeTarget;
11.130 buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "MYNetwork" */;
11.131 @@ -260,11 +327,49 @@
11.132 projectRoot = "";
11.133 targets = (
11.134 8DD76F960486AA7600D96B5E /* MYNetwork */,
11.135 + 277904250DE91C7900C6D295 /* BLIP Echo Client */,
11.136 );
11.137 };
11.138 /* End PBXProject section */
11.139
11.140 +/* Begin PBXResourcesBuildPhase section */
11.141 + 277904220DE91C7900C6D295 /* Resources */ = {
11.142 + isa = PBXResourcesBuildPhase;
11.143 + buildActionMask = 2147483647;
11.144 + files = (
11.145 + 2779048B0DE9204300C6D295 /* BLIPEchoClient.xib in Resources */,
11.146 + );
11.147 + runOnlyForDeploymentPostprocessing = 0;
11.148 + };
11.149 +/* End PBXResourcesBuildPhase section */
11.150 +
11.151 /* Begin PBXSourcesBuildPhase section */
11.152 + 277904230DE91C7900C6D295 /* Sources */ = {
11.153 + isa = PBXSourcesBuildPhase;
11.154 + buildActionMask = 2147483647;
11.155 + files = (
11.156 + 277904330DE91DE600C6D295 /* BLIPConnection.m in Sources */,
11.157 + 277904340DE91DE700C6D295 /* BLIPDispatcher.m in Sources */,
11.158 + 277904350DE91DE800C6D295 /* BLIPEchoClient.m in Sources */,
11.159 + 277904370DE91DEB00C6D295 /* BLIPMessage.m in Sources */,
11.160 + 277904380DE91DEC00C6D295 /* BLIPProperties.m in Sources */,
11.161 + 277904390DE91DEE00C6D295 /* BLIPReader.m in Sources */,
11.162 + 2779043A0DE91DEF00C6D295 /* BLIPRequest.m in Sources */,
11.163 + 2779043C0DE91DF100C6D295 /* BLIPWriter.m in Sources */,
11.164 + 2779043D0DE91DF300C6D295 /* IPAddress.m in Sources */,
11.165 + 2779043E0DE91DF500C6D295 /* TCPConnection.m in Sources */,
11.166 + 2779043F0DE91DF800C6D295 /* TCPEndpoint.m in Sources */,
11.167 + 277904400DE91DF900C6D295 /* TCPListener.m in Sources */,
11.168 + 277904410DE91DFA00C6D295 /* TCPStream.m in Sources */,
11.169 + 277904420DE91DFC00C6D295 /* TCPWriter.m in Sources */,
11.170 + 277904440DE91E3500C6D295 /* CollectionUtils.m in Sources */,
11.171 + 277904450DE91E3600C6D295 /* ExceptionUtils.m in Sources */,
11.172 + 277904460DE91E3700C6D295 /* Logging.m in Sources */,
11.173 + 277904480DE91E3900C6D295 /* Target.m in Sources */,
11.174 + 277904490DE91E3A00C6D295 /* Test.m in Sources */,
11.175 + );
11.176 + runOnlyForDeploymentPostprocessing = 0;
11.177 + };
11.178 8DD76F990486AA7600D96B5E /* Sources */ = {
11.179 isa = PBXSourcesBuildPhase;
11.180 buildActionMask = 2147483647;
11.181 @@ -274,7 +379,6 @@
11.182 270461150DE49030003D9D3F /* BLIPMessage.m in Sources */,
11.183 270461160DE49030003D9D3F /* BLIPProperties.m in Sources */,
11.184 270461170DE49030003D9D3F /* BLIPReader.m in Sources */,
11.185 - 270461180DE49030003D9D3F /* BLIPTest.m in Sources */,
11.186 270461190DE49030003D9D3F /* BLIPWriter.m in Sources */,
11.187 2704611A0DE49030003D9D3F /* IPAddress.m in Sources */,
11.188 2704611B0DE49030003D9D3F /* TCPConnection.m in Sources */,
11.189 @@ -288,8 +392,8 @@
11.190 270461470DE491A6003D9D3F /* Target.m in Sources */,
11.191 270461700DE492F3003D9D3F /* GTMNSData+zlib.m in Sources */,
11.192 270461890DE49634003D9D3F /* CollectionUtils.m in Sources */,
11.193 - 270462C20DE4A64B003D9D3F /* MYUtilitiesTest_main.m in Sources */,
11.194 27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */,
11.195 + 2779046D0DE91F4200C6D295 /* BLIPEchoServer.m in Sources */,
11.196 );
11.197 runOnlyForDeploymentPostprocessing = 0;
11.198 };
11.199 @@ -332,13 +436,15 @@
11.200 isa = XCBuildConfiguration;
11.201 buildSettings = {
11.202 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
11.203 - GCC_C_LANGUAGE_STANDARD = c99;
11.204 + GCC_C_LANGUAGE_STANDARD = gnu99;
11.205 GCC_OPTIMIZATION_LEVEL = 0;
11.206 + GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
11.207 GCC_WARN_ABOUT_RETURN_TYPE = YES;
11.208 GCC_WARN_UNUSED_VARIABLE = YES;
11.209 ONLY_ACTIVE_ARCH = YES;
11.210 PREBINDING = NO;
11.211 SDKROOT = macosx10.5;
11.212 + WARNING_CFLAGS = "-Wall";
11.213 };
11.214 name = Debug;
11.215 };
11.216 @@ -346,11 +452,60 @@
11.217 isa = XCBuildConfiguration;
11.218 buildSettings = {
11.219 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
11.220 - GCC_C_LANGUAGE_STANDARD = c99;
11.221 + GCC_C_LANGUAGE_STANDARD = gnu99;
11.222 GCC_WARN_ABOUT_RETURN_TYPE = YES;
11.223 GCC_WARN_UNUSED_VARIABLE = YES;
11.224 PREBINDING = NO;
11.225 SDKROOT = macosx10.5;
11.226 + WARNING_CFLAGS = "-Wall";
11.227 + };
11.228 + name = Release;
11.229 + };
11.230 + 277904290DE91C7A00C6D295 /* Debug */ = {
11.231 + isa = XCBuildConfiguration;
11.232 + buildSettings = {
11.233 + ALWAYS_SEARCH_USER_PATHS = NO;
11.234 + COPY_PHASE_STRIP = NO;
11.235 + GCC_DYNAMIC_NO_PIC = NO;
11.236 + GCC_ENABLE_FIX_AND_CONTINUE = YES;
11.237 + GCC_MODEL_TUNING = G5;
11.238 + GCC_OPTIMIZATION_LEVEL = 0;
11.239 + GCC_PRECOMPILE_PREFIX_HEADER = YES;
11.240 + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
11.241 + INFOPLIST_FILE = "BLIP/Demo/BLIP Echo Client-Info.plist";
11.242 + INSTALL_PATH = "$(HOME)/Applications";
11.243 + OTHER_LDFLAGS = (
11.244 + "-framework",
11.245 + Foundation,
11.246 + "-framework",
11.247 + AppKit,
11.248 + );
11.249 + PREBINDING = NO;
11.250 + PRODUCT_NAME = "BLIP Echo Client";
11.251 + };
11.252 + name = Debug;
11.253 + };
11.254 + 2779042A0DE91C7A00C6D295 /* Release */ = {
11.255 + isa = XCBuildConfiguration;
11.256 + buildSettings = {
11.257 + ALWAYS_SEARCH_USER_PATHS = NO;
11.258 + COPY_PHASE_STRIP = YES;
11.259 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
11.260 + GCC_ENABLE_FIX_AND_CONTINUE = NO;
11.261 + GCC_MODEL_TUNING = G5;
11.262 + GCC_PRECOMPILE_PREFIX_HEADER = YES;
11.263 + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
11.264 + INFOPLIST_FILE = "BLIP/Demo/BLIP Echo Client-Info.plist";
11.265 + INSTALL_PATH = "$(HOME)/Applications";
11.266 + OTHER_LDFLAGS = (
11.267 + "-framework",
11.268 + Foundation,
11.269 + "-framework",
11.270 + AppKit,
11.271 + );
11.272 + PREBINDING = NO;
11.273 + PRODUCT_NAME = "BLIP Echo Client";
11.274 + ZERO_LINK = NO;
11.275 };
11.276 name = Release;
11.277 };
11.278 @@ -375,6 +530,15 @@
11.279 defaultConfigurationIsVisible = 0;
11.280 defaultConfigurationName = Release;
11.281 };
11.282 + 2779042B0DE91C7A00C6D295 /* Build configuration list for PBXNativeTarget "BLIP Echo Client" */ = {
11.283 + isa = XCConfigurationList;
11.284 + buildConfigurations = (
11.285 + 277904290DE91C7A00C6D295 /* Debug */,
11.286 + 2779042A0DE91C7A00C6D295 /* Release */,
11.287 + );
11.288 + defaultConfigurationIsVisible = 0;
11.289 + defaultConfigurationName = Release;
11.290 + };
11.291 /* End XCConfigurationList section */
11.292 };
11.293 rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;