diff --git a/cocoa/base/AppDelegate.h b/cocoa/base/AppDelegate.h
index 31f7957a..65825aa2 100644
--- a/cocoa/base/AppDelegate.h
+++ b/cocoa/base/AppDelegate.h
@@ -17,20 +17,31 @@ http://www.hardcoded.net/licenses/bsd_license
 @interface AppDelegateBase : NSObject
 {
     IBOutlet PyDupeGuruBase *py;
-    IBOutlet ResultWindowBase *result;
     IBOutlet NSMenu *recentResultsMenu;
+    IBOutlet NSMenu *columnsMenu;
     
+    ResultWindowBase *_resultWindow;
     DirectoryPanel *_directoryPanel;
     DetailsPanel *_detailsPanel;
     HSAboutBox *_aboutBox;
     HSRecentFiles *_recentResults;
 }
+
+/* Virtual */
 - (PyDupeGuruBase *)py;
+- (ResultWindowBase *)createResultWindow;
+- (DirectoryPanel *)createDirectoryPanel;
+- (DetailsPanel *)createDetailsPanel;
+- (NSString *)homepageURL;
+
+/* Public */
+- (ResultWindowBase *)resultWindow;
 - (DirectoryPanel *)directoryPanel;
 - (DetailsPanel *)detailsPanel;
 - (HSRecentFiles *)recentResults;
-- (NSString *)homepageURL;
+- (NSMenu *)columnsMenu;
 
+/* Actions */
 - (IBAction)showAboutBox:(id)sender;
 - (IBAction)openWebsite:(id)sender;
 - (IBAction)openHelp:(id)sender;
diff --git a/cocoa/base/AppDelegate.m b/cocoa/base/AppDelegate.m
index a5e0184d..7d4da25d 100644
--- a/cocoa/base/AppDelegate.m
+++ b/cocoa/base/AppDelegate.m
@@ -17,22 +17,57 @@ http://www.hardcoded.net/licenses/bsd_license
 @implementation AppDelegateBase
 - (void)awakeFromNib
 {
+    _resultWindow = nil;
+    _directoryPanel = nil;
+    _detailsPanel = nil;
+    _aboutBox = nil;
     _recentResults = [[HSRecentFiles alloc] initWithName:@"recentResults" menu:recentResultsMenu];
     [_recentResults setDelegate:self];
 }
 
+/* Virtual */
+
 - (PyDupeGuruBase *)py { return py; }
+
+- (ResultWindowBase *)createResultWindow
+{
+    return nil; // must be overriden by all editions
+}
+
+- (DirectoryPanel *)createDirectoryPanel
+{
+    return [[DirectoryPanel alloc] initWithParentApp:self];
+}
+
+- (DetailsPanel *)createDetailsPanel
+{
+    return [[DetailsPanel alloc] initWithPy:py];
+}
+
+- (NSString *)homepageURL
+{
+    return @""; // must be overriden by all editions
+}
+
+/* Public */
+- (ResultWindowBase *)resultWindow
+{
+    if (!_resultWindow)
+        _resultWindow = [self createResultWindow];
+    return _resultWindow;
+}
+
 - (DirectoryPanel *)directoryPanel
 {
     if (!_directoryPanel)
-        _directoryPanel = [[DirectoryPanel alloc] initWithParentApp:self];
+        _directoryPanel = [self createDirectoryPanel];
     return _directoryPanel;
 }
 
 - (DetailsPanel *)detailsPanel
 {
     if (!_detailsPanel)
-        _detailsPanel = [[DetailsPanel alloc] initWithPy:py];
+        _detailsPanel = [self createDetailsPanel];
     return _detailsPanel;
 }
 
@@ -41,11 +76,9 @@ http://www.hardcoded.net/licenses/bsd_license
     return _recentResults;
 }
 
-- (NSString *)homepageURL
-{
-    return @""; // Virtual
-}
+- (NSMenu *)columnsMenu { return columnsMenu; }
 
+/* Actions */
 - (IBAction)showAboutBox:(id)sender
 {
     if (_aboutBox == nil) {
@@ -81,17 +114,17 @@ http://www.hardcoded.net/licenses/bsd_license
     NSArray *columnsOrder = [ud arrayForKey:@"columnsOrder"];
     NSDictionary *columnsWidth = [ud dictionaryForKey:@"columnsWidth"];
     if ([columnsOrder count])
-        [result restoreColumnsPosition:columnsOrder widths:columnsWidth];
+        [[self resultWindow] restoreColumnsPosition:columnsOrder widths:columnsWidth];
     else
-        [result resetColumnsToDefault:nil];
+        [[self resultWindow] resetColumnsToDefault:nil];
     [HSFairwareReminder showNagWithApp:[self py]];
     [py loadSession];
 }
 
 - (void)applicationWillBecomeActive:(NSNotification *)aNotification
 {
-    if (![[result window] isVisible])
-        [result showWindow:NSApp];
+    if (![[[self resultWindow] window] isVisible])
+        [[self resultWindow] showWindow:NSApp];
 }
 
 - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
@@ -108,8 +141,8 @@ http://www.hardcoded.net/licenses/bsd_license
 - (void)applicationWillTerminate:(NSNotification *)aNotification
 {
     NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
-    [ud setObject: [result getColumnsOrder] forKey:@"columnsOrder"];
-    [ud setObject: [result getColumnsWidth] forKey:@"columnsWidth"];
+    [ud setObject: [[self resultWindow] getColumnsOrder] forKey:@"columnsOrder"];
+    [ud setObject: [[self resultWindow] getColumnsWidth] forKey:@"columnsWidth"];
     NSInteger sc = [ud integerForKey:@"sessionCountSinceLastIgnorePurge"];
     if (sc >= 10) {
         sc = -1;
diff --git a/cocoa/base/ResultWindow.h b/cocoa/base/ResultWindow.h
index ca5ea554..1757b3da 100644
--- a/cocoa/base/ResultWindow.h
+++ b/cocoa/base/ResultWindow.h
@@ -13,23 +13,26 @@ http://www.hardcoded.net/licenses/bsd_license
 #import "HSTableView.h"
 #import "PyDupeGuru.h"
 
+@class AppDelegateBase;
+
 @interface ResultWindowBase : NSWindowController
 {
 @protected
-    IBOutlet PyDupeGuruBase *py;
-    IBOutlet id app;
     IBOutlet NSSegmentedControl *optionsSwitch;
     IBOutlet HSTableView *matches;
-	IBOutlet NSTextField *stats;
-	IBOutlet NSMenu *columnsMenu;
-	IBOutlet NSSearchField *filterField;
+    IBOutlet NSTextField *stats;
+    IBOutlet NSSearchField *filterField;
     
+    AppDelegateBase *app;
+    PyDupeGuruBase *py;
+    NSMenu *columnsMenu;
     NSMutableArray *_resultColumns;
     NSWindowController *preferencesPanel;
     ResultTable *table;
     StatsLabel *statsLabel;
     ProblemDialog *problemDialog;
 }
+- (id)initWithParentApp:(AppDelegateBase *)app;
 /* Helpers */
 - (void)fillColumnsMenu;
 - (NSTableColumn *)getColumnForIdentifier:(NSInteger)aIdentifier title:(NSString *)aTitle width:(NSInteger)aWidth refCol:(NSTableColumn *)aColumn;
diff --git a/cocoa/base/ResultWindow.m b/cocoa/base/ResultWindow.m
index 25138c1e..e736e9ea 100644
--- a/cocoa/base/ResultWindow.m
+++ b/cocoa/base/ResultWindow.m
@@ -14,9 +14,12 @@ http://www.hardcoded.net/licenses/bsd_license
 #import "Consts.h"
 
 @implementation ResultWindowBase
-- (void)awakeFromNib
+- (id)initWithParentApp:(AppDelegateBase *)aApp;
 {
-    [self window];
+    self = [super initWithWindowNibName:@"ResultWindow"];
+    app = aApp;
+    py = [app py];
+    columnsMenu = [app columnsMenu];
     /* Put a cute iTunes-like bottom bar */
     [[self window] setContentBorderThickness:28 forEdge:NSMinYEdge];
     preferencesPanel = [[NSWindowController alloc] initWithWindowNibName:@"Preferences"];
@@ -31,6 +34,7 @@ http://www.hardcoded.net/licenses/bsd_license
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobCompleted:) name:JobCompletedNotification object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobStarted:) name:JobStarted object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobInProgress:) name:JobInProgress object:nil];
+    return self;
 }
 
 - (void)dealloc
@@ -147,7 +151,7 @@ http://www.hardcoded.net/licenses/bsd_license
 
 - (void)updateOptionSegments
 {
-    [optionsSwitch setSelected:[[(AppDelegateBase *)app detailsPanel] isVisible] forSegment:0];
+    [optionsSwitch setSelected:[[app detailsPanel] isVisible] forSegment:0];
     [optionsSwitch setSelected:[table powerMarkerMode] forSegment:1];
     [optionsSwitch setSelected:[table deltaValuesMode] forSegment:2];
 }
@@ -254,7 +258,7 @@ http://www.hardcoded.net/licenses/bsd_license
     if ([op runModal] == NSOKButton) {
         NSString *filename = [[op filenames] objectAtIndex:0];
         [py loadResultsFrom:filename];
-        [[(AppDelegateBase *)app recentResults] addFile:filename];
+        [[app recentResults] addFile:filename];
     }
 }
 
@@ -357,7 +361,7 @@ http://www.hardcoded.net/licenses/bsd_license
     [sp setTitle:@"Select a file to save your results to"];
     if ([sp runModal] == NSOKButton) {
         [py saveResultsAs:[sp filename]];
-        [[(AppDelegateBase *)app recentResults] addFile:[sp filename]];
+        [[app recentResults] addFile:[sp filename]];
     }
 }
 
