Index: /trunk/ICeCoffEE/ICeCoffEE/APEMain.m
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/APEMain.m	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/APEMain.m	(revision 106)
@@ -89,6 +89,10 @@
     OSStatus err = CPSGetCurrentProcess(&psn);
     if (err != noErr) {
+#if ICCF_DEBUG
+        apeprintf("ICeCoffEE APE: Can't get process serial number for current process (error %ld); still loading because of ICCF_DEBUG\n", err);
+#else
         apeprintf("ICeCoffEE APE: Can't get process serial number for current process (error %ld); not loading in this application\n", err);
         return;
+#endif
     }
     
@@ -96,6 +100,10 @@
     err = CPSGetProcessInfo(&psn, &info, NULL, 0, NULL, NULL, 0);
     if (err != noErr) {
+#if ICCF_DEBUG
+        apeprintf("ICeCoffEE APE: Can't get process information (error %ld); still loading because of ICCF_DEBUG\n", err);
+#else
         apeprintf("ICeCoffEE APE: Can't get process information (error %ld); not loading in this application\n", err);
         return;
+#endif
     }
     ICapeprintf("ICeCoffEE APE: got process attributes = 0x%lx\n", info.Attributes);
@@ -124,8 +132,10 @@
             ICapeprintf("ICeCoffEE APE: loaded in TermSubview for Terminal!\n");
         } else if (CFStringCompare(bundleID, CFSTR("com.apple.safari"), kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
+#if ICCF_WEBKIT
             ICCF_PatchMethod("WebHTMLView", "ICeCoffEEWebKit", "ICeCoffEEWebKitSuper", "mouseUp:") &&
             ICCF_PatchMethod("WebHTMLView", "ICeCoffEEWebKit", "ICeCoffEEWebKitSuper", "mouseDown:") &&
             ICCF_PatchMethod("WebHTMLView", "ICeCoffEEWebKit", "ICeCoffEEWebKitSuper", "menuForEvent:") , 
             ICapeprintf("ICeCoffEE APE: loaded in WebHTMLView for Safari!\n");
+#endif
         }
     }
Index: /trunk/ICeCoffEE/ICeCoffEE/English.lproj/APE Manager plugin.nib/info.nib
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/English.lproj/APE Manager plugin.nib/info.nib	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/English.lproj/APE Manager plugin.nib/info.nib	(revision 106)
@@ -29,5 +29,5 @@
 	</array>
 	<key>IBSystem Version</key>
-	<string>6I25</string>
+	<string>6I32</string>
 	<key>IBUserGuides</key>
 	<dict>
Index: /trunk/ICeCoffEE/ICeCoffEE/English.lproj/Localizable.strings
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/English.lproj/Localizable.strings	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/English.lproj/Localizable.strings	(revision 106)
@@ -1,6 +1,9 @@
-/**** "Open With" menu ****/
+﻿/**** "Open With" menu ****/
 
 /* Format for 'default app', e.g "Internet Explorer (5.2) (default)" */
 "DefaultApp%@" = "%@ (default)";
+
+/* Format for app location, e.g "Internet Explorer (5.2) -- /Applications" */
+"App%@Location%@" = "%@ — %@";
 
 /* First (disabled, label) element of menu */
@@ -79,5 +82,5 @@
 
 /* icPrefNotFoundErr */
