// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 55; objects = { /* Begin PBXBuildFile section */ 5C2BFCD328B342620087DC16 /* ModalView in Frameworks */ = {isa = PBXBuildFile; productRef = 5C2BFCD228B342620087DC16 /* ModalView */; }; 5CE0E4EA28AD83A600C7E817 /* PasswordlessAmplifyApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CE0E4E928AD83A600C7E817 /* PasswordlessAmplifyApp.swift */; }; 5CE0E4EE28AD83A900C7E817 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5CE0E4ED28AD83A900C7E817 /* Assets.xcassets */; }; 5CE0E4F128AD83A900C7E817 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5CE0E4F028AD83A900C7E817 /* Preview Assets.xcassets */; }; 5CE0E4FD28AD840C00C7E817 /* AWSAPIPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 5CE0E4FC28AD840C00C7E817 /* AWSAPIPlugin */; }; 5CE0E4FF28AD840C00C7E817 /* AWSDataStorePlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 5CE0E4FE28AD840C00C7E817 /* AWSDataStorePlugin */; }; 5CE0E50128AD840C00C7E817 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = 5CE0E50028AD840C00C7E817 /* Amplify */; }; 5CE0E50428AD852D00C7E817 /* awsconfiguration.json in Resources */ = {isa = PBXBuildFile; fileRef = 5CE0E50228AD852D00C7E817 /* awsconfiguration.json */; }; 5CE0E50528AD852D00C7E817 /* amplifyconfiguration.json in Resources */ = {isa = PBXBuildFile; fileRef = 5CE0E50328AD852D00C7E817 /* amplifyconfiguration.json */; }; 5CE0E50828ADA64E00C7E817 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 5CE0E50728ADA64E00C7E817 /* AWSCognitoAuthPlugin */; }; B8FB3464222CDBD13BF88136 /* amplifyconfiguration.json in Resources */ = {isa = PBXBuildFile; fileRef = 3493102EFC5E14738BF64FFF /* amplifyconfiguration.json */; }; E10F4D9534E47875E650D807 /* awsconfiguration.json in Resources */ = {isa = PBXBuildFile; fileRef = 702BAA5D3275AF702BFA1C19 /* awsconfiguration.json */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 3493102EFC5E14738BF64FFF /* amplifyconfiguration.json */ = {isa = PBXFileReference; explicitFileType = text.json; path = amplifyconfiguration.json; sourceTree = ""; }; 5CE0E4E628AD83A600C7E817 /* PasswordlessAmplify.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PasswordlessAmplify.app; sourceTree = BUILT_PRODUCTS_DIR; }; 5CE0E4E928AD83A600C7E817 /* PasswordlessAmplifyApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasswordlessAmplifyApp.swift; sourceTree = ""; }; 5CE0E4ED28AD83A900C7E817 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 5CE0E4F028AD83A900C7E817 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 5CE0E50228AD852D00C7E817 /* awsconfiguration.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = awsconfiguration.json; sourceTree = SOURCE_ROOT; }; 5CE0E50328AD852D00C7E817 /* amplifyconfiguration.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = amplifyconfiguration.json; sourceTree = SOURCE_ROOT; }; 702BAA5D3275AF702BFA1C19 /* awsconfiguration.json */ = {isa = PBXFileReference; explicitFileType = text.json; path = awsconfiguration.json; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 5CE0E4E328AD83A600C7E817 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 5CE0E50128AD840C00C7E817 /* Amplify in Frameworks */, 5CE0E4FD28AD840C00C7E817 /* AWSAPIPlugin in Frameworks */, 5CE0E4FF28AD840C00C7E817 /* AWSDataStorePlugin in Frameworks */, 5CE0E50828ADA64E00C7E817 /* AWSCognitoAuthPlugin in Frameworks */, 5C2BFCD328B342620087DC16 /* ModalView in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 5CE0E4DD28AD83A600C7E817 = { isa = PBXGroup; children = ( 5CE0E4E828AD83A600C7E817 /* PasswordlessAmplify */, 5CE0E4E728AD83A600C7E817 /* Products */, AACADA2B4BA0E79BB3C387E9 /* AmplifyConfig */, ); sourceTree = ""; }; 5CE0E4E728AD83A600C7E817 /* Products */ = { isa = PBXGroup; children = ( 5CE0E4E628AD83A600C7E817 /* PasswordlessAmplify.app */, ); name = Products; sourceTree = ""; }; 5CE0E4E828AD83A600C7E817 /* PasswordlessAmplify */ = { isa = PBXGroup; children = ( 5CE0E50328AD852D00C7E817 /* amplifyconfiguration.json */, 5CE0E50228AD852D00C7E817 /* awsconfiguration.json */, 5CE0E4E928AD83A600C7E817 /* PasswordlessAmplifyApp.swift */, 5CE0E4ED28AD83A900C7E817 /* Assets.xcassets */, 5CE0E4EF28AD83A900C7E817 /* Preview Content */, ); path = PasswordlessAmplify; sourceTree = ""; }; 5CE0E4EF28AD83A900C7E817 /* Preview Content */ = { isa = PBXGroup; children = ( 5CE0E4F028AD83A900C7E817 /* Preview Assets.xcassets */, ); path = "Preview Content"; sourceTree = ""; }; AACADA2B4BA0E79BB3C387E9 /* AmplifyConfig */ = { isa = PBXGroup; children = ( 702BAA5D3275AF702BFA1C19 /* awsconfiguration.json */, 3493102EFC5E14738BF64FFF /* amplifyconfiguration.json */, ); name = AmplifyConfig; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 5CE0E4E528AD83A600C7E817 /* PasswordlessAmplify */ = { isa = PBXNativeTarget; buildConfigurationList = 5CE0E4F428AD83A900C7E817 /* Build configuration list for PBXNativeTarget "PasswordlessAmplify" */; buildPhases = ( 5CE0E4E228AD83A600C7E817 /* Sources */, 5CE0E4E328AD83A600C7E817 /* Frameworks */, 5CE0E4E428AD83A600C7E817 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = PasswordlessAmplify; packageProductDependencies = ( 5CE0E4FC28AD840C00C7E817 /* AWSAPIPlugin */, 5CE0E4FE28AD840C00C7E817 /* AWSDataStorePlugin */, 5CE0E50028AD840C00C7E817 /* Amplify */, 5CE0E50728ADA64E00C7E817 /* AWSCognitoAuthPlugin */, 5C2BFCD228B342620087DC16 /* ModalView */, ); productName = PasswordlessAmplify; productReference = 5CE0E4E628AD83A600C7E817 /* PasswordlessAmplify.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 5CE0E4DE28AD83A600C7E817 /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1340; LastUpgradeCheck = 1340; TargetAttributes = { 5CE0E4E528AD83A600C7E817 = { CreatedOnToolsVersion = 13.4.1; }; }; }; buildConfigurationList = 5CE0E4E128AD83A600C7E817 /* Build configuration list for PBXProject "PasswordlessAmplify" */; compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = 5CE0E4DD28AD83A600C7E817; packageReferences = ( 5CE0E4FB28AD840C00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */, 5CE0E50628ADA64D00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */, 5C2BFCD128B342620087DC16 /* XCRemoteSwiftPackageReference "modal-view" */, ); productRefGroup = 5CE0E4E728AD83A600C7E817 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 5CE0E4E528AD83A600C7E817 /* PasswordlessAmplify */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 5CE0E4E428AD83A600C7E817 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 5CE0E50428AD852D00C7E817 /* awsconfiguration.json in Resources */, 5CE0E50528AD852D00C7E817 /* amplifyconfiguration.json in Resources */, 5CE0E4F128AD83A900C7E817 /* Preview Assets.xcassets in Resources */, 5CE0E4EE28AD83A900C7E817 /* Assets.xcassets in Resources */, E10F4D9534E47875E650D807 /* awsconfiguration.json in Resources */, B8FB3464222CDBD13BF88136 /* amplifyconfiguration.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 5CE0E4E228AD83A600C7E817 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 5CE0E4EA28AD83A600C7E817 /* PasswordlessAmplifyApp.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ 5CE0E4F228AD83A900C7E817 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = 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_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR; 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.5; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; 5CE0E4F328AD83A900C7E817 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = 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_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR; 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.5; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; }; 5CE0E4F528AD83A900C7E817 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"PasswordlessAmplify/Preview Content\""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = my.org.PasswordlessAmplify; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 5CE0E4F628AD83A900C7E817 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"PasswordlessAmplify/Preview Content\""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = my.org.PasswordlessAmplify; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 5CE0E4E128AD83A600C7E817 /* Build configuration list for PBXProject "PasswordlessAmplify" */ = { isa = XCConfigurationList; buildConfigurations = ( 5CE0E4F228AD83A900C7E817 /* Debug */, 5CE0E4F328AD83A900C7E817 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 5CE0E4F428AD83A900C7E817 /* Build configuration list for PBXNativeTarget "PasswordlessAmplify" */ = { isa = XCConfigurationList; buildConfigurations = ( 5CE0E4F528AD83A900C7E817 /* Debug */, 5CE0E4F628AD83A900C7E817 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ 5C2BFCD128B342620087DC16 /* XCRemoteSwiftPackageReference "modal-view" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/diniska/modal-view"; requirement = { kind = upToNextMajorVersion; minimumVersion = 1.0.0; }; }; 5CE0E4FB28AD840C00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/aws-amplify/amplify-ios"; requirement = { branch = main; kind = branch; }; }; 5CE0E50628ADA64D00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/aws-amplify/amplify-ios"; requirement = { branch = main; kind = branch; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ 5C2BFCD228B342620087DC16 /* ModalView */ = { isa = XCSwiftPackageProductDependency; package = 5C2BFCD128B342620087DC16 /* XCRemoteSwiftPackageReference "modal-view" */; productName = ModalView; }; 5CE0E4FC28AD840C00C7E817 /* AWSAPIPlugin */ = { isa = XCSwiftPackageProductDependency; package = 5CE0E4FB28AD840C00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */; productName = AWSAPIPlugin; }; 5CE0E4FE28AD840C00C7E817 /* AWSDataStorePlugin */ = { isa = XCSwiftPackageProductDependency; package = 5CE0E4FB28AD840C00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */; productName = AWSDataStorePlugin; }; 5CE0E50028AD840C00C7E817 /* Amplify */ = { isa = XCSwiftPackageProductDependency; package = 5CE0E4FB28AD840C00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */; productName = Amplify; }; 5CE0E50728ADA64E00C7E817 /* AWSCognitoAuthPlugin */ = { isa = XCSwiftPackageProductDependency; package = 5CE0E4FB28AD840C00C7E817 /* XCRemoteSwiftPackageReference "amplify-ios" */; productName = AWSCognitoAuthPlugin; }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 5CE0E4DE28AD83A600C7E817 /* Project object */; }