@@ -393,7 +397,7 @@ http://www.hardcoded.net/licenses/bsd_license
 
 - (IBAction)toggleDetailsPanel:(id)sender
 {
-    [[(AppDelegateBase *)app detailsPanel] toggleVisibility];
+    [[app detailsPanel] toggleVisibility];
     [self updateOptionSegments];
 }
 
diff --git a/cocoa/base/xib/MainMenu.xib b/cocoa/base/xib/MainMenu.xib
index 6b8faae3..9edc618f 100644
--- a/cocoa/base/xib/MainMenu.xib
+++ b/cocoa/base/xib/MainMenu.xib
@@ -12,8 +12,7 @@
 		
 		
 		
@@ -1119,8 +310,8 @@
 						
 						1048576
 						2147483647
-						
-						
+						
+						
 						submenuAction:
 						
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 								
 							
 						
@@ -1293,8 +484,8 @@
 						
 						1048576
 						2147483647
-						
-						
+						
+						
 						submenuAction:
 						
 						
@@ -1343,8 +534,8 @@
 						
 						1048576
 						2147483647
-						
-						
+						
+						
 						submenuAction:
 						
 								
 								
 								
 								
 								
 								
 								
 							
 							_NSWindowsMenu
@@ -1435,8 +626,8 @@
 						
 						1048576
 						2147483647
-						
-						
+						
+						
 						submenuAction:
 						
 								
 							
 						
@@ -1469,84 +660,9 @@
 			
 				AppDelegate
 			
-			
-				ResultWindow
-			
 			
 				PyDupeGuru
 			
-			
 			
 				SUUpdater
 			
@@ -1626,94 +742,6 @@
 					
 					208
 				
-				
-					
-						window
-						
-						
-					
-					210
-				
-				
-					
-						result
-						
-						
-					
-					211
-				
-				
-					
-						delegate
-						
-						
-					
-					212
-				
-				
-					
-						stats
-						
-						
-					
-					445
-				
-				
-					
-						toggleDetailsPanel:
-						
-						
-					
-					596
-				
-				
-					
-						deleteMarked:
-						
-						
-					
-					606
-				
-				
-					
-						moveMarked:
-						
-						
-					
-					607
-				
-				
-					
-						copyMarked:
-						
-						
-					
-					608
-				
-				
-					
-						removeMarked:
-						
-						
-					
-					609
-				
-				
-					
-						switchSelected:
-						
-						
-					
-					610
-				
-				
-					
-						removeSelected:
-						
-						
-					
-					611
-				
 				
 					
 						py
@@ -1722,126 +750,6 @@
 					
 					614
 				
-				
-					
-						py
-						
-						
-					
-					616
-				
-				
-					
-						openSelected:
-						
-						
-					
-					660
-				
-				
-					
-						revealSelected:
-						
-						
-					
-					661
-				
-				
-					
-						openSelected:
-						
-						
-					
-					709
-				
-				
-					
-						revealSelected:
-						
-						
-					
-					711
-				
-				
-					
-						switchSelected:
-						
-						
-					
-					716
-				
-				
-					
-						deleteMarked:
-						
-						
-					
-					741
-				
-				
-					
-						moveMarked:
-						
-						
-					
-					742
-				
-				
-					
-						copyMarked:
-						
-						
-					
-					743
-				
-				
-					
-						removeMarked:
-						
-						
-					
-					744
-				
-				
-					
-						removeSelected:
-						
-						
-					
-					745
-				
-				
-					
-						switchSelected:
-						
-						
-					
-					746
-				
-				
-					
-						openSelected:
-						
-						
-					
-					747
-				
-				
-					
-						revealSelected:
-						
-						
-					
-					748
-				
-				
-					
-						app
-						
-						
-					
-					757
-				
 				
 					
 						toggleDirectories:
@@ -1850,30 +758,6 @@
 					
 					758
 				
-				
-					
-						removeSelected:
-						
-						
-					
-					873
-				
-				
-					
-						ignoreSelected:
-						
-						
-					
-					921
-				
-				
-					
-						ignoreSelected:
-						
-						
-					
-					923
-				
 				
 					
 						performClose:
@@ -1882,70 +766,6 @@
 					
 					925
 				
-				
-					
-						startDuplicateScan:
-						
-						
-					
-					929
-				
-				
-					
-						clearIgnoreList:
-						
-						
-					
-					930
-				
-				
-					
-						renameSelected:
-						
-						
-					
-					934
-				
-				
-					
-						renameSelected:
-						
-						
-					
-					936
-				
-				
-					
-						ignoreSelected:
-						
-						
-					
-					940
-				
-				
-					
-						renameSelected:
-						
-						
-					
-					941
-				
-				
-					
-						columnsMenu
-						
-						
-					
-					946
-				
-				
-					
-						exportToXHTML:
-						
-						
-					
-					948
-				
 				
 					
 						checkForUpdates:
@@ -1954,22 +774,6 @@
 					
 					951
 				
-				
-					
-						togglePowerMarker:
-						
-						
-					
-					963
-				
-				
-					
-						toggleDelta:
-						
-						
-					
-					964
-				
 				
 					
 						cut:
@@ -1994,38 +798,6 @@
 					
 					1005
 				
-				
-					
-						markAll:
-						
-						
-					
-					1019
-				
-				
-					
-						markNone:
-						
-						
-					
-					1020
-				
-				
-					
-						markInvert:
-						
-						
-					
-					1021
-				
-				
-					
-						markSelected:
-						
-						
-					
-					1022
-				
 				
 					
 						openWebsite:
@@ -2034,54 +806,6 @@
 					
 					1024
 				
-				
-					
-						filterField
-						
-						
-					
-					1030
-				
-				
-					
-						filter:
-						
-						
-					
-					1031
-				
-				
-					
-						toggleDirectories:
-						
-						
-					
-					1166
-				
-				
-					
-						showPreferencesPanel:
-						
-						
-					
-					1168
-				
-				
-					
-						startDuplicateScan:
-						
-						
-					
-					1169
-				
-				
-					
-						showPreferencesPanel:
-						
-						
-					
-					1174
-				
 				
 					
 						delegate
@@ -2090,62 +814,6 @@
 					
 					1175
 				
-				
-					
-						invokeCustomCommand:
-						
-						
-					
-					1178
-				
-				
-					
-						saveResults:
-						
-						
-					
-					1207
-				
-				
-					
-						loadResults:
-						
-						
-					
-					1208
-				
-				
-					
-						matches
-						
-						
-					
-					1225
-				
-				
-					
-						menu
-						
-						
-					
-					1226
-				
-				
-					
-						hardlinkMarked:
-						
-						
-					
-					1229
-				
-				
-					
-						hardlinkMarked:
-						
-						
-					
-					1231
-				
 				
 					
 						showAboutBox:
@@ -2162,22 +830,6 @@
 					
 					1233
 				
-				
-					
-						optionsSwitch
-						
-						
-					
-					1237
-				
-				
-					
-						changeOptions:
-						
-						
-					
-					1238
-				
 				
 					
 						recentResultsMenu
@@ -2186,13 +838,223 @@
 					
 					1242
 				
+				
+					
+						clearIgnoreList:
+						
+						
+					
+					1243
+				
+				
+					
+						copyMarked:
+						
+						
+					
+					1244
+				
+				
+					
+						deleteMarked:
+						
+						
+					
+					1245
+				
+				
+					
+						exportToXHTML:
+						
+						
+					
+					1246
+				
+				
+					
+						hardlinkMarked:
+						
+						
+					
+					1247
+				
+				
+					
+						ignoreSelected:
+						
+						
+					
+					1248
+				
+				
+					
+						invokeCustomCommand:
+						
+						
+					
+					1249
+				
+				
+					
+						loadResults:
+						
+						
+					
+					1250
+				
+				
+					
+						markAll:
+						
+						
+					
+					1251
+				
+				
+					
+						markNone:
+						
+						
+					
+					1252
+				
+				
+					
+						markInvert:
+						
+						
+					
+					1253
+				
+				
+					
+						markSelected:
+						
+						
+					
+					1254
+				
+				
+					
+						moveMarked:
+						
+						
+					
+					1255
+				
+				
+					
+						openSelected:
+						
+						
+					
+					1256
+				
+				
+					
+						removeMarked:
+						
+						
+					
+					1257
+				
+				
+					
+						removeSelected:
+						
+						
+					
+					1258
+				
+				
+					
+						startDuplicateScan:
+						
+						
+					
+					1259
+				
+				
+					
+						switchSelected:
+						
+						
+					
+					1260
+				
+				
+					
+						revealSelected:
+						
+						
+					
+					1261
+				
+				
+					
+						renameSelected:
+						
+						
+					
+					1262
+				
+				
+					
+						saveResults:
+						
+						
+					
+					1263
+				
+				
+					
+						toggleDetailsPanel:
+						
+						
+					
+					1264
+				
+				
+					
+						togglePowerMarker:
+						
+						
+					
+					1265
+				
+				
+					
+						toggleDelta:
+						
+						
+					
+					1266
+				
+				
+					
+						showPreferencesPanel:
+						
+						
+					
+					1267
+				
+				
+					
+						columnsMenu
+						
+						
+					
+					1269
+				
 			
 			
 				
 					YES
 					
 						0
-						
+						
+							YES
+						
 						
 						
 					
@@ -2214,36 +1076,6 @@
 						
 						Application
 					
-					
-						21
-						
-						
-							YES
-							
-							
-						
-						
-						Window
-					
-					
-						2
-						
-						
-							YES
-							
-							
-						
-						
-					
-					
-						291
-						
-						
-							YES
-							
-						
-						
-					
 					
 						29
 						