-"-666" = "No helper application is defined for the selected URL’s scheme (e.g. http:)";
+"-666" = "No helper application is set for the selected URL’s scheme (e.g. http:)";
 
 /* icNoURLErr */
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.pbproj/nicholas.pbxuser
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.pbproj/nicholas.pbxuser	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.pbproj/nicholas.pbxuser	(revision 106)
@@ -3,5 +3,5 @@
 	29B97313FDCFA39411CA2CEA = {
 		activeBuildStyle = 4A9504CDFFE6A4B311CA0CBA;
-		activeExecutable = E1317A3503DF242100050002;
+		activeExecutable = E15E6A7404188D6900050002;
 		activeTarget = F5CD5E9D02DAE2C901AA4DA5;
 		addToTargets = (
@@ -13,4 +13,5 @@
 			E136EAA903E48B0400050002,
 			E18A7D2903ED430100050001,
+			E120D7B00419702800050002,
 		);
 		executables = (
@@ -18,10 +19,13 @@
 			E19EB4E903DD355C00050002,
 			E1317A3503DF242100050002,
+			E15E6A7404188D6900050002,
 			E136EAA103E42F7500050002,
 			E175F28303E7445700050002,
 			E165AB3C03E7BCDE00050002,
+			E104851C040C1E3900050002,
+			E1ABE98B040D48E700050002,
 		);
 		perUserDictionary = {
-			PBXPerProjectTemplateStateSaveDate = 66543891;
+			PBXPerProjectTemplateStateSaveDate = 68771887;
 			"PBXTemplateGeometry-F5314676015831810DCA290F" = {
 				ContentSize = "{685, 434}";
@@ -150,5 +154,133 @@
 				Template = F5314676015831810DCA290F;
 				ToolbarVisible = YES;
-				WindowLocation = "{227, 186}";
+				WindowLocation = "{337, 203}";
+			};
+			"PBXTemplateGeometry-F5534CB2020F3F8A0DCA290F" = {
+				ContentSize = "{594, 303}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {594, 280}}";
+					Split0 = {
+						ActiveTab = 1;
+						ActiveTabName = PBXRunSessionModule;
+						Collapsed = YES;
+						Frame = "{{0, 0}, {594, 280}}";
+						Split0 = {
+							Frame = "{{1e+06, 1e+06}, {594, 27}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {804, 321}}";
+						};
+						Tab1 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {594, 274}}";
+								Split0 = {
+									Frame = "{{0, 24}, {594, 250}}";
+									Split0 = {
+										Frame = "{{0, 0}, {290, 250}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											62.123,
+										);
+										Frame = "{{299, 0}, {295, 250}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {594, 274}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {594, 274}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {594, 274}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {614, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {300, 533}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							267,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 386}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 386}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = YES;
+				Template = F5534CB2020F3F8A0DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{4, 467}";
 			};
 			"PBXTemplateGeometry-F5CA7EC9015C08ED0DCA290F" = {
@@ -278,5 +410,261 @@
 				Template = F5CA7EC9015C08ED0DCA290F;
 				ToolbarVisible = NO;
-				WindowLocation = "{69, 216}";
+				WindowLocation = "{555, 123}";
+			};
+			"PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
+				ContentSize = "{668, 621}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 0}, {668, 621}}";
+					Split0 = {
+						Collapsed = NO;
+						Frame = "{{0, 0}, {668, 621}}";
+						Split0 = {
+							Frame = "{{0, 0}, {668, 621}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {484, 208}}";
+						};
+						Tab1 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {664, 208}}";
+								Split0 = {
+									Frame = "{{0, 24}, {664, 184}}";
+									Split0 = {
+										Frame = "{{0, 0}, {325, 184}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											96.123,
+										);
+										Frame = "{{334, 0}, {330, 184}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {664, 208}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {664, 50}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {664, 50}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {614, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {313, 531}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							280,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 557}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = NO;
+				Template = F5CA7ECB015C094F0DCA290F;
+				ToolbarVisible = NO;
+				WindowLocation = "{477, 84}";
+			};
+			"PBXTemplateGeometry-F5CA7ECC015C09990DCA290F" = {
+				ContentSize = "{773, 558}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {773, 535}}";
+					Split0 = {
+						ActiveTab = 0;
+						ActiveTabName = PBXDebugSessionModule;
+						Collapsed = NO;
+						Frame = "{{24, 0}, {749, 535}}";
+						Split0 = {
+							Frame = "{{0, 214}, {749, 321}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {749, 267}}";
+						};
+						Tab1 = {
+							Debugger = {
+								ActiveTab = 0;
+								ActiveTabName = PBXDebugCLIModule;
+								Collapsed = NO;
+								Frame = "{{0, 0}, {749, 208}}";
+								Split0 = {
+									Frame = "{{0, 74}, {749, 134}}";
+									Split0 = {
+										Frame = "{{0, 0}, {367, 134}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											139.123,
+										);
+										Frame = "{{376, 0}, {373, 134}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {749, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {749, 208}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {664, 50}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {664, 50}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {614, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {313, 531}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							280,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 557}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = YES;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = YES;
+				Template = F5CA7ECC015C09990DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{13, 212}";
 			};
 			PBXWorkspaceContents = (
@@ -286,9 +674,6 @@
 							Split0 = {
 								NavContent0 = {
-									bookmark = E16C83AA03F759D800050002;
+									bookmark = E120D8190419848000050002;
 									history = (
-										E120347B03EDEBC100000ABE,
-										E120348003EDEBC100000ABE,
-										E11854FA03F27D4A00050002,
 										E11854FB03F27D4A00050002,
 										E11854FC03F27D4A00050002,
@@ -305,22 +690,13 @@
 										E118550B03F27D4A00050002,
 										E118550E03F27D4A00050002,
-										E118550F03F27D4A00050002,
 										E166E9AA03F2F8F100050002,
 										E166ECD903F41C6200050002,
 										E166ECDA03F41C6200050002,
-										E15FA25E03F6528F00050002,
-										E15FA26003F6528F00050002,
-										E16C833B03F759D800050002,
 										E16C833C03F759D800050002,
 										E16C833D03F759D800050002,
-										E16C833E03F759D800050002,
-										E16C833F03F759D800050002,
 										E16C834003F759D800050002,
 										E16C834103F759D800050002,
 										E16C834203F759D800050002,
 										E16C834303F759D800050002,
-										E16C834403F759D800050002,
-										E16C834503F759D800050002,
-										E16C834603F759D800050002,
 										E16C834703F759D800050002,
 										E16C834803F759D800050002,
@@ -333,11 +709,32 @@
 										E16C834F03F759D800050002,
 										E16C835003F759D800050002,
-										E16C835103F759D800050002,
-										E16C835203F759D800050002,
-										E16C835303F759D800050002,
-										E16C835403F759D800050002,
+										E1C59B0303FDE6DD00050002,
+										E1ABE98F040D4E8F00050002,
+										E1ABE990040D4E8F00050002,
+										E1ABE991040D4E8F00050002,
+										E1669BDA04133AFF00050002,
+										E120D6A70419601400050002,
+										E120D7B20419848000050002,
+										E120D7B30419848000050002,
+										E120D7B40419848000050002,
+										E120D7B50419848000050002,
+										E120D7B60419848000050002,
+										E120D7B70419848000050002,
+										E120D7B80419848000050002,
+										E120D7B90419848000050002,
+										E120D7BA0419848000050002,
+										E120D7BB0419848000050002,
+										E120D7BC0419848000050002,
+										E120D7BD0419848000050002,
+										E120D7BE0419848000050002,
+										E120D7BF0419848000050002,
+										E120D7C00419848000050002,
+										E120D7C10419848000050002,
+										E120D7C20419848000050002,
+										E120D7C30419848000050002,
+										E120D7C40419848000050002,
+										E120D7C50419848000050002,
+										E120D7C60419848000050002,
 										E16C835503F759D800050002,
-										E16C835603F759D800050002,
-										E16C835703F759D800050002,
 									);
 									prevStack = (
@@ -371,5 +768,4 @@
 										E118551F03F27D4A00050002,
 										E118552003F27D4A00050002,
-										E118552103F27D4A00050002,
 										E118552203F27D4A00050002,
 										E118552303F27D4A00050002,
@@ -467,5 +863,4 @@
 										E16C839203F759D800050002,
 										E16C839303F759D800050002,
-										E16C839403F759D800050002,
 										E16C839503F759D800050002,
 										E16C839603F759D800050002,
@@ -489,93 +884,120 @@
 										E16C83A803F759D800050002,
 										E16C83A903F759D800050002,
+										E16C842603FB6A7200050002,
+										E16C842703FB6A7200050002,
+										E1C59B0403FDE6DD00050002,
+										E1DEF0F703FE2F8D00050002,
+										E1DEF10F03FF95C900050002,
+										E1DEF11003FF95C900050002,
+										E1DEF11103FF95C900050002,
+										E1DEF11203FF95C900050002,
+										E1F6E3AF040BD0C700050002,
+										E1F6E3B0040BD0C700050002,
+										E1F6E3B1040BD0C700050002,
+										E1937CF1040C300300050002,
+										E1937CF2040C300300050002,
+										E10E71FD040C3E3B00050002,
+										E1ABE993040D4E8F00050002,
+										E1ABE994040D4E8F00050002,
+										E1ABE995040D4E8F00050002,
+										E1ABE996040D4E8F00050002,
+										E1ABE997040D4E8F00050002,
+										E1ABE998040D4E8F00050002,
+										E1ABE999040D4E8F00050002,
+										E1ABE99D040D623300050002,
+										E1ABE99E040D623300050002,
+										E1669BDC04133AFF00050002,
+										E1669BDD04133AFF00050002,
+										E1BFDA5C0418987900050002,
+										E1BFDA5D0418987900050002,
+										E120D6A90419601400050002,
+										E120D6AA0419601400050002,
+										E120D7C70419848000050002,
+										E120D7C80419848000050002,
+										E120D7C90419848000050002,
+										E120D7CA0419848000050002,
+										E120D7CB0419848000050002,
+										E120D7CC0419848000050002,
+										E120D7CD0419848000050002,
+										E120D7CE0419848000050002,
+										E120D7CF0419848000050002,
+										E120D7D00419848000050002,
+										E120D7D10419848000050002,
+										E120D7D20419848000050002,
+										E120D7D30419848000050002,
+										E120D7D40419848000050002,
+										E120D7D50419848000050002,
+										E120D7D60419848000050002,
+										E120D7D70419848000050002,
+										E120D7D80419848000050002,
+										E120D7D90419848000050002,
+										E120D7DA0419848000050002,
+										E120D7DB0419848000050002,
+										E120D7DC0419848000050002,
+										E120D7DD0419848000050002,
+										E120D7DE0419848000050002,
+										E120D7DF0419848000050002,
+										E120D7E00419848000050002,
+										E120D7E10419848000050002,
+										E120D7E20419848000050002,
+										E120D7E30419848000050002,
+										E120D7E40419848000050002,
+										E120D7E50419848000050002,
+										E120D7E60419848000050002,
+										E120D7E70419848000050002,
+										E120D7E80419848000050002,
+										E120D7E90419848000050002,
+										E120D7EA0419848000050002,
+										E120D7EB0419848000050002,
+										E120D7EC0419848000050002,
+										E120D7ED0419848000050002,
+										E120D7EE0419848000050002,
+										E120D7EF0419848000050002,
+										E120D7F00419848000050002,
+										E120D7F10419848000050002,
+										E120D7F20419848000050002,
+										E120D7F30419848000050002,
+										E120D7F40419848000050002,
+										E120D7F50419848000050002,
+										E120D7F60419848000050002,
+										E120D7F70419848000050002,
+										E120D7F80419848000050002,
+										E120D7F90419848000050002,
+										E120D7FA0419848000050002,
+										E120D7FB0419848000050002,
+										E120D7FC0419848000050002,
+										E120D7FD0419848000050002,
+										E120D7FE0419848000050002,
+										E120D7FF0419848000050002,
+										E120D8000419848000050002,
+										E120D8010419848000050002,
+										E120D8020419848000050002,
+										E120D8030419848000050002,
+										E120D8040419848000050002,
+										E120D8050419848000050002,
+										E120D8060419848000050002,
+										E120D8070419848000050002,
+										E120D8080419848000050002,
+										E120D8090419848000050002,
+										E120D80A0419848000050002,
+										E120D80B0419848000050002,
+										E120D80C0419848000050002,
+										E120D80D0419848000050002,
+										E120D80E0419848000050002,
+										E120D80F0419848000050002,
+										E120D8100419848000050002,
+										E120D8110419848000050002,
+										E120D8120419848000050002,
+										E120D8130419848000050002,
+										E120D8140419848000050002,
+										E120D8150419848000050002,
+										E120D8160419848000050002,
+										E120D8170419848000050002,
+										E120D8180419848000050002,
 									);
 								};
 								NavCount = 1;
 								NavGeometry0 = {
-									Frame = "{{0, 0}, {642, 698}}";
-									NavBarVisible = YES;
-								};
-								NavSplitVertical = NO;
-							};
-							SplitCount = 1;
-							Tab1 = {
-								Debugger = {
-									Split0 = {
-										SplitCount = 2;
-									};
-									SplitCount = 1;
-									TabCount = 2;
-								};
-								LauncherConfigVersion = 7;
-							};
-							Tab2 = {
-								LauncherConfigVersion = 3;
-								Runner = {
-								};
-							};
-							TabCount = 5;
-						};
-						SplitCount = 1;
-						Tab1 = {
-							OptionsSetName = "Hierarchy, all classes";
-						};
-						TabCount = 5;
-					};
-				},
-				{
-					LeftSlideOut = {
-						Split0 = {
-							Split0 = {
-								NavContent0 = {
-									bookmark = E16C83AC03F759D800050002;
-									history = (
-										E16C83AB03F759D800050002,
-									);
-								};
-								NavCount = 1;
-								NavGeometry0 = {
-									Frame = "{{0, 0}, {685, 150}}";
-									NavBarVisible = YES;
-								};
-								NavSplitVertical = NO;
-							};
-							SplitCount = 1;
-							Tab1 = {
-								Debugger = {
-									Split0 = {
-										SplitCount = 2;
-									};
-									SplitCount = 1;
-									TabCount = 2;
-								};
-								LauncherConfigVersion = 7;
-							};
-							Tab2 = {
-								LauncherConfigVersion = 3;
-								Runner = {
-								};
-							};
-							TabCount = 5;
-						};
-						SplitCount = 1;
-						Tab1 = {
-							OptionsSetName = "Hierarchy, all classes";
-						};
-						TabCount = 5;
-					};
-				},
-				{
-					LeftSlideOut = {
-						Split0 = {
-							Split0 = {
-								NavContent0 = {
-									bookmark = E16C83AE03F759D800050002;
-									history = (
-										E16C83AD03F759D800050002,
-									);
-								};
-								NavCount = 1;
-								NavGeometry0 = {
-									Frame = "{{0, 0}, {665, 293}}";
+									Frame = "{{0, 0}, {642, 668}}";
 									NavBarVisible = YES;
 								};
@@ -610,15 +1032,15 @@
 			PBXWorkspaceGeometries = (
 				{
-					ContentSize = "{925, 721}";
+					ContentSize = "{925, 691}";
 					LeftSlideOut = {
 						ActiveTab = 0;
 						ActiveTabName = PBXGroupTreeModule;
 						Collapsed = NO;
-						Frame = "{{0, 23}, {925, 698}}";
+						Frame = "{{0, 23}, {925, 668}}";
 						Split0 = {
 							Collapsed = NO;
-							Frame = "{{283, 0}, {642, 698}}";
+							Frame = "{{283, 0}, {642, 668}}";
 							Split0 = {
-								Frame = "{{0, 0}, {642, 698}}";
+								Frame = "{{0, 0}, {642, 668}}";
 							};
 							SplitCount = 1;
@@ -682,5 +1104,5 @@
 						SplitCount = 1;
 						Tab0 = {
-							Frame = "{{0, 0}, {259, 698}}";
+							Frame = "{{0, 0}, {259, 668}}";
 							GroupTreeTableConfiguration = (
 								TargetStatusColumn,
@@ -691,5 +1113,5 @@
 						};
 						Tab1 = {
-							ClassesFrame = "{{0, 0}, {250, 333}}";
+							ClassesFrame = "{{0, 0}, {250, 402}}";
 							ClassesTreeTableConfiguration = (
 								PBXBookColumnIdentifier,
@@ -698,6 +1120,6 @@
 								207,
 							);
-							Frame = "{{0, 0}, {248, 554}}";
-							MembersFrame = "{{0, 342}, {250, 212}}";
+							Frame = "{{0, 0}, {248, 668}}";
+							MembersFrame = "{{0, 411}, {250, 257}}";
 							MembersTreeTableConfiguration = (
 								PBXBookColumnIdentifier,
@@ -735,267 +1157,11 @@
 					Template = 64ABBB4501FA494900185B06;
 					ToolbarVisible = YES;
-					WindowLocation = "{21, 49}";
-				},
-				{
-					ContentSize = "{685, 434}";
-					LeftSlideOut = {
-						Collapsed = NO;
-						Frame = "{{0, 23}, {685, 411}}";
-						Split0 = {
-							ActiveTab = 2;
-							ActiveTabName = PBXBuildResultsModule;
-							Collapsed = NO;
-							Frame = "{{0, 0}, {685, 411}}";
-							Split0 = {
-								Frame = "{{0, 301}, {685, 110}}";
-							};
-							SplitCount = 1;
-							Tab0 = {
-								Frame = "{{0, 0}, {952, 321}}";
-							};
-							Tab1 = {
-								Debugger = {
-									Collapsed = NO;
-									Frame = "{{0, 0}, {781, 452}}";
-									Split0 = {
-										Frame = "{{0, 24}, {781, 428}}";
-										Split0 = {
-											Frame = "{{0, 0}, {383, 428}}";
-										};
-										Split1 = {
-											DebugVariablesTableConfiguration = (
-												Name,
-												123,
-												Value,
-												85,
-												Summary,
-												155.123,
-											);
-											Frame = "{{392, 0}, {389, 428}}";
-										};
-										SplitCount = 2;
-									};
-									SplitCount = 1;
-									Tab0 = {
-										Frame = "{{0, 0}, {100, 50}}";
-									};
-									Tab1 = {
-										Frame = "{{0, 0}, {100, 50}}";
-									};
-									TabCount = 2;
-									TabsVisible = YES;
-								};
-								Frame = "{{0, 0}, {781, 452}}";
-								LauncherConfigVersion = 7;
-							};
-							Tab2 = {
-								Frame = "{{0, 0}, {685, 215}}";
-								LauncherConfigVersion = 3;
-								Runner = {
-									Frame = "{{0, 0}, {685, 215}}";
-								};
-							};
-							Tab3 = {
-								BuildMessageFrame = "{{0, 0}, {687, 262}}";
-								BuildTranscriptFrame = "{{0, 271}, {687, 2}}";
-								BuildTranscriptFrameExpanded = YES;
-								Frame = "{{0, 0}, {685, 295}}";
-							};
-							Tab4 = {
-								Frame = "{{0, 0}, {612, 295}}";
-							};
-							TabCount = 5;
-							TabsVisible = NO;
-						};
-						SplitCount = 1;
-						Tab0 = {
-							Frame = "{{0, 0}, {300, 533}}";
-							GroupTreeTableConfiguration = (
-								TargetStatusColumn,
-								18,
-								MainColumn,
-								267,
-							);
-						};
-						Tab1 = {
-							ClassesFrame = "{{0, 0}, {280, 398}}";
-							ClassesTreeTableConfiguration = (
-								PBXBookColumnIdentifier,
-								20,
-								PBXClassColumnIdentifier,
-								237,
-							);
-							Frame = "{{0, 0}, {278, 659}}";
-							MembersFrame = "{{0, 407}, {280, 252}}";
-							MembersTreeTableConfiguration = (
-								PBXBookColumnIdentifier,
-								20,
-								PBXMethodColumnIdentifier,
-								236,
-							);
-						};
-						Tab2 = {
-							Frame = "{{0, 0}, {200, 100}}";
-						};
-						Tab3 = {
-							Frame = "{{0, 0}, {200, 100}}";
-							TargetTableConfiguration = (
-								ActiveObject,
-								16,
-								ObjectNames,
-								202.296,
-							);
-						};
-						Tab4 = {
-							BreakpointsTreeTableConfiguration = (
-								breakpointColumn,
-								197,
-								enabledColumn,
-								31,
-							);
-							Frame = "{{0, 0}, {250, 100}}";
-						};
-						TabCount = 5;
-						TabsVisible = NO;
-					};
-					NavBarShownByDefault = YES;
-					StatusViewVisible = YES;
-					Template = F5314676015831810DCA290F;
-					ToolbarVisible = YES;
-					WindowLocation = "{227, 186}";
-				},
-				{
-					ContentSize = "{665, 594}";
-					LeftSlideOut = {
-						Collapsed = NO;
-						Frame = "{{0, 0}, {665, 594}}";
-						Split0 = {
-							ActiveTab = 3;
-							ActiveTabName = PBXProjectFindModule;
-							Collapsed = NO;
-							Frame = "{{0, 0}, {665, 594}}";
-							Split0 = {
-								Frame = "{{0, 301}, {665, 293}}";
-							};
-							SplitCount = 1;
-							Tab0 = {
-								Frame = "{{0, 0}, {484, 208}}";
-							};
-							Tab1 = {
-								Debugger = {
-									Collapsed = NO;
-									Frame = "{{0, 0}, {664, 208}}";
-									Split0 = {
-										Frame = "{{0, 24}, {664, 184}}";
-										Split0 = {
-											Frame = "{{0, 0}, {325, 184}}";
-										};
-										Split1 = {
-											DebugVariablesTableConfiguration = (
-												Name,
-												123,
-												Value,
-												85,
-												Summary,
-												96.123,
-											);
-											Frame = "{{334, 0}, {330, 184}}";
-										};
-										SplitCount = 2;
-									};
-									SplitCount = 1;
-									Tab0 = {
-										Frame = "{{0, 0}, {100, 50}}";
-									};
-									Tab1 = {
-										Frame = "{{0, 0}, {100, 50}}";
-									};
-									TabCount = 2;
-									TabsVisible = YES;
-								};
-								Frame = "{{0, 0}, {664, 208}}";
-								LauncherConfigVersion = 7;
-							};
-							Tab2 = {
-								Frame = "{{0, 0}, {664, 50}}";
-								LauncherConfigVersion = 3;
-								Runner = {
-									Frame = "{{0, 0}, {664, 50}}";
-								};
-							};
-							Tab3 = {
-								BuildMessageFrame = "{{0, 0}, {667, 265}}";
-								BuildTranscriptFrame = "{{0, 274}, {667, 2}}";
-								BuildTranscriptFrameExpanded = YES;
-								Frame = "{{0, 0}, {665, 298}}";
-							};
-							Tab4 = {
-								Frame = "{{0, 0}, {665, 295}}";
-							};
-							TabCount = 5;
-							TabsVisible = NO;
-						};
-						SplitCount = 1;
-						Tab0 = {
-							Frame = "{{0, 0}, {313, 531}}";
-							GroupTreeTableConfiguration = (
-								TargetStatusColumn,
-								18,
-								MainColumn,
-								280,
-							);
-						};
-						Tab1 = {
-							ClassesFrame = "{{0, 0}, {280, 398}}";
-							ClassesTreeTableConfiguration = (
-								PBXBookColumnIdentifier,
-								20,
-								PBXClassColumnIdentifier,
-								237,
-							);
-							Frame = "{{0, 0}, {278, 659}}";
-							MembersFrame = "{{0, 407}, {280, 252}}";
-							MembersTreeTableConfiguration = (
-								PBXBookColumnIdentifier,
-								20,
-								PBXMethodColumnIdentifier,
-								236,
-							);
-						};
-						Tab2 = {
-							Frame = "{{0, 0}, {200, 100}}";
-						};
-						Tab3 = {
-							Frame = "{{0, 0}, {200, 557}}";
-							TargetTableConfiguration = (
-								ActiveObject,
-								16,
-								ObjectNames,
-								202.296,
-							);
-						};
-						Tab4 = {
-							BreakpointsTreeTableConfiguration = (
-								breakpointColumn,
-								197,
-								enabledColumn,
-								31,
-							);
-							Frame = "{{0, 0}, {250, 100}}";
-						};
-						TabCount = 5;
-						TabsVisible = NO;
-					};
-					NavBarShownByDefault = YES;
-					StatusViewVisible = NO;
-					Template = F5CA7EC9015C08ED0DCA290F;
-					ToolbarVisible = NO;
-					WindowLocation = "{69, 216}";
+					WindowLocation = "{12, 79}";
 				},
 			);
-			PBXWorkspaceStateSaveDate = 66543891;
+			PBXWorkspaceStateSaveDate = 68771887;
 		};
 		perUserProjectItems = {
-			E11854FA03F27D4A00050002 = E11854FA03F27D4A00050002;
+			E10E71FD040C3E3B00050002 = E10E71FD040C3E3B00050002;
 			E11854FB03F27D4A00050002 = E11854FB03F27D4A00050002;
 			E11854FC03F27D4A00050002 = E11854FC03F27D4A00050002;
@@ -1012,5 +1178,4 @@
 			E118550B03F27D4A00050002 = E118550B03F27D4A00050002;
 			E118550E03F27D4A00050002 = E118550E03F27D4A00050002;
-			E118550F03F27D4A00050002 = E118550F03F27D4A00050002;
 			E118551303F27D4A00050002 = E118551303F27D4A00050002;
 			E118551403F27D4A00050002 = E118551403F27D4A00050002;
@@ -1027,5 +1192,4 @@
 			E118551F03F27D4A00050002 = E118551F03F27D4A00050002;
 			E118552003F27D4A00050002 = E118552003F27D4A00050002;
-			E118552103F27D4A00050002 = E118552103F27D4A00050002;
 			E118552203F27D4A00050002 = E118552203F27D4A00050002;
 			E118552303F27D4A00050002 = E118552303F27D4A00050002;
@@ -1044,6 +1208,4 @@
 			E118553003F27D4A00050002 = E118553003F27D4A00050002;
 			E118553103F27D4A00050002 = E118553103F27D4A00050002;
-			E120347B03EDEBC100000ABE = E120347B03EDEBC100000ABE;
-			E120348003EDEBC100000ABE = E120348003EDEBC100000ABE;
 			E120348303EDEBC100000ABE = E120348303EDEBC100000ABE;
 			E120348403EDEBC100000ABE = E120348403EDEBC100000ABE;
@@ -1057,10 +1219,115 @@
 			E120348C03EDEBC100000ABE = E120348C03EDEBC100000ABE;
 			E120348D03EDEBC100000ABE = E120348D03EDEBC100000ABE;
+			E120D6A70419601400050002 = E120D6A70419601400050002;
+			E120D6A90419601400050002 = E120D6A90419601400050002;
+			E120D6AA0419601400050002 = E120D6AA0419601400050002;
+			E120D7B20419848000050002 = E120D7B20419848000050002;
+			E120D7B30419848000050002 = E120D7B30419848000050002;
+			E120D7B40419848000050002 = E120D7B40419848000050002;
+			E120D7B50419848000050002 = E120D7B50419848000050002;
+			E120D7B60419848000050002 = E120D7B60419848000050002;
+			E120D7B70419848000050002 = E120D7B70419848000050002;
+			E120D7B80419848000050002 = E120D7B80419848000050002;
+			E120D7B90419848000050002 = E120D7B90419848000050002;
+			E120D7BA0419848000050002 = E120D7BA0419848000050002;
+			E120D7BB0419848000050002 = E120D7BB0419848000050002;
+			E120D7BC0419848000050002 = E120D7BC0419848000050002;
+			E120D7BD0419848000050002 = E120D7BD0419848000050002;
+			E120D7BE0419848000050002 = E120D7BE0419848000050002;
+			E120D7BF0419848000050002 = E120D7BF0419848000050002;
+			E120D7C00419848000050002 = E120D7C00419848000050002;
+			E120D7C10419848000050002 = E120D7C10419848000050002;
+			E120D7C20419848000050002 = E120D7C20419848000050002;
+			E120D7C30419848000050002 = E120D7C30419848000050002;
+			E120D7C40419848000050002 = E120D7C40419848000050002;
+			E120D7C50419848000050002 = E120D7C50419848000050002;
+			E120D7C60419848000050002 = E120D7C60419848000050002;
+			E120D7C70419848000050002 = E120D7C70419848000050002;
+			E120D7C80419848000050002 = E120D7C80419848000050002;
+			E120D7C90419848000050002 = E120D7C90419848000050002;
+			E120D7CA0419848000050002 = E120D7CA0419848000050002;
+			E120D7CB0419848000050002 = E120D7CB0419848000050002;
+			E120D7CC0419848000050002 = E120D7CC0419848000050002;
+			E120D7CD0419848000050002 = E120D7CD0419848000050002;
+			E120D7CE0419848000050002 = E120D7CE0419848000050002;
+			E120D7CF0419848000050002 = E120D7CF0419848000050002;
+			E120D7D00419848000050002 = E120D7D00419848000050002;
+			E120D7D10419848000050002 = E120D7D10419848000050002;
+			E120D7D20419848000050002 = E120D7D20419848000050002;
+			E120D7D30419848000050002 = E120D7D30419848000050002;
+			E120D7D40419848000050002 = E120D7D40419848000050002;
+			E120D7D50419848000050002 = E120D7D50419848000050002;
+			E120D7D60419848000050002 = E120D7D60419848000050002;
+			E120D7D70419848000050002 = E120D7D70419848000050002;
+			E120D7D80419848000050002 = E120D7D80419848000050002;
+			E120D7D90419848000050002 = E120D7D90419848000050002;
+			E120D7DA0419848000050002 = E120D7DA0419848000050002;
+			E120D7DB0419848000050002 = E120D7DB0419848000050002;
+			E120D7DC0419848000050002 = E120D7DC0419848000050002;
+			E120D7DD0419848000050002 = E120D7DD0419848000050002;
+			E120D7DE0419848000050002 = E120D7DE0419848000050002;
+			E120D7DF0419848000050002 = E120D7DF0419848000050002;
+			E120D7E00419848000050002 = E120D7E00419848000050002;
+			E120D7E10419848000050002 = E120D7E10419848000050002;
+			E120D7E20419848000050002 = E120D7E20419848000050002;
+			E120D7E30419848000050002 = E120D7E30419848000050002;
+			E120D7E40419848000050002 = E120D7E40419848000050002;
+			E120D7E50419848000050002 = E120D7E50419848000050002;
+			E120D7E60419848000050002 = E120D7E60419848000050002;
+			E120D7E70419848000050002 = E120D7E70419848000050002;
+			E120D7E80419848000050002 = E120D7E80419848000050002;
+			E120D7E90419848000050002 = E120D7E90419848000050002;
+			E120D7EA0419848000050002 = E120D7EA0419848000050002;
+			E120D7EB0419848000050002 = E120D7EB0419848000050002;
+			E120D7EC0419848000050002 = E120D7EC0419848000050002;
+			E120D7ED0419848000050002 = E120D7ED0419848000050002;
+			E120D7EE0419848000050002 = E120D7EE0419848000050002;
+			E120D7EF0419848000050002 = E120D7EF0419848000050002;
+			E120D7F00419848000050002 = E120D7F00419848000050002;
+			E120D7F10419848000050002 = E120D7F10419848000050002;
+			E120D7F20419848000050002 = E120D7F20419848000050002;
+			E120D7F30419848000050002 = E120D7F30419848000050002;
+			E120D7F40419848000050002 = E120D7F40419848000050002;
+			E120D7F50419848000050002 = E120D7F50419848000050002;
+			E120D7F60419848000050002 = E120D7F60419848000050002;
+			E120D7F70419848000050002 = E120D7F70419848000050002;
+			E120D7F80419848000050002 = E120D7F80419848000050002;
+			E120D7F90419848000050002 = E120D7F90419848000050002;
+			E120D7FA0419848000050002 = E120D7FA0419848000050002;
+			E120D7FB0419848000050002 = E120D7FB0419848000050002;
+			E120D7FC0419848000050002 = E120D7FC0419848000050002;
+			E120D7FD0419848000050002 = E120D7FD0419848000050002;
+			E120D7FE0419848000050002 = E120D7FE0419848000050002;
+			E120D7FF0419848000050002 = E120D7FF0419848000050002;
+			E120D8000419848000050002 = E120D8000419848000050002;
+			E120D8010419848000050002 = E120D8010419848000050002;
+			E120D8020419848000050002 = E120D8020419848000050002;
+			E120D8030419848000050002 = E120D8030419848000050002;
+			E120D8040419848000050002 = E120D8040419848000050002;
+			E120D8050419848000050002 = E120D8050419848000050002;
+			E120D8060419848000050002 = E120D8060419848000050002;
+			E120D8070419848000050002 = E120D8070419848000050002;
+			E120D8080419848000050002 = E120D8080419848000050002;
+			E120D8090419848000050002 = E120D8090419848000050002;
+			E120D80A0419848000050002 = E120D80A0419848000050002;
+			E120D80B0419848000050002 = E120D80B0419848000050002;
+			E120D80C0419848000050002 = E120D80C0419848000050002;
+			E120D80D0419848000050002 = E120D80D0419848000050002;
+			E120D80E0419848000050002 = E120D80E0419848000050002;
+			E120D80F0419848000050002 = E120D80F0419848000050002;
+			E120D8100419848000050002 = E120D8100419848000050002;
+			E120D8110419848000050002 = E120D8110419848000050002;
+			E120D8120419848000050002 = E120D8120419848000050002;
+			E120D8130419848000050002 = E120D8130419848000050002;
+			E120D8140419848000050002 = E120D8140419848000050002;
+			E120D8150419848000050002 = E120D8150419848000050002;
+			E120D8160419848000050002 = E120D8160419848000050002;
+			E120D8170419848000050002 = E120D8170419848000050002;
+			E120D8180419848000050002 = E120D8180419848000050002;
+			E120D8190419848000050002 = E120D8190419848000050002;
 			E157EE6C03F059E300050002 = E157EE6C03F059E300050002;
 			E157EE6D03F059E300050002 = E157EE6D03F059E300050002;
 			E157EE6E03F059E300050002 = E157EE6E03F059E300050002;
 			E157EE6F03F059E300050002 = E157EE6F03F059E300050002;
-			E15FA25E03F6528F00050002 = E15FA25E03F6528F00050002;
-			E15FA26003F6528F00050002 = E15FA26003F6528F00050002;
 			E15FA26603F6528F00050002 = E15FA26603F6528F00050002;
 			E15FA26703F6528F00050002 = E15FA26703F6528F00050002;
@@ -1072,4 +1339,7 @@
 			E15FA26D03F6528F00050002 = E15FA26D03F6528F00050002;
 			E15FA26E03F6528F00050002 = E15FA26E03F6528F00050002;
+			E1669BDA04133AFF00050002 = E1669BDA04133AFF00050002;
+			E1669BDC04133AFF00050002 = E1669BDC04133AFF00050002;
+			E1669BDD04133AFF00050002 = E1669BDD04133AFF00050002;
 			E166E9AA03F2F8F100050002 = E166E9AA03F2F8F100050002;
 			E166E9AE03F2F8F100050002 = E166E9AE03F2F8F100050002;
@@ -1085,16 +1355,10 @@
 			E166ECE003F41C6200050002 = E166ECE003F41C6200050002;
 			E166ECE103F41C6200050002 = E166ECE103F41C6200050002;
-			E16C833B03F759D800050002 = E16C833B03F759D800050002;
 			E16C833C03F759D800050002 = E16C833C03F759D800050002;
 			E16C833D03F759D800050002 = E16C833D03F759D800050002;
-			E16C833E03F759D800050002 = E16C833E03F759D800050002;
-			E16C833F03F759D800050002 = E16C833F03F759D800050002;
 			E16C834003F759D800050002 = E16C834003F759D800050002;
 			E16C834103F759D800050002 = E16C834103F759D800050002;
 			E16C834203F759D800050002 = E16C834203F759D800050002;
 			E16C834303F759D800050002 = E16C834303F759D800050002;
-			E16C834403F759D800050002 = E16C834403F759D800050002;
-			E16C834503F759D800050002 = E16C834503F759D800050002;
-			E16C834603F759D800050002 = E16C834603F759D800050002;
 			E16C834703F759D800050002 = E16C834703F759D800050002;
 			E16C834803F759D800050002 = E16C834803F759D800050002;
@@ -1107,11 +1371,5 @@
 			E16C834F03F759D800050002 = E16C834F03F759D800050002;
 			E16C835003F759D800050002 = E16C835003F759D800050002;
-			E16C835103F759D800050002 = E16C835103F759D800050002;
-			E16C835203F759D800050002 = E16C835203F759D800050002;
-			E16C835303F759D800050002 = E16C835303F759D800050002;
-			E16C835403F759D800050002 = E16C835403F759D800050002;
 			E16C835503F759D800050002 = E16C835503F759D800050002;
-			E16C835603F759D800050002 = E16C835603F759D800050002;
-			E16C835703F759D800050002 = E16C835703F759D800050002;
 			E16C835803F759D800050002 = E16C835803F759D800050002;
 			E16C835903F759D800050002 = E16C835903F759D800050002;
@@ -1174,5 +1432,4 @@
 			E16C839203F759D800050002 = E16C839203F759D800050002;
 			E16C839303F759D800050002 = E16C839303F759D800050002;
-			E16C839403F759D800050002 = E16C839403F759D800050002;
 			E16C839503F759D800050002 = E16C839503F759D800050002;
 			E16C839603F759D800050002 = E16C839603F759D800050002;
@@ -1196,9 +1453,32 @@
 			E16C83A803F759D800050002 = E16C83A803F759D800050002;
 			E16C83A903F759D800050002 = E16C83A903F759D800050002;
-			E16C83AA03F759D800050002 = E16C83AA03F759D800050002;
-			E16C83AB03F759D800050002 = E16C83AB03F759D800050002;
-			E16C83AC03F759D800050002 = E16C83AC03F759D800050002;
-			E16C83AD03F759D800050002 = E16C83AD03F759D800050002;
-			E16C83AE03F759D800050002 = E16C83AE03F759D800050002;
+			E16C842603FB6A7200050002 = E16C842603FB6A7200050002;
+			E16C842703FB6A7200050002 = E16C842703FB6A7200050002;
+			E1937CF1040C300300050002 = E1937CF1040C300300050002;
+			E1937CF2040C300300050002 = E1937CF2040C300300050002;
+			E1ABE98F040D4E8F00050002 = E1ABE98F040D4E8F00050002;
+			E1ABE990040D4E8F00050002 = E1ABE990040D4E8F00050002;
+			E1ABE991040D4E8F00050002 = E1ABE991040D4E8F00050002;
+			E1ABE993040D4E8F00050002 = E1ABE993040D4E8F00050002;
+			E1ABE994040D4E8F00050002 = E1ABE994040D4E8F00050002;
+			E1ABE995040D4E8F00050002 = E1ABE995040D4E8F00050002;
+			E1ABE996040D4E8F00050002 = E1ABE996040D4E8F00050002;
+			E1ABE997040D4E8F00050002 = E1ABE997040D4E8F00050002;
+			E1ABE998040D4E8F00050002 = E1ABE998040D4E8F00050002;
+			E1ABE999040D4E8F00050002 = E1ABE999040D4E8F00050002;
+			E1ABE99D040D623300050002 = E1ABE99D040D623300050002;
+			E1ABE99E040D623300050002 = E1ABE99E040D623300050002;
+			E1BFDA5C0418987900050002 = E1BFDA5C0418987900050002;
+			E1BFDA5D0418987900050002 = E1BFDA5D0418987900050002;
+			E1C59B0303FDE6DD00050002 = E1C59B0303FDE6DD00050002;
+			E1C59B0403FDE6DD00050002 = E1C59B0403FDE6DD00050002;
+			E1DEF0F703FE2F8D00050002 = E1DEF0F703FE2F8D00050002;
+			E1DEF10F03FF95C900050002 = E1DEF10F03FF95C900050002;
+			E1DEF11003FF95C900050002 = E1DEF11003FF95C900050002;
+			E1DEF11103FF95C900050002 = E1DEF11103FF95C900050002;
+			E1DEF11203FF95C900050002 = E1DEF11203FF95C900050002;
+			E1F6E3AF040BD0C700050002 = E1F6E3AF040BD0C700050002;
+			E1F6E3B0040BD0C700050002 = E1F6E3B0040BD0C700050002;
+			E1F6E3B1040BD0C700050002 = E1F6E3B1040BD0C700050002;
 		};
 		projectwideBuildSettings = {
@@ -1208,12 +1488,51 @@
 		wantsSCM = -1;
 	};
-	E11854FA03F27D4A00050002 = {
-		fRef = E169DBA103E4EF5E00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEETextEdit.c: 24";
-		rLen = 0;
-		rLoc = 708;
-		rType = 0;
-		vrLen = 1370;
+	E104851C040C1E3900050002 = {
+		activeArgIndex = 0;
+		activeArgIndices = (
+			YES,
+		);
+		argumentStrings = (
+			"-AppleLanguages '(ja, en)'",
+		);
+		configStateDict = {
+			"PBXLSLaunchAction-0" = {
+				PBXLSLaunchAction = 0;
+				PBXLSLaunchStartAction = 1;
+				PBXLSLaunchStdioStyle = 1;
+				PBXLSLaunchStyle = 0;
+				class = PBXLSRunLaunchConfig;
+				identifier = com.apple.ProjectBuilder.launch.runConfig;
+				remoteHostInfo = "";
+				startActionInfo = "";
+			};
+		};
+		debuggerPlugin = GDBDebugging;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		isa = PBXExecutable;
+		launchableReference = E104851D040C1E3900050002;
+		name = "テキストエディット";
+		shlibInfoDictList = (
+		);
+		sourceDirectories = (
+		);
+	};
+	E104851D040C1E3900050002 = {
+		isa = PBXApplicationReference;
+		name = TextEdit.app;
+		path = /Applications/TextEdit.app;
+		refType = 0;
+	};
+	E10E71FD040C3E3B00050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 2";
+		rLen = 0;
+		rLoc = 18;
+		rType = 0;
+		vrLen = 1461;
 		vrLoc = 0;
 	};
@@ -1339,14 +1658,4 @@
 		vrLoc = 510;
 	};
-	E118550F03F27D4A00050002 = {
-		fRef = E118554403F27D4A00050002;
-		isa = PBXTextBookmark;
-		name = "LaunchServices.h: 1";
-		rLen = 0;
-		rLoc = 0;
-		rType = 0;
-		vrLen = 1041;
-		vrLoc = 0;
-	};
 	E118551303F27D4A00050002 = {
 		fRef = F56276C20379923401AA4DA5;
@@ -1374,5 +1683,5 @@
 		name = "ICeCoffEETextEdit.c: 24";
 		rLen = 0;
-		rLoc = 708;
+		rLoc = 675;
 		rType = 0;
 		vrLen = 1370;
@@ -1394,5 +1703,5 @@
 		name = "ICeCoffEEActionMenu.c: ICCF_DoURLActionMenu";
 		rLen = 0;
-		rLoc = 8672;
+		rLoc = 8343;
 		rType = 0;
 		vrLen = 1734;
@@ -1414,5 +1723,5 @@
 		name = "ICeCoffEEActionMenu.c: ICCF_CompareURLsByItemTitle";
 		rLen = 0;
-		rLoc = 5736;
+		rLoc = 5869;
 		rType = 0;
 		vrLen = 1956;
@@ -1424,5 +1733,5 @@
 		name = "ICeCoffEEConfig.h: 15";
 		rLen = 0;
-		rLoc = 275;
+		rLoc = 304;
 		rType = 0;
 		vrLen = 1716;
@@ -1444,5 +1753,5 @@
 		name = "ICeCoffEEActionMenu.c: ICCF_AddAppItemTitle";
 		rLen = 0;
-		rLoc = 2806;
+		rLoc = 2939;
 		rType = 0;
 		vrLen = 1689;
@@ -1489,14 +1798,4 @@
 		vrLoc = 2026;
 	};
-	E118552103F27D4A00050002 = {
-		fRef = E118554A03F27D4A00050002;
-		isa = PBXTextBookmark;
-		name = "APETools.h: 59";
-		rLen = 0;
-		rLoc = 2551;
-		rType = 0;
-		vrLen = 2564;
-		vrLoc = 876;
-	};
 	E118552203F27D4A00050002 = {
 		fRef = E135625E03DC9FC200050002;
@@ -1524,5 +1823,5 @@
 		name = "APEMain.m: ICCF_ReloadPrefs";
 		rLen = 0;
-		rLoc = 11580;
+		rLoc = 11603;
 		rType = 0;
 		vrLen = 1497;
@@ -1739,10 +2038,4 @@
 		refType = 0;
 	};
-	E118554403F27D4A00050002 = {
-		isa = PBXFileReference;
-		name = LaunchServices.h;
-		path = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Headers/LaunchServices.h;
-		refType = 0;
-	};
 	E118554503F27D4A00050002 = {
 		isa = PBXFileReference;
@@ -1769,11 +2062,45 @@
 		refType = 0;
 	};
-	E118554A03F27D4A00050002 = {
-		isa = PBXFileReference;
-		name = APETools.h;
-		path = /Library/Frameworks/ApplicationEnhancer.framework/Versions/A/Headers/APETools.h;
-		refType = 0;
-	};
-	E120347B03EDEBC100000ABE = {
+	E120348303EDEBC100000ABE = {
+		fRef = E182C8F603DE817F00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEShared.m: __VERSION__";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1401;
+		vrLoc = 0;
+	};
+	E120348403EDEBC100000ABE = {
+		fRef = E1BF15BD03DBBD3E00050002;
+		isa = PBXTextBookmark;
+		name = "package-ICeCoffEE.sh: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1161;
+		vrLoc = 0;
+	};
+	E120348503EDEBC100000ABE = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 5";
+		rLen = 0;
+		rLoc = 155;
+		rType = 0;
+		vrLen = 230;
+		vrLoc = 0;
+	};
+	E120348603EDEBC100000ABE = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEInfo.rtfd: 23";
+		rLen = 0;
+		rLoc = 827;
+		rType = 0;
+		vrLen = 907;
+		vrLoc = 0;
+	};
+	E120348703EDEBC100000ABE = {
 		fRef = E1BF166A03DBE27000050002;
 		isa = PBXTextBookmark;
@@ -1785,5 +2112,55 @@
 		vrLoc = 0;
 	};
-	E120348003EDEBC100000ABE = {
+	E120348803EDEBC100000ABE = {
+		fRef = E169DBA103E4EF5E00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETextEdit.c: __VERSION__";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1370;
+		vrLoc = 0;
+	};
+	E120348903EDEBC100000ABE = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: mousePoint";
+		rLen = 0;
+		rLoc = 10057;
+		rType = 0;
+		vrLen = 1513;
+		vrLoc = 6908;
+	};
+	E120348A03EDEBC100000ABE = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 5";
+		rLen = 0;
+		rLoc = 155;
+		rType = 0;
+		vrLen = 230;
+		vrLoc = 0;
+	};
+	E120348B03EDEBC100000ABE = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 33";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 878;
+		vrLoc = 0;
+	};
+	E120348C03EDEBC100000ABE = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: ICCF_DoURLActionMenu";
+		rLen = 0;
+		rLoc = 10057;
+		rType = 0;
+		vrLen = 1275;
+		vrLoc = 8163;
+	};
+	E120348D03EDEBC100000ABE = {
 		fRef = E13762D203EC636D00050002;
 		isa = PBXTextBookmark;
@@ -1795,113 +2172,1129 @@
 		vrLoc = 5828;
 	};
-	E120348303EDEBC100000ABE = {
-		fRef = E182C8F603DE817F00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEShared.m: __VERSION__";
+	E120D6A70419601400050002 = {
+		fRef = E1F6E3AC040BCC5700050002;
+		isa = PBXTextBookmark;
+		name = "Japanese: 99";
+		rLen = 0;
+		rLoc = 2721;
+		rType = 0;
+		vrLen = 1065;
+		vrLoc = 1735;
+	};
+	E120D6A90419601400050002 = {
+		fRef = E1F6E3AC040BCC5700050002;
+		isa = PBXTextBookmark;
+		name = "Japanese: 99";
+		rLen = 0;
+		rLoc = 2721;
+		rType = 0;
+		vrLen = 1065;
+		vrLoc = 1735;
+	};
+	E120D6AA0419601400050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 74";
+		rLen = 0;
+		rLoc = 3276;
+		rType = 0;
+		vrLen = 1772;
+		vrLoc = 0;
+	};
+	E120D7B00419702800050002 = {
+		fileReference = E14343B403DB4CF200050002;
+		isa = PBXFileBreakpoint;
+		lineNumber = 467;
+		state = 1;
+	};
+	E120D7B20419848000050002 = {
+		fRef = E120D81C0419848000050002;
+		isa = PBXTextBookmark;
+		name = "InternetConfig.h: 1379";
+		rLen = 273;
+		rLoc = 46035;
+		rType = 0;
+		vrLen = 1573;
+		vrLoc = 44849;
+	};
+	E120D7B30419848000050002 = {
+		fRef = E120D81A0419848000050002;
+		isa = PBXTextBookmark;
+		name = "LaunchServices.h: 152";
+		rLen = 19;
+		rLoc = 6231;
+		rType = 0;
+		vrLen = 2209;
+		vrLoc = 4831;
+	};
+	E120D7B40419848000050002 = {
+		fRef = E1BF166A03DBE27000050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEWebKit.m: mouseUp:";
+		rLen = 0;
+		rLoc = 4135;
+		rType = 0;
+		vrLen = 1987;
+		vrLoc = 3021;
+	};
+	E120D7B50419848000050002 = {
+		fRef = E13762D103EC636D00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEBookmarks.h: 13";
+		rLen = 52;
+		rLoc = 261;
+		rType = 0;
+		vrLen = 313;
+		vrLoc = 0;
+	};
+	E120D7B60419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.h: 24";
+		rLen = 0;
+		rLoc = 533;
+		rType = 0;
+		vrLen = 536;
+		vrLoc = 0;
+	};
+	E120D7B70419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 59";
+		rLen = 31;
+		rLoc = 1932;
+		rType = 0;
+		vrLen = 1672;
+		vrLoc = 291;
+	};
+	E120D7B80419848000050002 = {
+		fRef = F9A6986E03BE1DF000AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEMain.m: APEBundleMain";
+		rLen = 0;
+		rLoc = 6165;
+		rType = 0;
+		vrLen = 2182;
+		vrLoc = 4486;
+	};
+	E120D7B90419848000050002 = {
+		fRef = E135625E03DC9FC200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEShared.h: ICCF_WEBKIT";
+		rLen = 0;
+		rLoc = 297;
+		rType = 0;
+		vrLen = 1308;
+		vrLoc = 0;
+	};
+	E120D7BA0419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.c: lsSpec";
+		rLen = 0;
+		rLoc = 10724;
+		rType = 0;
+		vrLen = 1710;
+		vrLoc = 9859;
+	};
+	E120D7BB0419848000050002 = {
+		fRef = E120D81B0419848000050002;
+		isa = PBXTextBookmark;
+		name = "NSEvent.h: 81";
+		rLen = 13;
+		rLoc = 2409;
+		rType = 0;
+		vrLen = 1424;
+		vrLoc = 2875;
+	};
+	E120D7BC0419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_KeyboardAction";
+		rLen = 0;
+		rLoc = 1152;
+		rType = 0;
+		vrLen = 1761;
+		vrLoc = 0;
+	};
+	E120D7BD0419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: mouseDown:";
+		rLen = 0;
+		rLoc = 18064;
+		rType = 0;
+		vrLen = 1490;
+		vrLoc = 17658;
+	};
+	E120D7BE0419848000050002 = {
+		fRef = E1317B2F03DFC4DE00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETerminal.m: rangeWithTerminal:pt0:pt1:";
+		rLen = 0;
+		rLoc = 13717;
+		rType = 0;
+		vrLen = 1580;
+		vrLoc = 13504;
+	};
+	E120D7BF0419848000050002 = {
+		fRef = E169DBA103E4EF5E00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETextEdit.c: ICCF_LaunchURLFromTEClick";
+		rLen = 0;
+		rLoc = 2774;
+		rType = 0;
+		vrLen = 1569;
+		vrLoc = 7157;
+	};
+	E120D7C00419848000050002 = {
+		fRef = E140C475040BB997009FF178;
+		isa = PBXTextBookmark;
+		name = "Japanese: 48";
+		rLen = 0;
+		rLoc = 2166;
+		rType = 0;
+		vrLen = 1238;
+		vrLoc = 23662;
+	};
+	E120D7C10419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 36";
+		rLen = 0;
+		rLoc = 1894;
+		rType = 0;
+		vrLen = 1776;
+		vrLoc = 919;
+	};
+	E120D7C20419848000050002 = {
+		fRef = E1BF15BF03DBBE8900050002;
+		isa = PBXTextBookmark;
+		name = "VERSION: 1";
+		rLen = 0;
+		rLoc = 7;
+		rType = 0;
+		vrLen = 8;
+		vrLoc = 0;
+	};
+	E120D7C30419848000050002 = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 5";
+		rLen = 0;
+		rLoc = 155;
+		rType = 0;
+		vrLen = 238;
+		vrLoc = 0;
+	};
+	E120D7C40419848000050002 = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 96";
+		rLen = 0;
+		rLoc = 3113;
+		rType = 0;
+		vrLen = 1386;
+		vrLoc = 0;
+	};
+	E120D7C50419848000050002 = {
+		isa = PBXTargetBookmark;
+		trg = F5CD5E9D02DAE2C901AA4DA5;
+		uiCtxt = {
+			TOCViewDetailVisibleRect = "{{0, 0}, {433, 614}}";
+			TOCViewExpandedItems = (
+				"com.apple.target-editor-pane.settings",
+				"com.apple.target-editor-pane.settings.simple",
+				"com.apple.target-editor-pane.info-plist",
+				"com.apple.target-editor-pane.info-plist.simple",
+				"com.apple.target-editor-pane.buildphases",
+			);
+			TOCViewMasterVisibleRect = "{{0, 0}, {170, 614}}";
+			TOCViewSelectedItems = (
+				"com.apple.target-editor-pane.info-plist.simple",
+			);
+		};
+	};
+	E120D7C60419848000050002 = {
+		fRef = E1BF15A403DBAA5600050002;
+		isa = PBXTextBookmark;
+		name = "Preinstall.sh: 1";
 		rLen = 0;
 		rLoc = 0;
 		rType = 0;
-		vrLen = 1401;
-		vrLoc = 0;
-	};
-	E120348403EDEBC100000ABE = {
-		fRef = E1BF15BD03DBBD3E00050002;
-		isa = PBXTextBookmark;
-		name = "package-ICeCoffEE.sh: 1";
+		vrLen = 66;
+		vrLoc = 0;
+	};
+	E120D7C70419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: 235";
+		rLen = 14;
+		rLoc = 8128;
+		rType = 0;
+		vrLen = 1346;
+		vrLoc = 7580;
+	};
+	E120D7C80419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 59";
+		rLen = 0;
+		rLoc = 1644;
+		rType = 0;
+		vrLen = 1722;
+		vrLoc = 456;
+	};
+	E120D7C90419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 236";
+		rLen = 0;
+		rLoc = 9571;
+		rType = 0;
+		vrLen = 2000;
+		vrLoc = 5764;
+	};
+	E120D7CA0419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 59";
+		rLen = 0;
+		rLoc = 1644;
+		rType = 0;
+		vrLen = 1741;
+		vrLoc = 456;
+	};
+	E120D7CB0419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 1";
 		rLen = 0;
 		rLoc = 0;
 		rType = 0;
