// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 56;
	objects = {

/* Begin PBXBuildFile section */
		35CECEB72E503305000D0A0A /* SpotlightSearchManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CECEB62E503305000D0A0A /* SpotlightSearchManager.swift */; };
		35CECEB92E506588000D0A0A /* TagDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CECEB82E506588000D0A0A /* TagDetailView.swift */; };
		35CECEBB2E5065AB000D0A0A /* TagEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CECEBA2E5065AB000D0A0A /* TagEditView.swift */; };
		35CECEBD2E507F51000D0A0A /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CECEBC2E507F51000D0A0A /* SettingsView.swift */; };
		B001 /* HeygoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F001 /* HeygoApp.swift */; };
		B002 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F002 /* ContentView.swift */; };
		B003 /* LinkListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F003 /* LinkListView.swift */; };
		B004 /* LinkDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F004 /* LinkDetailView.swift */; };
		B005 /* LinkFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F005 /* LinkFormView.swift */; };
		B006 /* AnalyticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F006 /* AnalyticsView.swift */; };
		B007 /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F007 /* SearchView.swift */; };
		B008 /* LinkViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F008 /* LinkViewModel.swift */; };
		B009 /* TagManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F009 /* TagManager.swift */; };
		B00A /* URLTemplateProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00A /* URLTemplateProcessor.swift */; };
		B00B /* MarkdownRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00B /* MarkdownRenderer.swift */; };
		B00C /* AnalyticsCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00C /* AnalyticsCalculator.swift */; };
		B00D /* Link+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00D /* Link+CoreDataClass.swift */; };
		B00E /* Tag+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00E /* Tag+CoreDataClass.swift */; };
		B00F /* ClickLog+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00F /* ClickLog+CoreDataClass.swift */; };
		B010 /* ChangeLog+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = F010 /* ChangeLog+CoreDataClass.swift */; };
		B011 /* en in Resources */ = {isa = PBXBuildFile; fileRef = F011 /* en */; };
		B012 /* zh-Hans in Resources */ = {isa = PBXBuildFile; fileRef = F012 /* zh-Hans */; };
		B013 /* PersistenceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F014 /* PersistenceController.swift */; };
		B014 /* CoreDataModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = V001 /* CoreDataModel.xcdatamodeld */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		35CECEB62E503305000D0A0A /* SpotlightSearchManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpotlightSearchManager.swift; sourceTree = "<group>"; };
		35CECEB82E506588000D0A0A /* TagDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagDetailView.swift; sourceTree = "<group>"; };
		35CECEBA2E5065AB000D0A0A /* TagEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagEditView.swift; sourceTree = "<group>"; };
		35CECEBC2E507F51000D0A0A /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
		F001 /* HeygoApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeygoApp.swift; sourceTree = "<group>"; };
		F002 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
		F003 /* LinkListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkListView.swift; sourceTree = "<group>"; };
		F004 /* LinkDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkDetailView.swift; sourceTree = "<group>"; };
		F005 /* LinkFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkFormView.swift; sourceTree = "<group>"; };
		F006 /* AnalyticsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsView.swift; sourceTree = "<group>"; };
		F007 /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = "<group>"; };
		F008 /* LinkViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkViewModel.swift; sourceTree = "<group>"; };
		F009 /* TagManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagManager.swift; sourceTree = "<group>"; };
		F00A /* URLTemplateProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLTemplateProcessor.swift; sourceTree = "<group>"; };
		F00B /* MarkdownRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownRenderer.swift; sourceTree = "<group>"; };
		F00C /* AnalyticsCalculator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsCalculator.swift; sourceTree = "<group>"; };
		F00D /* Link+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Link+CoreDataClass.swift"; sourceTree = "<group>"; };
		F00E /* Tag+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Tag+CoreDataClass.swift"; sourceTree = "<group>"; };
		F00F /* ClickLog+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ClickLog+CoreDataClass.swift"; sourceTree = "<group>"; };
		F010 /* ChangeLog+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ChangeLog+CoreDataClass.swift"; sourceTree = "<group>"; };
		F011 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Heygo/Resources/en.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
		F012 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Heygo/Resources/zh-Hans.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; };
		F013 /* Heygo/Resources/Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Heygo/Resources/Info.plist; sourceTree = SOURCE_ROOT; };
		F014 /* PersistenceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistenceController.swift; sourceTree = "<group>"; };
		F015 /* CoreDataModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = CoreDataModel.xcdatamodel; sourceTree = "<group>"; };
		P001 /* Heygo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Heygo.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		PHASEFRAME /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		GAPP /* Heygo */ = {
			isa = PBXGroup;
			children = (
				GVIEW /* Views */,
				GVM /* ViewModels */,
				GMODEL /* Models */,
				GUTIL /* Utils */,
				GRES /* Resources */,
				F001 /* HeygoApp.swift */,
				F002 /* ContentView.swift */,
			);
			path = Heygo;
			sourceTree = "<group>";
		};
		GMODEL /* Models */ = {
			isa = PBXGroup;
			children = (
				V001 /* CoreDataModel.xcdatamodeld */,
				F00D /* Link+CoreDataClass.swift */,
				F00E /* Tag+CoreDataClass.swift */,
				F00F /* ClickLog+CoreDataClass.swift */,
				F010 /* ChangeLog+CoreDataClass.swift */,
				F014 /* PersistenceController.swift */,
			);
			path = Models;
			sourceTree = "<group>";
		};
		GPROD /* Products */ = {
			isa = PBXGroup;
			children = (
				P001 /* Heygo.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		GRES /* Resources */ = {
			isa = PBXGroup;
			children = (
				F011 /* en */,
				F012 /* zh-Hans */,
				F013 /* Heygo/Resources/Info.plist */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		GROOT = {
			isa = PBXGroup;
			children = (
				GAPP /* Heygo */,
				GPROD /* Products */,
			);
			sourceTree = "<group>";
		};
		GUTIL /* Utils */ = {
			isa = PBXGroup;
			children = (
				35CECEB62E503305000D0A0A /* SpotlightSearchManager.swift */,
				F009 /* TagManager.swift */,
				F00A /* URLTemplateProcessor.swift */,
				F00B /* MarkdownRenderer.swift */,
				F00C /* AnalyticsCalculator.swift */,
			);
			path = Utils;
			sourceTree = "<group>";
		};
		GVIEW /* Views */ = {
			isa = PBXGroup;
			children = (
				35CECEBC2E507F51000D0A0A /* SettingsView.swift */,
				35CECEBA2E5065AB000D0A0A /* TagEditView.swift */,
				35CECEB82E506588000D0A0A /* TagDetailView.swift */,
				F003 /* LinkListView.swift */,
				F004 /* LinkDetailView.swift */,
				F005 /* LinkFormView.swift */,
				F006 /* AnalyticsView.swift */,
				F007 /* SearchView.swift */,
			);
			path = Views;
			sourceTree = "<group>";
		};
		GVM /* ViewModels */ = {
			isa = PBXGroup;
			children = (
				F008 /* LinkViewModel.swift */,
			);
			path = ViewModels;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		T001 /* Heygo */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = CLCONFTARGET /* Build configuration list for PBXNativeTarget "Heygo" */;
			buildPhases = (
				PHASESOURCES /* Sources */,
				PHASERES /* Resources */,
				PHASEFRAME /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Heygo;
			productName = Heygo;
			productReference = P001 /* Heygo.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		PROJ /* Project object */ = {
			isa = PBXProject;
			attributes = {
				BuildIndependentTargetsInParallel = YES;
				LastUpgradeCheck = 1640;
			};
			buildConfigurationList = CLCONFPROJ /* Build configuration list for PBXProject "Heygo" */;
			compatibilityVersion = "Xcode 14.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				"zh-Hans",
			);
			mainGroup = GROOT;
			productRefGroup = GPROD /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				T001 /* Heygo */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		PHASERES /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				B011 /* en in Resources */,
				B012 /* zh-Hans in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		PHASESOURCES /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				B001 /* HeygoApp.swift in Sources */,
				B002 /* ContentView.swift in Sources */,
				B003 /* LinkListView.swift in Sources */,
				35CECEB72E503305000D0A0A /* SpotlightSearchManager.swift in Sources */,
				B004 /* LinkDetailView.swift in Sources */,
				B005 /* LinkFormView.swift in Sources */,
				B006 /* AnalyticsView.swift in Sources */,
				B007 /* SearchView.swift in Sources */,
				35CECEB92E506588000D0A0A /* TagDetailView.swift in Sources */,
				B008 /* LinkViewModel.swift in Sources */,
				B009 /* TagManager.swift in Sources */,
				B00A /* URLTemplateProcessor.swift in Sources */,
				B00B /* MarkdownRenderer.swift in Sources */,
				B00C /* AnalyticsCalculator.swift in Sources */,
				B00D /* Link+CoreDataClass.swift in Sources */,
				B00E /* Tag+CoreDataClass.swift in Sources */,
				B00F /* ClickLog+CoreDataClass.swift in Sources */,
				35CECEBB2E5065AB000D0A0A /* TagEditView.swift in Sources */,
				B010 /* ChangeLog+CoreDataClass.swift in Sources */,
				B013 /* PersistenceController.swift in Sources */,
				B014 /* CoreDataModel.xcdatamodeld in Sources */,
				35CECEBD2E507F51000D0A0A /* SettingsView.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		CDBG /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				ENABLE_USER_SCRIPT_SANDBOXING = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Heygo/Resources/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
				MARKETING_VERSION = 1.0;
				ONLY_ACTIVE_ARCH = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		CDBG_T /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = AQ879ZQMD2;
				INFOPLIST_FILE = Heygo/Resources/Info.plist;
				INFOPLIST_KEY_CFBundleDisplayName = HeyGo;
				INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
				MARKETING_VERSION = 1.0;
				PRODUCT_BUNDLE_IDENTIFIER = cc.heygo;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		CREL /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_USER_SCRIPT_SANDBOXING = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Heygo/Resources/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
				MARKETING_VERSION = 1.0;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SWIFT_COMPILATION_MODE = wholemodule;
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		CREL_T /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = AQ879ZQMD2;
				INFOPLIST_FILE = Heygo/Resources/Info.plist;
				INFOPLIST_KEY_CFBundleDisplayName = HeyGo;
				INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
				MARKETING_VERSION = 1.0;
				PRODUCT_BUNDLE_IDENTIFIER = cc.heygo;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		CLCONFPROJ /* Build configuration list for PBXProject "Heygo" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				CDBG /* Debug */,
				CREL /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		CLCONFTARGET /* Build configuration list for PBXNativeTarget "Heygo" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				CDBG_T /* Debug */,
				CREL_T /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */

/* Begin XCVersionGroup section */
		V001 /* CoreDataModel.xcdatamodeld */ = {
			isa = XCVersionGroup;
			children = (
				F015 /* CoreDataModel.xcdatamodel */,
			);
			currentVersion = F015 /* CoreDataModel.xcdatamodel */;
			path = CoreDataModel.xcdatamodeld;
			sourceTree = "<group>";
			versionGroupType = wrapper.xcdatamodel;
		};
/* End XCVersionGroup section */
	};
	rootObject = PROJ /* Project object */;
}