@@ -2653,264 +1485,18 @@
 						
 						AppDelegate
 					
-					
-						209
-						
-						
-						ResultWindow
-					
 					
 						613
 						
 						
 						PyDupeGuru
 					
-					
-						657
-						
-						
-							YES
-							
-							
-							
-							
-							
-							
-							
-						
-						
-						matches_context
-					
-					
-						658
-						
-						
-					
-					
-						659
-						
-						
-					
-					
-						715
-						
-						
-					
-					
-						872
-						
-						
-					
-					
-						937
-						
-						
-					
-					
-						938
-						
-						
-					
-					
-						939
-						
-						
-					
 					
 						949
 						
 						
 						SUUpdater
 					
-					
-						1116
-						
-						
-					
-					
-						1147
-						
-						
-							YES
-							
-							
-							
-							
-							
-							
-							
-							
-							
-						
-						
-					
-					
-						1150
-						
-						
-					
-					
-						1152
-						
-						
-					
-					
-						1153
-						
-						
-					
-					
-						1156
-						
-						
-					
-					
-						1158
-						
-						
-					
-					
-						1160
-						
-						
-					
-					
-						1170
-						
-						
-							YES
-							
-						
-						
-					
-					
-						720
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1136
-						
-						
-							YES
-							
-						
-						
-					
-					
-						721
-						
-						
-							YES
-							
-							
-							
-							
-							
-							
-							
-							
-							
-							
-							
-							
-							
-							
-						
-						
-					
-					
-						935
-						
-						
-					
-					
-						740
-						
-						
-					
-					
-						739
-						
-						
-					
-					
-						737
-						
-						
-					
-					
-						738
-						
-						
-					
-					
-						920
-						
-						
-					
-					
-						736
-						
-						
-					
-					
-						735
-						
-						
-					
-					
-						734
-						
-						
-					
-					
-						733
-						
-						
-					
-					
-						732
-						
-						
-					
-					
-						731
-						
-						
-					
-					
-						723
-						
-						
-					
-					
-						1173
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1028
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1139
-						
-						
-					
 					
 						605
 						
@@ -2957,104 +1543,11 @@
 						
 						
 					
-					
-						1209
-						
-						
-							YES
-							
-							
-							
-							
-						
-						
-					
-					
-						1210
-						
-						
-					
-					
-						1211
-						
-						
-					
-					
-						1212
-						
-						
-							YES
-							
-							
-						
-						
-					
-					
-						1213
-						
-						
-					
-					
-						1218
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1222
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1223
-						
-						
-					
-					
-						1224
-						
-						
-					
 					
 						1227
 						
 						
 					
-					
-						1230
-						
-						
-					
-					
-						1236
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1234
-						
-						
-							YES
-							
-						
-						
-					
-					
-						1235
-						
-						
-					
 					
 						1239
 						
@@ -3092,8 +1585,6 @@
 					1018.ImportedFromIB2
 					1023.IBPluginDependency
 					1023.ImportedFromIB2
-					1028.IBPluginDependency
-					1028.ImportedFromIB2
 					103.IBPluginDependency
 					103.ImportedFromIB2
 					106.IBEditorWindowLastContentRect
@@ -3101,39 +1592,14 @@
 					106.ImportedFromIB2
 					111.IBPluginDependency
 					111.ImportedFromIB2
-					1116.IBPluginDependency
-					1136.IBPluginDependency
-					1139.IBPluginDependency
-					1147.IBEditorWindowLastContentRect
-					1147.IBPluginDependency
-					1156.IBPluginDependency
-					1158.IBPluginDependency
-					1160.IBPluginDependency
-					1170.IBPluginDependency
-					1173.IBPluginDependency
 					1177.IBPluginDependency
 					1203.IBPluginDependency
 					1204.IBEditorWindowLastContentRect
 					1204.IBPluginDependency
 					1205.IBPluginDependency
 					1206.IBPluginDependency
-					1209.IBPluginDependency
-					1210.IBPluginDependency
-					1211.IBPluginDependency
-					1212.CustomClassName
-					1212.IBPluginDependency
-					1213.IBPluginDependency
-					1218.IBPluginDependency
-					1222.IBPluginDependency
-					1223.IBPluginDependency
-					1224.IBPluginDependency
 					1227.IBPluginDependency
 					1227.ImportedFromIB2
-					1230.IBPluginDependency
-					1230.ImportedFromIB2
-					1234.IBPluginDependency
-					1235.IBPluginDependency
-					1235.IBSegmentedControlInspectorSelectedSegmentMetadataKey
 					1239.IBPluginDependency
 					1240.IBEditorWindowLastContentRect
 					1240.IBPluginDependency
@@ -3153,17 +1619,7 @@
 					19.ImportedFromIB2
 					197.IBPluginDependency
 					197.ImportedFromIB2
-					2.IBPluginDependency
-					2.ImportedFromIB2
 					206.ImportedFromIB2
-					209.ImportedFromIB2
-					21.IBEditorWindowLastContentRect
-					21.IBPluginDependency
-					21.IBWindowTemplateEditedContentRect
-					21.ImportedFromIB2
-					21.NSWindowTemplate.visibleAtLaunch
-					21.windowTemplate.hasMinSize
-					21.windowTemplate.minSize
 					23.IBPluginDependency
 					23.ImportedFromIB2
 					24.IBEditorWindowLastContentRect
@@ -3172,8 +1628,6 @@
 					29.IBEditorWindowLastContentRect
 					29.IBPluginDependency
 					29.ImportedFromIB2
-					291.IBPluginDependency
-					291.ImportedFromIB2
 					398.IBPluginDependency
 					398.ImportedFromIB2
 					399.IBPluginDependency
@@ -3218,54 +1672,14 @@
 					619.IBEditorWindowLastContentRect
 					619.IBPluginDependency
 					619.ImportedFromIB2
-					657.IBEditorWindowLastContentRect
-					657.IBPluginDependency
-					657.ImportedFromIB2
-					658.IBPluginDependency
-					658.ImportedFromIB2
-					659.IBPluginDependency
-					659.ImportedFromIB2
 					707.IBPluginDependency
 					707.ImportedFromIB2
 					708.IBPluginDependency
 					708.ImportedFromIB2
 					710.IBPluginDependency
 					710.ImportedFromIB2
-					715.IBPluginDependency
-					715.ImportedFromIB2
-					720.IBPluginDependency
-					720.ImportedFromIB2
-					721.IBEditorWindowLastContentRect
-					721.IBPluginDependency
-					721.ImportedFromIB2
-					723.IBPluginDependency
-					723.ImportedFromIB2
-					731.IBPluginDependency
-					731.ImportedFromIB2
-					732.IBPluginDependency
-					732.ImportedFromIB2
-					733.IBPluginDependency
-					733.ImportedFromIB2
-					734.IBPluginDependency
-					734.ImportedFromIB2
-					735.IBPluginDependency
-					735.ImportedFromIB2
-					736.IBPluginDependency
-					736.ImportedFromIB2
-					737.IBPluginDependency
-					737.ImportedFromIB2
-					738.IBPluginDependency
-					738.ImportedFromIB2
-					739.IBPluginDependency
-					739.ImportedFromIB2
-					740.IBPluginDependency
-					740.ImportedFromIB2
-					872.IBPluginDependency
-					872.ImportedFromIB2
 					92.IBPluginDependency
 					92.ImportedFromIB2
-					920.IBPluginDependency
-					920.ImportedFromIB2
 					922.IBPluginDependency
 					922.ImportedFromIB2
 					924.IBPluginDependency
@@ -3278,14 +1692,6 @@
 					928.ImportedFromIB2
 					933.IBPluginDependency
 					933.ImportedFromIB2
-					935.IBPluginDependency
-					935.ImportedFromIB2
-					937.IBPluginDependency
-					937.ImportedFromIB2
-					938.IBPluginDependency
-					938.ImportedFromIB2
-					939.IBPluginDependency
-					939.ImportedFromIB2
 					947.IBPluginDependency
 					947.ImportedFromIB2
 					949.ImportedFromIB2
@@ -3330,8 +1736,6 @@
 					
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
 					{{602, 725}, {196, 43}}
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
@@ -3339,38 +1743,13 @@
 					
 					com.apple.InterfaceBuilder.CocoaPlugin
 					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					{{294, 705}, {617, 0}}
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
 					{{242, 685}, {258, 83}}
 					com.apple.InterfaceBuilder.CocoaPlugin
 					com.apple.InterfaceBuilder.CocoaPlugin
 					com.apple.InterfaceBuilder.CocoaPlugin
 					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					HSTableView
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
 					
 					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
 					{{500, 742}, {64, 6}}
 					com.apple.InterfaceBuilder.CocoaPlugin
 					com.apple.InterfaceBuilder.CocoaPlugin
@@ -3389,17 +1768,7 @@
 					
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
-					com.apple.InterfaceBuilder.CocoaPlugin
 					
-					
-					
-					{{324, 305}, {557, 400}}
-					com.apple.InterfaceBuilder.CocoaPlugin
-					{{324, 305}, {557, 400}}
-					
-					
-					
-					{340, 340}
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
 					{{531, 625}, {193, 143}}
@@ -3420,8 +1789,6 @@
 					
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
 					{{152, 595}, {221, 173}}
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
@@ -3454,54 +1821,6 @@
 					{{397, 762}, {64, 6}}
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
-					{{182, 609}, {331, 133}}
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					{{310, 310}, {353, 263}}
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
-					com.apple.InterfaceBuilder.CocoaPlugin
-					
 					com.apple.InterfaceBuilder.CocoaPlugin
 					
 					com.apple.InterfaceBuilder.CocoaPlugin
@@ -3565,7 +1884,7 @@
 				
 			
 			
-			1242
+			1269
 		
 		
 			