-		vrLen = 1161;
-		vrLoc = 0;
-	};
-	E120348503EDEBC100000ABE = {
+		vrLen = 319;
+		vrLoc = 0;
+	};
+	E120D7CC0419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 45";
+		rLen = 0;
+		rLoc = 970;
+		rType = 0;
+		vrLen = 1741;
+		vrLoc = 456;
+	};
+	E120D7CD0419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: 271";
+		rLen = 0;
+		rLoc = 9222;
+		rType = 0;
+		vrLen = 1378;
+		vrLoc = 8100;
+	};
+	E120D7CE0419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 236";
+		rLen = 0;
+		rLoc = 9571;
+		rType = 0;
+		vrLen = 2062;
+		vrLoc = 5702;
+	};
+	E120D7CF0419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 42";
+		rLen = 0;
+		rLoc = 970;
+		rType = 0;
+		vrLen = 1826;
+		vrLoc = 313;
+	};
+	E120D7D00419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 0;
+		rLoc = 387;
+		rType = 0;
+		vrLen = 428;
+		vrLoc = 0;
+	};
+	E120D7D10419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 53";
+		rLen = 0;
+		rLoc = 1644;
+		rType = 0;
+		vrLen = 1672;
+		vrLoc = 262;
+	};
+	E120D7D20419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 0;
+		rLoc = 536;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7D30419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 236";
+		rLen = 0;
+		rLoc = 9571;
+		rType = 0;
+		vrLen = 2061;
+		vrLoc = 5702;
+	};
+	E120D7D40419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 141;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7D50419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 168";
+		rLen = 0;
+		rLoc = 6404;
+		rType = 0;
+		vrLen = 1787;
+		vrLoc = 4626;
+	};
+	E120D7D60419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 141;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7D70419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 168";
+		rLen = 0;
+		rLoc = 6404;
+		rType = 0;
+		vrLen = 1766;
+		vrLoc = 5696;
+	};
+	E120D7D80419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 141;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7D90419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 181";
+		rLen = 0;
+		rLoc = 6405;
+		rType = 0;
+		vrLen = 1734;
+		vrLoc = 5426;
+	};
+	E120D7DA0419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 141;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7DB0419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 172";
+		rLen = 0;
+		rLoc = 6404;
+		rType = 0;
+		vrLen = 1591;
+		vrLoc = 5979;
+	};
+	E120D7DC0419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 121";
+		rLen = 0;
+		rLoc = 7711;
+		rType = 0;
+		vrLen = 1987;
+		vrLoc = 6486;
+	};
+	E120D7DD0419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 168";
+		rLen = 0;
+		rLoc = 6404;
+		rType = 0;
+		vrLen = 1769;
+		vrLoc = 5426;
+	};
+	E120D7DE0419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 141;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7DF0419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 170";
+		rLen = 0;
+		rLoc = 6404;
+		rType = 0;
+		vrLen = 1751;
+		vrLoc = 5771;
+	};
+	E120D7E00419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 19";
+		rLen = 141;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 450;
+		vrLoc = 0;
+	};
+	E120D7E10419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 170";
+		rLen = 0;
+		rLoc = 6404;
+		rType = 0;
+		vrLen = 1549;
+		vrLoc = 6505;
+	};
+	E120D7E20419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 15";
+		rLen = 0;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 448;
+		vrLoc = 0;
+	};
+	E120D7E30419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 288";
+		rLen = 20;
+		rLoc = 11863;
+		rType = 0;
+		vrLen = 1364;
+		vrLoc = 11304;
+	};
+	E120D7E40419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: 273";
+		rLen = 0;
+		rLoc = 9439;
+		rType = 0;
+		vrLen = 1388;
+		vrLoc = 7627;
+	};
+	E120D7E50419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_LaunchURL";
+		rLen = 61;
+		rLoc = 1699;
+		rType = 0;
+		vrLen = 1753;
+		vrLoc = 0;
+	};
+	E120D7E60419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.h: 12";
+		rLen = 0;
+		rLoc = 362;
+		rType = 0;
+		vrLen = 337;
+		vrLoc = 0;
+	};
+	E120D7E70419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 30";
+		rLen = 0;
+		rLoc = 716;
+		rType = 0;
+		vrLen = 1321;
+		vrLoc = 0;
+	};
+	E120D7E80419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.h: 2";
+		rLen = 0;
+		rLoc = 22;
+		rType = 0;
+		vrLen = 444;
+		vrLoc = 0;
+	};
+	E120D7E90419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.c: 2";
+		rLen = 0;
+		rLoc = 22;
+		rType = 0;
+		vrLen = 1768;
+		vrLoc = 0;
+	};
+	E120D7EA0419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 10";
+		rLen = 54;
+		rLoc = 164;
+		rType = 0;
+		vrLen = 1267;
+		vrLoc = 0;
+	};
+	E120D7EB0419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.h: 11";
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 499;
+		vrLoc = 0;
+	};
+	E120D7EC0419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 59";
+		rLen = 31;
+		rLoc = 1932;
+		rType = 0;
+		vrLen = 1672;
+		vrLoc = 291;
+	};
+	E120D7ED0419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.h: 24";
+		rLen = 0;
+		rLoc = 533;
+		rType = 0;
+		vrLen = 532;
+		vrLoc = 0;
+	};
+	E120D7EE0419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: 24";
+		rLen = 0;
+		rLoc = 643;
+		rType = 0;
+		vrLen = 1454;
+		vrLoc = 0;
+	};
+	E120D7EF0419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_LaunchURL";
+		rLen = 61;
+		rLoc = 1699;
+		rType = 0;
+		vrLen = 1753;
+		vrLoc = 0;
+	};
+	E120D7F00419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.h: 24";
+		rLen = 0;
+		rLoc = 533;
+		rType = 0;
+		vrLen = 532;
+		vrLoc = 0;
+	};
+	E120D7F10419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_OptionKeyIsDown";
+		rLen = 0;
+		rLoc = 2084;
+		rType = 0;
+		vrLen = 1860;
+		vrLoc = 1421;
+	};
+	E120D7F20419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: 25";
+		rLen = 0;
+		rLoc = 1132;
+		rType = 0;
+		vrLen = 1761;
+		vrLoc = 0;
+	};
+	E120D7F30419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_OptionKeyIsDown";
+		rLen = 0;
+		rLoc = 2084;
+		rType = 0;
+		vrLen = 1920;
+		vrLoc = 1361;
+	};
+	E120D7F40419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_OptionKeyIsDown";
+		rLen = 37;
+		rLoc = 1133;
+		rType = 0;
+		vrLen = 1761;
+		vrLoc = 0;
+	};
+	E120D7F50419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_LaunchURLFromTextView";
+		rLen = 0;
+		rLoc = 13988;
+		rType = 0;
+		vrLen = 1964;
+		vrLoc = 12949;
+	};
+	E120D7F60419848000050002 = {
+		fRef = E1BF166A03DBE27000050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEWebKit.m: mouseUp:";
+		rLen = 0;
+		rLoc = 4135;
+		rType = 0;
+		vrLen = 1987;
+		vrLoc = 3021;
+	};
+	E120D7F70419848000050002 = {
+		fRef = E1317B2F03DFC4DE00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETerminal.m: ICCF_LaunchURLFromTerminal";
+		rLen = 0;
+		rLoc = 13039;
+		rType = 0;
+		vrLen = 1520;
+		vrLoc = 12283;
+	};
+	E120D7F80419848000050002 = {
+		fRef = E169DBA103E4EF5E00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETextEdit.c: ICCF_DoCommandClick";
+		rLen = 91;
+		rLoc = 7052;
+		rType = 0;
+		vrLen = 1987;
+		vrLoc = 6157;
+	};
+	E120D7F90419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.c: ICCF_DoURLAction";
+		rLen = 28;
+		rLoc = 12456;
+		rType = 0;
+		vrLen = 1408;
+		vrLoc = 11292;
+	};
+	E120D7FA0419848000050002 = {
+		fRef = E165AB3503E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.h: 24";
+		rLen = 0;
+		rLoc = 533;
+		rType = 0;
+		vrLen = 536;
+		vrLoc = 0;
+	};
+	E120D7FB0419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.c: ICCF_DoURLAction";
+		rLen = 0;
+		rLoc = 12574;
+		rType = 0;
+		vrLen = 1412;
+		vrLoc = 11292;
+	};
+	E120D7FC0419848000050002 = {
+		fRef = E169DBA703E4F6A400050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEConfig.h: 59";
+		rLen = 31;
+		rLoc = 1932;
+		rType = 0;
+		vrLen = 1672;
+		vrLoc = 291;
+	};
+	E120D7FD0419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_KeyboardAction";
+		rLen = 0;
+		rLoc = 1152;
+		rType = 0;
+		vrLen = 1761;
+		vrLoc = 0;
+	};
+	E120D7FE0419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_LaunchURLFromTextView";
+		rLen = 0;
+		rLoc = 13988;
+		rType = 0;
+		vrLen = 1964;
+		vrLoc = 12949;
+	};
+	E120D7FF0419848000050002 = {
+		fRef = F9A6986E03BE1DF000AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEMain.m: APEBundleMain";
+		rLen = 0;
+		rLoc = 5766;
+		rType = 0;
+		vrLen = 2172;
+		vrLoc = 4486;
+	};
+	E120D8000419848000050002 = {
+		fRef = E135625E03DC9FC200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEShared.h: 16";
+		rLen = 0;
+		rLoc = 305;
+		rType = 0;
+		vrLen = 1308;
+		vrLoc = 0;
+	};
+	E120D8010419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_KeyboardAction";
+		rLen = 0;
+		rLoc = 1152;
+		rType = 0;
+		vrLen = 1761;
+		vrLoc = 0;
+	};
+	E120D8020419848000050002 = {
+		fRef = E135625E03DC9FC200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEShared.h: 16";
+		rLen = 0;
+		rLoc = 297;
+		rType = 0;
+		vrLen = 1308;
+		vrLoc = 0;
+	};
+	E120D8030419848000050002 = {
+		fRef = F9A6986E03BE1DF000AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEMain.m: APEBundleMain";
+		rLen = 0;
+		rLoc = 6165;
+		rType = 0;
+		vrLen = 2182;
+		vrLoc = 4486;
+	};
+	E120D8040419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_EventIsCommandMouseDown";
+		rLen = 0;
+		rLoc = 1982;
+		rType = 0;
+		vrLen = 1835;
+		vrLoc = 1075;
+	};
+	E120D8050419848000050002 = {
+		fRef = E135625E03DC9FC200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEShared.h: ICCF_WEBKIT";
+		rLen = 0;
+		rLoc = 297;
+		rType = 0;
+		vrLen = 1308;
+		vrLoc = 0;
+	};
+	E120D8060419848000050002 = {
+		fRef = E14343B303DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.h: ICCF_KeyboardAction";
+		rLen = 0;
+		rLoc = 1152;
+		rType = 0;
+		vrLen = 1761;
+		vrLoc = 0;
+	};
+	E120D8070419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_EventIsCommandMouseDown";
+		rLen = 0;
+		rLoc = 2050;
+		rType = 0;
+		vrLen = 1889;
+		vrLoc = 1075;
+	};
+	E120D8080419848000050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEAction.c: lsSpec";
+		rLen = 0;
+		rLoc = 10724;
+		rType = 0;
+		vrLen = 1710;
+		vrLoc = 9859;
+	};
+	E120D8090419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 121";
+		rLen = 0;
+		rLoc = 7807;
+		rType = 0;
+		vrLen = 2063;
+		vrLoc = 6485;
+	};
+	E120D80A0419848000050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: mouseDown:";
+		rLen = 0;
+		rLoc = 18064;
+		rType = 0;
+		vrLen = 1490;
+		vrLoc = 17658;
+	};
+	E120D80B0419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 121";
+		rLen = 0;
+		rLoc = 7737;
+		rType = 0;
+		vrLen = 2006;
+		vrLoc = 7123;
+	};
+	E120D80C0419848000050002 = {
+		fRef = E1317B2F03DFC4DE00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETerminal.m: rangeWithTerminal:pt0:pt1:";
+		rLen = 0;
+		rLoc = 13717;
+		rType = 0;
+		vrLen = 1580;
+		vrLoc = 13504;
+	};
+	E120D80D0419848000050002 = {
+		fRef = E169DBA103E4EF5E00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEETextEdit.c: ICCF_LaunchURLFromTEClick";
+		rLen = 0;
+		rLoc = 2774;
+		rType = 0;
+		vrLen = 1569;
+		vrLoc = 7157;
+	};
+	E120D80E0419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 121";
+		rLen = 0;
+		rLoc = 7715;
+		rType = 0;
+		vrLen = 1948;
+		vrLoc = 7123;
+	};
+	E120D80F0419848000050002 = {
+		fRef = E140C475040BB997009FF178;
+		isa = PBXTextBookmark;
+		name = "Japanese: 48";
+		rLen = 0;
+		rLoc = 2166;
+		rType = 0;
+		vrLen = 1238;
+		vrLoc = 23662;
+	};
+	E120D8100419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 128";
+		rLen = 0;
+		rLoc = 8033;
+		rType = 0;
+		vrLen = 1989;
+		vrLoc = 6488;
+	};
+	E120D8110419848000050002 = {
+		isa = PBXTargetBookmark;
+		trg = F5CD5E9D02DAE2C901AA4DA5;
+		uiCtxt = {
+			TOCViewDetailVisibleRect = "{{0, 0}, {433, 233}}";
+			TOCViewExpandedItems = (
+				"com.apple.target-editor-pane.settings",
+				"com.apple.target-editor-pane.settings.simple",
+				"com.apple.target-editor-pane.info-plist",
+				"com.apple.target-editor-pane.info-plist.simple",
+				"com.apple.target-editor-pane.buildphases",
+			);
+			TOCViewMasterVisibleRect = "{{0, 0}, {170, 614}}";
+			TOCViewSelectedItems = (
+				PBXTargetSummarySettingsModule,
+			);
+		};
+	};
+	E120D8120419848000050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 36";
+		rLen = 0;
+		rLoc = 1894;
+		rType = 0;
+		vrLen = 1776;
+		vrLoc = 919;
+	};
+	E120D8130419848000050002 = {
+		isa = PBXTargetBookmark;
+		trg = F5CD5E9D02DAE2C901AA4DA5;
+		uiCtxt = {
+			TOCViewDetailVisibleRect = "{{0, 0}, {433, 233}}";
+			TOCViewExpandedItems = (
+				"com.apple.target-editor-pane.settings",
+				"com.apple.target-editor-pane.settings.simple",
+				"com.apple.target-editor-pane.info-plist",
+				"com.apple.target-editor-pane.info-plist.simple",
+				"com.apple.target-editor-pane.buildphases",
+			);
+			TOCViewMasterVisibleRect = "{{0, 0}, {170, 614}}";
+			TOCViewSelectedItems = (
+				PBXTargetSummarySettingsModule,
+			);
+		};
+	};
+	E120D8140419848000050002 = {
+		fRef = E1BF15BF03DBBE8900050002;
+		isa = PBXTextBookmark;
+		name = "VERSION: 1";
+		rLen = 0;
+		rLoc = 7;
+		rType = 0;
+		vrLen = 8;
+		vrLoc = 0;
+	};
+	E120D8150419848000050002 = {
 		fRef = 089C165DFE840E0CC02AAC07;
 		isa = PBXTextBookmark;
 		name = "English: 5";
 		rLen = 0;
-		rLoc = 151;
-		rType = 0;
-		vrLen = 230;
-		vrLoc = 0;
-	};
-	E120348603EDEBC100000ABE = {
-		fRef = F56276C20379923401AA4DA5;
-		isa = PBXTextBookmark;
-		name = "APEInfo.rtfd: 23";
-		rLen = 0;
-		rLoc = 827;
-		rType = 0;
-		vrLen = 907;
-		vrLoc = 0;
-	};
-	E120348703EDEBC100000ABE = {
-		fRef = E1BF166A03DBE27000050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEWebKit.m: __VERSION__";
+		rLoc = 155;
+		rType = 0;
+		vrLen = 238;
+		vrLoc = 0;
+	};
+	E120D8160419848000050002 = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 96";
+		rLen = 0;
+		rLoc = 3113;
+		rType = 0;
+		vrLen = 1386;
+		vrLoc = 0;
+	};
+	E120D8170419848000050002 = {
+		isa = PBXTargetBookmark;
+		trg = F5CD5E9D02DAE2C901AA4DA5;
+		uiCtxt = {
+			TOCViewDetailVisibleRect = "{{0, 0}, {433, 614}}";
+			TOCViewExpandedItems = (
+				"com.apple.target-editor-pane.settings",
+				"com.apple.target-editor-pane.settings.simple",
+				"com.apple.target-editor-pane.info-plist",
+				"com.apple.target-editor-pane.info-plist.simple",
+				"com.apple.target-editor-pane.buildphases",
+			);
+			TOCViewMasterVisibleRect = "{{0, 0}, {170, 614}}";
+			TOCViewSelectedItems = (
+				"com.apple.target-editor-pane.info-plist.simple",
+			);
+		};
+	};
+	E120D8180419848000050002 = {
+		fRef = E1BF15A403DBAA5600050002;
+		isa = PBXTextBookmark;
+		name = "Preinstall.sh: 1";
 		rLen = 0;
 		rLoc = 0;
 		rType = 0;
-		vrLen = 797;
-		vrLoc = 0;
-	};
-	E120348803EDEBC100000ABE = {
-		fRef = E169DBA103E4EF5E00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEETextEdit.c: __VERSION__";
-		rLen = 0;
-		rLoc = 0;
-		rType = 0;
-		vrLen = 1370;
-		vrLoc = 0;
-	};
-	E120348903EDEBC100000ABE = {
-		fRef = E165AB3603E7A7FC00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEActionMenu.c: mousePoint";
-		rLen = 0;
-		rLoc = 10386;
-		rType = 0;
-		vrLen = 1513;
-		vrLoc = 6908;
-	};
-	E120348A03EDEBC100000ABE = {
-		fRef = 089C165DFE840E0CC02AAC07;
-		isa = PBXTextBookmark;
-		name = "English: 5";
-		rLen = 0;
-		rLoc = 151;
-		rType = 0;
-		vrLen = 230;
-		vrLoc = 0;
-	};
-	E120348B03EDEBC100000ABE = {
-		fRef = E1CBC99803E7602700050002;
-		isa = PBXTextBookmark;
-		name = "English: 33";
-		rLen = 0;
-		rLoc = 744;
-		rType = 0;
-		vrLen = 878;
-		vrLoc = 0;
-	};
-	E120348C03EDEBC100000ABE = {
-		fRef = E165AB3603E7A7FC00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEActionMenu.c: ICCF_DoURLActionMenu";
-		rLen = 0;
-		rLoc = 10386;
-		rType = 0;
-		vrLen = 1275;
-		vrLoc = 8163;
-	};
-	E120348D03EDEBC100000ABE = {
-		fRef = E13762D203EC636D00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEBookmarks.c: ICCF_DoBookmarkDialog";
-		rLen = 70;
-		rLoc = 6647;
-		rType = 0;
-		vrLen = 1743;
-		vrLoc = 5828;
+		vrLen = 66;
+		vrLoc = 0;
+	};
+	E120D8190419848000050002 = {
+		fRef = E1BF15A503DBAA5600050002;
+		isa = PBXTextBookmark;
+		name = "ui.plist: 22";
+		rLen = 0;
+		rLoc = 635;
+		rType = 0;
+		vrLen = 1318;
+		vrLoc = 0;
+	};
+	E120D81A0419848000050002 = {
+		isa = PBXFileReference;
+		name = LaunchServices.h;
+		path = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Headers/LaunchServices.h;
+		refType = 0;
+	};
+	E120D81B0419848000050002 = {
+		isa = PBXFileReference;
+		name = NSEvent.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSEvent.h;
+		refType = 0;
+	};
+	E120D81C0419848000050002 = {
+		isa = PBXFileReference;
+		name = InternetConfig.h;
+		path = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Headers/InternetConfig.h;
+		refType = 0;
 	};
 	E1317A3503DF242100050002 = {
@@ -2026,5 +3419,5 @@
 		name = "ICeCoffEETerminal.m: mouseUp:";
 		rLen = 0;
-		rLoc = 14077;
+		rLoc = 14076;
 		rType = 0;
 		vrLen = 70;
@@ -2062,5 +3455,5 @@
 		name = "ICeCoffEEShared.h: ICCF_DEBUG";
 		rLen = 0;
-		rLoc = 283;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 1001;
@@ -2087,17 +3480,32 @@
 		vrLoc = 0;
 	};