@@ -3631,27 +1950,31 @@
 						YES
 						
 							YES
+							columnsMenu
 							py
 							recentResultsMenu
-							result
 						
 						
 							YES
+							NSMenu
 							PyDupeGuruBase
 							NSMenu
-							ResultWindowBase
 						
 					
 					
 						YES
 						
 							YES
+							columnsMenu
 							py
 							recentResultsMenu
-							result
 						
 						
 							YES
+							
+								columnsMenu
+								NSMenu
+							
 							
 								py
 								PyDupeGuruBase
@@ -3660,10 +1983,6 @@
 								recentResultsMenu
 								NSMenu
 							
-							
-								result
-								ResultWindowBase
-							
 						
 					
 					
@@ -3687,6 +2006,14 @@
 						../views/HSTableView.h
 					
 				
+				
+					HSWindowController
+					NSWindowController
+					
+						IBProjectSource
+						../controllers/HSWindowController.h
+					
+				
 				
 					NSObject
 					
@@ -3717,6 +2044,36 @@
 					NSTableView
 					
 				
+				
+					ProblemDialog
+					HSWindowController
+					
+						revealSelected:
+						id
+					
+					
+						revealSelected:
+						
+							revealSelected:
+							id
+						
+					
+					
+						problemTableView
+						NSTableView
+					
+					
+						problemTableView
+						
+							problemTableView
+							NSTableView
+						
+					
+					
+						IBProjectSource
+						../base/ProblemDialog.h
+					
+				
 				
 					PyApp
 					PyFairware
@@ -4040,22 +2397,16 @@
 						YES
 						
 							YES
-							app
-							columnsMenu
 							filterField
 							matches
 							optionsSwitch
-							py
 							stats
 						
 						
 							YES
-							id
-							NSMenu
 							NSSearchField
 							HSTableView
 							NSSegmentedControl
-							PyDupeGuruBase
 							NSTextField
 						
 					
@@ -4063,24 +2414,13 @@
 						YES
 						
 							YES
-							app
-							columnsMenu
 							filterField
 							matches
 							optionsSwitch
-							py
 							stats
 						
 						
 							YES
-							
-								app
-								id
-							
-							
-								columnsMenu
-								NSMenu
-							
 							
 								filterField
 								NSSearchField
@@ -4093,10 +2433,6 @@
 								optionsSwitch
 								NSSegmentedControl
 							
-							
-								py
-								PyDupeGuruBase
-							
 							
 								stats
 								NSTextField
@@ -4119,14 +2455,6 @@
 			
 			
 				YES
-				
-					NSActionCell
-					NSCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSActionCell.h
-					
-				
 				
 					NSApplication
 					NSResponder
@@ -4170,30 +2498,6 @@
 						AppKit.framework/Headers/NSUserInterfaceItemSearching.h
 					
 				
-				
-					NSButton
-					NSControl
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSButton.h
-					
-				
-				
-					NSButtonCell
-					NSActionCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSButtonCell.h
-					
-				
-				
-					NSCell
-					NSObject
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSCell.h
-					
-				
 				
 					NSControl
 					NSView
@@ -4226,14 +2530,6 @@
 						AppKit.framework/Headers/NSMenuItem.h
 					
 				
-				
-					NSMenuItemCell
-					NSButtonCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSMenuItemCell.h
-					
-				
 				
 					NSMovieView
 					NSView
@@ -4341,7 +2637,7 @@
 				
 				
 					NSObject
-					
+					
 						IBFrameworkSource
 						AppKit.framework/Headers/NSToolbarItem.h
 					
@@ -4500,22 +2796,6 @@
 						Sparkle.framework/Headers/SUUpdater.h
 					
 				
-				
-					NSPopUpButton
-					NSButton
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSPopUpButton.h
-					
-				
-				
-					NSPopUpButtonCell
-					NSMenuItemCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSPopUpButtonCell.h
-					
-				
 				
 					NSResponder
 					
@@ -4531,22 +2811,6 @@
 						AppKit.framework/Headers/NSResponder.h
 					
 				
-				
-					NSScrollView
-					NSView
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSScrollView.h
-					
-				
-				
-					NSScroller
-					NSControl
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSScroller.h
-					
-				
 				
 					NSSearchField
 					NSTextField
@@ -4555,22 +2819,6 @@
 						AppKit.framework/Headers/NSSearchField.h
 					
 				
-				
-					NSSearchFieldCell
-					NSTextFieldCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSSearchFieldCell.h
-					
-				
-				
-					NSSegmentedCell
-					NSActionCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSSegmentedCell.h
-					
-				
 				
 					NSSegmentedControl
 					NSControl
@@ -4579,22 +2827,6 @@
 						AppKit.framework/Headers/NSSegmentedControl.h
 					
 				
-				
-					NSTableColumn
-					NSObject
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSTableColumn.h
-					
-				
-				
-					NSTableHeaderView
-					NSView
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSTableHeaderView.h
-					
-				
 				
 					NSTableView
 					NSControl
@@ -4616,27 +2848,6 @@
 						AppKit.framework/Headers/NSTextField.h
 					
 				
-				
-					NSTextFieldCell
-					NSActionCell
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSTextFieldCell.h
-					
-				
-				
-					NSToolbar
-					NSObject
-					
-						IBFrameworkSource
-						AppKit.framework/Headers/NSToolbar.h
-					
-				
-				
-					NSToolbarItem
-					NSObject
-					
-				
 				
 					NSView
 					
@@ -4751,23 +2962,13 @@
 			YES
 			
 				YES
-				NSActionTemplate
-				NSApplicationIcon
 				NSMenuCheckmark
 				NSMenuMixedState
-				NSSwitch
-				folder32
-				preferences32
 			
 			
 				YES
-				{15, 15}
-				{128, 128}
 				{9, 8}
 				{7, 2}
-				{15, 15}
-				{32, 32}
-				{32, 32}
 			
 		
 	