-	E15FA25E03F6528F00050002 = {
-		fRef = E1317B2F03DFC4DE00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEETerminal.m: ICCF_LaunchURLFromTerminal";
-		rLen = 0;
-		rLoc = 13616;
-		rType = 0;
-		vrLen = 1355;
-		vrLoc = 1868;
-	};
-	E15FA26003F6528F00050002 = {
-		isa = PBXTargetBookmark;
-		trg = F5CD5E9D02DAE2C901AA4DA5;
+	E15E6A7404188D6900050002 = {
+		activeArgIndex = 0;
+		activeArgIndices = (
+			YES,
+		);
+		argumentStrings = (
+			"-AppleLanguages '(ja, en)'",
+		);
+		configStateDict = {
+		};
+		debuggerPlugin = GDBDebugging;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		isa = PBXExecutable;
+		launchableReference = E15E6A7504188D6900050002;
+		name = "システム環境設定";
+		shlibInfoDictList = (
+		);
+		sourceDirectories = (
+		);
+	};
+	E15E6A7504188D6900050002 = {
+		isa = PBXApplicationReference;
+		name = "System Preferences.app";
+		path = "/Applications/System Preferences.app";
+		refType = 0;
 	};
 	E15FA26603F6528F00050002 = {
@@ -2106,5 +3514,5 @@
 		name = "ICeCoffEETerminal.m: ICCF_LaunchURLFromTerminal";
 		rLen = 0;
-		rLoc = 13616;
+		rLoc = 13615;
 		rType = 0;
 		vrLen = 1355;
@@ -2130,5 +3538,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -2140,5 +3548,5 @@
 		name = "English: 5";
 		rLen = 0;
-		rLoc = 151;
+		rLoc = 155;
 		rType = 0;
 		vrLen = 234;
@@ -2160,5 +3568,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -2180,5 +3588,5 @@
 		name = "ICeCoffEEShared.h: ICCF_DEBUG";
 		rLen = 0;
-		rLoc = 283;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 1334;
@@ -2190,5 +3598,5 @@
 		name = "ICeCoffEEAppMenu.c: 44";
 		rLen = 0;
-		rLoc = 9380;
+		rLoc = 9051;
 		rType = 0;
 		vrLen = 1734;
@@ -2222,4 +3630,34 @@
 		refType = 0;
 	};
+	E1669BDA04133AFF00050002 = {
+		fRef = E1BF15BD03DBBD3E00050002;
+		isa = PBXTextBookmark;
+		name = "package-ICeCoffEE.sh: 35";
+		rLen = 0;
+		rLoc = 1159;
+		rType = 0;
+		vrLen = 1161;
+		vrLoc = 0;
+	};
+	E1669BDC04133AFF00050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "English: 133";
+		rLen = 0;
+		rLoc = 8437;
+		rType = 0;
+		vrLen = 1849;
+		vrLoc = 7010;
+	};
+	E1669BDD04133AFF00050002 = {
+		fRef = E1BF15BD03DBBD3E00050002;
+		isa = PBXTextBookmark;
+		name = "package-ICeCoffEE.sh: 35";
+		rLen = 0;
+		rLoc = 1159;
+		rType = 0;
+		vrLen = 1161;
+		vrLoc = 0;
+	};
 	E166E9AA03F2F8F100050002 = {
 		fRef = E1BB268F03DB74B700050002;
@@ -2288,5 +3726,5 @@
 		name = "ui.plist: 45";
 		rLen = 0;
-		rLoc = 1298;
+		rLoc = 1300;
 		rType = 0;
 		vrLen = 1325;
@@ -2298,5 +3736,5 @@
 		name = "English: 6";
 		rLen = 0;
-		rLoc = 234;
+		rLoc = 238;
 		rType = 0;
 		vrLen = 234;
@@ -2318,5 +3756,5 @@
 		name = "APEMain.m: excludedAppIndex";
 		rLen = 0;
-		rLoc = 8774;
+		rLoc = 8797;
 		rType = 0;
 		vrLen = 1840;
@@ -2366,18 +3804,8 @@
 		name = "ICeCoffEETextEdit.c: MyTEClick";
 		rLen = 56;
-		rLoc = 1316;
+		rLoc = 1292;
 		rType = 0;
 		vrLen = 1606;
 		vrLoc = 0;
-	};
-	E16C833B03F759D800050002 = {
-		fRef = E1CBC99803E7602700050002;
-		isa = PBXTextBookmark;
-		name = "English: 105";
-		rLen = 0;
-		rLoc = 3439;
-		rType = 0;
-		vrLen = 1481;
-		vrLoc = 1958;
 	};
 	E16C833C03F759D800050002 = {
@@ -2388,24 +3816,4 @@
 		isa = PBXTargetBookmark;
 		trg = F57E31A00379599E01AA4DA5;
-	};
-	E16C833E03F759D800050002 = {
-		fRef = E16C83B003F759D800050002;
-		isa = PBXTextBookmark;
-		name = "APETools.h: 62";
-		rLen = 82;
-		rLoc = 2811;
-		rType = 0;
-		vrLen = 2087;
-		vrLoc = 226;
-	};
-	E16C833F03F759D800050002 = {
-		fRef = E165AB3603E7A7FC00050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEActionMenu.c: ICCF_AddAppItemTitle";
-		rLen = 19;
-		rLoc = 3237;
-		rType = 0;
-		vrLen = 1796;
-		vrLoc = 2836;
 	};
 	E16C834003F759D800050002 = {
@@ -2446,34 +3854,4 @@
 		vrLoc = 1337;
 	};
-	E16C834403F759D800050002 = {
-		fRef = E16C83B403F759D800050002;
-		isa = PBXTextBookmark;
-		name = "ApplicationEnhancer.h: 15";
-		rLen = 20;
-		rLoc = 325;
-		rType = 0;
-		vrLen = 1356;
-		vrLoc = 0;
-	};
-	E16C834503F759D800050002 = {
-		fRef = E169DBA703E4F6A400050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEConfig.h: 15";
-		rLen = 0;
-		rLoc = 275;
-		rType = 0;
-		vrLen = 1716;
-		vrLoc = 218;
-	};
-	E16C834603F759D800050002 = {
-		fRef = E14343B403DB4CF200050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEE.m: __PTRDIFF_TYPE__";
-		rLen = 0;
-		rLoc = 197;
-		rType = 0;
-		vrLen = 1599;
-		vrLoc = 0;
-	};
 	E16C834703F759D800050002 = {
 		fRef = E16C83B503F759D800050002;
@@ -2573,45 +3951,5 @@
 		rLoc = 705;
 		rType = 0;
-		vrLen = 1588;
-		vrLoc = 0;
-	};
-	E16C835103F759D800050002 = {
-		fRef = 089C165DFE840E0CC02AAC07;
-		isa = PBXTextBookmark;
-		name = "English: 5";
-		rLen = 0;
-		rLoc = 151;
-		rType = 0;
-		vrLen = 234;
-		vrLoc = 0;
-	};
-	E16C835203F759D800050002 = {
-		fRef = E1BF15BD03DBBD3E00050002;
-		isa = PBXTextBookmark;
-		name = "package-ICeCoffEE.sh: 1";
-		rLen = 0;
-		rLoc = 0;
-		rType = 0;
-		vrLen = 1161;
-		vrLoc = 0;
-	};
-	E16C835303F759D800050002 = {
-		fRef = F9A6986E03BE1DF000AA4DA5;
-		isa = PBXTextBookmark;
-		name = "APEMain.m: icVersionRef";
-		rLen = 0;
-		rLoc = 2366;
-		rType = 0;
-		vrLen = 1887;
-		vrLoc = 1341;
-	};
-	E16C835403F759D800050002 = {
-		fRef = E1BF15BF03DBBE8900050002;
-		isa = PBXTextBookmark;
-		name = "VERSION: 1";
-		rLen = 0;
-		rLoc = 5;
-		rType = 0;
-		vrLen = 6;
+		vrLen = 1587;
 		vrLoc = 0;
 	};
@@ -2624,24 +3962,4 @@
 		rType = 0;
 		vrLen = 1325;
-		vrLoc = 0;
-	};
-	E16C835603F759D800050002 = {
-		fRef = E135625E03DC9FC200050002;
-		isa = PBXTextBookmark;
-		name = "ICeCoffEEShared.h: ICCF_DEBUG";
-		rLen = 0;
-		rLoc = 283;
-		rType = 0;
-		vrLen = 1362;
-		vrLoc = 0;
-	};
-	E16C835703F759D800050002 = {
-		fRef = F56276C20379923401AA4DA5;
-		isa = PBXTextBookmark;
-		name = "APEInfo.rtfd: 123";
-		rLen = 0;
-		rLoc = 8022;
-		rType = 0;
-		vrLen = 1463;
 		vrLoc = 0;
 	};
@@ -2665,5 +3983,5 @@
 		name = "English: 5";
 		rLen = 0;
-		rLoc = 151;
+		rLoc = 155;
 		rType = 0;
 		vrLen = 234;
@@ -2675,5 +3993,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -2685,7 +4003,7 @@
 		name = "English: 105";
 		rLen = 0;
-		rLoc = 3439;
-		rType = 0;
-		vrLen = 1481;
+		rLoc = 3435;
+		rType = 0;
+		vrLen = 1477;
 		vrLoc = 1958;
 	};
@@ -2695,5 +4013,5 @@
 		name = "English: 5";
 		rLen = 0;
-		rLoc = 151;
+		rLoc = 155;
 		rType = 0;
 		vrLen = 234;
@@ -2705,7 +4023,7 @@
 		name = "English: 105";
 		rLen = 0;
-		rLoc = 3439;
-		rType = 0;
-		vrLen = 1481;
+		rLoc = 3435;
+		rType = 0;
+		vrLen = 1477;
 		vrLoc = 1958;
 	};
@@ -2719,5 +4037,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -2879,5 +4197,5 @@
 		name = "ICeCoffEEShared.h: ICCF_DEBUG";
 		rLen = 0;
-		rLoc = 283;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 1334;
@@ -2899,5 +4217,5 @@
 		name = "ICeCoffEEShared.h: ICCF_DEBUG";
 		rLen = 0;
-		rLoc = 283;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 1334;
@@ -2939,5 +4257,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -2953,5 +4271,5 @@
 		name = "English: 5";
 		rLen = 0;
-		rLoc = 151;
+		rLoc = 155;
 		rType = 0;
 		vrLen = 234;
@@ -2963,7 +4281,7 @@
 		name = "English: 105";
 		rLen = 0;
-		rLoc = 3439;
-		rType = 0;
-		vrLen = 1481;
+		rLoc = 3435;
+		rType = 0;
+		vrLen = 1477;
 		vrLoc = 1958;
 	};
@@ -3001,5 +4319,5 @@
 		name = "APEMain.m: ICCF_ReloadPrefs";
 		rLen = 16;
-		rLoc = 10916;
+		rLoc = 10939;
 		rType = 0;
 		vrLen = 2080;
@@ -3041,5 +4359,5 @@
 		name = "APEMain.m: ICCF_ReloadPrefs";
 		rLen = 16;
-		rLoc = 10916;
+		rLoc = 10939;
 		rType = 0;
 		vrLen = 1876;
@@ -3051,5 +4369,5 @@
 		name = "ICeCoffEEShared.h: ICCF_DEBUG";
 		rLen = 0;
-		rLoc = 283;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 1362;
@@ -3073,5 +4391,5 @@
 		rLoc = 705;
 		rType = 0;
-		vrLen = 1588;
+		vrLen = 1587;
 		vrLoc = 0;
 	};
@@ -3216,14 +4534,4 @@
 		vrLoc = 1636;
 	};
-	E16C839403F759D800050002 = {
-		fRef = E16C83B903F759D800050002;
-		isa = PBXTextBookmark;
-		name = "ApplicationEnhancer.h: 15";
-		rLen = 20;
-		rLoc = 325;
-		rType = 0;
-		vrLen = 1356;
-		vrLoc = 0;
-	};
 	E16C839503F759D800050002 = {
 		fRef = F9A6987103BE1DFF00AA4DA5;
@@ -3241,5 +4549,5 @@
 		name = "ICeCoffEEConfig.h: 15";
 		rLen = 0;
-		rLoc = 275;
+		rLoc = 304;
 		rType = 0;
 		vrLen = 1716;
@@ -3343,5 +4651,5 @@
 		rLoc = 705;
 		rType = 0;
-		vrLen = 1588;
+		vrLen = 1587;
 		vrLoc = 0;
 	};
@@ -3361,5 +4669,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -3371,5 +4679,5 @@
 		name = "English: 5";
 		rLen = 0;
-		rLoc = 151;
+		rLoc = 155;
 		rType = 0;
 		vrLen = 234;
@@ -3411,5 +4719,5 @@
 		name = "VERSION: 1";
 		rLen = 0;
-		rLoc = 5;
+		rLoc = 7;
 		rType = 0;
 		vrLen = 6;
@@ -3431,52 +4739,8 @@
 		name = "ICeCoffEEShared.h: ICCF_DEBUG";
 		rLen = 0;
-		rLoc = 283;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 1362;
 		vrLoc = 0;
-	};
-	E16C83AA03F759D800050002 = {
-		fRef = F56276C20379923401AA4DA5;
-		isa = PBXTextBookmark;
-		name = "APEInfo.rtfd: 123";
-		rLen = 0;
-		rLoc = 8022;
-		rType = 0;
-		vrLen = 2014;
-		vrLoc = 7089;
-	};
-	E16C83AB03F759D800050002 = {
-		fRef = E16C83BB03F759D800050002;
-		isa = PBXTextBookmark;
-		rLen = 1;
-		rLoc = 14;
-		rType = 1;
-	};
-	E16C83AC03F759D800050002 = {
-		fRef = E16C83BA03F759D800050002;
-		isa = PBXTextBookmark;
-		name = "ApplicationEnhancer.h: 15";
-		rLen = 20;
-		rLoc = 325;
-		rType = 0;
-		vrLen = 156;
-		vrLoc = 189;
-	};
-	E16C83AD03F759D800050002 = {
-		fRef = E16C83BC03F759D800050002;
-		isa = PBXTextBookmark;
-		rLen = 8;
-		rLoc = 3704;
-		rType = 0;
-	};
-	E16C83AE03F759D800050002 = {
-		fRef = E16C83BE03F759D800050002;
-		isa = PBXTextBookmark;
-		name = "CFBundle.h: 102";
-		rLen = 24;
-		rLoc = 3704;
-		rType = 0;
-		vrLen = 578;
-		vrLoc = 3398;
 	};
 	E16C83AF03F759D800050002 = {
@@ -3486,10 +4750,4 @@
 		refType = 0;
 	};
-	E16C83B003F759D800050002 = {
-		isa = PBXFileReference;
-		name = APETools.h;
-		path = /Library/Frameworks/ApplicationEnhancer.framework/Versions/A/Headers/APETools.h;
-		refType = 0;
-	};
 	E16C83B103F759D800050002 = {
 		isa = PBXFileReference;
@@ -3510,10 +4768,4 @@
 		refType = 0;
 	};
-	E16C83B403F759D800050002 = {
-		isa = PBXFileReference;
-		name = ApplicationEnhancer.h;
-		path = /Library/Frameworks/ApplicationEnhancer.framework/Versions/A/Headers/ApplicationEnhancer.h;
-		refType = 0;
-	};
 	E16C83B503F759D800050002 = {
 		isa = PBXFileReference;
@@ -3540,28 +4792,4 @@
 		refType = 0;
 	};
-	E16C83B903F759D800050002 = {
-		isa = PBXFileReference;
-		name = ApplicationEnhancer.h;
-		path = /Library/Frameworks/ApplicationEnhancer.framework/Versions/A/Headers/ApplicationEnhancer.h;
-		refType = 0;
-	};
-	E16C83BA03F759D800050002 = {
-		isa = PBXFileReference;
-		name = ApplicationEnhancer.h;
-		path = /Library/Frameworks/ApplicationEnhancer.framework/Versions/A/Headers/ApplicationEnhancer.h;
-		refType = 0;
-	};
-	E16C83BB03F759D800050002 = {
-		isa = PBXFileReference;
-		name = ApplicationEnhancer.h;
-		path = /Library/Frameworks/ApplicationEnhancer.framework/Headers/ApplicationEnhancer.h;
-		refType = 0;
-	};
-	E16C83BC03F759D800050002 = {
-		isa = PBXFileReference;
-		name = CFBundle.h;
-		path = /System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFBundle.h;
-		refType = 0;
-	};
 	E16C83BD03F759D800050002 = {
 		isa = PBXFileReference;
@@ -3570,9 +4798,23 @@
 		refType = 0;
 	};
-	E16C83BE03F759D800050002 = {
-		isa = PBXFileReference;
-		name = CFBundle.h;
-		path = /System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFBundle.h;
-		refType = 0;
+	E16C842603FB6A7200050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEInfo.rtfd: 257";
+		rLen = 0;
+		rLoc = 14102;
+		rType = 0;
+		vrLen = 2008;
+		vrLoc = 7089;
+	};
+	E16C842703FB6A7200050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: 73";
+		rLen = 19;
+		rLoc = 3370;
+		rType = 0;
+		vrLen = 1796;
+		vrLoc = 2836;
 	};
 	E175F28303E7445700050002 = {
@@ -3630,6 +4872,26 @@
 		fileReference = E14343B403DB4CF200050002;
 		isa = PBXFileBreakpoint;
-		lineNumber = 145;
+		lineNumber = 144;
 		state = 1;
+	};
+	E1937CF1040C300300050002 = {
+		fRef = E1F6E3AC040BCC5700050002;
+		isa = PBXTextBookmark;
+		name = "Japanese: 78";
+		rLen = 0;
+		rLoc = 2312;
+		rType = 0;
+		vrLen = 1300;
+		vrLoc = 1327;
+	};
+	E1937CF2040C300300050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: ICCF_NameWithLocation";
+		rLen = 0;
+		rLoc = 1063;
+		rType = 0;
+		vrLen = 1799;
+		vrLoc = 0;
 	};
 	E19EB4E703DD355C00050002 = {
@@ -3659,4 +4921,121 @@
 		);
 	};