diff --git a/cocoa/base/xib/ResultWindow.xib b/cocoa/base/xib/ResultWindow.xib
new file mode 100644
index 00000000..71c6fee2
--- /dev/null
+++ b/cocoa/base/xib/ResultWindow.xib
@@ -0,0 +1,2864 @@
+
+
+	
+		1050
+		10J567
+		823
+		1038.35
+		462.00
+		
+			com.apple.InterfaceBuilder.CocoaPlugin
+			823
+		
+		
+			YES
+			
+		
+		
+			YES
+			com.apple.InterfaceBuilder.CocoaPlugin
+		
+		
+			YES
+			
+				YES
+			
+			
+				YES
+			
+		
+		
+			YES
+			
+				ResultWindow
+			
+			
+				FirstResponder
+			
+			
+				NSApplication
+			
+			
+			
+				15
+				2
+				{{47, 310}, {557, 400}}
+				1886912512
+				dupeGuru
+				NSWindow
+				
+					
+						184FCE08-7704-43E1-B7CA-394621354414
+					
+					
+					YES
+					YES
+					YES
+					YES
+					2
+					1
+					
+						YES
+						
+							YES
+							3E17CA47-6688-44FC-963C-CF22D780305F
+							4BD1D94E-8A70-48E1-AF8A-CEDC80CD0A5E
+							8021CD05-A38E-4F80-99DD-7771914CEE06
+							8E5ADD0F-24AD-452A-BE68-464FE9E5E240
+							BA65FFF2-9E56-4E88-AB2E-8FBE2B3D030F
+							F37510C7-955F-4141-9D09-AC2881ADCCFA
+							NSToolbarFlexibleSpaceItem
+							NSToolbarSeparatorItem
+							NSToolbarSpaceItem
+						
+						
+							YES
+							
+								
+									3E17CA47-6688-44FC-963C-CF22D780305F
+								
+								Start Scanning
+								Start Scanning
+								
+								
+								
+									NSImage
+									NSApplicationIcon
+								
+								
+								
+								{0, 0}
+								{0, 0}
+								YES
+								YES
+								-1
+								YES
+								0
+							
+							
+								
+									4BD1D94E-8A70-48E1-AF8A-CEDC80CD0A5E
+								
+								Options
+								Options
+								
+								
+									
+									268
+									{{0, 14}, {195, 23}}
+									YES
+									
+										67239424
+										0
+										
+											LucidaGrande
+											11
+											16
+										
+										
+										
+											YES
+											
+												57
+												Details
+												0
+											
+											
+												82
+												Dupes Only
+												1
+												0
+											
+											
+												48
+												Delta
+												0
+											
+										
+										2
+										1
+										5
+									
+								
+								
+								
+								
+								{195, 23}
+								{195, 25}
+								YES
+								YES
+								0
+								YES
+								0
+							
+							
+								
+									8021CD05-A38E-4F80-99DD-7771914CEE06
+								
+								Preferences
+								Preferences
+								
+								
+								
+									NSImage
+									preferences32
+								
+								
+								
+								{0, 0}
+								{0, 0}
+								YES
+								YES
+								-1
+								YES
+								0
+							
+							
+								
+									8E5ADD0F-24AD-452A-BE68-464FE9E5E240
+								
+								Filter
+								Filter
+								
+								
+									
+									258
+									{{0, 14}, {81, 22}}
+									YES
+									
+										343014976
+										268436480
+										
+										
+											LucidaGrande
+											13
+											1044
+										
+										Filter
+										
+										YES
+										1
+										
+											6
+											System
+											textBackgroundColor
+											
+												3
+												MQA
+											
+										
+										
+											6
+											System
+											controlTextColor
+											
+												3
+												MAA
+											
+										
+										
+											130560
+											0
+											search
+											
+											_searchFieldSearch:
+											
+											138690815
+											0
+											
+											400
+											75
+										
+										
+											130560
+											0
+											clear
+											
+												YES
+												
+													YES
+													
+														YES
+														AXDescription
+														NSAccessibilityEncodedAttributesValueType
+													
+													
+														YES
+														cancel
+														
+													
+												
+											
+											
+											_searchFieldCancel:
+											
+											138690815
+											0
+											
+											400
+											75
+										
+										10
+										YES
+									
+								
+								
+								
+								
+								{81, 22}
+								{300, 22}
+								YES
+								YES
+								0
+								YES
+								0
+							
+							
+								
+									BA65FFF2-9E56-4E88-AB2E-8FBE2B3D030F
+								
+								Directories
+								Directories
+								
+								
+								
+									NSImage
+									folder32
+								
+								
+								
+								{0, 0}
+								{0, 0}
+								YES
+								YES
+								-1
+								YES
+								0
+							
+							
+								
+									F37510C7-955F-4141-9D09-AC2881ADCCFA
+								
+								Action
+								Action
+								
+								
+								
+								
+								
+								{30, 25}
+								{40, 26}
+								YES
+								YES
+								0
+								YES
+								0
+							
+							
+								NSToolbarFlexibleSpaceItem
+								
+								Flexible Space
+								
+								
+								
+								
+								
+								{1, 5}
+								{20000, 32}
+								YES
+								YES
+								-1
+								YES
+								0
+								
+							
+							
+								NSToolbarSeparatorItem
+								
+								Separator
+								
+								
+								
+								
+								
+								{12, 5}
+								{12, 1000}
+								YES
+								YES
+								-1
+								YES
+								0
+								
+							
+							
+								NSToolbarSpaceItem
+								
+								Space
+								
+								
+								
+								
+								
+								{32, 5}
+								{32, 32}
+								YES
+								YES
+								-1
+								YES
+								0
+								
+							
+						
+					
+					
+						YES
+						
+						
+						
+						
+						
+						
+						
+						
+						
+					
+					
+						YES
+						
+						
+						
+						
+						
+						
+					
+					
+				
+				{1.79769e+308, 1.79769e+308}
+				{340, 340}
+				
+					
+					256
+					
+						YES
+						
+							
+							290
+							{{17, 6}, {523, 17}}
+							
+							YES
+							
+								67239424
+								138412032
+								Marked: 0 files, 0 B. Total: 0 files, 0 B.
+								
+								
+								
+									6
+									System
+									controlColor
+									
+										3
+										MC42NjY2NjY2NjY3AA
+									
+								
+								
+							
+						
+						
+							
+							274
+							
+								YES
+								
+									
+									2304
+									
+										YES
+										
+											
+											256
+											{557, 355}
+											
+											YES
+											
+											
+												
+												-2147483392
+												{{224, 0}, {16, 17}}
+												
+											
+											
+												YES
+												
+													marked
+													26
+													26
+													26
+													
+													
+														67239424
+														131072
+														
+														
+														
+														1211912703
+														2
+														
+															NSImage
+															NSSwitch
+														
+														
+															NSSwitch
+														
+														
+														
+														200
+														25
+													
+													YES
+													
+												
+												
+													0
+													195
+													16
+													3.4028234663852886e+38
+													
+													
+														337772096
+														2048
+														Text Cell
+														
+														
+														
+															6
+															System
+															controlBackgroundColor
+															
+														
+														
+													
+													2
+													YES
+													
+													
+														0
+														YES
+														compare:
+													
+												
+											
+											3
+											2
+											
+											
+												6
+												System
+												gridColor
+												
+													3
+													MC41AA
+												
+											
+											14
+											-895483904
+											
+											
+											2
+											4
+											15
+											0
+											YES
+											0
+										
+									
+									{{1, 17}, {557, 355}}
+									
+									
+									
+									
+									4
+								
+								
+									
+									-2147483392
+									{{224, 17}, {15, 102}}
+									
+									
+									_doScroller:
+									37
+									0.1947367936372757
+								
+								
+									
+									-2147483392
+									{{1, 119}, {223, 15}}
+									
+									1
+									
+									_doScroller:
+									0.57142859697341919
+								
+								
+									
+									2304
+									
+										YES
+										
+									
+									{{1, 0}, {557, 17}}
+									
+									
+									
+									
+									4
+								
+								
+							
+							{{0, 28}, {559, 373}}
+							
+							
+							562
+							
+							
+							
+							
+							
+							QSAAAEEgAABBgAAAQYAAAA
+						
+					
+					{557, 400}
+					
+				
+				{{0, 0}, {1440, 878}}
+				{340, 402}
+				{1.79769e+308, 1.79769e+308}
+				MainWindow
+			
+		
+		
+			
+				YES
+				
+					
+						delegate
+						
+						
+					
+					45
+				
+				
+					
+						window
+						
+						
+					
+					46
+				
+				
+					
+						startDuplicateScan:
+						
+						
+					
+					47
+				
+				
+					
+						toggleDirectories:
+						
+						
+					
+					48
+				
+				
+					
+						showPreferencesPanel:
+						
+						
+					
+					49
+				
+				
+					
+						deleteMarked:
+						
+						
+					
+					50
+				
+				
+					
+						hardlinkMarked:
+						
+						
+					
+					51
+				
+				
+					
+						moveMarked:
+						
+						
+					
+					52
+				
+				
+					
+						copyMarked:
+						
+						
+					
+					53
+				
+				
+					
+						removeMarked:
+						
+						
+					
+					54
+				
+				
+					
+						removeSelected:
+						
+						
+					
+					55
+				
+				
+					
+						ignoreSelected:
+						
+						
+					
+					56
+				
+				
+					
+						switchSelected:
+						
+						
+					
+					57
+				
+				
+					
+						openSelected:
+						
+						
+					
+					58
+				
+				
+					
+						revealSelected:
+						
+						
+					
+					59
+				
+				
+					
+						renameSelected:
+						
+						
+					
+					60
+				
+				
+					
+						filterField
+						
+						
+					
+					61
+				
+				
+					
+						filter:
+						
+						
+					
+					62
+				
+				
+					
+						changeOptions:
+						
+						
+					
+					63
+				
+				
+					
+						optionsSwitch
+						
+						
+					
+					64
+				
+				
+					
+						stats
+						
+						
+					
+					65
+				
+				
+					
+						matches
+						
+						
+					
+					66
+				
+				
+					
+						menu
+						
+						
+					
+					75
+				
+				
+					
+						removeSelected:
+						
+						
+					
+					76
+				
+				
+					
+						ignoreSelected:
+						
+						
+					
+					77
+				
+				
+					
+						switchSelected:
+						
+						
+					
+					78
+				
+				
+					
+						openSelected:
+						
+						
+					
+					79
+				
+				
+					
+						revealSelected:
+						
+						
+					
+					80
+				
+				
+					
+						renameSelected:
+						
+						
+					
+					81
+				
+			
+			
+				
+					YES
+					
+						0
+						
+						
+						
+					
+					
+						-2
+						
+						
+						File's Owner
+					
+					
+						-1
+						
+						
+						First Responder
+					
+					
+						-3
+						
+						
+						Application
+					
+					
+						1
+						
+						
+							YES
+							
+							
+						
+						
+						Window
+					
+					
+						2
+						
+						
+							YES
+							
+							
+							
+							
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						3
+						
+						
+							YES
+							
+							
+						
+						
+					
+					
+						4
+						
+						
+							YES
+							
+							
+							
+							
+						
+						
+					
+					
+						5
+						
+						
+							YES
+							
+						
+						
+					
+					
+						6
+						
+						
+					
+					
+						7
+						
+						
+					
+					
+						8
+						
+						
+							YES
+							
+							
+						
+						
+					
+					
+						9
+						
+						
+					
+					
+						10
+						
+						
+					
+					
+						11
+						
+						
+							YES
+							
+						
+						
+					
+					
+						12
+						
+						
+							YES
+							
+						
+						
+					
+					
+						13
+						
+						
+					
+					
+						14
+						
+						
+					
+					
+						15
+						
+						
+							YES
+							
+						
+						
+					
+					
+						16
+						
+						
+							YES
+							
+						
+						
+					
+					
+						17
+						
+						
+							YES
+							
+						
+						
+					
+					
+						18
+						
+						
+					
+					
+						19
+						
+						
+					
+					
+						20
+						
+						
+					
+					
+						21
+						
+						
+					
+					
+						22
+						
+						
+					
+					
+						23
+						
+						
+					
+					
+						24
+						
+						
+							YES
+							
+						
+						
+					
+					
+						25
+						
+						
+							YES
+							
+						
+						
+					
+					
+						26
+						
+						
+							YES
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						27
+						
+						
+					
+					
+						28
+						
+						
+					
+					
+						29
+						
+						
+					
+					
+						30
+						
+						
+					
+					
+						31
+						
+						
+					
+					
+						32
+						
+						
+					
+					
+						33
+						
+						
+					
+					
+						34
+						
+						
+					
+					
+						35
+						
+						
+					
+					
+						36
+						
+						
+					
+					
+						37
+						
+						
+					
+					
+						38
+						
+						
+					
+					
+						39
+						
+						
+					
+					
+						40
+						
+						
+					
+					
+						41
+						
+						
+							YES
+							
+						
+						
+					
+					
+						42
+						
+						
+					
+					
+						43
+						
+						
+							YES
+							
+						
+						
+					
+					
+						44
+						
+						
+					
+					
+						67
+						
+						
+							YES
+							
+							
+							
+							
+							
+							
+							
+						
+						
+						matches_context
+					
+					
+						68
+						
+						
+					
+					
+						69
+						
+						
+					
+					
+						70
+						
+						
+					
+					
+						71
+						
+						
+					
+					
+						72
+						
+						
+					
+					
+						73
+						
+						
+					
+					
+						74
+						
+						
+					
+				
+			
+			
+				YES
+				
+					YES
+					-1.IBPluginDependency
+					-2.IBPluginDependency
+					-3.IBPluginDependency
+					1.IBEditorWindowLastContentRect
+					1.IBPluginDependency
+					1.IBWindowTemplateEditedContentRect
+					1.ImportedFromIB2
+					1.NSWindowTemplate.visibleAtLaunch
+					1.windowTemplate.hasMinSize
+					1.windowTemplate.minSize
+					10.IBPluginDependency
+					11.IBPluginDependency
+					12.IBPluginDependency
+					13.IBPluginDependency
+					14.IBPluginDependency
+					16.IBPluginDependency
+					17.IBPluginDependency
+					18.IBPluginDependency
+					19.IBPluginDependency
+					2.IBEditorWindowLastContentRect
+					2.IBPluginDependency
+					20.IBPluginDependency
+					24.IBPluginDependency
+					24.ImportedFromIB2
+					25.IBPluginDependency
+					26.IBEditorWindowLastContentRect
+					26.IBPluginDependency
+					26.ImportedFromIB2
+					27.IBPluginDependency
+					27.ImportedFromIB2
+					28.IBPluginDependency
+					28.ImportedFromIB2
+					29.IBPluginDependency
+					29.ImportedFromIB2
+					3.IBPluginDependency
+					3.ImportedFromIB2
+					30.IBPluginDependency
+					30.ImportedFromIB2
+					31.IBPluginDependency
+					31.ImportedFromIB2
+					32.IBPluginDependency
+					32.ImportedFromIB2
+					33.IBPluginDependency
+					33.ImportedFromIB2
+					34.IBPluginDependency
+					34.ImportedFromIB2
+					35.IBPluginDependency
+					35.ImportedFromIB2
+					36.IBPluginDependency
+					36.ImportedFromIB2
+					37.IBPluginDependency
+					37.ImportedFromIB2
+					38.IBPluginDependency
+					38.ImportedFromIB2
+					39.IBPluginDependency
+					39.ImportedFromIB2
+					4.IBPluginDependency
+					40.IBPluginDependency
+					40.ImportedFromIB2
+					41.IBPluginDependency
+					41.ImportedFromIB2
+					42.IBPluginDependency
+					43.IBPluginDependency
+					44.IBPluginDependency
+					44.IBSegmentedControlInspectorSelectedSegmentMetadataKey
+					5.IBPluginDependency
+					5.ImportedFromIB2
+					6.IBPluginDependency
+					67.IBEditorWindowLastContentRect
+					67.IBPluginDependency
+					67.ImportedFromIB2
+					68.IBPluginDependency
+					68.ImportedFromIB2
+					69.IBPluginDependency
+					69.ImportedFromIB2
+					7.IBPluginDependency
+					70.IBPluginDependency
+					70.ImportedFromIB2
+					71.IBPluginDependency
+					71.ImportedFromIB2
+					72.IBPluginDependency
+					72.ImportedFromIB2
+					73.IBPluginDependency
+					73.ImportedFromIB2
+					74.IBPluginDependency
+					74.ImportedFromIB2
+					8.CustomClassName
+					8.IBPluginDependency
+					9.IBPluginDependency
+				
+				
+					YES
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					{{324, 305}, {557, 400}}
+					com.apple.InterfaceBuilder.CocoaPlugin
+					{{324, 305}, {557, 400}}
+					
+					
+					
+					{340, 340}
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					{{294, 705}, {617, 0}}
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					{{310, 310}, {353, 263}}
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					{{182, 609}, {331, 133}}
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					com.apple.InterfaceBuilder.CocoaPlugin
+					
+					HSTableView
+					com.apple.InterfaceBuilder.CocoaPlugin
+					com.apple.InterfaceBuilder.CocoaPlugin
+				
+			
+			
+				YES
+				
+				
+					YES
+				
+			
+			
+			
+				YES
+				
+				
+					YES
+				
+			
+			
+			81
+		
+		
+			
+				YES
+				
+					AppDelegateBase
+					NSObject
+					
+						YES
+						
+							YES
+							openHelp:
+							openWebsite:
+							showAboutBox:
+							toggleDirectories:
+						
+						
+							YES
+							id
+							id
+							id
+							id
+						
+					
+					
+						YES
+						
+							YES
+							openHelp:
+							openWebsite:
+							showAboutBox:
+							toggleDirectories:
+						
+						
+							YES
+							
+								openHelp:
+								id
+							
+							
+								openWebsite:
+								id
+							
+							
+								showAboutBox:
+								id
+							
+							
+								toggleDirectories:
+								id
+							
+						
+					
+					
+						YES
+						
+							YES
+							py
+							recentResultsMenu
+							result
+						
+						
+							YES
+							PyDupeGuruBase
+							NSMenu
+							ResultWindowBase
+						
+					
+					
+						YES
+						
+							YES
+							py
+							recentResultsMenu
+							result
+						
+						
+							YES
+							
+								py
+								PyDupeGuruBase
+							
+							
+								recentResultsMenu
+								NSMenu
+							
+							
+								result
+								ResultWindowBase
+							
+						
+					
+					
+						IBProjectSource
+						../base/AppDelegate.h
+					
+				
+				
+					HSTableView
+					NSTableView
+					
+						IBProjectSource
+						../views/HSTableView.h
+					
+				
+				
+					NSObject
+					
+						IBProjectSource
+						../views/HSOutlineView.h
+					
+				
+				
+					NSObject
+					
+				
+				
+					NSObject
+					
+						IBProjectSource
+						../views/NSTableViewAdditions.h
+					
+				
+				
+					NSTableView
+					
+				
+				
+					PyApp
+					PyFairware
+					
+						IBProjectSource
+						../PyApp.h
+					
+				
+				
+					PyDupeGuruBase
+					PyApp
+					
+						IBProjectSource
+						../base/PyDupeGuru.h
+					
+				
+				
+					PyFairware
+					NSObject
+					
+						IBProjectSource
+						../PyFairware.h
+					
+				
+				
+					ResultWindow
+					ResultWindowBase
+					
+						YES
+						
+							YES
+							resetColumnsToDefault:
+							startDuplicateScan:
+						
+						
+							YES
+							id
+							id
+						
+					
+					
+						YES
+						
+							YES
+							resetColumnsToDefault:
+							startDuplicateScan:
+						
+						
+							YES
+							
+								resetColumnsToDefault:
+								id
+							
+							
+								startDuplicateScan:
+								id
+							
+						
+					
+					
+						IBProjectSource
+						ResultWindow.h
+					
+				
+				
+					ResultWindowBase
+					NSWindowController
+					
+						YES
+						
+							YES
+							changeOptions:
+							clearIgnoreList:
+							copyMarked:
+							deleteMarked:
+							exportToXHTML:
+							filter:
+							hardlinkMarked:
+							ignoreSelected:
+							invokeCustomCommand:
+							loadResults:
+							markAll:
+							markInvert:
+							markNone:
+							markSelected:
+							moveMarked:
+							openClicked:
+							openSelected:
+							removeMarked:
+							removeSelected:
+							renameSelected:
+							resetColumnsToDefault:
+							revealSelected:
+							saveResults:
+							showPreferencesPanel:
+							startDuplicateScan:
+							switchSelected:
+							toggleColumn:
+							toggleDelta:
+							toggleDetailsPanel:
+							togglePowerMarker:
+						
+						
+							YES
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+							id
+						
+					
+					
+						YES
+						
+							YES
+							changeOptions:
+							clearIgnoreList:
+							copyMarked:
+							deleteMarked:
+							exportToXHTML:
+							filter:
+							hardlinkMarked:
+							ignoreSelected:
+							invokeCustomCommand:
+							loadResults:
+							markAll:
+							markInvert:
+							markNone:
+							markSelected:
+							moveMarked:
+							openClicked:
+							openSelected:
+							removeMarked:
+							removeSelected:
+							renameSelected:
+							resetColumnsToDefault:
+							revealSelected:
+							saveResults:
+							showPreferencesPanel:
+							startDuplicateScan:
+							switchSelected:
+							toggleColumn:
+							toggleDelta:
+							toggleDetailsPanel:
+							togglePowerMarker:
+						
+						
+							YES
+							
+								changeOptions:
+								id
+							
+							
+								clearIgnoreList:
+								id
+							
+							
+								copyMarked:
+								id
+							
+							
+								deleteMarked:
+								id
+							
+							
+								exportToXHTML:
+								id
+							
+							
+								filter:
+								id
+							
+							
+								hardlinkMarked:
+								id
+							
+							
+								ignoreSelected:
+								id
+							
+							
+								invokeCustomCommand:
+								id
+							
+							
+								loadResults:
+								id
+							
+							
+								markAll:
+								id
+							
+							
+								markInvert:
+								id
+							
+							
+								markNone:
+								id
+							
+							
+								markSelected:
+								id
+							
+							
+								moveMarked:
+								id
+							
+							
+								openClicked:
+								id
+							
+							
+								openSelected:
+								id
+							
+							
+								removeMarked:
+								id
+							
+							
+								removeSelected:
+								id
+							
+							
+								renameSelected:
+								id
+							
+							
+								resetColumnsToDefault:
+								id
+							
+							
+								revealSelected:
+								id
+							
+							
+								saveResults:
+								id
+							
+							
+								showPreferencesPanel:
+								id
+							
+							
+								startDuplicateScan:
+								id
+							
+							
+								switchSelected:
+								id
+							
+							
+								toggleColumn:
+								id
+							
+							
+								toggleDelta:
+								id
+							
+							
+								toggleDetailsPanel:
+								id
+							
+							
+								togglePowerMarker:
+								id
+							
+						
+					
+					
+						YES
+						
+							YES
+							app
+							columnsMenu
+							filterField
+							matches
+							optionsSwitch
+							py
+							stats
+						
+						
+							YES
+							id
+							NSMenu
+							NSSearchField
+							HSTableView
+							NSSegmentedControl
+							PyDupeGuruBase
+							NSTextField
+						
+					
+					
+						YES
+						
+							YES
+							app
+							columnsMenu
+							filterField
+							matches
+							optionsSwitch
+							py
+							stats
+						
+						
+							YES
+							
+								app
+								id
+							
+							
+								columnsMenu
+								NSMenu
+							
+							
+								filterField
+								NSSearchField
+							
+							
+								matches
+								HSTableView
+							
+							
+								optionsSwitch
+								NSSegmentedControl
+							
+							
+								py
+								PyDupeGuruBase
+							
+							
+								stats
+								NSTextField
+							
+						
+					
+					
+						IBProjectSource
+						../base/ResultWindow.h
+					
+				
+			
+			
+				YES
+				
+					NSActionCell
+					NSCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSActionCell.h
+					
+				
+				
+					NSApplication
+					NSResponder
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSApplication.h
+					
+				
+				
+					NSApplication
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSApplicationScripting.h
+					
+				
+				
+					NSApplication
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSColorPanel.h
+					
+				
+				
+					NSApplication
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSHelpManager.h
+					
+				
+				
+					NSApplication
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSPageLayout.h
+					
+				
+				
+					NSApplication
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSUserInterfaceItemSearching.h
+					
+				
+				
+					NSButton
+					NSControl
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSButton.h
+					
+				
+				
+					NSButtonCell
+					NSActionCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSButtonCell.h
+					
+				
+				
+					NSCell
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSCell.h
+					
+				
+				
+					NSControl
+					NSView
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSControl.h
+					
+				
+				
+					NSFormatter
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSFormatter.h
+					
+				
+				
+					NSMenu
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSMenu.h
+					
+				
+				
+					NSMenuItem
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSMenuItem.h
+					
+				
+				
+					NSMenuItemCell
+					NSButtonCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSMenuItemCell.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSAccessibility.h
+					
+				
+				
+					NSObject
+					
+				
+				
+					NSObject
+					
+				
+				
+					NSObject
+					
+				
+				
+					NSObject
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSDictionaryController.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSDragging.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSFontManager.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSFontPanel.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSKeyValueBinding.h
+					
+				
+				
+					NSObject
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSNibLoading.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSOutlineView.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSPasteboard.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSSavePanel.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSTableView.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSToolbarItem.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSView.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSArchiver.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSClassDescription.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSError.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSFileManager.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSKeyValueCoding.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSKeyValueObserving.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSKeyedArchiver.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSObject.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSObjectScripting.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSPortCoder.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSRunLoop.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSScriptClassDescription.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSScriptKeyValueCoding.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSScriptObjectSpecifiers.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSScriptWhoseTests.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSThread.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSURL.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSURLConnection.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Foundation.framework/Headers/NSURLDownload.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Sparkle.framework/Headers/SUAppcast.h
+					
+				
+				
+					NSObject
+					
+						IBFrameworkSource
+						Sparkle.framework/Headers/SUUpdater.h
+					
+				
+				
+					NSPopUpButton
+					NSButton
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSPopUpButton.h
+					
+				
+				
+					NSPopUpButtonCell
+					NSMenuItemCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSPopUpButtonCell.h
+					
+				
+				
+					NSResponder
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSInterfaceStyle.h
+					
+				
+				
+					NSResponder
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSResponder.h
+					
+				
+				
+					NSScrollView
+					NSView
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSScrollView.h
+					
+				
+				
+					NSScroller
+					NSControl
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSScroller.h
+					
+				
+				
+					NSSearchField
+					NSTextField
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSSearchField.h
+					
+				
+				
+					NSSearchFieldCell
+					NSTextFieldCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSSearchFieldCell.h
+					
+				
+				
+					NSSegmentedCell
+					NSActionCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSSegmentedCell.h
+					
+				
+				
+					NSSegmentedControl
+					NSControl
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSSegmentedControl.h
+					
+				
+				
+					NSTableColumn
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSTableColumn.h
+					
+				
+				
+					NSTableHeaderView
+					NSView
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSTableHeaderView.h
+					
+				
+				
+					NSTableView
+					NSControl
+					
+				
+				
+					NSTextField
+					NSControl
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSTextField.h
+					
+				
+				
+					NSTextFieldCell
+					NSActionCell
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSTextFieldCell.h
+					
+				
+				
+					NSToolbar
+					NSObject
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSToolbar.h
+					
+				
+				
+					NSToolbarItem
+					NSObject
+					
+				
+				
+					NSView
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSClipView.h
+					
+				
+				
+					NSView
+					
+				
+				
+					NSView
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSRulerView.h
+					
+				
+				
+					NSView
+					NSResponder
+					
+				
+				
+					NSWindow
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSDrawer.h
+					
+				
+				
+					NSWindow
+					NSResponder
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSWindow.h
+					
+				
+				
+					NSWindow
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSWindowScripting.h
+					
+				
+				
+					NSWindowController
+					NSResponder
+					
+						showWindow:
+						id
+					
+					
+						showWindow:
+						
+							showWindow:
+							id
+						
+					
+					
+						IBFrameworkSource
+						AppKit.framework/Headers/NSWindowController.h
+					
+				
+			
+		
+		0
+		IBCocoaFramework
+		
+			com.apple.InterfaceBuilder.CocoaPlugin.macosx
+			
+		
+		
+			com.apple.InterfaceBuilder.CocoaPlugin.macosx
+			
+		
+		
+			com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
+			
+		
+		YES
+		../../se/dupeguru.xcodeproj
+		3
+		
+			YES
+			
+				YES
+				NSActionTemplate
+				NSApplicationIcon
+				NSMenuCheckmark
+				NSMenuMixedState
+				NSSwitch
+				folder32
+				preferences32
+			
+			
+				YES
+				{15, 15}
+				{128, 128}
+				{9, 8}
+				{7, 2}
+				{15, 15}
+				{32, 32}
+				{32, 32}
+			
+		
+	
+
diff --git a/cocoa/me/AppDelegate.m b/cocoa/me/AppDelegate.m
index 69f66f77..243f6c02 100644
--- a/cocoa/me/AppDelegate.m
+++ b/cocoa/me/AppDelegate.m
@@ -13,6 +13,7 @@ http://www.hardcoded.net/licenses/bsd_license
 #import "../../cocoalib/Dialogs.h"
 #import "DetailsPanel.h"
 #import "DirectoryPanel.h"
+#import "ResultWindow.h"
 #import "Consts.h"
 
 @implementation AppDelegate
@@ -58,15 +59,19 @@ http://www.hardcoded.net/licenses/bsd_license
 
 - (NSString *)homepageURL
 {
-    return @"http://www.hardcoded.net/dupeguru_me/"
+    return @"http://www.hardcoded.net/dupeguru_me/";
 }
 
-- (DirectoryPanel *)directoryPanel
+- (ResultWindowBase *)createResultWindow
 {
-    if (!_directoryPanel)
-        _directoryPanel = [[DirectoryPanelME alloc] initWithParentApp:self];
-    return _directoryPanel;
+    return [[ResultWindow alloc] initWithParentApp:self];
 }
+
+- (DirectoryPanel *)createDirectoryPanel
+{
+    return [[DirectoryPanelME alloc] initWithParentApp:self];
+}
+
 - (PyDupeGuru *)py { return (PyDupeGuru *)py; }
 
 //Delegate
@@ -76,7 +81,7 @@ http://www.hardcoded.net/licenses/bsd_license
     // index 3 is just after "Export Results to XHTML"
     NSMenuItem *mi = [actionsMenu insertItemWithTitle:@"Remove Dead Tracks in iTunes" 
         action:@selector(removeDeadTracks:) keyEquivalent:@"" atIndex:3];