+	E1ABE98B040D48E700050002 = {
+		activeArgIndex = 2147483647;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		configStateDict = {
+		};
+		debuggerPlugin = GDBDebugging;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		isa = PBXExecutable;
+		launchableReference = E1ABE98C040D48E700050002;
+		name = Safari;
+		shlibInfoDictList = (
+		);
+		sourceDirectories = (
+		);
+	};
+	E1ABE98C040D48E700050002 = {
+		isa = PBXApplicationReference;
+		name = Safari.app;
+		path = /Users/nicholas/Applications/Safari.app;
+		refType = 0;
+	};
+	E1ABE98F040D4E8F00050002 = {
+		exec = E104851C040C1E3900050002;
+		isa = PBXExecutableBookmark;
+	};
+	E1ABE990040D4E8F00050002 = {
+		exec = E1ABE98B040D48E700050002;
+		isa = PBXExecutableBookmark;
+	};
+	E1ABE991040D4E8F00050002 = {
+		fRef = E1BF167203DBEAA000050002;
+		isa = PBXTextBookmark;
+		name = "WebCoreBridge.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1686;
+		vrLoc = 0;
+	};
+	E1ABE993040D4E8F00050002 = {
+		fRef = E14343B403DB4CF200050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEE.m: ICCF_CheckRange";
+		rLen = 0;
+		rLoc = 2426;
+		rType = 0;
+		vrLen = 1872;
+		vrLoc = 2204;
+	};
+	E1ABE994040D4E8F00050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: ICCF_NameWithLocation";
+		rLen = 0;
+		rLoc = 1063;
+		rType = 0;
+		vrLen = 1799;
+		vrLoc = 0;
+	};
+	E1ABE995040D4E8F00050002 = {
+		fRef = E1BF166A03DBE27000050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEWebKit.m: 37";
+		rLen = 0;
+		rLoc = 796;
+		rType = 0;
+		vrLen = 1018;
+		vrLoc = 0;
+	};
+	E1ABE996040D4E8F00050002 = {
+		exec = E104851C040C1E3900050002;
+		isa = PBXExecutableBookmark;
+	};
+	E1ABE997040D4E8F00050002 = {
+		exec = E1ABE98B040D48E700050002;
+		isa = PBXExecutableBookmark;
+	};
+	E1ABE998040D4E8F00050002 = {
+		fRef = E1BF166A03DBE27000050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEWebKit.m: mouseUp:";
+		rLen = 0;
+		rLoc = 3048;
+		rType = 0;
+		vrLen = 1810;
+		vrLoc = 792;
+	};
+	E1ABE999040D4E8F00050002 = {
+		fRef = E1BF167203DBEAA000050002;
+		isa = PBXTextBookmark;
+		name = "WebCoreBridge.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1686;
+		vrLoc = 0;
+	};
+	E1ABE99D040D623300050002 = {
+		fRef = E1BF166A03DBE27000050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEWebKit.m: mouseUp:";
+		rLen = 0;
+		rLoc = 4793;
+		rType = 0;
+		vrLen = 1807;
+		vrLoc = 3386;
+	};
+	E1ABE99E040D623300050002 = {
+		isa = PBXTargetBookmark;
+		trg = F5CD5E9D02DAE2C901AA4DA5;
+	};
 	E1BF159B03DBA71000050002 = {
 		activeExec = 0;
@@ -3685,4 +5064,124 @@
 		);
 	};
+	E1BFDA5C0418987900050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: ICCF_AddAppItemTitle";
+		rLen = 0;
+		rLoc = 3589;
+		rType = 0;
+		vrLen = 1993;
+		vrLoc = 2440;
+	};
+	E1BFDA5D0418987900050002 = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 96";
+		rLen = 0;
+		rLoc = 3113;
+		rType = 0;
+		vrLen = 1336;
+		vrLoc = 1953;
+	};
+	E1C59B0303FDE6DD00050002 = {
+		fRef = E13762D203EC636D00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEBookmarks.c: ICCF_AddBookmark";
+		rLen = 0;
+		rLoc = 3887;
+		rType = 0;
+		vrLen = 1922;
+		vrLoc = 2897;
+	};
+	E1C59B0403FDE6DD00050002 = {
+		fRef = E13762D203EC636D00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEBookmarks.c: ICCF_AddBookmark";
+		rLen = 0;
+		rLoc = 3887;
+		rType = 0;
+		vrLen = 1922;
+		vrLoc = 2897;
+	};
+	E1DEF0F703FE2F8D00050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEInfo.rtfd: 119";
+		rLen = 0;
+		rLoc = 7679;
+		rType = 0;
+		vrLen = 1965;
+		vrLoc = 7089;
+	};
+	E1DEF10F03FF95C900050002 = {
+		fRef = E165AB3603E7A7FC00050002;
+		isa = PBXTextBookmark;
+		name = "ICeCoffEEActionMenu.c: ICCF_AddAppItemTitle";
+		rLen = 19;
+		rLoc = 3370;
+		rType = 0;
+		vrLen = 2207;
+		vrLoc = 8984;
+	};
+	E1DEF11003FF95C900050002 = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 5";
+		rLen = 0;
+		rLoc = 155;
+		rType = 0;
+		vrLen = 234;
+		vrLoc = 0;
+	};
+	E1DEF11103FF95C900050002 = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 74";
+		rLen = 0;
+		rLoc = 2509;
+		rType = 0;
+		vrLen = 1563;
+		vrLoc = 0;
+	};
+	E1DEF11203FF95C900050002 = {
+		fRef = F56276C20379923401AA4DA5;
+		isa = PBXTextBookmark;
+		name = "APEInfo.rtfd: 119";
+		rLen = 0;
+		rLoc = 7679;
+		rType = 0;
+		vrLen = 1965;
+		vrLoc = 7089;
+	};
+	E1F6E3AF040BD0C700050002 = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 63";
+		rLen = 0;
+		rLoc = 2133;
+		rType = 0;
+		vrLen = 1477;
+		vrLoc = 1958;
+	};
+	E1F6E3B0040BD0C700050002 = {
+		fRef = E1F6E3AC040BCC5700050002;
+		isa = PBXTextBookmark;
+		name = "Japanese: 8";
+		rLen = 0;
+		rLoc = 337;
+		rType = 0;
+		vrLen = 1435;
+		vrLoc = 0;
+	};
+	E1F6E3B1040BD0C700050002 = {
+		fRef = E1CBC99803E7602700050002;
+		isa = PBXTextBookmark;
+		name = "English: 96";
+		rLen = 0;
+		rLoc = 3113;
+		rType = 0;
+		vrLen = 1477;
+		vrLoc = 1958;
+	};
 	F57E31A00379599E01AA4DA5 = {
 		activeExec = 0;
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.pbproj/project.pbxproj
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.pbproj/project.pbxproj	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.pbproj/project.pbxproj	(revision 106)
@@ -121,4 +121,5 @@
 			children = (
 				29B97319FDCFA39411CA2CEA,
+				E140C476040BBABD009FF178,
 			);
 			isa = PBXVariantGroup;
@@ -256,4 +257,37 @@
 			};
 		};