-    [mi setTarget:result];
+    [mi setTarget:[self resultWindow]];
     [super applicationDidFinishLaunching:aNotification];
 }
 @end
diff --git a/cocoa/me/dupeguru.xcodeproj/project.pbxproj b/cocoa/me/dupeguru.xcodeproj/project.pbxproj
index 9c4fda74..2013e394 100644
--- a/cocoa/me/dupeguru.xcodeproj/project.pbxproj
+++ b/cocoa/me/dupeguru.xcodeproj/project.pbxproj
@@ -63,6 +63,7 @@
 		CE848A1909DD85810004CB44 /* Consts.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE848A1809DD85810004CB44 /* Consts.h */; };
 		CE900AD2109B238600754048 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD1109B238600754048 /* Preferences.xib */; };
 		CE900AD7109B2A9B00754048 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD6109B2A9B00754048 /* MainMenu.xib */; };
+		CEAF803712E07DF000A988DF /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEAF803612E07DF000A988DF /* ResultWindow.xib */; };
 		CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB14D28124DFC2800FA7481 /* ResultTable.m */; };
 		CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; };
 		CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
@@ -170,6 +171,7 @@
 		CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; };
 		CE900AD1109B238600754048 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = ""; };
 		CE900AD6109B2A9B00754048 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../base/xib/MainMenu.xib; sourceTree = ""; };
+		CEAF803612E07DF000A988DF /* ResultWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ResultWindow.xib; path = ../base/xib/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
 		CEB14D26124DFC2800FA7481 /* PyResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyResultTable.h; path = ../base/PyResultTable.h; sourceTree = SOURCE_ROOT; };
 		CEB14D27124DFC2800FA7481 /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; };
 		CEB14D28124DFC2800FA7481 /* ResultTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultTable.m; path = ../base/ResultTable.m; sourceTree = SOURCE_ROOT; };
@@ -331,6 +333,7 @@
 			isa = PBXGroup;
 			children = (
 				CE900AD6109B2A9B00754048 /* MainMenu.xib */,
+				CEAF803612E07DF000A988DF /* ResultWindow.xib */,
 				CE3FBDD11094637800B72D77 /* DetailsPanel.xib */,
 				CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */,
 				CE900AD1109B238600754048 /* Preferences.xib */,
@@ -502,6 +505,7 @@
 				CE0A0C061175A24800DCA3C6 /* ProblemDialog.xib in Resources */,
 				CE74A12712537F2E008A8DF0 /* FairwareReminder.xib in Resources */,
 				CE4F934612CCA9470067A3AE /* about.xib in Resources */,
+				CEAF803712E07DF000A988DF /* ResultWindow.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/cocoa/pe/AppDelegate.h b/cocoa/pe/AppDelegate.h
index 3eabc696..b536ebab 100644
--- a/cocoa/pe/AppDelegate.h
+++ b/cocoa/pe/AppDelegate.h
@@ -11,7 +11,5 @@ http://www.hardcoded.net/licenses/bsd_license
 #import "PyDupeGuru.h"
 
 @interface AppDelegate : AppDelegateBase {}
-- (IBAction)openWebsite:(id)sender;
-
 - (PyDupeGuru *)py;
 @end
diff --git a/cocoa/pe/AppDelegate.m b/cocoa/pe/AppDelegate.m
index ecc46ea2..53fd6720 100644
--- a/cocoa/pe/AppDelegate.m
+++ b/cocoa/pe/AppDelegate.m
@@ -13,6 +13,7 @@ http://www.hardcoded.net/licenses/bsd_license
 #import "Consts.h"
 #import "DetailsPanel.h"
 #import "DirectoryPanel.h"
+#import "ResultWindow.h"
 
 @implementation AppDelegate
 + (void)initialize
@@ -34,31 +35,26 @@ http://www.hardcoded.net/licenses/bsd_license
     [ud registerDefaults:d];
 }
 
-- (id)init
-{
-    self = [super init];
-    _directoryPanel = nil;
-    return self;
-}
-
-- (DetailsPanel *)detailsPanel
-{
-    if (!_detailsPanel)
-        _detailsPanel = [[DetailsPanelPE alloc] initWithPy:py];
-    return _detailsPanel;
-}
-
 - (NSString *)homepageURL
 {
-    return @"http://www.hardcoded.net/dupeguru_pe/"
+    return @"http://www.hardcoded.net/dupeguru_pe/";
 }
 
-- (DirectoryPanel *)directoryPanel
+- (ResultWindowBase *)createResultWindow
 {
-    if (!_directoryPanel)
-        _directoryPanel = [[DirectoryPanelPE alloc] initWithParentApp:self];
-    return _directoryPanel;
+    return [[ResultWindow alloc] initWithParentApp:self];
 }
+
+- (DirectoryPanel *)createDirectoryPanel
+{
+    return [[DirectoryPanelPE alloc] initWithParentApp:self];
+}
+
+- (DetailsPanel *)createDetailsPanel
+{
+    return [[DetailsPanelPE alloc] initWithPy:py];
+}
+
 - (PyDupeGuru *)py { return (PyDupeGuru *)py; }
 
 //Delegate
@@ -67,7 +63,7 @@ http://www.hardcoded.net/licenses/bsd_license
     NSMenu *actionsMenu = [[[NSApp mainMenu] itemWithTitle:@"Actions"] submenu];
     // index 2 is just after "Clear Ingore List"
     NSMenuItem *mi = [actionsMenu insertItemWithTitle:@"Clear Picture Cache" action:@selector(clearPictureCache:) keyEquivalent:@"P" atIndex:2];
-    [mi setTarget:result];
+    [mi setTarget:[self resultWindow]];
     [mi setKeyEquivalentModifierMask:NSCommandKeyMask|NSShiftKeyMask];
     [super applicationDidFinishLaunching:aNotification];
 }
diff --git a/cocoa/pe/dupeguru.xcodeproj/project.pbxproj b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj
index 0e78c125..8597c63f 100644
--- a/cocoa/pe/dupeguru.xcodeproj/project.pbxproj
+++ b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj
@@ -26,6 +26,7 @@
 		CE6044EC0FE6796200B71262 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6044EB0FE6796200B71262 /* DetailsPanel.m */; };
 		CE68EE6809ABC48000971085 /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE68EE6609ABC48000971085 /* DirectoryPanel.m */; };
 		CE6E0F3D1054EC62008D9390 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */; };
+		CE7360AC12E07DD000A0888D /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7360AB12E07DD000A0888D /* ResultWindow.xib */; };
 		CE77C89E10946C6D0078B0DB /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */; };
 		CE77C8A810946CE20078B0DB /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE77C8A710946CE20078B0DB /* DetailsPanel.xib */; };
 		CE7AC9181119911200D02F6C /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */; };
@@ -115,6 +116,7 @@
 		CE68EE6509ABC48000971085 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DirectoryPanel.h; sourceTree = SOURCE_ROOT; };
 		CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; };
 		CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = ../base/dsa_pub.pem; sourceTree = ""; };
+		CE7360AB12E07DD000A0888D /* ResultWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ResultWindow.xib; path = ../base/xib/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
 		CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../../base/xib/DirectoryPanel.xib; sourceTree = ""; };
 		CE77C8A710946CE20078B0DB /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DetailsPanel.xib; sourceTree = ""; };
 		CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ErrorReportWindow.xib; sourceTree = ""; };
@@ -291,6 +293,7 @@
 			isa = PBXGroup;
 			children = (
 				CE031753109B345200517EE6 /* MainMenu.xib */,
+				CE7360AB12E07DD000A0888D /* ResultWindow.xib */,
 				CE77C8A710946CE20078B0DB /* DetailsPanel.xib */,
 				CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */,
 				CE031750109B340A00517EE6 /* Preferences.xib */,
@@ -510,6 +513,7 @@
 				CE0C2AC81177021600BC749F /* ProblemDialog.xib in Resources */,
 				CE1EB60112537FB90034AABB /* FairwareReminder.xib in Resources */,
 				CEC9DB4712CCAA6B003102F0 /* about.xib in Resources */,
+				CE7360AC12E07DD000A0888D /* ResultWindow.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/cocoa/se/AppDelegate.m b/cocoa/se/AppDelegate.m
index 17ebb6c5..6e865f73 100644
--- a/cocoa/se/AppDelegate.m
+++ b/cocoa/se/AppDelegate.m
@@ -12,6 +12,7 @@ http://www.hardcoded.net/licenses/bsd_license
 #import "../../cocoalib/ValueTransformers.h"
 #import "DetailsPanel.h"
 #import "DirectoryPanel.h"
+#import "ResultWindow.h"
 #import "Consts.h"
 
 @implementation AppDelegate
@@ -52,5 +53,10 @@ http://www.hardcoded.net/licenses/bsd_license
     return @"http://www.hardcoded.net/dupeguru/";
 }
 
+- (ResultWindowBase *)createResultWindow
+{
+    return [[ResultWindow alloc] initWithParentApp:self];
+}
+
 - (PyDupeGuru *)py { return (PyDupeGuru *)py; }
 @end
diff --git a/cocoa/se/dupeguru.xcodeproj/project.pbxproj b/cocoa/se/dupeguru.xcodeproj/project.pbxproj
index 6b0c79dc..263c4c51 100644
--- a/cocoa/se/dupeguru.xcodeproj/project.pbxproj
+++ b/cocoa/se/dupeguru.xcodeproj/project.pbxproj
@@ -39,6 +39,7 @@
 		CEAC6811109B0B7E00B43C85 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEAC6810109B0B7E00B43C85 /* Preferences.xib */; };
 		CEBE4D74111F0EE1009AAC6D /* HSWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBE4D73111F0EE1009AAC6D /* HSWindowController.m */; };
 		CEDD92DA0FDD01640031C7B7 /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */; };
+		CEE7B60712E0711D00E01BEA /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEE7B60612E0711D00E01BEA /* ResultWindow.xib */; };
 		CEE7EA130FE675C80004E467 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE7EA120FE675C80004E467 /* DetailsPanel.m */; };
 		CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
 		CEEFC0F810945D9F001F3A39 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEEFC0F710945D9F001F3A39 /* DirectoryPanel.xib */; };
@@ -132,6 +133,7 @@
 		CEBE4D73111F0EE1009AAC6D /* HSWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSWindowController.m; sourceTree = ""; };
 		CEDD92D60FDD01640031C7B7 /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; };
 		CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; };
+		CEE7B60612E0711D00E01BEA /* ResultWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ResultWindow.xib; path = ../base/xib/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
 		CEE7EA110FE675C80004E467 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; };
 		CEE7EA120FE675C80004E467 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = ../base/DetailsPanel.m; sourceTree = SOURCE_ROOT; };
 		CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = ""; };
@@ -319,6 +321,7 @@
 		CEEFC0CA10943849001F3A39 /* xib */ = {
 			isa = PBXGroup;
 			children = (
+				CEE7B60612E0711D00E01BEA /* ResultWindow.xib */,
 				CE647E581173026F006D28BA /* ProblemDialog.xib */,
 				CE3A46F9109B212E002ABFD5 /* MainMenu.xib */,
 				CEAC6810109B0B7E00B43C85 /* Preferences.xib */,
@@ -469,6 +472,7 @@
 				CE647E591173026F006D28BA /* ProblemDialog.xib in Resources */,
 				CE79638612536C94008D405B /* FairwareReminder.xib in Resources */,
 				CE27D3C112CCA42500859E67 /* about.xib in Resources */,
+				CEE7B60712E0711D00E01BEA /* ResultWindow.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};