+		E140C472040BB987009FF178 = {
+			children = (
+				F56276C20379923401AA4DA5,
+				E140C475040BB997009FF178,
+			);
+			isa = PBXVariantGroup;
+			name = APEInfo.rtfd;
+			refType = 4;
+		};
+		E140C473040BB987009FF178 = {
+			fileRef = E140C472040BB987009FF178;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E140C474040BB987009FF178 = {
+			fileRef = E140C472040BB987009FF178;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E140C475040BB997009FF178 = {
+			isa = PBXFileReference;
+			name = Japanese;
+			path = Japanese.lproj/APEInfo.rtfd;
+			refType = 4;
+		};
+		E140C476040BBABD009FF178 = {
+			isa = PBXFileReference;
+			name = Japanese;
+			path = "Japanese.lproj/APE Manager plugin.nib";
+			refType = 4;
+		};
 		E14343AE03DB48F700050002 = {
 			children = (
@@ -359,5 +393,5 @@
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			path = ICeCoffEEActionMenu.h;
+			path = ICeCoffEEAction.h;
 			refType = 4;
 		};
@@ -365,5 +399,5 @@
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			path = ICeCoffEEActionMenu.c;
+			path = ICeCoffEEAction.c;
 			refType = 4;
 		};
@@ -426,5 +460,5 @@
 		};
 		E182C8F603DE817F00050002 = {
-			fileEncoding = 4;
+			fileEncoding = 30;
 			isa = PBXFileReference;
 			path = ICeCoffEEShared.m;
@@ -671,5 +705,5 @@
 		E1BF154403DB950B00050002 = {
 			children = (
-				F56276C20379923401AA4DA5,
+				E140C472040BB987009FF178,
 			);
 			isa = PBXGroup;
@@ -828,5 +862,5 @@
 				E19EB50203DD365D00050002,
 				E1BF166803DBD09A00050002,
-				E1BF15B303DBAD1500050002,
+				E140C474040BB987009FF178,
 				E1BF15A803DBAA5700050002,
 			);
@@ -857,10 +891,4 @@
 			shellScript = "cd \"${TARGET_BUILD_DIR}/ICeCoffEE Installer.app/Contents/Resources/ui\" && \\\n# printenv | sort\ntest -d APEInfo.rtfd && \\\nrm -rf \"ReadMe.rtfd\" && \\\nmv APEInfo.rtfd \"ReadMe.rtfd\"";
 		};
-		E1BF15B303DBAD1500050002 = {
-			fileRef = F56276C20379923401AA4DA5;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
 		E1BF15BD03DBBD3E00050002 = {
 			fileEncoding = 30;
@@ -957,5 +985,5 @@
 		};
 		E1CBC99803E7602700050002 = {
-			fileEncoding = 4;
+			fileEncoding = 10;
 			isa = PBXFileReference;
 			name = English;
@@ -966,4 +994,5 @@
 			children = (
 				E1CBC99803E7602700050002,
+				E1F6E3AC040BCC5700050002,
 			);
 			isa = PBXVariantGroup;
@@ -976,4 +1005,11 @@
 			settings = {
 			};
+		};
+		E1F6E3AC040BCC5700050002 = {
+			fileEncoding = 10;
+			isa = PBXFileReference;
+			name = Japanese;
+			path = Japanese.lproj/Localizable.strings;
+			refType = 4;
 		};
 //E10
@@ -1009,10 +1045,4 @@
 			target = F57E31A00379599E01AA4DA5;
 		};
-		F56276B20379684101AA4DA5 = {
-			fileRef = 089C165CFE840E0CC02AAC07;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
 		F56276B903796C8B01AA4DA5 = {
 			fileEncoding = 30;
@@ -1041,12 +1071,7 @@
 		F56276C20379923401AA4DA5 = {
 			isa = PBXFileReference;
-			path = APEInfo.rtfd;
-			refType = 4;
-		};
-		F56276C30379923401AA4DA5 = {
-			fileRef = F56276C20379923401AA4DA5;
-			isa = PBXBuildFile;
-			settings = {
-			};
+			name = English;
+			path = English.lproj/APEInfo.rtfd;
+			refType = 4;
 		};
 		F574113202F45276011A08DB = {
@@ -1076,5 +1101,4 @@
 			files = (
 				F57E31A703795CCF01AA4DA5,
-				F56276B20379684101AA4DA5,
 			);
 			isa = PBXResourcesBuildPhase;
@@ -1235,5 +1259,5 @@
 			buildActionMask = 2147483647;
 			files = (
-				F56276C30379923401AA4DA5,
+				E140C473040BB987009FF178,
 				E1CBC99B03E7603400050002,
 			);
@@ -1335,5 +1359,5 @@
 	<string>ICCF</string>
 	<key>CFBundleVersion</key>
-	<string>1.3.1</string>
+	<string>1.3.2b1</string>
 </dict>
 </plist>
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.h
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.h	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.h	(revision 106)
@@ -23,6 +23,6 @@
 BOOL ICCF_EventIsCommandMouseDown(NSEvent *e);
 
-// returns YES if the current event's modifier flags include the option key
-BOOL ICCF_OptionKeyIsDown();
+// returns the action determined by the current state of keyboard modifiers
+iccfURLAction ICCF_KeyboardAction();
 
 // throws an exception if the URL range is nonexistent or too big
@@ -41,6 +41,6 @@
 void ICCF_ParseURL(NSString *string, NSRange *range);
 
-// calls ICLaunchURL or ICCF_LaunchURLWithApplication (if chooseApp)
-void ICCF_LaunchURL(NSString *string, BOOL chooseApp);
+// calls ICCF_DoURLAction
+void ICCF_LaunchURL(NSString *string, iccfURLAction action);
 
 // launch URL from on selected text view cursor position or selection
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m	(revision 106)
@@ -22,5 +22,4 @@
 #include <unistd.h>
 #import "ICeCoffEESuper.h"
-#import "ICeCoffEEActionMenu.h"
 
 iccfPrefRec ICCF_prefs;
@@ -58,13 +57,13 @@
 
 BOOL ICCF_EventIsCommandMouseDown(NSEvent *e) {
-    unsigned int modifierFlags = [e modifierFlags];
-    return ([e type] == NSLeftMouseDown &&
-            (modifierFlags == NSCommandKeyMask || modifierFlags == (NSCommandKeyMask | NSAlternateKeyMask))
-            && [e clickCount] == 1);
-}
-
-BOOL ICCF_OptionKeyIsDown() {
+    return ([e type] == NSLeftMouseDown && ([e modifierFlags] & NSCommandKeyMask) != 0 && [e clickCount] == 1);
+}
+
+iccfURLAction ICCF_KeyboardAction() {
     unsigned int modifierFlags = [[NSApp currentEvent] modifierFlags];
-    return (modifierFlags & NSAlternateKeyMask) != 0;
+    iccfURLAction action;
+    action.presentMenu = (modifierFlags & NSAlternateKeyMask) != 0;
+    action.launchInBackground = (modifierFlags & NSShiftKeyMask) != 0;
+    return action;
 }
 
@@ -233,5 +232,5 @@
 }
 
-void ICCF_LaunchURL(NSString *string, BOOL chooseApp) {
+void ICCF_LaunchURL(NSString *string, iccfURLAction action) {
     OSStatus err;
     long selStart, selEnd;
@@ -259,11 +258,6 @@
         }
 
-        if (chooseApp) {
-            err = ICCF_DoURLActionMenu(ICCF_GetInst(), hint, *h, selStart, selEnd);
-            ICCF_OSErrCAssert(err, @"ICCF_DoURLActionMenu");
-        } else {
-            err = ICLaunchURL(ICCF_GetInst(), hint, *h, len, &selStart, &selEnd);
-            ICCF_OSErrCAssert(err, @"ICLaunchURL");
-        }
+        err = ICCF_DoURLAction(ICCF_GetInst(), hint, *h, selStart, selEnd, action);
+        ICCF_OSErrCAssert(err, @"ICCF_DoURLAction");
         
     NS_HANDLER
@@ -276,7 +270,7 @@
 
 // XXX not sure what to do if there's already a selection; BBEdit and MLTE extend it, Tex-Edit Plus doesn't.
-// RFC-ordained max URL length, just to avoid passing IC multi-megabyte documents
+// RFC-ordained max URL length, just to avoid passing IC/LS multi-megabyte documents
 #if ICCF_DEBUG
-const long ICCF_MAX_URL_LEN = 1024; // XXX change later
+const long ICCF_MAX_URL_LEN = 60; // XXX change later
 #else
 const long ICCF_MAX_URL_LEN = 1024;
@@ -369,5 +363,5 @@
         [self display];
 
-        ICCF_LaunchURL([s substringWithRange: range], ICCF_OptionKeyIsDown());
+        ICCF_LaunchURL([s substringWithRange: range], ICCF_KeyboardAction());
 
         if (ICCF_prefs.textBlinkEnabled) {
@@ -473,14 +467,8 @@
     ICLog(@"ICeCoffEE down: %@", e);
 #endif
-    // we don't actually get a mouseUp event, just wait for mouseDown to return
-    [super mouseDown: e];
-    if (!ICCF_enabled || !ICCF_prefs.commandClickEnabled) {
-#if ICCF_DEBUG
-        down = NO;
-#endif
-        return;
-    }
-    // don't want command-shift-click, etc. to trigger
-    if (ICCF_EventIsCommandMouseDown(e)) {
+    if (ICCF_enabled && ICCF_prefs.commandClickEnabled && ICCF_EventIsCommandMouseDown(e)) {
+        // don't want to trigger selection extension or anything else; pass through as a plain click
+        [super mouseDown: [NSEvent mouseEventWithType: NSLeftMouseDown location: [e locationInWindow] modifierFlags: 0 timestamp: [e timestamp] windowNumber: [e windowNumber] context: [e context] eventNumber: [e eventNumber] clickCount: 1 pressure: 0]];
+        // we don't actually get a mouseUp event, just wait for mouseDown to return
         NSEvent *upEvent = [[self window] currentEvent];
         NSPoint downPt = [e locationInWindow];
@@ -491,4 +479,6 @@
             ICCF_LaunchURLFromTextView(self);
         }
+    } else {
+        [super mouseDown: e];
     }
 #if ICCF_DEBUG
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEAction.c
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEAction.c	(revision 106)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEAction.c	(revision 106)
@@ -0,0 +1,314 @@
+/*
+ *  ICeCoffEEAction.c
+ *  ICeCoffEE APE
+ *
+ *  Created by Nicholas Riley on Wed Jan 29 2003.
+ *  Copyright (c) 2003 Nicholas Riley. All rights reserved.
+ *
+ */
+
+#include "ICeCoffEEAction.h"
+#include "ICeCoffEEConfig.h"
+#include "ICeCoffEEShared.h"
+#include "ICeCoffEEBookmarks.h"
+
+/* thanks to Slava Karpenko for this one! */
+OSStatus _LSCopyApplicationURLsForItemURL(CFURLRef inURL, LSRolesMask inRoleMask, CFArrayRef *outApps); // outApps to be CFReleased()
+
+#define THROW_ERR(e) { err = e; goto END; }
+
+static CFStringRef ICCF_NameWithLocation(CFStringRef name, CFURLRef url) {
+    CFURLRef urlMinus = CFURLCreateCopyDeletingLastPathComponent(NULL, url);
+    CFStringRef urlString = CFURLCopyFileSystemPath(urlMinus, kCFURLPOSIXPathStyle);
+    CFStringRef nameWithLocationTemplate = ICCF_CopyLocalizedString(CFSTR("App%@Location%@"));
+    CFStringRef nameWithLocation = CFStringCreateWithFormat(NULL, NULL, nameWithLocationTemplate, name, urlString);
+    
+    SAFE_RELEASE(nameWithLocationTemplate);
+    SAFE_RELEASE(urlMinus);
+    SAFE_RELEASE(urlString);
+    return nameWithLocation;
+}
+
+static const MenuItemIndex kICAppMenuItemHasPath = 0xfffe;
+
+typedef struct {
+    CFURLRef defaultAppURL; // URL of default app, set to NULL after added to menu
+    CFMutableSetRef appPaths;
+    CFMutableDictionaryRef appItemTitles; // keys: URLs; values: item titles (CFString)
+    CFMutableDictionaryRef appURLs; // keys: app display names (CFString), values: URL of item without path appended, or NULL if already appended (at least 2 items with this name exist)
+    MenuRef menu;
+} icAppMenuContext;
+
+static OSStatus ICCF_AddAppItemTitle(icAppMenuContext *ctx, CFURLRef appURL) {
+    CFStringRef appName = NULL, appItemTitle = NULL;
+    CFBundleRef appBundle = NULL;
+    OSStatus err = noErr;
+
+    CFStringRef appPath = CFURLCopyPath(appURL);
+    // only one entry for each path
+    if (CFSetContainsValue(ctx->appPaths, appPath))
+        return dupFNErr;
+    CFSetAddValue(ctx->appPaths, appPath);
+
+    if ( (err = LSCopyDisplayNameForURL(appURL, &appName)) != noErr)
+        return err;
+
+    // if we encounter multiple applications with the same display name, add locations to the menu item titles to disambiguate them
+    CFURLRef sameAppURL;
+    Boolean shouldAppendLocation;
+    if ( (shouldAppendLocation = CFDictionaryGetValueIfPresent(ctx->appURLs, appName, (const void **)&sameAppURL)) && (CFTypeRef)sameAppURL != kCFNull) {
+        // this app is the second encountered with the same name; go back and fix the menu item title of the first app
+        CFStringRef sameAppItemTitle = CFDictionaryGetValue(ctx->appItemTitles, sameAppURL);
+        CFStringRef appItemTitleWithVersion = ICCF_NameWithLocation(sameAppItemTitle, sameAppURL);
+        CFDictionarySetValue(ctx->appItemTitles, sameAppURL, appItemTitleWithVersion);
+        SAFE_RELEASE(appItemTitleWithVersion);
+        CFDictionarySetValue(ctx->appURLs, appName, kCFNull);
+    }
+
+    CFRetain(appName);
+    appItemTitle = appName;
+
+    if ( (appBundle = CFBundleCreate(NULL, appURL)) != NULL) {
+        // prefer a short version string, e.g. "1.0 Beta" instead of "51" for Safari
+        CFStringRef appVersion = CFBundleGetValueForInfoDictionaryKey(appBundle, CFSTR("CFBundleShortVersionString"));
+        if (appVersion == NULL)
+            appVersion = CFBundleGetValueForInfoDictionaryKey(appBundle, kCFBundleVersionKey);
+        if (appVersion != NULL) {
+            appItemTitle = CFStringCreateWithFormat(NULL, NULL, CFSTR("%@ (%@)"), appName, appVersion);
+            CFRelease(appName);
+        }
+        CFRelease(appBundle);
+    }
+
+    if (shouldAppendLocation) {
+        CFStringRef appItemTitleWithVersion = ICCF_NameWithLocation(appItemTitle, appURL);
+        CFRelease(appItemTitle);
+        appItemTitle = appItemTitleWithVersion;
+    } else {
+        CFDictionarySetValue(ctx->appURLs, appName, appURL);
+    }
+
+    if (ctx->defaultAppURL != NULL && CFEqual(appURL, ctx->defaultAppURL)) {
+        CFStringRef defaultFormat = ICCF_CopyLocalizedString(CFSTR("DefaultApp%@"));
+        CFStringRef appItemTitleWithDefault = CFStringCreateWithFormat(NULL, NULL, defaultFormat, appItemTitle);
+        CFRelease(appItemTitle);
+        appItemTitle = appItemTitleWithDefault;
+        ctx->defaultAppURL = NULL; // mark as added
+    }
+
+    CFDictionarySetValue(ctx->appItemTitles, appURL, appItemTitle);
+    CFRelease(appItemTitle);
+
+    return noErr;
+}
+
+static OSStatus ICCF_AddTitledAppToMenu(icAppMenuContext *ctx, CFURLRef appURL, MenuCommand menuCommand) {
+    CFStringRef appItemTitle = NULL;
+    IconRef appIcon = NULL;
+    FSRef appFSR;
+    SInt16 label;
+    MenuItemIndex menuItemIndex;
+    OSStatus err = noErr;
+
+    appItemTitle = CFDictionaryGetValue(ctx->appItemTitles, appURL);
+    if (appItemTitle == NULL) return fnfErr;
+    
+    err = AppendMenuItemTextWithCFString(ctx->menu, appItemTitle, 0, 0, &menuItemIndex);
+    if (err != noErr) return err;
+
+    if (!CFURLGetFSRef(appURL, &appFSR)) return paramErr;
+    err = GetIconRefFromFileInfo(&appFSR, 0, NULL, kFSCatInfoNone, NULL, kIconServicesNormalUsageFlag, &appIcon, &label);
+    if (err != noErr) return err;
+
+    SetMenuItemIconHandle(ctx->menu, menuItemIndex, kMenuIconRefType, (Handle)appIcon);
+    SetMenuItemCommandID(ctx->menu, menuItemIndex, menuCommand);
+    SetMenuItemRefCon(ctx->menu, menuItemIndex, (UInt32)appURL);
+    ReleaseIconRef(appIcon);
+
+    return err;
+}
+
+static OSStatus ICCF_AddAppToMenu(icAppMenuContext *ctx, CFURLRef appURL, MenuCommand menuCommand) {
+    OSStatus err = ICCF_AddAppItemTitle(ctx, appURL);
+    switch (err) {
+        case noErr: break;
+        case dupFNErr: return noErr;
+        default: return err;
+    }
+    return ICCF_AddTitledAppToMenu(ctx, appURL, menuCommand);
+}    
+
+CFComparisonResult ICCF_CompareURLsByItemTitle(const void *url1, const void *url2, void *appItemTitles) {
+    CFStringRef appItemTitle1 = CFDictionaryGetValue((CFDictionaryRef)appItemTitles, (CFURLRef)url1);
+    CFStringRef appItemTitle2 = CFDictionaryGetValue((CFDictionaryRef)appItemTitles, (CFURLRef)url2);
+    return CFStringCompareWithOptions(appItemTitle1, appItemTitle2,
+                                      CFRangeMake(0, CFStringGetLength(appItemTitle1)),
+                                      kCFCompareCaseInsensitive | kCFCompareNumerically);
+}
+
+enum {
+    kICURLActionOpenWith = 'OpnW',
+    kICURLActionAddBookmark = 'AddB'
+};
+
+OSStatus ICCF_DoURLActionMenu(ICInstance inst, CFURLRef url, LSLaunchFlags launchFlags) {
+    CFArrayRef appURLsUnsorted = NULL; // matching app URLs
+    CFMutableArrayRef appURLs = NULL; // matching app URLs sorted by item title
+    CFArrayRef urlArray = NULL; // single-URL array
+    icAppMenuContext ctx = {NULL, NULL, NULL, NULL};
+    OSStatus err;
+    
+    if ( (err = _LSCopyApplicationURLsForItemURL(url, kLSRolesAll, &appURLsUnsorted)) != noErr)
+        THROW_ERR(err);
+
+    CFIndex appCount = 0;
+    if (appURLsUnsorted == NULL || (appCount = CFArrayGetCount(appURLsUnsorted)) == 0)
+        THROW_ERR(kLSApplicationNotFoundErr);
+
+    if ( (appURLs = CFArrayCreateMutableCopy(NULL, appCount, appURLsUnsorted)) == NULL)
+        THROW_ERR(memFullErr);
+
+    if ( (ctx.appPaths = CFSetCreateMutable(NULL, appCount, &kCFCopyStringSetCallBacks)) == NULL)
+        THROW_ERR(memFullErr);
+
+    if ( (ctx.appItemTitles = CFDictionaryCreateMutable(NULL, appCount, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)) == NULL)
+        THROW_ERR(memFullErr);
+
+    if ( (ctx.appURLs = CFDictionaryCreateMutable(NULL, appCount, &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)) == NULL)
+        THROW_ERR(memFullErr);
+
+    LSGetApplicationForURL(url, kLSRolesAll, NULL, &ctx.defaultAppURL);
+
+    CFIndex appIndex;
+    CFURLRef appURL;
+    for (appIndex = 0 ; appIndex < appCount ; appIndex++) {
+        appURL = CFArrayGetValueAtIndex(appURLs, appIndex);
+        err = ICCF_AddAppItemTitle(&ctx, appURL);
+        switch (err) {
+            case noErr: break;
+            case dupFNErr:
+                CFArrayRemoveValueAtIndex(appURLs, appIndex);
+                appIndex--;
+                appCount--;
+                break;
+            default:
+                THROW_ERR(err);
+        } 
+    }
+
+    CFArraySortValues(appURLs, CFRangeMake(0, appCount), ICCF_CompareURLsByItemTitle, ctx.appItemTitles);
+    
+    if ( (err = CreateNewMenu(0, kMenuAttrExcludesMarkColumn, &ctx.menu)) != noErr)
+        THROW_ERR(err);
+    
+    MenuItemIndex menuItemIndex;
+    if ( (err = AppendMenuItemTextWithCFString(ctx.menu, ICCF_CopyLocalizedString(CFSTR("Open Location With")), kMenuItemAttrDisabled, 0, &menuItemIndex)) != noErr)
+        THROW_ERR(err);
+
+    if ( (urlArray = CFArrayCreate(NULL, (const void **)&url, 1, &kCFTypeArrayCallBacks)) == NULL)
+        THROW_ERR(memFullErr);
+
+    for (appIndex = 0 ; appIndex < appCount ; appIndex++) {
+        appURL = CFArrayGetValueAtIndex(appURLs, appIndex);
+
+        if ( (err = ICCF_AddTitledAppToMenu(&ctx, appURL, kICURLActionOpenWith)) != noErr)
+            THROW_ERR(err);
+    }
+    // sometimes the default protocol handler won't be on the list because it doesnÕt claim to handle that protocol; add it anyway
+    if (ctx.defaultAppURL != NULL) {
+        if ( (err = ICCF_AddAppToMenu(&ctx, ctx.defaultAppURL, kICURLActionOpenWith)) != noErr)
+            THROW_ERR(err);
+    }
+
+    appURL = ICCF_GetBookmarkHelperURL(inst);
+    if (appURL != NULL) {
+        if ( (err = AppendMenuItemTextWithCFString(ctx.menu, CFSTR(""), kMenuItemAttrSeparator, 0, NULL)) != noErr)
+            THROW_ERR(err);
+        if ( (err = AppendMenuItemTextWithCFString(ctx.menu, ICCF_CopyLocalizedString(CFSTR("Add Bookmark")), kMenuItemAttrDisabled, 0, &menuItemIndex)) != noErr)
+            THROW_ERR(err);
+        // the app won't show up at the bottom if someone cmd-option-clicks on 'bookmark:', but they'd have to be crazy to do that anyway
+        if ( (err = ICCF_AddAppToMenu(&ctx, appURL, kICURLActionAddBookmark)) != noErr)
+            THROW_ERR(err);
+    }
+    
+    InsertMenu(ctx.menu, -1);
+    Point mousePoint;
+    GetGlobalMouse(&mousePoint);
+    long selectedAppIndex = PopUpMenuSelect(ctx.menu, mousePoint.v + 18, mousePoint.h - 30, 0/*popUpItem*/);
+    if (selectedAppIndex == 0) {
+        err = userCanceledErr;
+    } else {
+        CFURLRef appURL = NULL;
+        MenuCommand menuCommand;
+        err = GetMenuItemRefCon(ctx.menu, selectedAppIndex, (void *)&appURL);
+        if (err == noErr) {
+            err = GetMenuItemCommandID(ctx.menu, selectedAppIndex, &menuCommand);
+            if (err == noErr) {
+                if (menuCommand == kICURLActionOpenWith) {
+                    LSLaunchURLSpec lsSpec = {appURL, urlArray, NULL, launchFlags};
+                    err = LSOpenFromURLSpec(&lsSpec, NULL);
+                } else if (menuCommand == kICURLActionAddBookmark) {
+                    err = ICCF_DoBookmarkDialog(inst, CFURLGetString(url));
+                }
+            }
+        }
+    }
+    
+END:
+    if (ctx.menu != NULL) {
+        DeleteMenu(GetMenuID(ctx.menu));
+        DisposeMenu(ctx.menu);
+    }
+    SAFE_RELEASE(urlArray);
+    SAFE_RELEASE(appURLsUnsorted);
+    SAFE_RELEASE(appURLs);
+    SAFE_RELEASE(ctx.appPaths);
+    SAFE_RELEASE(ctx.appItemTitles);
+    SAFE_RELEASE(ctx.appURLs);
+    
+    return err;
+}
+
+OSStatus ICCF_DoURLActionLaunch(ICInstance inst, CFURLRef url, LSLaunchFlags launchFlags) {
+    CFArrayRef urlArray = CFArrayCreate(NULL, (const void **)&url, 1, &kCFTypeArrayCallBacks);
+    LSLaunchURLSpec lsSpec = {NULL, urlArray, NULL, launchFlags, NULL};
+    OSStatus err;
+
+    if (urlArray == NULL)
+        THROW_ERR(memFullErr);
+
+    err = LSOpenFromURLSpec(&lsSpec, NULL);
+
+END:
+    SAFE_RELEASE(urlArray);
+
+    return err;
+}
+
+OSStatus ICCF_DoURLAction(ICInstance inst, ConstStr255Param hint, const char *urlData, long startIndex, long endIndex, iccfURLAction action) {
+    Handle h = NewHandle(0);
+    CFURLRef url = NULL;
+    LSLaunchFlags launchFlags = kLSLaunchDefaults;
+    OSStatus err;
+
+    if (h == NULL) return MemError();
+
+    if ( (err = ICParseURL(inst, hint, urlData + startIndex, endIndex - startIndex + 1,
+                           &startIndex, &endIndex, h)) != noErr) THROW_ERR(err);
+
+    if ( (url = CFURLCreateWithBytes(NULL, *h, GetHandleSize(h), kCFStringEncodingASCII,
+                                     NULL)) == NULL) THROW_ERR(paramErr);
+
+    if (action.launchInBackground) launchFlags |= kLSLaunchDontSwitch;
+
+    if (action.presentMenu)
+        err = ICCF_DoURLActionMenu(inst, url, launchFlags);
+    else
+        err = ICCF_DoURLActionLaunch(inst, url, launchFlags);
+
+END:
+    if (h != NULL) DisposeHandle(h);
+    SAFE_RELEASE(url);
+
+    return err;
+}
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEAction.h
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEAction.h	(revision 106)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEAction.h	(revision 106)
@@ -0,0 +1,24 @@
+/*
+ *  ICeCoffEEAction.h
+ *  ICeCoffEE APE
+ *
+ *  Created by Nicholas Riley on Wed Jan 29 2003.
+ *  Copyright (c) 2003 Nicholas Riley. All rights reserved.
+ *
+ */
+
+#ifndef _H_ICeCoffEEAction
+#define _H_ICeCoffEEAction
+
+#include <Carbon/Carbon.h>
+
+// per-action options
+
+typedef struct {
+    Boolean presentMenu;
+    Boolean launchInBackground;
+} iccfURLAction;
+
+OSStatus ICCF_DoURLAction(ICInstance inst, ConstStr255Param hint, const char *urlData, long startIndex, long endIndex, iccfURLAction action);
+
+#endif /* _H_ICeCoffEEAction */
Index: unk/ICeCoffEE/ICeCoffEE/ICeCoffEEActionMenu.c
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEActionMenu.c	(revision 105)
+++ 	(revision )
@@ -1,280 +1,0 @@
-/*
- *  ICeCoffEEActionMenu.c
- *  ICeCoffEE APE
- *
- *  Created by Nicholas Riley on Wed Jan 29 2003.
- *  Copyright (c) 2003 Nicholas Riley. All rights reserved.
- *
- */
-
-#include "ICeCoffEEActionMenu.h"
-#include "ICeCoffEEConfig.h"
-#include "ICeCoffEEShared.h"
-#include "ICeCoffEEBookmarks.h"
-
-/* thanks to Slava Karpenko for this one! */
-OSStatus _LSCopyApplicationURLsForItemURL(CFURLRef inURL, LSRolesMask inRoleMask, CFArrayRef *outApps); // outApps to be CFReleased()
-
-#define THROW_ERR(e) { err = e; goto END; }
-
-static CFStringRef ICCF_NameWithLocation(CFStringRef name, CFURLRef url) {
-    CFURLRef urlMinus = CFURLCreateCopyDeletingLastPathComponent(NULL, url);
-    CFStringRef urlString = CFURLCopyFileSystemPath(urlMinus, kCFURLPOSIXPathStyle);
-    CFStringRef nameWithLocation = CFStringCreateWithFormat(NULL, NULL, CFSTR("%@ %s %@"), name, "Ñ", urlString);
-    
-    SAFE_RELEASE(urlMinus);
-    SAFE_RELEASE(urlString);
-    return nameWithLocation;
-}
-
-static const MenuItemIndex kICAppMenuItemHasPath = 0xfffe;
-
-typedef struct {
-    CFURLRef defaultAppURL; // URL of default app, set to NULL after added to menu
-    CFMutableSetRef appPaths;
-    CFMutableDictionaryRef appItemTitles; // keys: URLs; values: item titles (CFString)
-    CFMutableDictionaryRef appURLs; // keys: app display names (CFString), values: URL of item without path appended, or NULL if already appended (at least 2 items with this name exist)
-    MenuRef menu;
-} icAppMenuContext;
-
-static OSStatus ICCF_AddAppItemTitle(icAppMenuContext *ctx, CFURLRef appURL) {
-    CFStringRef appName = NULL, appItemTitle = NULL;
-    CFBundleRef appBundle = NULL;
-    OSStatus err = noErr;
-
-    CFStringRef appPath = CFURLCopyPath(appURL);
-    // only one entry for each path
-    if (CFSetContainsValue(ctx->appPaths, appPath))
-        return dupFNErr;
-    CFSetAddValue(ctx->appPaths, appPath);
-
-    if ( (err = LSCopyDisplayNameForURL(appURL, &appName)) != noErr)
-        return err;
-
-    // if we encounter multiple applications with the same display name, add locations to the menu item titles to disambiguate them
-    CFURLRef sameAppURL;
-    Boolean shouldAppendLocation;
-    if ( (shouldAppendLocation = CFDictionaryGetValueIfPresent(ctx->appURLs, appName, (const void **)&sameAppURL)) && (CFTypeRef)sameAppURL != kCFNull) {
-        // this app is the second encountered with the same name; go back and fix the menu item title of the first app
-        CFStringRef sameAppItemTitle = CFDictionaryGetValue(ctx->appItemTitles, sameAppURL);
-        CFStringRef appItemTitleWithVersion = ICCF_NameWithLocation(sameAppItemTitle, sameAppURL);
-        CFDictionarySetValue(ctx->appItemTitles, sameAppURL, appItemTitleWithVersion);
-        SAFE_RELEASE(appItemTitleWithVersion);
-        CFDictionarySetValue(ctx->appURLs, appName, kCFNull);
-    }
-
-    CFRetain(appName);
-    appItemTitle = appName;
-
-    if ( (appBundle = CFBundleCreate(NULL, appURL)) != NULL) {
-        // prefer a short version string, e.g. "1.0 Beta" instead of "51" for Safari
-        CFStringRef appVersion = CFBundleGetValueForInfoDictionaryKey(appBundle, CFSTR("CFBundleShortVersionString"));
-        if (appVersion == NULL)
-            appVersion = CFBundleGetValueForInfoDictionaryKey(appBundle, kCFBundleVersionKey);
-        if (appVersion != NULL) {
-            appItemTitle = CFStringCreateWithFormat(NULL, NULL, CFSTR("%@ (%@)"), appName, appVersion);
-            CFRelease(appName);
-        }
-        CFRelease(appBundle);
-    }
-
-    if (shouldAppendLocation) {
-        CFStringRef appItemTitleWithVersion = ICCF_NameWithLocation(appItemTitle, appURL);
-        CFRelease(appItemTitle);
-        appItemTitle = appItemTitleWithVersion;
-    } else {
-        CFDictionarySetValue(ctx->appURLs, appName, appURL);
-    }
-
-    if (ctx->defaultAppURL != NULL && CFEqual(appURL, ctx->defaultAppURL)) {
-        CFStringRef defaultFormat = ICCF_CopyLocalizedString(CFSTR("DefaultApp%@"));
-        CFStringRef appItemTitleWithDefault = CFStringCreateWithFormat(NULL, NULL, defaultFormat, appItemTitle);
-        CFRelease(appItemTitle);
-        appItemTitle = appItemTitleWithDefault;
-        ctx->defaultAppURL = NULL; // mark as added
-    }
-
-    CFDictionarySetValue(ctx->appItemTitles, appURL, appItemTitle);
-    CFRelease(appItemTitle);
-
-    return noErr;
-}
-
-static OSStatus ICCF_AddTitledAppToMenu(icAppMenuContext *ctx, CFURLRef appURL, MenuCommand menuCommand) {
-    CFStringRef appItemTitle = NULL;
-    IconRef appIcon = NULL;
-    FSRef appFSR;
-    SInt16 label;
-    MenuItemIndex menuItemIndex;
-    OSStatus err = noErr;
-
-    appItemTitle = CFDictionaryGetValue(ctx->appItemTitles, appURL);
-    if (appItemTitle == NULL) return fnfErr;
-    
-    err = AppendMenuItemTextWithCFString(ctx->menu, appItemTitle, 0, 0, &menuItemIndex);
-    if (err != noErr) return err;
-
-    if (!CFURLGetFSRef(appURL, &appFSR)) return paramErr;
-    err = GetIconRefFromFileInfo(&appFSR, 0, NULL, kFSCatInfoNone, NULL, kIconServicesNormalUsageFlag, &appIcon, &label);
-    if (err != noErr) return err;
-
-    SetMenuItemIconHandle(ctx->menu, menuItemIndex, kMenuIconRefType, (Handle)appIcon);
-    SetMenuItemCommandID(ctx->menu, menuItemIndex, menuCommand);
-    SetMenuItemRefCon(ctx->menu, menuItemIndex, (UInt32)appURL);
-    ReleaseIconRef(appIcon);
-
-    return err;
-}
-
-static OSStatus ICCF_AddAppToMenu(icAppMenuContext *ctx, CFURLRef appURL, MenuCommand menuCommand) {
-    OSStatus err = ICCF_AddAppItemTitle(ctx, appURL);
-    switch (err) {
-        case noErr: break;
-        case dupFNErr: return noErr;
-        default: return err;
-    }
-    return ICCF_AddTitledAppToMenu(ctx, appURL, menuCommand);
-}    
-
-CFComparisonResult ICCF_CompareURLsByItemTitle(const void *url1, const void *url2, void *appItemTitles) {
-    CFStringRef appItemTitle1 = CFDictionaryGetValue((CFDictionaryRef)appItemTitles, (CFURLRef)url1);
-    CFStringRef appItemTitle2 = CFDictionaryGetValue((CFDictionaryRef)appItemTitles, (CFURLRef)url2);
-    return CFStringCompareWithOptions(appItemTitle1, appItemTitle2,
-                                      CFRangeMake(0, CFStringGetLength(appItemTitle1)),
-                                      kCFCompareCaseInsensitive | kCFCompareNumerically);
-}
-
-enum {
-    kICURLActionOpenWith = 'OpnW',
-    kICURLActionAddBookmark = 'AddB'
-};
-
-OSStatus ICCF_DoURLActionMenu(ICInstance inst, ConstStr255Param hint, const char *urlData, long startIndex, long endIndex) {
-    Handle h = NewHandle(0);
-    CFURLRef url = NULL;
-    CFArrayRef appURLsUnsorted = NULL; // matching app URLs
-    CFMutableArrayRef appURLs = NULL; // matching app URLs sorted by item title
-    CFArrayRef urlArray = NULL; // single-URL array
-    icAppMenuContext ctx = {NULL, NULL, NULL, NULL};
-    OSStatus err;
-    
-    if (h == NULL) return MemError();
-
-    if ( (err = ICParseURL(inst, hint, urlData + startIndex, endIndex - startIndex + 1,
-                           &startIndex, &endIndex, h)) != noErr) THROW_ERR(err);
-
-    if ( (url = CFURLCreateWithBytes(NULL, *h, GetHandleSize(h), kCFStringEncodingASCII,
-                                     NULL)) == NULL) THROW_ERR(paramErr);
-
-    if ( (err = _LSCopyApplicationURLsForItemURL(url, kLSRolesAll, &appURLsUnsorted)) != noErr)
-        THROW_ERR(err);
-
-    CFIndex appCount = 0;
-    if (appURLsUnsorted == NULL || (appCount = CFArrayGetCount(appURLsUnsorted)) == 0)
-        THROW_ERR(kLSApplicationNotFoundErr);
-
-    if ( (appURLs = CFArrayCreateMutableCopy(NULL, appCount, appURLsUnsorted)) == NULL)
-        THROW_ERR(memFullErr);
-
-    if ( (ctx.appPaths = CFSetCreateMutable(NULL, appCount, &kCFCopyStringSetCallBacks)) == NULL)
-        THROW_ERR(memFullErr);
-
-    if ( (ctx.appItemTitles = CFDictionaryCreateMutable(NULL, appCount, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)) == NULL)
-        THROW_ERR(memFullErr);
-
-    if ( (ctx.appURLs = CFDictionaryCreateMutable(NULL, appCount, &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)) == NULL)
-        THROW_ERR(memFullErr);
-
-    LSGetApplicationForURL(url, kLSRolesAll, NULL, &ctx.defaultAppURL);
-
-    CFIndex appIndex;
-    CFURLRef appURL;
-    for (appIndex = 0 ; appIndex < appCount ; appIndex++) {
-        appURL = CFArrayGetValueAtIndex(appURLs, appIndex);
-        err = ICCF_AddAppItemTitle(&ctx, appURL);
-        switch (err) {
-            case noErr: break;
-            case dupFNErr:
-                CFArrayRemoveValueAtIndex(appURLs, appIndex);
-                appIndex--;
-                appCount--;
-                break;
-            default:
-                THROW_ERR(err);
-        } 
-    }
-
-    CFArraySortValues(appURLs, CFRangeMake(0, appCount), ICCF_CompareURLsByItemTitle, ctx.appItemTitles);
-    
-    if ( (err = CreateNewMenu(0, kMenuAttrExcludesMarkColumn, &ctx.menu)) != noErr)
-        THROW_ERR(err);
-    
-    MenuItemIndex menuItemIndex;
-    if ( (err = AppendMenuItemTextWithCFString(ctx.menu, ICCF_CopyLocalizedString(CFSTR("Open Location With")), kMenuItemAttrDisabled, 0, &menuItemIndex)) != noErr)
-        THROW_ERR(err);
-
-    if ( (urlArray = CFArrayCreate(NULL, (const void **)&url, 1, &kCFTypeArrayCallBacks)) == NULL)
-        THROW_ERR(memFullErr);
-
-    for (appIndex = 0 ; appIndex < appCount ; appIndex++) {
-        appURL = CFArrayGetValueAtIndex(appURLs, appIndex);
-
-        if ( (err = ICCF_AddTitledAppToMenu(&ctx, appURL, kICURLActionOpenWith)) != noErr)
-            THROW_ERR(err);
-    }
-    // sometimes the default protocol handler won't be on the list because it doesnÕt claim to handle that protocol; add it anyway
-    if (ctx.defaultAppURL != NULL) {
-        if ( (err = ICCF_AddAppToMenu(&ctx, ctx.defaultAppURL, kICURLActionOpenWith)) != noErr)
-            THROW_ERR(err);
-    }
-
-    appURL = ICCF_GetBookmarkHelperURL(inst);
-    if (appURL != NULL) {
-        if ( (err = AppendMenuItemTextWithCFString(ctx.menu, CFSTR(""), kMenuItemAttrSeparator, 0, NULL)) != noErr)
-            THROW_ERR(err);
-        if ( (err = AppendMenuItemTextWithCFString(ctx.menu, ICCF_CopyLocalizedString(CFSTR("Add Bookmark")), kMenuItemAttrDisabled, 0, &menuItemIndex)) != noErr)
-            THROW_ERR(err);
-        // the app won't show up at the bottom if someone cmd-option-clicks on 'bookmark:', but they'd have to be crazy to do that anyway
-        if ( (err = ICCF_AddAppToMenu(&ctx, appURL, kICURLActionAddBookmark)) != noErr)
-            THROW_ERR(err);
-    }
-    
-    InsertMenu(ctx.menu, -1);
-    Point mousePoint;
-    GetGlobalMouse(&mousePoint);
-    long selectedAppIndex = PopUpMenuSelect(ctx.menu, mousePoint.v + 18, mousePoint.h - 30, 0/*popUpItem*/);
-    if (selectedAppIndex == 0) {
-        err = userCanceledErr;
-    } else {
-        CFURLRef appURL = NULL;
-        MenuCommand menuCommand;
-        err = GetMenuItemRefCon(ctx.menu, selectedAppIndex, (void *)&appURL);
-        if (err == noErr) {
-            err = GetMenuItemCommandID(ctx.menu, selectedAppIndex, &menuCommand);
-            if (err == noErr) {
-                if (menuCommand == kICURLActionOpenWith) {
-                    LSLaunchURLSpec lsSpec = {appURL, urlArray, NULL, kLSLaunchDefaults};
-                    err = LSOpenFromURLSpec(&lsSpec, NULL);
-                } else if (menuCommand == kICURLActionAddBookmark) {
-                    err = ICCF_DoBookmarkDialog(inst, CFURLGetString(url));
-                }
-            }
-        }
-    }
-    
-END:
-    if (h != NULL) DisposeHandle(h);
-    if (ctx.menu != NULL) {
-        DeleteMenu(GetMenuID(ctx.menu));
-        DisposeMenu(ctx.menu);
-    }
-    SAFE_RELEASE(url);
-    SAFE_RELEASE(urlArray);
-    SAFE_RELEASE(appURLsUnsorted);
-    SAFE_RELEASE(appURLs);
-    SAFE_RELEASE(ctx.appPaths);
-    SAFE_RELEASE(ctx.appItemTitles);
-    SAFE_RELEASE(ctx.appURLs);
-    
-    return err;
-}
Index: unk/ICeCoffEE/ICeCoffEE/ICeCoffEEActionMenu.h
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEActionMenu.h	(revision 105)
+++ 	(revision )
@@ -1,12 +1,0 @@
-/*
- *  ICeCoffEEActionMenu.h
- *  ICeCoffEE APE
- *
- *  Created by Nicholas Riley on Wed Jan 29 2003.
- *  Copyright (c) 2003 Nicholas Riley. All rights reserved.
- *
- */
-
-#include <Carbon/Carbon.h>
-
-OSStatus ICCF_DoURLActionMenu(ICInstance inst, ConstStr255Param hint, const char *urlData, long startIndex, long endIndex);
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEBookmarks.c
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEBookmarks.c	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEBookmarks.c	(revision 106)
@@ -133,4 +133,5 @@
 
     err = AESend(&event, &nullReply, kAENoReply, kAENormalPriority, kNoTimeOut, nil, nil);
+    (void)AEDisposeDesc(&event);
     if (err != noErr) return err;
 
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEConfig.h
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEConfig.h	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEConfig.h	(revision 106)
@@ -12,4 +12,5 @@
 
 #include <CoreFoundation/CoreFoundation.h>
+#include "ICeCoffEEAction.h"
 
 // constants
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEShared.h
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEShared.h	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEShared.h	(revision 106)
@@ -13,5 +13,6 @@
 #include <CoreFoundation/CoreFoundation.h>
 
-#define ICCF_DEBUG 0
+#define ICCF_DEBUG 1
+#define ICCF_WEBKIT 0
 
 #if ICCF_DEBUG
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEShared.m
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEShared.m	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEShared.m	(revision 106)
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETerminal.m
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETerminal.m	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETerminal.m	(revision 106)
@@ -365,5 +365,5 @@
         [[self superview] display];
 
-        ICCF_LaunchURL(s, ICCF_OptionKeyIsDown());
+        ICCF_LaunchURL(s, ICCF_KeyboardAction());
         
         if (ICCF_prefs.textBlinkEnabled) {
@@ -403,5 +403,4 @@
     ICLog(@"ICeCoffEE Terminal up: %@", upEvent);
     [super mouseUp: upEvent];
-    // don't want command-option-click, command-shift-click, etc. to trigger
     if (ICCF_downEvent != nil) {
         NSPoint downPt = [ICCF_downEvent locationInWindow];
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETextEdit.c
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETextEdit.c	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETextEdit.c	(revision 106)
@@ -13,5 +13,4 @@
 #include "ICeCoffEEConfig.h"
 #include "ICeCoffEEShared.h"
-#include "ICeCoffEEActionMenu.h"
 #include <ApplicationEnhancer/ApplicationEnhancer.h>
 
@@ -24,11 +23,11 @@
 //		Private function prototypes
 //-----------------------------------------------------------------------------
-void	ICCF_LaunchURLFromTEClick(TEHandle teH, short oldSelStart, short oldSelEnd, Boolean optionKey);
-OSStatus ICCF_DoCommandClick(TEHandle teH, long selStart, long selEnd, Boolean optionKey);
+void	ICCF_LaunchURLFromTEClick(TEHandle teH, short oldSelStart, short oldSelEnd, iccfURLAction action);
+OSStatus ICCF_DoCommandClick(TEHandle teH, long selStart, long selEnd, iccfURLAction action);
 
 //=============================================================================
 //		ICCF_LaunchURLFromTEClick : TEClick addition.
 //-----------------------------------------------------------------------------
-void	ICCF_LaunchURLFromTEClick(TEHandle teH, short oldSelStart, short oldSelEnd, Boolean optionKey)
+void	ICCF_LaunchURLFromTEClick(TEHandle teH, short oldSelStart, short oldSelEnd, iccfURLAction action)
 {
     OSStatus			err;
@@ -40,5 +39,5 @@
             oldSelEnd = (**teH).selEnd;
         }
-        err = ICCF_DoCommandClick(teH, oldSelStart, oldSelEnd, optionKey);
+        err = ICCF_DoCommandClick(teH, oldSelStart, oldSelEnd, action);
         if (err != noErr && err != userCanceledErr) {
             ICapeprintf("ICCF_DoCommandClick failed: %ld\n", err);
@@ -106,5 +105,5 @@
 //		ICCF_DoCommandClick : Handle the click.
 //-----------------------------------------------------------------------------
-OSStatus	ICCF_DoCommandClick(TEHandle teH, long selStart, long selEnd, Boolean optionKey)
+OSStatus	ICCF_DoCommandClick(TEHandle teH, long selStart, long selEnd, iccfURLAction action)
 {
     ICInstance inst = NULL;
@@ -130,30 +129,14 @@
         if (thePort != NULL) QDFlushPortBuffer(thePort, NULL);
 
-        if (optionKey) {
-            Handle urlH = NewHandle(0);
-            if (urlH == NULL) {
-                err = MemError();
-            } else {
-                err = ICParseURL(inst, hint, *textH, GetHandleSize(textH), &selStart, &selEnd, urlH);
-                if (err == noErr) {
-                    if (needsSlashes) ICCF_AddSlashes(urlH, hint);
-                    err = ICCF_DoURLActionMenu(inst, hint, *urlH, 0, GetHandleSize(urlH));
-                }
-                DisposeHandle(urlH);
+        Handle urlH = NewHandle(0);
+        if (urlH == NULL) {
+            err = MemError();
+        } else {
+            err = ICParseURL(inst, hint, *textH, GetHandleSize(textH), &selStart, &selEnd, urlH);
+            if (err == noErr) {
+                if (needsSlashes) ICCF_AddSlashes(urlH, hint);
+                err = ICCF_DoURLAction(inst, hint, *urlH, 0, GetHandleSize(urlH), action);
             }
-        } else {
-            if (needsSlashes) {
-                Handle urlH = NewHandle(0);
-                err = ICParseURL(inst, hint, *textH, GetHandleSize(textH), &selStart, &selEnd, urlH);
-                if (err == noErr) {
-                    ICCF_AddSlashes(urlH, hint);
-                    // don't want to disturb text selection
-                    long tmpEnd = GetHandleSize(urlH);
-                    long tmpStart = 0;
-                    err = ICLaunchURL(inst, hint, *urlH, GetHandleSize(urlH), &tmpStart, &tmpEnd);
-                }
-            } else {
-                err = ICLaunchURL(inst, hint, *textH, GetHandleSize(textH), &selStart, &selEnd);
-            }
+            DisposeHandle(urlH);
         }
         
@@ -196,5 +179,8 @@
     // Do our thing
     if (modifiers & cmdKey) {
-        ICCF_LaunchURLFromTEClick(teH, oldSelStart, oldSelEnd, (modifiers & optionKey) != 0);
+        iccfURLAction action;
+        action.presentMenu = (modifiers & optionKey) != 0;
+        action.launchInBackground = (modifiers & shiftKey) != 0;
+        ICCF_LaunchURLFromTEClick(teH, oldSelStart, oldSelEnd, action);
     }
     ICapeprintf("ICCF_TEClick exited\n");
Index: /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m	(revision 106)
@@ -83,4 +83,5 @@
         WebCoreBridge *bridge = [(WebHTMLView *)self _bridge];
         ICCF_GetWebCoreBridgeSelection(bridge, &selection);
+        ICLog(@"selection start %d@%@ end %d@%@ string %@", [bridge selectionStartOffset], [bridge selectionStart], [bridge selectionEndOffset], [bridge selectionEnd], [bridge selectedString]);
         // XXX hack until we have something better
         [selectedString release]; selectedString = nil;
@@ -117,5 +118,6 @@
             // XXX works, but doesn't update
             ICCF_StartIC();
-            ICCF_LaunchURL(selectedString, ICCF_OptionKeyIsDown());
+            ICCF_LaunchURL(selectedString, ICCF_KeyboardAction());
+            // breaks in Safari v62 and before
             ICCF_SetWebCoreBridgeSelection(bridge, &selection);
             if (ICCF_prefs.textBlinkEnabled) {
@@ -133,6 +135,6 @@
 
         ICCF_StopIC();
+        // XXX need to release fromNode, toNode
 
-        // ICLog(@"selection start %d end %d string %@", [bridge selectionStartOffset], [bridge selectionEndOffset], [bridge selectedString]);
         // [bridge forceLayout];
         // ICLog(@"force start %d end %d string %@", [bridge selectionStartOffset], [bridge selectionEndOffset], [bridge selectedString]);
Index: /trunk/ICeCoffEE/ICeCoffEE/Installer components/ui/ui.plist
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/Installer components/ui/ui.plist	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/Installer components/ui/ui.plist	(revision 106)
@@ -39,9 +39,9 @@
 	<string>ICeCoffEE</string>
 	<key>ProductNumVersion</key>
-	<integer>20021248</integer>
+	<integer>20078593</integer>
 	<key>ProductType</key>
 	<string>Preference Pane</string>
 	<key>ProductVersion</key>
-	<string>1.3.1</string>
+	<string>1.3.2b1</string>
 </dict>
 </plist>
Index: /trunk/ICeCoffEE/ICeCoffEE/Japanese.lproj/APE Manager plugin.nib/classes.nib
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/Japanese.lproj/APE Manager plugin.nib/classes.nib	(revision 106)
+++ /trunk/ICeCoffEE/ICeCoffEE/Japanese.lproj/APE Manager plugin.nib/classes.nib	(revision 106)
@@ -0,0 +1,31 @@
+{
+    IBClasses = (
+        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
+        {
+            ACTIONS = {
+                commandClickEnabled = id; 
+                errorDialogEnabled = id; 
+                errorSoundEnabled = id; 
+                servicesInContextualMenu = id; 
+                servicesInMenuBar = id; 
+                textBlinkCount = id; 
+                textBlinkEnabled = id; 
+            }; 
+            CLASS = ICeCoffEEController; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {
+                commandClickEnabled = NSButton; 
+                errorDialogEnabled = NSButton; 
+                errorSoundEnabled = NSButton; 
+                servicesInContextualMenu = NSButton; 
+                servicesInMenuBar = NSButton; 
+                tabView = NSTabView; 
+                textBlinkCount = NSPopUpButton; 
+                textBlinkEnabled = NSButton; 
+                window = NSWindow; 
+            }; 
+            SUPERCLASS = NSObject; 
+        }
+    ); 
+    IBVersion = 1; 
+}
Index: /trunk/ICeCoffEE/ICeCoffEE/Japanese.lproj/APE Manager plugin.nib/info.nib
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/Japanese.lproj/APE Manager plugin.nib/info.nib	(revision 106)
+++ /trunk/ICeCoffEE/ICeCoffEE/Japanese.lproj/APE Manager plugin.nib/info.nib	(revision 106)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IBDocumentLocation</key>
+	<string>355 114 356 240 0 0 1280 832 </string>
+	<key>IBFramework Version</key>
+	<string>291.0</string>
+	<key>IBGroupedObjects</key>
+	<dict>
+		<key>1</key>
+		<array>
+			<string>253</string>
+			<string>256</string>
+			<string>258</string>
+			<string>260</string>
+			<string>262</string>
+			<string>263</string>
+			<string>264</string>
+			<string>266</string>
+			<string>270</string>
+		</array>
+	</dict>
+	<key>IBLastGroupID</key>
+	<string>3</string>
+	<key>IBOpenObjects</key>
+	<array>
+		<integer>195</integer>
+	</array>
+	<key>IBSystem Version</key>
+	<string>6I32</string>
+	<key>IBUserGuides</key>
+	<dict>
+		<key>195</key>
+		<dict>
+			<key>guideLocations</key>
+			<array>
+				<string>Horizontal:245.000000</string>
+			</array>
+			<key>guidesLocked</key>
+			<false/>
+		</dict>
+	</dict>
+</dict>
+</plist>
Index: /trunk/ICeCoffEE/ICeCoffEE/VERSION
===================================================================
--- /trunk/ICeCoffEE/ICeCoffEE/VERSION	(revision 105)
+++ /trunk/ICeCoffEE/ICeCoffEE/VERSION	(revision 106)
@@ -1,1 +1,1 @@
-1.3.1
+1.3.2b1
