diff --git a/AppBox.xcodeproj/project.pbxproj b/AppBox.xcodeproj/project.pbxproj
index 664ea9a3..d5c4a6d9 100644
--- a/AppBox.xcodeproj/project.pbxproj
+++ b/AppBox.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 443198DF22C1E3DE00967EE3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 443198DE22C1E3DE00967EE3 /* GoogleService-Info.plist */; };
84A31BD8650851B3675A1797 /* libPods-AppBox.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADD2CC287A9B5D93F4C72A0D /* libPods-AppBox.a */; };
DB1A06532160CE27008D33FD /* TeamsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DB1A06512160CE27008D33FD /* TeamsViewController.m */; };
DB1A06542160CE27008D33FD /* TeamsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DB1A06522160CE27008D33FD /* TeamsViewController.xib */; };
@@ -222,6 +223,7 @@
/* Begin PBXFileReference section */
179DF69BDB018D0F7E295C95 /* Pods-AppBox.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppBox.release.xcconfig"; path = "Pods/Target Support Files/Pods-AppBox/Pods-AppBox.release.xcconfig"; sourceTree = ""; };
+ 443198DE22C1E3DE00967EE3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
ADD2CC287A9B5D93F4C72A0D /* libPods-AppBox.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AppBox.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BA6359ECA7EF9D4D3F8BE63F /* Pods-AppBox.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppBox.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AppBox/Pods-AppBox.debug.xcconfig"; sourceTree = ""; };
DB1A06502160CE27008D33FD /* TeamsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TeamsViewController.h; sourceTree = ""; };
@@ -872,6 +874,7 @@
E16437D51D743A4E00CE8B7E /* Supporting Files */ = {
isa = PBXGroup;
children = (
+ 443198DE22C1E3DE00967EE3 /* GoogleService-Info.plist */,
E16437D61D743A4E00CE8B7E /* main.m */,
E16437E31D743A4E00CE8B7E /* Info.plist */,
E13946131DF2AFFF00B3FAD0 /* AppBoxPrefixHeader.pch */,
@@ -1329,8 +1332,8 @@
isa = PBXNativeTarget;
buildConfigurationList = E16437E61D743A4E00CE8B7E /* Build configuration list for PBXNativeTarget "AppBox" */;
buildPhases = (
- E19973332091D2640035CCE9 /* Embed Frameworks */,
C3566842BD53E8411EB6A412 /* [CP] Check Pods Manifest.lock */,
+ E19973332091D2640035CCE9 /* Embed Frameworks */,
E16437CB1D743A4E00CE8B7E /* Sources */,
E16437CC1D743A4E00CE8B7E /* Frameworks */,
E16437CD1D743A4E00CE8B7E /* Resources */,
@@ -1377,6 +1380,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
+ English,
en,
Base,
);
@@ -1406,6 +1410,7 @@
E1D12EEA1EC2F5230065E59A /* EmailPreferencesViewController.xib in Resources */,
E14237C22010A6F600F83501 /* CreateIPAScript.sh in Resources */,
DBCD1563200BCD1C00C003E6 /* PreferencesViewController.xib in Resources */,
+ 443198DF22C1E3DE00967EE3 /* GoogleService-Info.plist in Resources */,
E10B82221DF0498800BBE0CD /* TeamIDScript.sh in Resources */,
E16D72E51E8912790031FB7C /* XCodePath.sh in Resources */,
DB45B45C1F6EC5F10041EB42 /* SwitchXcode.sh in Resources */,
@@ -1433,18 +1438,16 @@
files = (
);
inputPaths = (
- "${SRCROOT}/Pods/Target Support Files/Pods-AppBox/Pods-AppBox-resources.sh",
- "${PODS_ROOT}/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/AnalyticsWindow.xib",
+ "${PODS_ROOT}/Target Support Files/Pods-AppBox/Pods-AppBox-resources.sh",
"${PODS_ROOT}/SAMKeychain/Support/SAMKeychain.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AnalyticsWindow.nib",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SAMKeychain.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AppBox/Pods-AppBox-resources.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AppBox/Pods-AppBox-resources.sh\"\n";
showEnvVarsInLog = 0;
};
C3566842BD53E8411EB6A412 /* [CP] Check Pods Manifest.lock */ = {
@@ -1675,10 +1678,25 @@
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AppBox/AppBoxPrefixHeader.pch;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"${PODS_ROOT}/Headers/Public\"",
+ "\"${PODS_ROOT}/Headers/Public/AFNetworking\"",
+ "\"${PODS_ROOT}/Headers/Public/CMDQueryStringSerialization\"",
+ "\"${PODS_ROOT}/Headers/Public/Google-Analytics-for-OS-X\"",
+ "\"${PODS_ROOT}/Headers/Public/ISO8601\"",
+ "\"${PODS_ROOT}/Headers/Public/ObjectiveDropboxOfficial\"",
+ "\"${PODS_ROOT}/Headers/Public/SAMKeychain\"",
+ "\"${PODS_ROOT}/Headers/Public/SSZipArchive\"",
+ "\"${PODS_ROOT}/Headers/Public/STPrivilegedTask\"",
+ "\"${PODS_ROOT}/Headers/Public/ZXingObjC\"",
+ "\"${PODS_ROOT}/Headers/Public/Fabric\"",
+ "\"${PODS_ROOT}/Headers/Public/Crashlytics\"",
+ );
INFOPLIST_FILE = AppBox/Info.plist;
LD_DYLIB_INSTALL_NAME = "";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
- MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_BUNDLE_IDENTIFIER = com.developerinsider.AppBox;
PRODUCT_NAME = "$(TARGET_NAME)";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)";
@@ -1703,10 +1721,25 @@
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AppBox/AppBoxPrefixHeader.pch;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"${PODS_ROOT}/Headers/Public\"",
+ "\"${PODS_ROOT}/Headers/Public/AFNetworking\"",
+ "\"${PODS_ROOT}/Headers/Public/CMDQueryStringSerialization\"",
+ "\"${PODS_ROOT}/Headers/Public/Google-Analytics-for-OS-X\"",
+ "\"${PODS_ROOT}/Headers/Public/ISO8601\"",
+ "\"${PODS_ROOT}/Headers/Public/ObjectiveDropboxOfficial\"",
+ "\"${PODS_ROOT}/Headers/Public/SAMKeychain\"",
+ "\"${PODS_ROOT}/Headers/Public/SSZipArchive\"",
+ "\"${PODS_ROOT}/Headers/Public/STPrivilegedTask\"",
+ "\"${PODS_ROOT}/Headers/Public/ZXingObjC\"",
+ "\"${PODS_ROOT}/Headers/Public/Fabric\"",
+ "\"${PODS_ROOT}/Headers/Public/Crashlytics\"",
+ );
INFOPLIST_FILE = AppBox/Info.plist;
LD_DYLIB_INSTALL_NAME = "";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
- MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_BUNDLE_IDENTIFIER = com.developerinsider.AppBox;
PRODUCT_NAME = "$(TARGET_NAME)";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)";
diff --git a/AppBox/AppBoxPrefixHeader.pch b/AppBox/AppBoxPrefixHeader.pch
index 3e3e24f8..b863e567 100644
--- a/AppBox/AppBoxPrefixHeader.pch
+++ b/AppBox/AppBoxPrefixHeader.pch
@@ -14,6 +14,7 @@
#import
#import
#import
+#import
#import
#import
#import
diff --git a/AppBox/AppDelegate.m b/AppBox/AppDelegate.m
index 1c211817..f18b6515 100644
--- a/AppBox/AppDelegate.m
+++ b/AppBox/AppDelegate.m
@@ -26,7 +26,8 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[DefaultSettings setFirstTimeSettings];
[DefaultSettings setEveryStartupSettings];
- //Init Crashlytics
+ //Init Crashlytics and Firebase
+ [FIRApp configure];
[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions": @YES }];
[Fabric with:@[[Crashlytics class], [Answers class]]];
diff --git a/AppBox/Common/Constants.h b/AppBox/Common/Constants.h
index 7199dfa0..3ed5bc5d 100644
--- a/AppBox/Common/Constants.h
+++ b/AppBox/Common/Constants.h
@@ -83,6 +83,7 @@ static NSString *const FILE_NAME_SHARE_URL = @".appbox_share_value.json";
#define abTeamIdLength 10
#define abBytesToMB (1024 * 1024)
#define abDropboxOutOfSpaceWarningSize 150
+#define abOnErrorMaxRetryCount 3
#define abEndOfSessionLog @"abEndOfSessionLog"
diff --git a/AppBox/Common/EventTracker/EventTracker.h b/AppBox/Common/EventTracker/EventTracker.h
index 44aeca87..42967570 100644
--- a/AppBox/Common/EventTracker/EventTracker.h
+++ b/AppBox/Common/EventTracker/EventTracker.h
@@ -7,7 +7,6 @@
//
#import
-#import
typedef enum : NSUInteger {
LogEventTypeCopyToClipboard,
diff --git a/AppBox/Common/EventTracker/EventTracker.m b/AppBox/Common/EventTracker/EventTracker.m
index 47fa6503..36e33f2d 100644
--- a/AppBox/Common/EventTracker/EventTracker.m
+++ b/AppBox/Common/EventTracker/EventTracker.m
@@ -10,26 +10,12 @@
@implementation EventTracker
-+(void)ga{
- static MPAnalyticsConfiguration *configuration = nil;
- if (configuration == nil) {
- configuration = [[MPAnalyticsConfiguration alloc] initWithAnalyticsIdentifier: [DBManager gaKey]];
- [MPGoogleAnalyticsTracker activateConfiguration:configuration];
- }
-}
-
+(void)logScreen:(NSString *)name{
- [[self class] ga];
- [MPGoogleAnalyticsTracker trackScreen:name];
[Answers logContentViewWithName:name contentType:@"screen" contentId:nil customAttributes:nil];
}
+(void)logEventWithName:(NSString *)eventName customAttributes:(NSDictionary *)attributes action:(NSString *)action label:(NSString *)label value:(NSNumber *)value {
- [[self class] ga];
[Answers logCustomEventWithName:eventName customAttributes:attributes];
- if (action && label && value) {
- [MPGoogleAnalyticsTracker trackEventOfCategory:eventName action:action label:label value:value];
- }
}
+(void)logEventWithType:(LogEventTypes)eventType{
diff --git a/AppBox/Common/UploadManager/UploadManager.h b/AppBox/Common/UploadManager/UploadManager.h
index b03dd92d..6e70a253 100644
--- a/AppBox/Common/UploadManager/UploadManager.h
+++ b/AppBox/Common/UploadManager/UploadManager.h
@@ -35,10 +35,11 @@ typedef void(^CompletionBlock)();
@property(nonatomic, strong) CompletionBlock completionBlock;
-+(void)setupDBClientsManager;
--(void)uploadIPAFile:(NSURL *)ipaFileURL;
--(void)uploadIPAFileWithoutUnzip:(NSURL *)ipaURL;
++ (void)setupDBClientsManager;
+- (instancetype)init;
+- (void)uploadIPAFile:(NSURL *)ipaFileURL;
+- (void)uploadIPAFileWithoutUnzip:(NSURL *)ipaURL;
--(void)deleteBuildFromDropbox;
+- (void)deleteBuildFromDropbox;
@end
diff --git a/AppBox/Common/UploadManager/UploadManager.m b/AppBox/Common/UploadManager/UploadManager.m
index f99628f5..1b521757 100644
--- a/AppBox/Common/UploadManager/UploadManager.m
+++ b/AppBox/Common/UploadManager/UploadManager.m
@@ -17,6 +17,9 @@ @implementation UploadManager {
NSUInteger offset;
NSFileHandle *fileHandle;
DBFILESCommitInfo *fileCommitInfo;
+
+ //For retry
+ NSInteger retryCount;
}
+(void)setupDBClientsManager{
@@ -30,6 +33,15 @@ +(void)setupDBClientsManager{
}
}
+- (instancetype)init
+{
+ self = [super init];
+ if (self) {
+ retryCount = 0;
+ }
+ return self;
+}
+
#pragma mark - UnZip IPA File
-(void)uploadIPAFile:(NSURL *)ipaFileURL{
@@ -154,7 +166,6 @@ -(void)distributeLocalIPAWithURL:(NSURL *)ipaURL{
NSString *appboxServerBuildsPath = [NSString stringWithFormat:@"%@/%@-%@/", abAppBoxLocalServerBuildsDirectory, ipaName, [Common generateUUID]];
NSURL *toURL = [[UserData buildLocation] URLByAppendingPathComponent:appboxServerBuildsPath];
NSError *error;
- NSString *ipaPath = [ipaURL.resourceSpecifier stringByRemovingPercentEncoding];
//Create AppBox Server Directory
if ([fileManager createDirectoryAtPath:toURL.resourceSpecifier withIntermediateDirectories:YES attributes:nil error:&error]){
//Copy IPA file to Server Directory
@@ -386,106 +397,6 @@ -(void)loadAppInfoMetaData{
}
#pragma mark - Upload Files
--(void)dbUploadLargeFile:(NSString *)file to:(NSString *)path mode:(DBFILESWriteMode *)mode{
- offset = 0;
- chunkSize = [UserData uploadChunkSize] * abBytesToMB;
- ipaFileData = [NSData dataWithContentsOfFile:file];
- fileHandle = [NSFileHandle fileHandleForReadingAtPath:file];
- nextChunkToUpload = [fileHandle readDataOfLength:chunkSize];
- fileCommitInfo = [[DBFILESCommitInfo alloc] initWithPath:path mode:mode autorename:@NO clientModified:nil mute:@NO propertyGroups:nil];
-
- [[[[DBClientsManager authorizedClient].filesRoutes uploadSessionStartData:nextChunkToUpload] setResponseBlock:^(DBFILESUploadSessionStartResult * _Nullable result, DBNilObject * _Nullable routeError, DBRequestError * _Nullable networkError) {
- if (result) {
- sessionId = result.sessionId;
- offset += nextChunkToUpload.length;
- [self uploadNextChunk];
- } else {
- if (networkError.nsError.code == -1009) {
- self.lastfailedOperation = [NSBlockOperation blockOperationWithBlock:^{
- [self dbUploadLargeFile:file to:path mode:mode];
- }];
- } else if (networkError) {
- if (self.ciRepoProject) {
- exit(abExitCodeForUploadFailed);
- }
- self.errorBlock(nil, YES);
- [DBErrorHandler handleNetworkErrorWith:networkError];
- }
- }
- }] setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
- [self updateProgressBytesWritten:bytesWritten totalBytesWritten:totalBytesWritten totalBytesExpectedToWrite:totalBytesExpectedToWrite];
- }];
-}
-
--(void)uploadNextChunk{
- nextChunkToUpload = [fileHandle readDataOfLength:chunkSize];
- DBFILESUploadSessionCursor *cursor = [[DBFILESUploadSessionCursor alloc] initWithSessionId:sessionId offset:[NSNumber numberWithUnsignedInteger:offset]];
- if (nextChunkToUpload.length < chunkSize) {
- [[[[DBClientsManager authorizedClient].filesRoutes uploadSessionFinishData:cursor commit:fileCommitInfo inputData:nextChunkToUpload] setResponseBlock:^(DBFILESFileMetadata * _Nullable result, DBFILESUploadSessionFinishError * _Nullable routeError, DBRequestError * _Nullable networkError) {
- if (result) {
- if (self.dbFileType == DBFileTypeIPA){
- NSString *status = [NSString stringWithFormat:@"Creating Sharable Link for IPA"];
- [self showStatus:status andShowProgressBar:YES withProgress:-1];
-
- //create shared url for ipa
- [self dbCreateSharedURLForFile:result.pathDisplay];
- }
- } else {
- if (networkError.nsError.code == -1009) {
- self.lastfailedOperation = [NSBlockOperation blockOperationWithBlock:^{
- [self uploadNextChunk];
- }];
- } else {
- if (self.ciRepoProject) {
- exit(abExitCodeForUploadFailed);
- }
- self.errorBlock(nil, YES);
- if (routeError) {
- [DBErrorHandler handleUploadSessionFinishError:routeError];
- } else {
- [DBErrorHandler handleNetworkErrorWith:networkError];
- }
- }
- }
- }] setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
- [self updateProgressBytesWritten:bytesWritten totalBytesWritten:totalBytesWritten totalBytesExpectedToWrite:totalBytesExpectedToWrite];
- }];
- } else {
- [[[[DBClientsManager authorizedClient].filesRoutes uploadSessionAppendV2Data:cursor inputData:nextChunkToUpload] setResponseBlock:^(DBNilObject * _Nullable result, DBFILESUploadSessionLookupError * _Nullable routeError, DBRequestError * _Nullable networkError) {
- if (result) {
- offset += nextChunkToUpload.length;
- [self uploadNextChunk];
- } else {
- if (networkError.nsError.code == -1009) {
- self.lastfailedOperation = [NSBlockOperation blockOperationWithBlock:^{
- [self uploadNextChunk];
- }];
- }else{
- if (self.ciRepoProject) {
- exit(abExitCodeForUploadFailed);
- }
- self.errorBlock(nil, YES);
- if (routeError) {
- [DBErrorHandler handleUploadSessionLookupError:routeError];
- } else {
- [DBErrorHandler handleNetworkErrorWith:networkError];
- }
- }
- }
- }] setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
- [self updateProgressBytesWritten:bytesWritten totalBytesWritten:totalBytesWritten totalBytesExpectedToWrite:totalBytesExpectedToWrite];
- }];
- }
-}
-
--(void)updateProgressBytesWritten:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{
- //CGFloat progress = ((totalBytesWritten * 100) / totalBytesExpectedToWrite) ;
- NSUInteger newBytesWritten = offset + totalBytesWritten;
- CGFloat progress = (newBytesWritten * 100 / ipaFileData.length );
- NSString *status = [NSString stringWithFormat:@"Uploading IPA (%@%%)", [NSNumber numberWithInt:progress]];
- [self showStatus:status andShowProgressBar:YES withProgress:progress/100];
-}
-
-(void)dbUploadFile:(NSString *)file to:(NSString *)path mode:(DBFILESWriteMode *)mode{
[[AppDelegate appDelegate] addSessionLog:[NSString stringWithFormat:@"Uploading - %@", file.lastPathComponent]];
@@ -497,7 +408,7 @@ -(void)dbUploadFile:(NSString *)file to:(NSString *)path mode:(DBFILESWriteMode
}
//uploadUrl:path inputUrl:file
- [[[[DBClientsManager authorizedClient].filesRoutes uploadUrl:path mode:mode autorename:@NO clientModified:nil mute:@NO propertyGroups:nil inputUrl:file]
+ [[[[DBClientsManager authorizedClient].filesRoutes uploadUrl:path mode:mode autorename:@NO clientModified:nil mute:@NO propertyGroups:nil strictConflict:@NO inputUrl:file]
//Track response with result and error
setResponseBlock:^(DBFILESFileMetadata * _Nullable response, DBFILESUploadError * _Nullable routeError, DBRequestError * _Nullable error) {
if (response) {
@@ -537,23 +448,8 @@ -(void)dbUploadFile:(NSString *)file to:(NSString *)path mode:(DBFILESWriteMode
}
//unable to upload file, show error
else {
- //The Internet connection appears to be offline
- if (error.nsError.code == -1009) {
- self.lastfailedOperation = [NSBlockOperation blockOperationWithBlock:^{
- [self dbUploadFile:file to:path mode:mode];
- }];
- } else {
- [[AppDelegate appDelegate] addSessionLog:[NSString stringWithFormat:@"Upload DB Error - %@ \n Route Error - %@",error, routeError]];
- if (self.ciRepoProject) {
- exit(abExitCodeForUploadFailed);
- }
- self.errorBlock(nil, YES);
- if (error) {
- [DBErrorHandler handleNetworkErrorWith:error];
- } else if (routeError) {
- [DBErrorHandler handleUploadErrorWith:routeError];
- }
- }
+ NSBlockOperation *retryOperation = [NSBlockOperation blockOperationWithBlock:^{ [self dbUploadFile:file to:path mode:mode]; }];
+ [self handleChunkUploadWithLookupError:nil finishError:nil uploadError:nil networkError:error retryBlock:retryOperation];
}
}]
@@ -576,6 +472,115 @@ -(void)dbUploadFile:(NSString *)file to:(NSString *)path mode:(DBFILESWriteMode
}];
}
+-(void)dbUploadLargeFile:(NSString *)file to:(NSString *)path mode:(DBFILESWriteMode *)mode{
+ offset = 0;
+ chunkSize = [UserData uploadChunkSize] * abBytesToMB;
+ ipaFileData = [NSData dataWithContentsOfFile:file];
+ fileHandle = [NSFileHandle fileHandleForReadingAtPath:file];
+ nextChunkToUpload = [fileHandle readDataOfLength:chunkSize];
+ fileCommitInfo = [[DBFILESCommitInfo alloc] initWithPath:path mode:mode autorename:@NO clientModified:nil mute:@NO propertyGroups:nil strictConflict:@NO];
+
+ [[[[DBClientsManager authorizedClient].filesRoutes uploadSessionStartData:nextChunkToUpload] setResponseBlock:^(DBFILESUploadSessionStartResult * _Nullable result, DBNilObject * _Nullable routeError, DBRequestError * _Nullable networkError) {
+ if (result) {
+ sessionId = result.sessionId;
+ offset += nextChunkToUpload.length;
+ [self uploadNextChunk];
+ } else {
+ NSBlockOperation *retryOperation = [NSBlockOperation blockOperationWithBlock:^{ [self dbUploadLargeFile:file to:path mode:mode]; }];
+ [self handleChunkUploadWithLookupError:nil finishError:nil uploadError:nil networkError:networkError retryBlock:retryOperation];
+ }
+ }] setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
+ [self updateProgressBytesWritten:bytesWritten totalBytesWritten:totalBytesWritten totalBytesExpectedToWrite:totalBytesExpectedToWrite];
+ }];
+}
+
+-(void)uploadNextChunk{
+ nextChunkToUpload = [fileHandle readDataOfLength:chunkSize];
+ DBFILESUploadSessionCursor *cursor = [[DBFILESUploadSessionCursor alloc] initWithSessionId:sessionId offset:[NSNumber numberWithUnsignedInteger:offset]];
+ if (nextChunkToUpload.length < chunkSize) {
+ [[[[DBClientsManager authorizedClient].filesRoutes uploadSessionFinishData:cursor commit:fileCommitInfo inputData:nextChunkToUpload] setResponseBlock:^(DBFILESFileMetadata * _Nullable result, DBFILESUploadSessionFinishError * _Nullable routeError, DBRequestError * _Nullable networkError) {
+ if (result) {
+ if (self.dbFileType == DBFileTypeIPA){
+ NSString *status = [NSString stringWithFormat:@"Creating Sharable Link for IPA"];
+ [self showStatus:status andShowProgressBar:YES withProgress:-1];
+
+ //create shared url for ipa
+ [self dbCreateSharedURLForFile:result.pathDisplay];
+ }
+ } else {
+ NSBlockOperation *retryOperation = [NSBlockOperation blockOperationWithBlock:^{ [self uploadNextChunk]; }];
+ [self handleChunkUploadWithLookupError:nil finishError:routeError uploadError:nil networkError:networkError retryBlock:retryOperation];
+ }
+ }] setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
+ [self updateProgressBytesWritten:bytesWritten totalBytesWritten:totalBytesWritten totalBytesExpectedToWrite:totalBytesExpectedToWrite];
+ }];
+ } else {
+ [[[[DBClientsManager authorizedClient].filesRoutes uploadSessionAppendV2Data:cursor inputData:nextChunkToUpload] setResponseBlock:^(DBNilObject * _Nullable result, DBFILESUploadSessionLookupError * _Nullable routeError, DBRequestError * _Nullable networkError) {
+ if (result) {
+ offset += nextChunkToUpload.length;
+ [self uploadNextChunk];
+ } else {
+ NSBlockOperation *retryOperation = [NSBlockOperation blockOperationWithBlock:^{ [self uploadNextChunk]; }];
+ [self handleChunkUploadWithLookupError:routeError finishError:nil uploadError:nil networkError:networkError retryBlock:retryOperation];
+ }
+ }] setProgressBlock:^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
+ [self updateProgressBytesWritten:bytesWritten totalBytesWritten:totalBytesWritten totalBytesExpectedToWrite:totalBytesExpectedToWrite];
+ }];
+ }
+}
+
+#pragma mark - Upload File Helper
+//Helper to Handle Chunk Upload Error
+-(void)handleChunkUploadWithLookupError:(DBFILESUploadSessionLookupError * _Nullable)lookupError
+ finishError:(DBFILESUploadSessionFinishError * _Nullable)finishError
+ uploadError:(DBFILESUploadError * _Nullable)uploadError
+ networkError:(DBRequestError * _Nullable)networkError
+ retryBlock:(NSBlockOperation *)operation{
+ //Handle Internet Connection Lost
+ if (networkError && networkError.nsError.code == -1009) {
+ self.lastfailedOperation = operation;
+ }
+
+ //Handle DB Client and Server error by Retrying Upto 3 times
+ else if (networkError && retryCount < abOnErrorMaxRetryCount && [[AppDelegate appDelegate] isInternetConnected] &&
+ (networkError.tag == DBRequestErrorClient || networkError.tag == DBRequestErrorInternalServer)) {
+ retryCount++;
+ [[AppDelegate appDelegate] addSessionLog: [NSString stringWithFormat:@"Retrying (%ld) IPA Upload due to some error.", (long)retryCount]];
+ [operation start];
+ }
+
+ //Handle other errors
+ else {
+ retryCount = 0;
+
+ //Exit AppBox if CI Project
+ if (self.ciRepoProject) {
+ exit(abExitCodeForUploadFailed);
+ }
+ //Call Error Block
+ self.errorBlock(nil, YES);
+
+ //Handle Route and Network Errors
+ if (lookupError) {
+ [DBErrorHandler handleUploadSessionLookupError:lookupError];
+ } else if (finishError) {
+ [DBErrorHandler handleUploadSessionFinishError:finishError];
+ } else if (uploadError) {
+ [DBErrorHandler handleUploadErrorWith:uploadError];
+ } else {
+ [DBErrorHandler handleNetworkErrorWith:networkError];
+ }
+ }
+}
+
+-(void)updateProgressBytesWritten:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{
+ //CGFloat progress = ((totalBytesWritten * 100) / totalBytesExpectedToWrite) ;
+ NSUInteger newBytesWritten = offset + totalBytesWritten;
+ CGFloat progress = (newBytesWritten * 100 / ipaFileData.length );
+ NSString *status = [NSString stringWithFormat:@"Uploading IPA (%@%%)", [NSNumber numberWithInt:progress]];
+ [self showStatus:status andShowProgressBar:YES withProgress:progress/100];
+}
+
#pragma mark - Dropbox Create/Get Shared Link
-(void)dbCreateSharedURLForFile:(NSString *)file{
[[[DBClientsManager authorizedClient].sharingRoutes createSharedLinkWithSettings:file]
@@ -717,7 +722,7 @@ -(void)deleteBuildFromDropbox{
}
-(void)deleteBuildFolder{
- [[[[DBClientsManager authorizedClient] filesRoutes] deleteV2:self.project.dbDirectory.absoluteString] setResponseBlock:^(DBFILESDeleteResult * _Nullable result, DBFILESDeleteError * _Nullable routeError, DBRequestError * _Nullable networkError) {
+ [[[[DBClientsManager authorizedClient] filesRoutes] delete_V2:self.project.dbDirectory.absoluteString] setResponseBlock:^(DBFILESDeleteResult * _Nullable result, DBFILESDeleteError * _Nullable routeError, DBRequestError * _Nullable networkError) {
[ABHudViewController hideAllHudFromView:self.currentViewController.view after:0];
if (result) {
self.completionBlock();
@@ -730,7 +735,7 @@ -(void)deleteBuildFolder{
}
-(void)deleteBuildRootFolder{
- [[[[DBClientsManager authorizedClient] filesRoutes] deleteV2:self.uploadRecord.dbFolderName] setResponseBlock:^(DBFILESDeleteResult * _Nullable result, DBFILESDeleteError * _Nullable routeError, DBRequestError * _Nullable networkError) {
+ [[[[DBClientsManager authorizedClient] filesRoutes] delete_V2:self.uploadRecord.dbFolderName] setResponseBlock:^(DBFILESDeleteResult * _Nullable result, DBFILESDeleteError * _Nullable routeError, DBRequestError * _Nullable networkError) {
[ABHudViewController hideAllHudFromView:self.currentViewController.view after:0];
if (result) {
self.completionBlock();
diff --git a/AppBox/GoogleService-Info.plist b/AppBox/GoogleService-Info.plist
new file mode 100644
index 00000000..32c0ccc5
--- /dev/null
+++ b/AppBox/GoogleService-Info.plist
@@ -0,0 +1,36 @@
+
+
+
+
+ CLIENT_ID
+ 202332540560-vtcbdkouph0fubhvao52ehfi8p8ro31v.apps.googleusercontent.com
+ REVERSED_CLIENT_ID
+ com.googleusercontent.apps.202332540560-vtcbdkouph0fubhvao52ehfi8p8ro31v
+ API_KEY
+ AIzaSyDSzX2EYcQDuBH3umM5DQp3QUiIIABAi14
+ GCM_SENDER_ID
+ 202332540560
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.developerinsider.AppBox
+ PROJECT_ID
+ get-appbox
+ STORAGE_BUCKET
+ get-appbox.appspot.com
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:202332540560:ios:62a56fc6fd15a45b
+ DATABASE_URL
+ https://get-appbox.firebaseio.com
+
+
\ No newline at end of file
diff --git a/AppBox/Info.plist b/AppBox/Info.plist
index a38207de..7f7bfe63 100644
--- a/AppBox/Info.plist
+++ b/AppBox/Info.plist
@@ -104,7 +104,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.7.5
+ 2.8.0
CFBundleSignature
????
CFBundleURLTypes
diff --git a/AppBox/ViewController/HomeViewController/HomeViewController.m b/AppBox/ViewController/HomeViewController/HomeViewController.m
index 09124643..baa0144f 100644
--- a/AppBox/ViewController/HomeViewController/HomeViewController.m
+++ b/AppBox/ViewController/HomeViewController/HomeViewController.m
@@ -967,7 +967,9 @@ -(void)logAppUploadEventAndShareURLOnSlackChannel{
[EventTracker logEventSettingWithType:LogEventSettingTypeUploadIPASuccess andSettings:currentSetting];
//Show Notification
- [Common showUploadNotificationWithName:project.name andURL:project.appShortShareableURL];
+ if (ciRepoProject == nil) {
+ [Common showUploadNotificationWithName:project.name andURL:project.appShortShareableURL];
+ }
[[AppDelegate appDelegate] addSessionLog:[NSString stringWithFormat:@".\n\n\nSHARE URL - %@\n\n\n.", project.appShortShareableURL]];
diff --git a/Podfile b/Podfile
index 006165f9..30f3455f 100644
--- a/Podfile
+++ b/Podfile
@@ -1,4 +1,4 @@
-platform :osx, '10.10'
+platform :osx, '10.11'
inhibit_all_warnings!
@@ -12,6 +12,6 @@ target :AppBox do
pod 'ObjectiveDropboxOfficial'
pod 'ZXingObjC'
pod 'SAMKeychain'
- pod 'Google-Analytics-for-OS-X'
pod 'STPrivilegedTask'
+ pod 'FirebaseCore'
end
diff --git a/Podfile.lock b/Podfile.lock
index 740d16f6..c581d817 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -14,25 +14,30 @@ PODS:
- AFNetworking/Serialization (3.2.1)
- CMDQueryStringSerialization (0.4.1):
- ISO8601
- - Crashlytics (3.10.5):
- - Fabric (~> 1.7.9)
- - Fabric (1.7.9)
- - Google-Analytics-for-OS-X (1.1)
+ - Crashlytics (3.13.2):
+ - Fabric (~> 1.10.2)
+ - Fabric (1.10.2)
+ - FirebaseCore (5.4.1):
+ - GoogleUtilities/Environment (~> 5.2)
+ - GoogleUtilities/Logger (~> 5.2)
+ - GoogleUtilities/Environment (5.7.0)
+ - GoogleUtilities/Logger (5.7.0):
+ - GoogleUtilities/Environment
- ISO8601 (0.6.0)
- - ObjectiveDropboxOfficial (3.9.1)
+ - ObjectiveDropboxOfficial (3.10.0)
- SAMKeychain (1.5.3)
- - SSZipArchive (2.1.3)
+ - SSZipArchive (2.2.2)
- STPrivilegedTask (1.0.1)
- - ZXingObjC (3.2.2):
- - ZXingObjC/All (= 3.2.2)
- - ZXingObjC/All (3.2.2)
+ - ZXingObjC (3.6.5):
+ - ZXingObjC/All (= 3.6.5)
+ - ZXingObjC/All (3.6.5)
DEPENDENCIES:
- AFNetworking
- CMDQueryStringSerialization
- Crashlytics
- Fabric
- - Google-Analytics-for-OS-X
+ - FirebaseCore
- ISO8601
- ObjectiveDropboxOfficial
- SAMKeychain
@@ -46,7 +51,8 @@ SPEC REPOS:
- CMDQueryStringSerialization
- Crashlytics
- Fabric
- - Google-Analytics-for-OS-X
+ - FirebaseCore
+ - GoogleUtilities
- ISO8601
- ObjectiveDropboxOfficial
- SAMKeychain
@@ -57,16 +63,17 @@ SPEC REPOS:
SPEC CHECKSUMS:
AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057
CMDQueryStringSerialization: 4bb0a2f5e7d8d8678d911d88072274952cbef4e5
- Crashlytics: 7f2e38d302d9da96475b3d64d86fb29e31a542b7
- Fabric: a2917d3895e4c1569b9c3170de7320ea1b1e6661
- Google-Analytics-for-OS-X: 66376760d74d980fd81ad48b125c5496d3d4402a
+ Crashlytics: 611738c7847f8291a1a51084e35987b86ba6b3ee
+ Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
+ FirebaseCore: f1a9a8be1aee4bf71a2fc0f4096df6788bdfda61
+ GoogleUtilities: 273e67030e0de313e7304f6dcfa96fc5214f6c23
ISO8601: d3ea3ba9b752820cf92c6b47a9ee327e9f0e13fc
- ObjectiveDropboxOfficial: 274ce69d66286c94416daf1da5237c55e105e8c0
+ ObjectiveDropboxOfficial: 19a4913d4d52fba035d41f40da71df0d6b303327
SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c
- SSZipArchive: 51a800ebb77f95a8329b6ced1faaff394b47f509
+ SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23
STPrivilegedTask: 103f97827454e786074640cf89d303be344498c7
- ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981
+ ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb
-PODFILE CHECKSUM: b803d983d7c9f4e9eee63ce665f655a1a3ff598c
+PODFILE CHECKSUM: 5d9f2a03566f7702bb6c2b137998b475915e0a5e
-COCOAPODS: 1.5.3
+COCOAPODS: 1.7.2
diff --git a/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Crashlytics b/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Crashlytics
index 79906d29..d1332d38 100755
Binary files a/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Crashlytics and b/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Crashlytics differ
diff --git a/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Resources/Info.plist b/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Resources/Info.plist
index 431aa7db..d9c4816f 100644
--- a/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Resources/Info.plist
+++ b/Pods/Crashlytics/OSX/Crashlytics.framework/Versions/A/Resources/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 17F77
+ 17G65
CFBundleDevelopmentRegion
English
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 3.10.5
+ 3.13.2
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,21 +25,21 @@
MacOSX
CFBundleVersion
- 130
+ 141
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 9F2000
+ 10O35n
DTPlatformVersion
GM
DTSDKBuild
- 17E189
+ 18B50b
DTSDKName
- macosx10.13
+ macosx10.14
DTXcode
- 0941
+ 1010
DTXcodeBuild
- 9F2000
+ 10O35n
NSHumanReadableCopyright
Copyright © 2016 Crashlytics, Inc. All rights reserved.
UIDeviceFamily
diff --git a/Pods/Crashlytics/OSX/Crashlytics.framework/run b/Pods/Crashlytics/OSX/Crashlytics.framework/run
index 9058ea62..736cd2ff 100755
--- a/Pods/Crashlytics/OSX/Crashlytics.framework/run
+++ b/Pods/Crashlytics/OSX/Crashlytics.framework/run
@@ -3,26 +3,71 @@
# run
#
# Copyright (c) 2015 Crashlytics. All rights reserved.
+#
+#
+# This script is meant to be run as a Run Script in the "Build Phases" section
+# of your Xcode project. It sends debug symbols to symbolicate stacktraces,
+# sends build events to track versions, and onboard apps for Crashlytics.
+#
+# This script calls upload-symbols twice:
+#
+# 1) First it calls upload-symbols synchronously in "validation" mode. If the
+# script finds issues with the build environment, it will report errors to Xcode.
+# In validation mode it exits before doing any time consuming work.
+#
+# 2) Then it calls upload-symbols in the background to actually send the build
+# event and upload symbols. It does this in the background so that it doesn't
+# slow down your builds. If an error happens here, you won't see it in Xcode.
+#
+# You can find the output for the background execution in Console.app, by
+# searching for "upload-symbols".
+#
+# If you want verbose output, you can pass the --debug flag to this script
+#
# Figure out where we're being called from
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-# Quote path in case of spaces or special chars
-DIR="\"${DIR}"
+# If the first argument is specified without a dash, treat it as the Fabric API
+# Key and add it as an argument
+if [ -z "$1" ] || [[ $1 == -* ]]; then
+ API_KEY_ARG=""
+else
+ API_KEY_ARG="-a $1"; shift
+fi
+
+# If a second argument is specified without a dash, treat it as the Build Secret
+# and add it as an argument
+if [ -z "$1" ] || [[ $1 == -* ]]; then
+ BUILD_SECRET_ARG=""
+else
+ BUILD_SECRET_ARG="-bs $1"; shift
+fi
+
+# Build up the arguments list, passing through any flags added after the
+# API Key and Build Secret
+ARGUMENTS="$API_KEY_ARG $BUILD_SECRET_ARG $@"
+VALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate"
+UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase"
-PATH_SEP="/"
-VALIDATE_COMMAND="uploadDSYM\" $@ validate run-script"
-UPLOAD_COMMAND="uploadDSYM\" $@ run-script"
+# Quote the path to handle folders with special characters
+COMMAND_PATH="\"$DIR/upload-symbols\" "
-# Ensure params are as expected, run in sync mode to validate
-eval $DIR$PATH_SEP$VALIDATE_COMMAND
+# Ensure params are as expected, run in sync mode to validate,
+# and cause a build error if validation fails
+eval $COMMAND_PATH$VALIDATE_ARGUMENTS
return_code=$?
if [[ $return_code != 0 ]]; then
exit $return_code
fi
-# Verification passed, upload dSYM in background to prevent Xcode from waiting
-# Note: Validation is performed again before upload.
-# Output can still be found in Console.app
-eval $DIR$PATH_SEP$UPLOAD_COMMAND > /dev/null 2>&1 &
+# Verification passed, convert and upload cSYMs in the background to prevent
+# build delays
+#
+# Note: Validation is performed again at this step before upload
+#
+# Note: Output can still be found in Console.app, by searching for
+# "upload-symbols"
+#
+eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 &
diff --git a/Pods/Crashlytics/OSX/Crashlytics.framework/submit b/Pods/Crashlytics/OSX/Crashlytics.framework/submit
index 68137624..3fda5cff 100755
Binary files a/Pods/Crashlytics/OSX/Crashlytics.framework/submit and b/Pods/Crashlytics/OSX/Crashlytics.framework/submit differ
diff --git a/Pods/Crashlytics/OSX/Crashlytics.framework/upload-symbols b/Pods/Crashlytics/OSX/Crashlytics.framework/upload-symbols
new file mode 100755
index 00000000..4da1eb21
Binary files /dev/null and b/Pods/Crashlytics/OSX/Crashlytics.framework/upload-symbols differ
diff --git a/Pods/Crashlytics/OSX/Crashlytics.framework/uploadDSYM b/Pods/Crashlytics/OSX/Crashlytics.framework/uploadDSYM
deleted file mode 100755
index 65c57a74..00000000
Binary files a/Pods/Crashlytics/OSX/Crashlytics.framework/uploadDSYM and /dev/null differ
diff --git a/Pods/Crashlytics/README.md b/Pods/Crashlytics/README.md
index 2715a06b..996af507 100644
--- a/Pods/Crashlytics/README.md
+++ b/Pods/Crashlytics/README.md
@@ -1,39 +1,23 @@
-
-Part of [Google Fabric](https://get.fabric.io), [Crashlytics](http://try.crashlytics.com/) offers the most powerful, yet lightest weight crash reporting solution for iOS. Crashlytics also provides real-time analytics through [Answers](https://answers.io/) and app distributions to testers using [Beta](http://try.crashlytics.com/beta/).
+# Crashlytics
-## Setup
-
-1. Visit [https://fabric.io/sign_up](https://fabric.io/sign_up) to create your Fabric account and to download Fabric.app.
-
-1. Open Fabric.app, login and select the Crashlytics SDK.
-
- 
+## Overview
-1. The Fabric app automatically detects when a project uses CocoaPods and gives you the option to install via the Podfile or Xcode.
+[Crashlytics](https://firebase.google.com/docs/crashlytics/get-started?platform=ios) offers the most powerful, yet lightest weight crash reporting solution for iOS.
- 
-1. Select the Podfile option and follow the installation instructions to update your Podfile. **Note:** the Crashlytics Pod includes Answers. If you have Answers included as a separate Pod it should be removed from your Podfile to avoid duplicate symbol errors.
-
- ```
- pod 'Fabric'
- pod 'Crashlytics'
- ```
-
-1. Run `pod install`
+## Setup
-1. Add a Run Script Build Phase and build your app.
+To start using Crashlytics, there are two options:
- 
+1) The recommended way is to go to the [Firebase Crashlytics Docs](https://firebase.google.com/docs/crashlytics/get-started?platform=ios) and follow the directions there.
-1. Initialize the SDK by inserting code outlined in the Fabric.app.
+2) If you aren't using Firebase yet, go to [Fabric Kits](https://fabric.io/kits), and follow the directions for Crashlytics.
-1. Run your app to finish the installation.
## Resources
-* [Documentation](https://docs.fabric.io/apple/crashlytics/overview.html)
+* [API Reference](https://firebase.google.com/docs/reference/ios/crashlytics/api/reference/Classes)
* [Forums](https://stackoverflow.com/questions/tagged/google-fabric)
-* [Website](http://try.crashlytics.com/)
-* Follow us on Twitter: [@fabric](https://twitter.com/fabric) and [@crashlytics](https://twitter.com/crashlytics)
+* [Website](https://firebase.google.com/docs/crashlytics)
+* Follow us on Twitter: [@crashlytics](https://twitter.com/crashlytics)
diff --git a/Pods/Crashlytics/submit b/Pods/Crashlytics/submit
index 68137624..3fda5cff 100755
Binary files a/Pods/Crashlytics/submit and b/Pods/Crashlytics/submit differ
diff --git a/Pods/Fabric/OSX/Fabric.framework/Versions/A/Fabric b/Pods/Fabric/OSX/Fabric.framework/Versions/A/Fabric
index 77feeb1f..6ece287d 100755
Binary files a/Pods/Fabric/OSX/Fabric.framework/Versions/A/Fabric and b/Pods/Fabric/OSX/Fabric.framework/Versions/A/Fabric differ
diff --git a/Pods/Fabric/OSX/Fabric.framework/Versions/A/Resources/Info.plist b/Pods/Fabric/OSX/Fabric.framework/Versions/A/Resources/Info.plist
index 8cedb285..a8f463d1 100644
--- a/Pods/Fabric/OSX/Fabric.framework/Versions/A/Resources/Info.plist
+++ b/Pods/Fabric/OSX/Fabric.framework/Versions/A/Resources/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 17F77
+ 17G65
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.7.9
+ 1.10.2
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,21 +25,21 @@
MacOSX
CFBundleVersion
- 70
+ 80
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 9F2000
+ 10O35n
DTPlatformVersion
GM
DTSDKBuild
- 17E189
+ 18B50b
DTSDKName
- macosx10.13
+ macosx10.14
DTXcode
- 0941
+ 1010
DTXcodeBuild
- 9F2000
+ 10O35n
NSHumanReadableCopyright
Copyright © 2015 Twitter. All rights reserved.
UIDeviceFamily
diff --git a/Pods/Fabric/OSX/Fabric.framework/run b/Pods/Fabric/OSX/Fabric.framework/run
index 9058ea62..736cd2ff 100755
--- a/Pods/Fabric/OSX/Fabric.framework/run
+++ b/Pods/Fabric/OSX/Fabric.framework/run
@@ -3,26 +3,71 @@
# run
#
# Copyright (c) 2015 Crashlytics. All rights reserved.
+#
+#
+# This script is meant to be run as a Run Script in the "Build Phases" section
+# of your Xcode project. It sends debug symbols to symbolicate stacktraces,
+# sends build events to track versions, and onboard apps for Crashlytics.
+#
+# This script calls upload-symbols twice:
+#
+# 1) First it calls upload-symbols synchronously in "validation" mode. If the
+# script finds issues with the build environment, it will report errors to Xcode.
+# In validation mode it exits before doing any time consuming work.
+#
+# 2) Then it calls upload-symbols in the background to actually send the build
+# event and upload symbols. It does this in the background so that it doesn't
+# slow down your builds. If an error happens here, you won't see it in Xcode.
+#
+# You can find the output for the background execution in Console.app, by
+# searching for "upload-symbols".
+#
+# If you want verbose output, you can pass the --debug flag to this script
+#
# Figure out where we're being called from
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-# Quote path in case of spaces or special chars
-DIR="\"${DIR}"
+# If the first argument is specified without a dash, treat it as the Fabric API
+# Key and add it as an argument
+if [ -z "$1" ] || [[ $1 == -* ]]; then
+ API_KEY_ARG=""
+else
+ API_KEY_ARG="-a $1"; shift
+fi
+
+# If a second argument is specified without a dash, treat it as the Build Secret
+# and add it as an argument
+if [ -z "$1" ] || [[ $1 == -* ]]; then
+ BUILD_SECRET_ARG=""
+else
+ BUILD_SECRET_ARG="-bs $1"; shift
+fi
+
+# Build up the arguments list, passing through any flags added after the
+# API Key and Build Secret
+ARGUMENTS="$API_KEY_ARG $BUILD_SECRET_ARG $@"
+VALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate"
+UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase"
-PATH_SEP="/"
-VALIDATE_COMMAND="uploadDSYM\" $@ validate run-script"
-UPLOAD_COMMAND="uploadDSYM\" $@ run-script"
+# Quote the path to handle folders with special characters
+COMMAND_PATH="\"$DIR/upload-symbols\" "
-# Ensure params are as expected, run in sync mode to validate
-eval $DIR$PATH_SEP$VALIDATE_COMMAND
+# Ensure params are as expected, run in sync mode to validate,
+# and cause a build error if validation fails
+eval $COMMAND_PATH$VALIDATE_ARGUMENTS
return_code=$?
if [[ $return_code != 0 ]]; then
exit $return_code
fi
-# Verification passed, upload dSYM in background to prevent Xcode from waiting
-# Note: Validation is performed again before upload.
-# Output can still be found in Console.app
-eval $DIR$PATH_SEP$UPLOAD_COMMAND > /dev/null 2>&1 &
+# Verification passed, convert and upload cSYMs in the background to prevent
+# build delays
+#
+# Note: Validation is performed again at this step before upload
+#
+# Note: Output can still be found in Console.app, by searching for
+# "upload-symbols"
+#
+eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 &
diff --git a/Pods/Fabric/OSX/Fabric.framework/upload-symbols b/Pods/Fabric/OSX/Fabric.framework/upload-symbols
new file mode 100755
index 00000000..a18d0b68
Binary files /dev/null and b/Pods/Fabric/OSX/Fabric.framework/upload-symbols differ
diff --git a/Pods/Fabric/OSX/Fabric.framework/uploadDSYM b/Pods/Fabric/OSX/Fabric.framework/uploadDSYM
deleted file mode 100755
index a7424919..00000000
Binary files a/Pods/Fabric/OSX/Fabric.framework/uploadDSYM and /dev/null differ
diff --git a/Pods/Fabric/README.md b/Pods/Fabric/README.md
index 9eca6105..e99ce834 100644
--- a/Pods/Fabric/README.md
+++ b/Pods/Fabric/README.md
@@ -1,38 +1,23 @@
-
# Fabric
## Overview
-[Fabric](https://get.fabric.io) provides developers with the tools they need to build the best apps. Developed and maintained by Google and the team that built Crashlytics, Fabric provides an easy way to manage all your SDKs so that you’ll never have to worry about tedious configurations or juggling different accounts. We let you get right into coding and building the next big app.
+[Fabric](https://get.fabric.io) provides developers with the tools they need to build the best apps. Developed and maintained by Google and the team that built Crashlytics.
-For a full list of SDK provided through Fabric visit [https://fabric.io/kits](https://fabric.io/kits).
+For a full list of SDKs provided through Fabric visit [https://fabric.io/kits](https://fabric.io/kits).
-## Setup
-
-The Fabric Pod is a dependency for all Fabric SDKs and is included when installing any Fabric related Pods. General setup instructions are shown below; however, these vary depending on the selected SDK.
-
-1. Visit [https://fabric.io/sign_up](https://fabric.io/sign_up) to create your Fabric account and to download Fabric.app.
-
-1. Open Fabric.app, login and select an SDK to install.
+To follow the migration to Firebase, check out the [Fabric Roadmap](https://get.fabric.io/roadmap).
- 
-1. The Fabric app automatically detects when a project uses CocoaPods and gives you the option to install via the Podfile or Xcode.
-
- 
-
-1. Select the Podfile option and follow the installation instructions to update your Podfile. Note: the example below is for the Crashlytics SDK. The instructions will vary based on the selected SDK.
-
- 
+## Setup
-1. Add a Run Script Build Phase and build your app.
+Fabric is a dependency for the Crashlytics SDK. To start using Crashlytics, there are two options:
- 
+1) The recommended way is to go to the [Firebase Crashlytics Docs](https://firebase.google.com/docs/crashlytics/get-started?platform=ios) and follow the directions there.
-1. Initialize the SDK by inserting code outlined in Fabric.app.
+2) If you aren't using Firebase yet, go to [Fabric Kits](https://fabric.io/kits), and follow the directions for Crashlytics.
-1. Run your app to finish the installation.
## Resources
diff --git a/Pods/Fabric/run b/Pods/Fabric/run
index 9058ea62..736cd2ff 100755
--- a/Pods/Fabric/run
+++ b/Pods/Fabric/run
@@ -3,26 +3,71 @@
# run
#
# Copyright (c) 2015 Crashlytics. All rights reserved.
+#
+#
+# This script is meant to be run as a Run Script in the "Build Phases" section
+# of your Xcode project. It sends debug symbols to symbolicate stacktraces,
+# sends build events to track versions, and onboard apps for Crashlytics.
+#
+# This script calls upload-symbols twice:
+#
+# 1) First it calls upload-symbols synchronously in "validation" mode. If the
+# script finds issues with the build environment, it will report errors to Xcode.
+# In validation mode it exits before doing any time consuming work.
+#
+# 2) Then it calls upload-symbols in the background to actually send the build
+# event and upload symbols. It does this in the background so that it doesn't
+# slow down your builds. If an error happens here, you won't see it in Xcode.
+#
+# You can find the output for the background execution in Console.app, by
+# searching for "upload-symbols".
+#
+# If you want verbose output, you can pass the --debug flag to this script
+#
# Figure out where we're being called from
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-# Quote path in case of spaces or special chars
-DIR="\"${DIR}"
+# If the first argument is specified without a dash, treat it as the Fabric API
+# Key and add it as an argument
+if [ -z "$1" ] || [[ $1 == -* ]]; then
+ API_KEY_ARG=""
+else
+ API_KEY_ARG="-a $1"; shift
+fi
+
+# If a second argument is specified without a dash, treat it as the Build Secret
+# and add it as an argument
+if [ -z "$1" ] || [[ $1 == -* ]]; then
+ BUILD_SECRET_ARG=""
+else
+ BUILD_SECRET_ARG="-bs $1"; shift
+fi
+
+# Build up the arguments list, passing through any flags added after the
+# API Key and Build Secret
+ARGUMENTS="$API_KEY_ARG $BUILD_SECRET_ARG $@"
+VALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate"
+UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase"
-PATH_SEP="/"
-VALIDATE_COMMAND="uploadDSYM\" $@ validate run-script"
-UPLOAD_COMMAND="uploadDSYM\" $@ run-script"
+# Quote the path to handle folders with special characters
+COMMAND_PATH="\"$DIR/upload-symbols\" "
-# Ensure params are as expected, run in sync mode to validate
-eval $DIR$PATH_SEP$VALIDATE_COMMAND
+# Ensure params are as expected, run in sync mode to validate,
+# and cause a build error if validation fails
+eval $COMMAND_PATH$VALIDATE_ARGUMENTS
return_code=$?
if [[ $return_code != 0 ]]; then
exit $return_code
fi
-# Verification passed, upload dSYM in background to prevent Xcode from waiting
-# Note: Validation is performed again before upload.
-# Output can still be found in Console.app
-eval $DIR$PATH_SEP$UPLOAD_COMMAND > /dev/null 2>&1 &
+# Verification passed, convert and upload cSYMs in the background to prevent
+# build delays
+#
+# Note: Validation is performed again at this step before upload
+#
+# Note: Output can still be found in Console.app, by searching for
+# "upload-symbols"
+#
+eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 &
diff --git a/Pods/Fabric/upload-symbols b/Pods/Fabric/upload-symbols
index 0f22d7fd..a18d0b68 100755
Binary files a/Pods/Fabric/upload-symbols and b/Pods/Fabric/upload-symbols differ
diff --git a/Pods/Fabric/uploadDSYM b/Pods/Fabric/uploadDSYM
deleted file mode 100755
index a7424919..00000000
Binary files a/Pods/Fabric/uploadDSYM and /dev/null differ
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRAnalyticsConfiguration.m b/Pods/FirebaseCore/Firebase/Core/FIRAnalyticsConfiguration.m
new file mode 100644
index 00000000..e584839e
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRAnalyticsConfiguration.m
@@ -0,0 +1,72 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "FIRAnalyticsConfiguration.h"
+
+#import "Private/FIRAnalyticsConfiguration+Internal.h"
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-implementations"
+@implementation FIRAnalyticsConfiguration
+#pragma clang diagnostic pop
+
++ (FIRAnalyticsConfiguration *)sharedInstance {
+ static FIRAnalyticsConfiguration *sharedInstance = nil;
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ sharedInstance = [[FIRAnalyticsConfiguration alloc] init];
+ });
+ return sharedInstance;
+}
+
+- (void)postNotificationName:(NSString *)name value:(id)value {
+ if (!name.length || !value) {
+ return;
+ }
+ [[NSNotificationCenter defaultCenter] postNotificationName:name
+ object:self
+ userInfo:@{name : value}];
+}
+
+- (void)setMinimumSessionInterval:(NSTimeInterval)minimumSessionInterval {
+ [self postNotificationName:kFIRAnalyticsConfigurationSetMinimumSessionIntervalNotification
+ value:@(minimumSessionInterval)];
+}
+
+- (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval {
+ [self postNotificationName:kFIRAnalyticsConfigurationSetSessionTimeoutIntervalNotification
+ value:@(sessionTimeoutInterval)];
+}
+
+- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled {
+ [self setAnalyticsCollectionEnabled:analyticsCollectionEnabled persistSetting:YES];
+}
+
+- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled
+ persistSetting:(BOOL)shouldPersist {
+ // Persist the measurementEnabledState. Use FIRAnalyticsEnabledState values instead of YES/NO.
+ FIRAnalyticsEnabledState analyticsEnabledState =
+ analyticsCollectionEnabled ? kFIRAnalyticsEnabledStateSetYes : kFIRAnalyticsEnabledStateSetNo;
+ if (shouldPersist) {
+ NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
+ [userDefaults setObject:@(analyticsEnabledState)
+ forKey:kFIRAPersistedConfigMeasurementEnabledStateKey];
+ [userDefaults synchronize];
+ }
+
+ [self postNotificationName:kFIRAnalyticsConfigurationSetEnabledNotification
+ value:@(analyticsCollectionEnabled)];
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRApp.m b/Pods/FirebaseCore/Firebase/Core/FIRApp.m
new file mode 100644
index 00000000..a38e8f33
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRApp.m
@@ -0,0 +1,829 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include
+
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "Private/FIRAnalyticsConfiguration+Internal.h"
+#import "Private/FIRAppInternal.h"
+#import "Private/FIRBundleUtil.h"
+#import "Private/FIRComponentContainerInternal.h"
+#import "Private/FIRLibrary.h"
+#import "Private/FIRLogger.h"
+#import "Private/FIROptionsInternal.h"
+
+NSString *const kFIRServiceAdMob = @"AdMob";
+NSString *const kFIRServiceAuth = @"Auth";
+NSString *const kFIRServiceAuthUI = @"AuthUI";
+NSString *const kFIRServiceCrash = @"Crash";
+NSString *const kFIRServiceDatabase = @"Database";
+NSString *const kFIRServiceDynamicLinks = @"DynamicLinks";
+NSString *const kFIRServiceFirestore = @"Firestore";
+NSString *const kFIRServiceFunctions = @"Functions";
+NSString *const kFIRServiceInstanceID = @"InstanceID";
+NSString *const kFIRServiceInvites = @"Invites";
+NSString *const kFIRServiceMessaging = @"Messaging";
+NSString *const kFIRServiceMeasurement = @"Measurement";
+NSString *const kFIRServicePerformance = @"Performance";
+NSString *const kFIRServiceRemoteConfig = @"RemoteConfig";
+NSString *const kFIRServiceStorage = @"Storage";
+NSString *const kGGLServiceAnalytics = @"Analytics";
+NSString *const kGGLServiceSignIn = @"SignIn";
+
+NSString *const kFIRDefaultAppName = @"__FIRAPP_DEFAULT";
+NSString *const kFIRAppReadyToConfigureSDKNotification = @"FIRAppReadyToConfigureSDKNotification";
+NSString *const kFIRAppDeleteNotification = @"FIRAppDeleteNotification";
+NSString *const kFIRAppIsDefaultAppKey = @"FIRAppIsDefaultAppKey";
+NSString *const kFIRAppNameKey = @"FIRAppNameKey";
+NSString *const kFIRGoogleAppIDKey = @"FIRGoogleAppIDKey";
+
+NSString *const kFIRGlobalAppDataCollectionEnabledDefaultsKeyFormat =
+ @"/google/firebase/global_data_collection_enabled:%@";
+NSString *const kFIRGlobalAppDataCollectionEnabledPlistKey =
+ @"FirebaseDataCollectionDefaultEnabled";
+
+NSString *const kFIRAppDiagnosticsNotification = @"FIRAppDiagnosticsNotification";
+
+NSString *const kFIRAppDiagnosticsConfigurationTypeKey = @"ConfigType";
+NSString *const kFIRAppDiagnosticsErrorKey = @"Error";
+NSString *const kFIRAppDiagnosticsFIRAppKey = @"FIRApp";
+NSString *const kFIRAppDiagnosticsSDKNameKey = @"SDKName";
+NSString *const kFIRAppDiagnosticsSDKVersionKey = @"SDKVersion";
+
+// Auth internal notification notification and key.
+NSString *const FIRAuthStateDidChangeInternalNotification =
+ @"FIRAuthStateDidChangeInternalNotification";
+NSString *const FIRAuthStateDidChangeInternalNotificationAppKey =
+ @"FIRAuthStateDidChangeInternalNotificationAppKey";
+NSString *const FIRAuthStateDidChangeInternalNotificationTokenKey =
+ @"FIRAuthStateDidChangeInternalNotificationTokenKey";
+NSString *const FIRAuthStateDidChangeInternalNotificationUIDKey =
+ @"FIRAuthStateDidChangeInternalNotificationUIDKey";
+
+/**
+ * The URL to download plist files.
+ */
+static NSString *const kPlistURL = @"https://console.firebase.google.com/";
+
+/**
+ * An array of all classes that registered as `FIRCoreConfigurable` in order to receive lifecycle
+ * events from Core.
+ */
+static NSMutableArray> *sRegisteredAsConfigurable;
+
+@interface FIRApp ()
+
+#ifdef DEBUG
+@property(nonatomic) BOOL alreadyOutputDataCollectionFlag;
+#endif // DEBUG
+
+@end
+
+@implementation FIRApp
+
+// This is necessary since our custom getter prevents `_options` from being created.
+@synthesize options = _options;
+
+static NSMutableDictionary *sAllApps;
+static FIRApp *sDefaultApp;
+static NSMutableDictionary *sLibraryVersions;
+
++ (void)configure {
+ FIROptions *options = [FIROptions defaultOptions];
+ if (!options) {
+ // Read the Info.plist to see if the flag is set. At this point we can't check any user defaults
+ // since the app isn't configured at all, so only rely on the Info.plist value.
+ NSNumber *collectionEnabledPlistValue = [[self class] readDataCollectionSwitchFromPlist];
+ if (collectionEnabledPlistValue == nil || [collectionEnabledPlistValue boolValue]) {
+ [[NSNotificationCenter defaultCenter]
+ postNotificationName:kFIRAppDiagnosticsNotification
+ object:nil
+ userInfo:@{
+ kFIRAppDiagnosticsConfigurationTypeKey : @(FIRConfigTypeCore),
+ kFIRAppDiagnosticsErrorKey : [FIRApp errorForMissingOptions]
+ }];
+ }
+
+ [NSException raise:kFirebaseCoreErrorDomain
+ format:@"`[FIRApp configure];` (`FirebaseApp.configure()` in Swift) could not find "
+ @"a valid GoogleService-Info.plist in your project. Please download one "
+ @"from %@.",
+ kPlistURL];
+ }
+ [FIRApp configureWithOptions:options];
+#if TARGET_OS_OSX || TARGET_OS_TV
+ FIRLogNotice(kFIRLoggerCore, @"I-COR000028",
+ @"tvOS and macOS SDK support is not part of the official Firebase product. "
+ @"Instead they are community supported. Details at "
+ @"https://github.com/firebase/firebase-ios-sdk/blob/master/README.md.");
+#endif
+}
+
++ (void)configureWithOptions:(FIROptions *)options {
+ if (!options) {
+ [NSException raise:kFirebaseCoreErrorDomain
+ format:@"Options is nil. Please pass a valid options."];
+ }
+ [FIRApp configureWithName:kFIRDefaultAppName options:options];
+}
+
++ (void)configureWithName:(NSString *)name options:(FIROptions *)options {
+ if (!name || !options) {
+ [NSException raise:kFirebaseCoreErrorDomain format:@"Neither name nor options can be nil."];
+ }
+ if (name.length == 0) {
+ [NSException raise:kFirebaseCoreErrorDomain format:@"Name cannot be empty."];
+ }
+
+ if ([name isEqualToString:kFIRDefaultAppName]) {
+ if (sDefaultApp) {
+ [NSException raise:kFirebaseCoreErrorDomain
+ format:@"Default app has already been configured."];
+ }
+
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000001", @"Configuring the default app.");
+ } else {
+ // Validate the app name and ensure it hasn't been configured already.
+ for (NSUInteger charIndex = 0; charIndex < name.length; charIndex++) {
+ char character = [name characterAtIndex:charIndex];
+ if (!((character >= 'a' && character <= 'z') || (character >= 'A' && character <= 'Z') ||
+ (character >= '0' && character <= '9') || character == '_' || character == '-')) {
+ [NSException raise:kFirebaseCoreErrorDomain
+ format:@"App name can only contain alphanumeric (A-Z,a-z,0-9), "
+ @"hyphen (-), and underscore (_) characters"];
+ }
+ }
+
+ @synchronized(self) {
+ if (sAllApps && sAllApps[name]) {
+ [NSException raise:kFirebaseCoreErrorDomain
+ format:@"App named %@ has already been configured.", name];
+ }
+ }
+
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000002", @"Configuring app named %@", name);
+ }
+
+ @synchronized(self) {
+ FIRApp *app = [[FIRApp alloc] initInstanceWithName:name options:options];
+ if (app.isDefaultApp) {
+ sDefaultApp = app;
+ }
+
+ [FIRApp addAppToAppDictionary:app];
+ [FIRApp sendNotificationsToSDKs:app];
+ }
+}
+
++ (FIRApp *)defaultApp {
+ if (sDefaultApp) {
+ return sDefaultApp;
+ }
+ FIRLogError(kFIRLoggerCore, @"I-COR000003",
+ @"The default Firebase app has not yet been "
+ @"configured. Add `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) to your "
+ @"application initialization. Read more: https://goo.gl/ctyzm8.");
+ return nil;
+}
+
++ (FIRApp *)appNamed:(NSString *)name {
+ @synchronized(self) {
+ if (sAllApps) {
+ FIRApp *app = sAllApps[name];
+ if (app) {
+ return app;
+ }
+ }
+ FIRLogError(kFIRLoggerCore, @"I-COR000004", @"App with name %@ does not exist.", name);
+ return nil;
+ }
+}
+
++ (NSDictionary *)allApps {
+ @synchronized(self) {
+ if (!sAllApps) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000005", @"No app has been configured yet.");
+ }
+ return [sAllApps copy];
+ }
+}
+
+// Public only for tests
++ (void)resetApps {
+ @synchronized(self) {
+ sDefaultApp = nil;
+ [sAllApps removeAllObjects];
+ sAllApps = nil;
+ [sLibraryVersions removeAllObjects];
+ sLibraryVersions = nil;
+ }
+}
+
+- (void)deleteApp:(FIRAppVoidBoolCallback)completion {
+ @synchronized([self class]) {
+ if (sAllApps && sAllApps[self.name]) {
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000006", @"Deleting app named %@", self.name);
+
+ // Remove all cached instances from the container before deleting the app.
+ [self.container removeAllCachedInstances];
+
+ [sAllApps removeObjectForKey:self.name];
+ [self clearDataCollectionSwitchFromUserDefaults];
+ if ([self.name isEqualToString:kFIRDefaultAppName]) {
+ sDefaultApp = nil;
+ }
+ NSDictionary *appInfoDict = @{kFIRAppNameKey : self.name};
+ [[NSNotificationCenter defaultCenter] postNotificationName:kFIRAppDeleteNotification
+ object:[self class]
+ userInfo:appInfoDict];
+ completion(YES);
+ } else {
+ FIRLogError(kFIRLoggerCore, @"I-COR000007", @"App does not exist.");
+ completion(NO);
+ }
+ }
+}
+
++ (void)addAppToAppDictionary:(FIRApp *)app {
+ if (!sAllApps) {
+ sAllApps = [NSMutableDictionary dictionary];
+ }
+ if ([app configureCore]) {
+ sAllApps[app.name] = app;
+ } else {
+ [NSException raise:kFirebaseCoreErrorDomain
+ format:@"Configuration fails. It may be caused by an invalid GOOGLE_APP_ID in "
+ @"GoogleService-Info.plist or set in the customized options."];
+ }
+}
+
+- (instancetype)initInstanceWithName:(NSString *)name options:(FIROptions *)options {
+ self = [super init];
+ if (self) {
+ _name = [name copy];
+ _options = [options copy];
+ _options.editingLocked = YES;
+ _isDefaultApp = [name isEqualToString:kFIRDefaultAppName];
+ _container = [[FIRComponentContainer alloc] initWithApp:self];
+ }
+ return self;
+}
+
+- (BOOL)configureCore {
+ [self checkExpectedBundleID];
+ if (![self isAppIDValid]) {
+ if (_options.usingOptionsFromDefaultPlist && [self isDataCollectionDefaultEnabled]) {
+ [[NSNotificationCenter defaultCenter]
+ postNotificationName:kFIRAppDiagnosticsNotification
+ object:nil
+ userInfo:@{
+ kFIRAppDiagnosticsConfigurationTypeKey : @(FIRConfigTypeCore),
+ kFIRAppDiagnosticsErrorKey : [FIRApp errorForInvalidAppID],
+ }];
+ }
+ return NO;
+ }
+
+ if ([self isDataCollectionDefaultEnabled]) {
+ [[NSNotificationCenter defaultCenter]
+ postNotificationName:kFIRAppDiagnosticsNotification
+ object:nil
+ userInfo:@{
+ kFIRAppDiagnosticsConfigurationTypeKey : @(FIRConfigTypeCore),
+ kFIRAppDiagnosticsFIRAppKey : self
+ }];
+ }
+
+#if TARGET_OS_IOS
+ // Initialize the Analytics once there is a valid options under default app. Analytics should
+ // always initialize first by itself before the other SDKs.
+ if ([self.name isEqualToString:kFIRDefaultAppName]) {
+ Class firAnalyticsClass = NSClassFromString(@"FIRAnalytics");
+ if (!firAnalyticsClass) {
+ FIRLogWarning(kFIRLoggerCore, @"I-COR000022",
+ @"Firebase Analytics is not available. To add it, include Firebase/Core in the "
+ @"Podfile or add FirebaseAnalytics.framework to the Link Build Phase");
+ } else {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wundeclared-selector"
+ SEL startWithConfigurationSelector = @selector(startWithConfiguration:options:);
+#pragma clang diagnostic pop
+ if ([firAnalyticsClass respondsToSelector:startWithConfigurationSelector]) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ [firAnalyticsClass performSelector:startWithConfigurationSelector
+ withObject:[FIRConfiguration sharedInstance].analyticsConfiguration
+ withObject:_options];
+#pragma clang diagnostic pop
+ }
+ }
+ }
+#endif
+
+ return YES;
+}
+
+- (FIROptions *)options {
+ return [_options copy];
+}
+
+- (void)setDataCollectionDefaultEnabled:(BOOL)dataCollectionDefaultEnabled {
+#ifdef DEBUG
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000034", @"Explicitly %@ data collection flag.",
+ dataCollectionDefaultEnabled ? @"enabled" : @"disabled");
+ self.alreadyOutputDataCollectionFlag = YES;
+#endif // DEBUG
+
+ NSString *key =
+ [NSString stringWithFormat:kFIRGlobalAppDataCollectionEnabledDefaultsKeyFormat, self.name];
+ [[NSUserDefaults standardUserDefaults] setBool:dataCollectionDefaultEnabled forKey:key];
+
+ // Core also controls the FirebaseAnalytics flag, so check if the Analytics flags are set
+ // within FIROptions and change the Analytics value if necessary. Analytics only works with the
+ // default app, so return if this isn't the default app.
+ if (!self.isDefaultApp) {
+ return;
+ }
+
+ // Check if the Analytics flag is explicitly set. If so, no further actions are necessary.
+ if ([self.options isAnalyticsCollectionExpicitlySet]) {
+ return;
+ }
+
+ // The Analytics flag has not been explicitly set, so update with the value being set.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ [[FIRAnalyticsConfiguration sharedInstance]
+ setAnalyticsCollectionEnabled:dataCollectionDefaultEnabled
+ persistSetting:NO];
+#pragma clang diagnostic pop
+}
+
+- (BOOL)isDataCollectionDefaultEnabled {
+ // Check if it's been manually set before in code, and use that as the higher priority value.
+ NSNumber *defaultsObject = [[self class] readDataCollectionSwitchFromUserDefaultsForApp:self];
+ if (defaultsObject != nil) {
+#ifdef DEBUG
+ if (!self.alreadyOutputDataCollectionFlag) {
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000031", @"Data Collection flag is %@ in user defaults.",
+ [defaultsObject boolValue] ? @"enabled" : @"disabled");
+ self.alreadyOutputDataCollectionFlag = YES;
+ }
+#endif // DEBUG
+ return [defaultsObject boolValue];
+ }
+
+ // Read the Info.plist to see if the flag is set. If it's not set, it should default to `YES`.
+ // As per the implementation of `readDataCollectionSwitchFromPlist`, it's a cached value and has
+ // no performance impact calling multiple times.
+ NSNumber *collectionEnabledPlistValue = [[self class] readDataCollectionSwitchFromPlist];
+ if (collectionEnabledPlistValue != nil) {
+#ifdef DEBUG
+ if (!self.alreadyOutputDataCollectionFlag) {
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000032", @"Data Collection flag is %@ in plist.",
+ [collectionEnabledPlistValue boolValue] ? @"enabled" : @"disabled");
+ self.alreadyOutputDataCollectionFlag = YES;
+ }
+#endif // DEBUG
+ return [collectionEnabledPlistValue boolValue];
+ }
+
+#ifdef DEBUG
+ if (!self.alreadyOutputDataCollectionFlag) {
+ FIRLogDebug(kFIRLoggerCore, @"I-COR000033", @"Data Collection flag is not set.");
+ self.alreadyOutputDataCollectionFlag = YES;
+ }
+#endif // DEBUG
+ return YES;
+}
+
+#pragma mark - private
+
++ (void)sendNotificationsToSDKs:(FIRApp *)app {
+ // TODO: Remove this notification once all SDKs are registered with `FIRCoreConfigurable`.
+ NSNumber *isDefaultApp = [NSNumber numberWithBool:app.isDefaultApp];
+ NSDictionary *appInfoDict = @{
+ kFIRAppNameKey : app.name,
+ kFIRAppIsDefaultAppKey : isDefaultApp,
+ kFIRGoogleAppIDKey : app.options.googleAppID
+ };
+ [[NSNotificationCenter defaultCenter] postNotificationName:kFIRAppReadyToConfigureSDKNotification
+ object:self
+ userInfo:appInfoDict];
+
+ // This is the new way of sending information to SDKs.
+ // TODO: Do we want this on a background thread, maybe?
+ @synchronized(self) {
+ for (Class library in sRegisteredAsConfigurable) {
+ [library configureWithApp:app];
+ }
+ }
+}
+
++ (NSError *)errorForMissingOptions {
+ NSDictionary *errorDict = @{
+ NSLocalizedDescriptionKey :
+ @"Unable to parse GoogleService-Info.plist in order to configure services.",
+ NSLocalizedRecoverySuggestionErrorKey :
+ @"Check formatting and location of GoogleService-Info.plist."
+ };
+ return [NSError errorWithDomain:kFirebaseCoreErrorDomain
+ code:FIRErrorCodeInvalidPlistFile
+ userInfo:errorDict];
+}
+
++ (NSError *)errorForSubspecConfigurationFailureWithDomain:(NSString *)domain
+ errorCode:(FIRErrorCode)code
+ service:(NSString *)service
+ reason:(NSString *)reason {
+ NSString *description =
+ [NSString stringWithFormat:@"Configuration failed for service %@.", service];
+ NSDictionary *errorDict =
+ @{NSLocalizedDescriptionKey : description, NSLocalizedFailureReasonErrorKey : reason};
+ return [NSError errorWithDomain:domain code:code userInfo:errorDict];
+}
+
++ (NSError *)errorForInvalidAppID {
+ NSDictionary *errorDict = @{
+ NSLocalizedDescriptionKey : @"Unable to validate Google App ID",
+ NSLocalizedRecoverySuggestionErrorKey :
+ @"Check formatting and location of GoogleService-Info.plist or GoogleAppID set in the "
+ @"customized options."
+ };
+ return [NSError errorWithDomain:kFirebaseCoreErrorDomain
+ code:FIRErrorCodeInvalidAppID
+ userInfo:errorDict];
+}
+
++ (BOOL)isDefaultAppConfigured {
+ return (sDefaultApp != nil);
+}
+
++ (void)registerLibrary:(nonnull NSString *)name withVersion:(nonnull NSString *)version {
+ // Create the set of characters which aren't allowed, only if this feature is used.
+ NSMutableCharacterSet *allowedSet = [NSMutableCharacterSet alphanumericCharacterSet];
+ [allowedSet addCharactersInString:@"-_."];
+ NSCharacterSet *disallowedSet = [allowedSet invertedSet];
+ // Make sure the library name and version strings do not contain unexpected characters, and
+ // add the name/version pair to the dictionary.
+ if ([name rangeOfCharacterFromSet:disallowedSet].location == NSNotFound &&
+ [version rangeOfCharacterFromSet:disallowedSet].location == NSNotFound) {
+ @synchronized(self) {
+ if (!sLibraryVersions) {
+ sLibraryVersions = [[NSMutableDictionary alloc] init];
+ }
+ sLibraryVersions[name] = version;
+ }
+ } else {
+ FIRLogError(kFIRLoggerCore, @"I-COR000027",
+ @"The library name (%@) or version number (%@) contain invalid characters. "
+ @"Only alphanumeric, dash, underscore and period characters are allowed.",
+ name, version);
+ }
+}
+
++ (void)registerInternalLibrary:(nonnull Class)library
+ withName:(nonnull NSString *)name
+ withVersion:(nonnull NSString *)version {
+ // This is called at +load time, keep the work to a minimum.
+
+ // Ensure the class given conforms to the proper protocol.
+ if (![(Class)library conformsToProtocol:@protocol(FIRLibrary)] ||
+ ![(Class)library respondsToSelector:@selector(componentsToRegister)]) {
+ [NSException raise:NSInvalidArgumentException
+ format:@"Class %@ attempted to register components, but it does not conform to "
+ @"`FIRLibrary or provide a `componentsToRegister:` method.",
+ library];
+ }
+
+ [FIRComponentContainer registerAsComponentRegistrant:library];
+ if ([(Class)library respondsToSelector:@selector(configureWithApp:)]) {
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ sRegisteredAsConfigurable = [[NSMutableArray alloc] init];
+ });
+ @synchronized(self) {
+ [sRegisteredAsConfigurable addObject:library];
+ }
+ }
+ [self registerLibrary:name withVersion:version];
+}
+
++ (NSString *)firebaseUserAgent {
+ @synchronized(self) {
+ NSMutableArray *libraries =
+ [[NSMutableArray alloc] initWithCapacity:sLibraryVersions.count];
+ for (NSString *libraryName in sLibraryVersions) {
+ [libraries addObject:[NSString stringWithFormat:@"%@/%@", libraryName,
+ sLibraryVersions[libraryName]]];
+ }
+ [libraries sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
+ return [libraries componentsJoinedByString:@" "];
+ }
+}
+
+- (void)checkExpectedBundleID {
+ NSArray *bundles = [FIRBundleUtil relevantBundles];
+ NSString *expectedBundleID = [self expectedBundleID];
+ // The checking is only done when the bundle ID is provided in the serviceInfo dictionary for
+ // backward compatibility.
+ if (expectedBundleID != nil && ![FIRBundleUtil hasBundleIdentifierPrefix:expectedBundleID
+ inBundles:bundles]) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000008",
+ @"The project's Bundle ID is inconsistent with "
+ @"either the Bundle ID in '%@.%@', or the Bundle ID in the options if you are "
+ @"using a customized options. To ensure that everything can be configured "
+ @"correctly, you may need to make the Bundle IDs consistent. To continue with this "
+ @"plist file, you may change your app's bundle identifier to '%@'. Or you can "
+ @"download a new configuration file that matches your bundle identifier from %@ "
+ @"and replace the current one.",
+ kServiceInfoFileName, kServiceInfoFileType, expectedBundleID, kPlistURL);
+ }
+}
+
+#pragma mark - private - App ID Validation
+
+/**
+ * Validates the format and fingerprint of the app ID contained in GOOGLE_APP_ID in the plist file.
+ * This is the main method for validating app ID.
+ *
+ * @return YES if the app ID fulfills the expected format and fingerprint, NO otherwise.
+ */
+- (BOOL)isAppIDValid {
+ NSString *appID = _options.googleAppID;
+ BOOL isValid = [FIRApp validateAppID:appID];
+ if (!isValid) {
+ NSString *expectedBundleID = [self expectedBundleID];
+ FIRLogError(kFIRLoggerCore, @"I-COR000009",
+ @"The GOOGLE_APP_ID either in the plist file "
+ @"'%@.%@' or the one set in the customized options is invalid. If you are using "
+ @"the plist file, use the iOS version of bundle identifier to download the file, "
+ @"and do not manually edit the GOOGLE_APP_ID. You may change your app's bundle "
+ @"identifier to '%@'. Or you can download a new configuration file that matches "
+ @"your bundle identifier from %@ and replace the current one.",
+ kServiceInfoFileName, kServiceInfoFileType, expectedBundleID, kPlistURL);
+ };
+ return isValid;
+}
+
++ (BOOL)validateAppID:(NSString *)appID {
+ // Failing validation only occurs when we are sure we are looking at a V2 app ID and it does not
+ // have a valid fingerprint, otherwise we just warn about the potential issue.
+ if (!appID.length) {
+ return NO;
+ }
+
+ NSScanner *stringScanner = [NSScanner scannerWithString:appID];
+ stringScanner.charactersToBeSkipped = nil;
+
+ NSString *appIDVersion;
+ if (![stringScanner scanCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet]
+ intoString:&appIDVersion]) {
+ return NO;
+ }
+
+ if (![stringScanner scanString:@":" intoString:NULL]) {
+ // appIDVersion must be separated by ":"
+ return NO;
+ }
+
+ NSArray *knownVersions = @[ @"1" ];
+ if (![knownVersions containsObject:appIDVersion]) {
+ // Permit unknown yet properly formatted app ID versions.
+ FIRLogInfo(kFIRLoggerCore, @"I-COR000010", @"Unknown GOOGLE_APP_ID version: %@", appIDVersion);
+ return YES;
+ }
+
+ if (![self validateAppIDFormat:appID withVersion:appIDVersion]) {
+ return NO;
+ }
+
+ if (![self validateAppIDFingerprint:appID withVersion:appIDVersion]) {
+ return NO;
+ }
+
+ return YES;
+}
+
++ (NSString *)actualBundleID {
+ return [[NSBundle mainBundle] bundleIdentifier];
+}
+
+/**
+ * Validates that the format of the app ID string is what is expected based on the supplied version.
+ * The version must end in ":".
+ *
+ * For v1 app ids the format is expected to be
+ * '::ios:'.
+ *
+ * This method does not verify that the contents of the app id are correct, just that they fulfill
+ * the expected format.
+ *
+ * @param appID Contents of GOOGLE_APP_ID from the plist file.
+ * @param version Indicates what version of the app id format this string should be.
+ * @return YES if provided string fufills the expected format, NO otherwise.
+ */
++ (BOOL)validateAppIDFormat:(NSString *)appID withVersion:(NSString *)version {
+ if (!appID.length || !version.length) {
+ return NO;
+ }
+
+ NSScanner *stringScanner = [NSScanner scannerWithString:appID];
+ stringScanner.charactersToBeSkipped = nil;
+
+ // Skip version part
+ // '**::ios:'
+ if (![stringScanner scanString:version intoString:NULL]) {
+ // The version part is missing or mismatched
+ return NO;
+ }
+
+ // Validate version part (see part between '*' symbols below)
+ // '*:*:ios:'
+ if (![stringScanner scanString:@":" intoString:NULL]) {
+ // appIDVersion must be separated by ":"
+ return NO;
+ }
+
+ // Validate version part (see part between '*' symbols below)
+ // ':**:ios:'.
+ NSInteger projectNumber = NSNotFound;
+ if (![stringScanner scanInteger:&projectNumber]) {
+ // NO project number found.
+ return NO;
+ }
+
+ // Validate version part (see part between '*' symbols below)
+ // ':*:*ios:'.
+ if (![stringScanner scanString:@":" intoString:NULL]) {
+ // The project number must be separated by ":"
+ return NO;
+ }
+
+ // Validate version part (see part between '*' symbols below)
+ // '::*ios*:'.
+ NSString *platform;
+ if (![stringScanner scanUpToString:@":" intoString:&platform]) {
+ return NO;
+ }
+
+ if (![platform isEqualToString:@"ios"]) {
+ // The platform must be @"ios"
+ return NO;
+ }
+
+ // Validate version part (see part between '*' symbols below)
+ // '::ios*:*'.
+ if (![stringScanner scanString:@":" intoString:NULL]) {
+ // The platform must be separated by ":"
+ return NO;
+ }
+
+ // Validate version part (see part between '*' symbols below)
+ // '::ios:**'.
+ unsigned long long fingerprint = NSNotFound;
+ if (![stringScanner scanHexLongLong:&fingerprint]) {
+ // Fingerprint part is missing
+ return NO;
+ }
+
+ if (!stringScanner.isAtEnd) {
+ // There are not allowed characters in the fingerprint part
+ return NO;
+ }
+
+ return YES;
+}
+
+/**
+ * Validates that the fingerprint of the app ID string is what is expected based on the supplied
+ * version.
+ *
+ * Note that the v1 hash algorithm is not permitted on the client and cannot be fully validated.
+ *
+ * @param appID Contents of GOOGLE_APP_ID from the plist file.
+ * @param version Indicates what version of the app id format this string should be.
+ * @return YES if provided string fufills the expected fingerprint and the version is known, NO
+ * otherwise.
+ */
++ (BOOL)validateAppIDFingerprint:(NSString *)appID withVersion:(NSString *)version {
+ // Extract the supplied fingerprint from the supplied app ID.
+ // This assumes the app ID format is the same for all known versions below. If the app ID format
+ // changes in future versions, the tokenizing of the app ID format will need to take into account
+ // the version of the app ID.
+ NSArray *components = [appID componentsSeparatedByString:@":"];
+ if (components.count != 4) {
+ return NO;
+ }
+
+ NSString *suppliedFingerprintString = components[3];
+ if (!suppliedFingerprintString.length) {
+ return NO;
+ }
+
+ uint64_t suppliedFingerprint;
+ NSScanner *scanner = [NSScanner scannerWithString:suppliedFingerprintString];
+ if (![scanner scanHexLongLong:&suppliedFingerprint]) {
+ return NO;
+ }
+
+ if ([version isEqual:@"1"]) {
+ // The v1 hash algorithm is not permitted on the client so the actual hash cannot be validated.
+ return YES;
+ }
+
+ // Unknown version.
+ return NO;
+}
+
+- (NSString *)expectedBundleID {
+ return _options.bundleID;
+}
+
+// end App ID validation
+
+#pragma mark - Reading From Plist & User Defaults
+
+/**
+ * Clears the data collection switch from the standard NSUserDefaults for easier testing and
+ * readability.
+ */
+- (void)clearDataCollectionSwitchFromUserDefaults {
+ NSString *key =
+ [NSString stringWithFormat:kFIRGlobalAppDataCollectionEnabledDefaultsKeyFormat, self.name];
+ [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
+}
+
+/**
+ * Reads the data collection switch from the standard NSUserDefaults for easier testing and
+ * readability.
+ */
++ (nullable NSNumber *)readDataCollectionSwitchFromUserDefaultsForApp:(FIRApp *)app {
+ // Read the object in user defaults, and only return if it's an NSNumber.
+ NSString *key =
+ [NSString stringWithFormat:kFIRGlobalAppDataCollectionEnabledDefaultsKeyFormat, app.name];
+ id collectionEnabledDefaultsObject = [[NSUserDefaults standardUserDefaults] objectForKey:key];
+ if ([collectionEnabledDefaultsObject isKindOfClass:[NSNumber class]]) {
+ return collectionEnabledDefaultsObject;
+ }
+
+ return nil;
+}
+
+/**
+ * Reads the data collection switch from the Info.plist for easier testing and readability. Will
+ * only read once from the plist and return the cached value.
+ */
++ (nullable NSNumber *)readDataCollectionSwitchFromPlist {
+ static NSNumber *collectionEnabledPlistObject;
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ // Read the data from the `Info.plist`, only assign it if it's there and an NSNumber.
+ id plistValue = [[NSBundle mainBundle]
+ objectForInfoDictionaryKey:kFIRGlobalAppDataCollectionEnabledPlistKey];
+ if (plistValue && [plistValue isKindOfClass:[NSNumber class]]) {
+ collectionEnabledPlistObject = (NSNumber *)plistValue;
+ }
+ });
+
+ return collectionEnabledPlistObject;
+}
+
+#pragma mark - Sending Logs
+
+- (void)sendLogsWithServiceName:(NSString *)serviceName
+ version:(NSString *)version
+ error:(NSError *)error {
+ // If the user has manually turned off data collection, return and don't send logs.
+ if (![self isDataCollectionDefaultEnabled]) {
+ return;
+ }
+
+ NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] initWithDictionary:@{
+ kFIRAppDiagnosticsConfigurationTypeKey : @(FIRConfigTypeSDK),
+ kFIRAppDiagnosticsSDKNameKey : serviceName,
+ kFIRAppDiagnosticsSDKVersionKey : version,
+ kFIRAppDiagnosticsFIRAppKey : self
+ }];
+ if (error) {
+ userInfo[kFIRAppDiagnosticsErrorKey] = error;
+ }
+ [[NSNotificationCenter defaultCenter] postNotificationName:kFIRAppDiagnosticsNotification
+ object:nil
+ userInfo:userInfo];
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRAppAssociationRegistration.m b/Pods/FirebaseCore/Firebase/Core/FIRAppAssociationRegistration.m
new file mode 100644
index 00000000..2aecdabe
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRAppAssociationRegistration.m
@@ -0,0 +1,47 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "Private/FIRAppAssociationRegistration.h"
+
+#import
+
+@implementation FIRAppAssociationRegistration
+
++ (nullable id)registeredObjectWithHost:(id)host
+ key:(NSString *)key
+ creationBlock:(id _Nullable (^)(void))creationBlock {
+ @synchronized(self) {
+ SEL dictKey = @selector(registeredObjectWithHost:key:creationBlock:);
+ NSMutableDictionary *objectsByKey = objc_getAssociatedObject(host, dictKey);
+ if (!objectsByKey) {
+ objectsByKey = [[NSMutableDictionary alloc] init];
+ objc_setAssociatedObject(host, dictKey, objectsByKey, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+ }
+ id obj = objectsByKey[key];
+ NSValue *creationBlockBeingCalled = [NSValue valueWithPointer:dictKey];
+ if (obj) {
+ if ([creationBlockBeingCalled isEqual:obj]) {
+ [NSException raise:@"Reentering registeredObjectWithHost:key:creationBlock: not allowed"
+ format:@"host: %@ key: %@", host, key];
+ }
+ return obj;
+ }
+ objectsByKey[key] = creationBlockBeingCalled;
+ obj = creationBlock();
+ objectsByKey[key] = obj;
+ return obj;
+ }
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRBundleUtil.m b/Pods/FirebaseCore/Firebase/Core/FIRBundleUtil.m
new file mode 100644
index 00000000..841833a8
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRBundleUtil.m
@@ -0,0 +1,75 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "Private/FIRBundleUtil.h"
+
+#import
+
+@implementation FIRBundleUtil
+
++ (NSArray *)relevantBundles {
+ return @[ [NSBundle mainBundle], [NSBundle bundleForClass:[self class]] ];
+}
+
++ (NSString *)optionsDictionaryPathWithResourceName:(NSString *)resourceName
+ andFileType:(NSString *)fileType
+ inBundles:(NSArray *)bundles {
+ // Loop through all bundles to find the config dict.
+ for (NSBundle *bundle in bundles) {
+ NSString *path = [bundle pathForResource:resourceName ofType:fileType];
+ // Use the first one we find.
+ if (path) {
+ return path;
+ }
+ }
+ return nil;
+}
+
++ (NSArray *)relevantURLSchemes {
+ NSMutableArray *result = [[NSMutableArray alloc] init];
+ for (NSBundle *bundle in [[self class] relevantBundles]) {
+ NSArray *urlTypes = [bundle objectForInfoDictionaryKey:@"CFBundleURLTypes"];
+ for (NSDictionary *urlType in urlTypes) {
+ [result addObjectsFromArray:urlType[@"CFBundleURLSchemes"]];
+ }
+ }
+ return result;
+}
+
++ (BOOL)hasBundleIdentifierPrefix:(NSString *)bundleIdentifier inBundles:(NSArray *)bundles {
+ for (NSBundle *bundle in bundles) {
+ // This allows app extensions that have the app's bundle as their prefix to pass this test.
+ NSString *applicationBundleIdentifier =
+ [GULAppEnvironmentUtil isAppExtension]
+ ? [self bundleIdentifierByRemovingLastPartFrom:bundleIdentifier]
+ : bundleIdentifier;
+
+ if ([applicationBundleIdentifier isEqualToString:bundle.bundleIdentifier]) {
+ return YES;
+ }
+ }
+ return NO;
+}
+
++ (NSString *)bundleIdentifierByRemovingLastPartFrom:(NSString *)bundleIdentifier {
+ NSString *bundleIDComponentsSeparator = @".";
+
+ NSMutableArray *bundleIDComponents =
+ [[bundleIdentifier componentsSeparatedByString:bundleIDComponentsSeparator] mutableCopy];
+ [bundleIDComponents removeLastObject];
+
+ return [bundleIDComponents componentsJoinedByString:bundleIDComponentsSeparator];
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRComponent.m b/Pods/FirebaseCore/Firebase/Core/FIRComponent.m
new file mode 100644
index 00000000..2474d1aa
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRComponent.m
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "Private/FIRComponent.h"
+
+#import "Private/FIRComponentContainer.h"
+#import "Private/FIRDependency.h"
+
+@interface FIRComponent ()
+
+- (instancetype)initWithProtocol:(Protocol *)protocol
+ instantiationTiming:(FIRInstantiationTiming)instantiationTiming
+ dependencies:(NSArray *)dependencies
+ creationBlock:(FIRComponentCreationBlock)creationBlock;
+
+@end
+
+@implementation FIRComponent
+
++ (instancetype)componentWithProtocol:(Protocol *)protocol
+ creationBlock:(FIRComponentCreationBlock)creationBlock {
+ return [[FIRComponent alloc] initWithProtocol:protocol
+ instantiationTiming:FIRInstantiationTimingLazy
+ dependencies:@[]
+ creationBlock:creationBlock];
+}
+
++ (instancetype)componentWithProtocol:(Protocol *)protocol
+ instantiationTiming:(FIRInstantiationTiming)instantiationTiming
+ dependencies:(NSArray *)dependencies
+ creationBlock:(FIRComponentCreationBlock)creationBlock {
+ return [[FIRComponent alloc] initWithProtocol:protocol
+ instantiationTiming:instantiationTiming
+ dependencies:dependencies
+ creationBlock:creationBlock];
+}
+
+- (instancetype)initWithProtocol:(Protocol *)protocol
+ instantiationTiming:(FIRInstantiationTiming)instantiationTiming
+ dependencies:(NSArray *)dependencies
+ creationBlock:(FIRComponentCreationBlock)creationBlock {
+ self = [super init];
+ if (self) {
+ _protocol = protocol;
+ _instantiationTiming = instantiationTiming;
+ _dependencies = [dependencies copy];
+ _creationBlock = creationBlock;
+ }
+ return self;
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRComponentContainer.m b/Pods/FirebaseCore/Firebase/Core/FIRComponentContainer.m
new file mode 100644
index 00000000..1977d0e3
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRComponentContainer.m
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "Private/FIRComponentContainer.h"
+
+#import "Private/FIRAppInternal.h"
+#import "Private/FIRComponent.h"
+#import "Private/FIRLibrary.h"
+#import "Private/FIRLogger.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FIRComponentContainer ()
+
+/// The dictionary of components that are registered for a particular app. The key is an NSString
+/// of the protocol.
+@property(nonatomic, strong) NSMutableDictionary *components;
+
+/// Cached instances of components that requested to be cached.
+@property(nonatomic, strong) NSMutableDictionary *cachedInstances;
+
+@end
+
+@implementation FIRComponentContainer
+
+// Collection of all classes that register to provide components.
+static NSMutableSet *sFIRComponentRegistrants;
+
+#pragma mark - Public Registration
+
++ (void)registerAsComponentRegistrant:(Class)klass {
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ sFIRComponentRegistrants = [[NSMutableSet alloc] init];
+ });
+
+ [self registerAsComponentRegistrant:klass inSet:sFIRComponentRegistrants];
+}
+
++ (void)registerAsComponentRegistrant:(Class)klass
+ inSet:(NSMutableSet *)allRegistrants {
+ [allRegistrants addObject:klass];
+}
+
+#pragma mark - Internal Initialization
+
+- (instancetype)initWithApp:(FIRApp *)app {
+ return [self initWithApp:app registrants:sFIRComponentRegistrants];
+}
+
+- (instancetype)initWithApp:(FIRApp *)app registrants:(NSMutableSet *)allRegistrants {
+ self = [super init];
+ if (self) {
+ _app = app;
+ _cachedInstances = [NSMutableDictionary dictionary];
+ _components = [NSMutableDictionary dictionary];
+
+ [self populateComponentsFromRegisteredClasses:allRegistrants forApp:app];
+ }
+ return self;
+}
+
+- (void)populateComponentsFromRegisteredClasses:(NSSet *)classes forApp:(FIRApp *)app {
+ // Loop through the verified component registrants and populate the components array.
+ for (Class klass in classes) {
+ // Loop through all the components being registered and store them as appropriate.
+ // Classes which do not provide functionality should use a dummy FIRComponentRegistrant
+ // protocol.
+ for (FIRComponent *component in [klass componentsToRegister]) {
+ // Check if the component has been registered before, and error out if so.
+ NSString *protocolName = NSStringFromProtocol(component.protocol);
+ if (self.components[protocolName]) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000029",
+ @"Attempted to register protocol %@, but it already has an implementation.",
+ protocolName);
+ continue;
+ }
+
+ // Store the creation block for later usage.
+ self.components[protocolName] = component.creationBlock;
+
+ // Instantiate the
+ BOOL shouldInstantiateEager =
+ (component.instantiationTiming == FIRInstantiationTimingAlwaysEager);
+ BOOL shouldInstantiateDefaultEager =
+ (component.instantiationTiming == FIRInstantiationTimingEagerInDefaultApp &&
+ [app isDefaultApp]);
+ if (shouldInstantiateEager || shouldInstantiateDefaultEager) {
+ [self instantiateInstanceForProtocol:component.protocol withBlock:component.creationBlock];
+ }
+ }
+ }
+}
+
+#pragma mark - Instance Creation
+
+/// Instantiate an instance of a class that conforms to the specified protocol.
+/// This will:
+/// - Call the block to create an instance if possible,
+/// - Validate that the instance returned conforms to the protocol it claims to,
+/// - Cache the instance if the block requests it
+- (nullable id)instantiateInstanceForProtocol:(Protocol *)protocol
+ withBlock:(FIRComponentCreationBlock)creationBlock {
+ if (!creationBlock) {
+ return nil;
+ }
+
+ // Create an instance using the creation block.
+ BOOL shouldCache = NO;
+ id instance = creationBlock(self, &shouldCache);
+ if (!instance) {
+ return nil;
+ }
+
+ // An instance was created, validate that it conforms to the protocol it claims to.
+ NSString *protocolName = NSStringFromProtocol(protocol);
+ if (![instance conformsToProtocol:protocol]) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000030",
+ @"An instance conforming to %@ was requested, but the instance provided does not "
+ @"conform to the protocol",
+ protocolName);
+ }
+
+ // The instance is ready to be returned, but check if it should be cached first before returning.
+ if (shouldCache) {
+ self.cachedInstances[protocolName] = instance;
+ }
+
+ return instance;
+}
+
+#pragma mark - Internal Retrieval
+
+- (nullable id)instanceForProtocol:(Protocol *)protocol {
+ // Check if there is a cached instance, and return it if so.
+ NSString *protocolName = NSStringFromProtocol(protocol);
+ id cachedInstance = self.cachedInstances[protocolName];
+ if (cachedInstance) {
+ return cachedInstance;
+ }
+
+ // Use the creation block to instantiate an instance and return it.
+ FIRComponentCreationBlock creationBlock = self.components[protocolName];
+ return [self instantiateInstanceForProtocol:protocol withBlock:creationBlock];
+}
+
+#pragma mark - Lifecycle
+
+- (void)removeAllCachedInstances {
+ // Loop through the cache and notify each instance that is a maintainer to clean up after itself.
+ for (id instance in self.cachedInstances.allValues) {
+ if ([instance conformsToProtocol:@protocol(FIRComponentLifecycleMaintainer)] &&
+ [instance respondsToSelector:@selector(appWillBeDeleted:)]) {
+ [instance appWillBeDeleted:self.app];
+ }
+ }
+
+ [self.cachedInstances removeAllObjects];
+}
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRComponentType.m b/Pods/FirebaseCore/Firebase/Core/FIRComponentType.m
new file mode 100644
index 00000000..bdc004fb
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRComponentType.m
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "Private/FIRComponentType.h"
+
+#import "Private/FIRComponentContainerInternal.h"
+
+@implementation FIRComponentType
+
++ (id)instanceForProtocol:(Protocol *)protocol inContainer:(FIRComponentContainer *)container {
+ // Forward the call to the container.
+ return [container instanceForProtocol:protocol];
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRConfiguration.m b/Pods/FirebaseCore/Firebase/Core/FIRConfiguration.m
new file mode 100644
index 00000000..f8378d77
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRConfiguration.m
@@ -0,0 +1,47 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "FIRConfiguration.h"
+
+extern void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel);
+
+@implementation FIRConfiguration
+
++ (instancetype)sharedInstance {
+ static FIRConfiguration *sharedInstance = nil;
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ sharedInstance = [[FIRConfiguration alloc] init];
+ });
+ return sharedInstance;
+}
+
+- (instancetype)init {
+ self = [super init];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ _analyticsConfiguration = [FIRAnalyticsConfiguration sharedInstance];
+#pragma clang diagnostic pop
+ }
+ return self;
+}
+
+- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel {
+ NSAssert(loggerLevel <= FIRLoggerLevelMax && loggerLevel >= FIRLoggerLevelMin,
+ @"Invalid logger level, %ld", (long)loggerLevel);
+ FIRSetLoggerLevel(loggerLevel);
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRDependency.m b/Pods/FirebaseCore/Firebase/Core/FIRDependency.m
new file mode 100644
index 00000000..f9799841
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRDependency.m
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "Private/FIRDependency.h"
+
+@interface FIRDependency ()
+
+- (instancetype)initWithProtocol:(Protocol *)protocol isRequired:(BOOL)required;
+
+@end
+
+@implementation FIRDependency
+
++ (instancetype)dependencyWithProtocol:(Protocol *)protocol {
+ return [[self alloc] initWithProtocol:protocol isRequired:YES];
+}
+
++ (instancetype)dependencyWithProtocol:(Protocol *)protocol isRequired:(BOOL)required {
+ return [[self alloc] initWithProtocol:protocol isRequired:required];
+}
+
+- (instancetype)initWithProtocol:(Protocol *)protocol isRequired:(BOOL)required {
+ self = [super init];
+ if (self) {
+ _protocol = protocol;
+ _isRequired = required;
+ }
+ return self;
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRErrors.m b/Pods/FirebaseCore/Firebase/Core/FIRErrors.m
new file mode 100644
index 00000000..6d6d52d2
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRErrors.m
@@ -0,0 +1,29 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "Private/FIRErrors.h"
+
+NSString *const kFirebaseErrorDomain = @"com.firebase";
+NSString *const kFirebaseAdMobErrorDomain = @"com.firebase.admob";
+NSString *const kFirebaseAppInviteErrorDomain = @"com.firebase.appinvite";
+NSString *const kFirebaseAuthErrorDomain = @"com.firebase.auth";
+NSString *const kFirebaseCloudMessagingErrorDomain = @"com.firebase.cloudmessaging";
+NSString *const kFirebaseConfigErrorDomain = @"com.firebase.config";
+NSString *const kFirebaseCoreErrorDomain = @"com.firebase.core";
+NSString *const kFirebaseCrashReportingErrorDomain = @"com.firebase.crashreporting";
+NSString *const kFirebaseDatabaseErrorDomain = @"com.firebase.database";
+NSString *const kFirebaseDurableDeepLinkErrorDomain = @"com.firebase.durabledeeplink";
+NSString *const kFirebaseInstanceIDErrorDomain = @"com.firebase.instanceid";
+NSString *const kFirebasePerfErrorDomain = @"com.firebase.perf";
+NSString *const kFirebaseStorageErrorDomain = @"com.firebase.storage";
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRLogger.m b/Pods/FirebaseCore/Firebase/Core/FIRLogger.m
new file mode 100644
index 00000000..d1e3b373
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRLogger.m
@@ -0,0 +1,185 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "Private/FIRLogger.h"
+
+#import
+#import
+#import
+
+#import "Private/FIRVersion.h"
+
+FIRLoggerService kFIRLoggerABTesting = @"[Firebase/ABTesting]";
+FIRLoggerService kFIRLoggerAdMob = @"[Firebase/AdMob]";
+FIRLoggerService kFIRLoggerAnalytics = @"[Firebase/Analytics]";
+FIRLoggerService kFIRLoggerAuth = @"[Firebase/Auth]";
+FIRLoggerService kFIRLoggerCore = @"[Firebase/Core]";
+FIRLoggerService kFIRLoggerCrash = @"[Firebase/Crash]";
+FIRLoggerService kFIRLoggerDatabase = @"[Firebase/Database]";
+FIRLoggerService kFIRLoggerDynamicLinks = @"[Firebase/DynamicLinks]";
+FIRLoggerService kFIRLoggerFirestore = @"[Firebase/Firestore]";
+FIRLoggerService kFIRLoggerInstanceID = @"[Firebase/InstanceID]";
+FIRLoggerService kFIRLoggerInvites = @"[Firebase/Invites]";
+FIRLoggerService kFIRLoggerMLKit = @"[Firebase/MLKit]";
+FIRLoggerService kFIRLoggerMessaging = @"[Firebase/Messaging]";
+FIRLoggerService kFIRLoggerPerf = @"[Firebase/Performance]";
+FIRLoggerService kFIRLoggerRemoteConfig = @"[Firebase/RemoteConfig]";
+FIRLoggerService kFIRLoggerStorage = @"[Firebase/Storage]";
+FIRLoggerService kFIRLoggerSwizzler = @"[FirebaseSwizzlingUtilities]";
+
+/// Arguments passed on launch.
+NSString *const kFIRDisableDebugModeApplicationArgument = @"-FIRDebugDisabled";
+NSString *const kFIREnableDebugModeApplicationArgument = @"-FIRDebugEnabled";
+NSString *const kFIRLoggerForceSDTERRApplicationArgument = @"-FIRLoggerForceSTDERR";
+
+/// Key for the debug mode bit in NSUserDefaults.
+NSString *const kFIRPersistedDebugModeKey = @"/google/firebase/debug_mode";
+
+/// NSUserDefaults that should be used to store and read variables. If nil, `standardUserDefaults`
+/// will be used.
+static NSUserDefaults *sFIRLoggerUserDefaults;
+
+static dispatch_once_t sFIRLoggerOnceToken;
+
+// The sFIRAnalyticsDebugMode flag is here to support the -FIRDebugEnabled/-FIRDebugDisabled
+// flags used by Analytics. Users who use those flags expect Analytics to log verbosely,
+// while the rest of Firebase logs at the default level. This flag is introduced to support
+// that behavior.
+static BOOL sFIRAnalyticsDebugMode;
+
+#ifdef DEBUG
+/// The regex pattern for the message code.
+static NSString *const kMessageCodePattern = @"^I-[A-Z]{3}[0-9]{6}$";
+static NSRegularExpression *sMessageCodeRegex;
+#endif
+
+void FIRLoggerInitializeASL() {
+ dispatch_once(&sFIRLoggerOnceToken, ^{
+ // Register Firebase Version with GULLogger.
+ GULLoggerRegisterVersion(FIRVersionString);
+
+ // Override the aslOptions to ASL_OPT_STDERR if the override argument is passed in.
+ NSArray *arguments = [NSProcessInfo processInfo].arguments;
+ BOOL overrideSTDERR = [arguments containsObject:kFIRLoggerForceSDTERRApplicationArgument];
+
+ // Use the standard NSUserDefaults if it hasn't been explicitly set.
+ if (sFIRLoggerUserDefaults == nil) {
+ sFIRLoggerUserDefaults = [NSUserDefaults standardUserDefaults];
+ }
+
+ BOOL forceDebugMode = NO;
+ BOOL debugMode = [sFIRLoggerUserDefaults boolForKey:kFIRPersistedDebugModeKey];
+ if ([arguments containsObject:kFIRDisableDebugModeApplicationArgument]) { // Default mode
+ [sFIRLoggerUserDefaults removeObjectForKey:kFIRPersistedDebugModeKey];
+ } else if ([arguments containsObject:kFIREnableDebugModeApplicationArgument] ||
+ debugMode) { // Debug mode
+ [sFIRLoggerUserDefaults setBool:YES forKey:kFIRPersistedDebugModeKey];
+ forceDebugMode = YES;
+ }
+ GULLoggerInitializeASL();
+ if (overrideSTDERR) {
+ GULLoggerEnableSTDERR();
+ }
+ if (forceDebugMode) {
+ GULLoggerForceDebug();
+ }
+ });
+}
+
+__attribute__((no_sanitize("thread"))) void FIRSetAnalyticsDebugMode(BOOL analyticsDebugMode) {
+ sFIRAnalyticsDebugMode = analyticsDebugMode;
+}
+
+void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel) {
+ FIRLoggerInitializeASL();
+ GULSetLoggerLevel((GULLoggerLevel)loggerLevel);
+}
+
+#ifdef DEBUG
+void FIRResetLogger() {
+ extern void GULResetLogger(void);
+ sFIRLoggerOnceToken = 0;
+ [sFIRLoggerUserDefaults removeObjectForKey:kFIRPersistedDebugModeKey];
+ sFIRLoggerUserDefaults = nil;
+ GULResetLogger();
+}
+
+void FIRSetLoggerUserDefaults(NSUserDefaults *defaults) {
+ sFIRLoggerUserDefaults = defaults;
+}
+#endif
+
+/**
+ * Check if the level is high enough to be loggable.
+ *
+ * Analytics can override the log level with an intentional race condition.
+ * Add the attribute to get a clean thread sanitizer run.
+ */
+__attribute__((no_sanitize("thread"))) BOOL FIRIsLoggableLevel(FIRLoggerLevel loggerLevel,
+ BOOL analyticsComponent) {
+ FIRLoggerInitializeASL();
+ if (sFIRAnalyticsDebugMode && analyticsComponent) {
+ return YES;
+ }
+ return GULIsLoggableLevel((GULLoggerLevel)loggerLevel);
+}
+
+void FIRLogBasic(FIRLoggerLevel level,
+ FIRLoggerService service,
+ NSString *messageCode,
+ NSString *message,
+ va_list args_ptr) {
+ FIRLoggerInitializeASL();
+ GULLogBasic((GULLoggerLevel)level, service,
+ sFIRAnalyticsDebugMode && [kFIRLoggerAnalytics isEqualToString:service], messageCode,
+ message, args_ptr);
+}
+
+/**
+ * Generates the logging functions using macros.
+ *
+ * Calling FIRLogError(kFIRLoggerCore, @"I-COR000001", @"Configure %@ failed.", @"blah") shows:
+ * yyyy-mm-dd hh:mm:ss.SSS sender[PID] [Firebase/Core][I-COR000001] Configure blah failed.
+ * Calling FIRLogDebug(kFIRLoggerCore, @"I-COR000001", @"Configure succeed.") shows:
+ * yyyy-mm-dd hh:mm:ss.SSS sender[PID] [Firebase/Core][I-COR000001] Configure succeed.
+ */
+#define FIR_LOGGING_FUNCTION(level) \
+ void FIRLog##level(FIRLoggerService service, NSString *messageCode, NSString *message, ...) { \
+ va_list args_ptr; \
+ va_start(args_ptr, message); \
+ FIRLogBasic(FIRLoggerLevel##level, service, messageCode, message, args_ptr); \
+ va_end(args_ptr); \
+ }
+
+FIR_LOGGING_FUNCTION(Error)
+FIR_LOGGING_FUNCTION(Warning)
+FIR_LOGGING_FUNCTION(Notice)
+FIR_LOGGING_FUNCTION(Info)
+FIR_LOGGING_FUNCTION(Debug)
+
+#undef FIR_MAKE_LOGGER
+
+#pragma mark - FIRLoggerWrapper
+
+@implementation FIRLoggerWrapper
+
++ (void)logWithLevel:(FIRLoggerLevel)level
+ withService:(FIRLoggerService)service
+ withCode:(NSString *)messageCode
+ withMessage:(NSString *)message
+ withArgs:(va_list)args {
+ FIRLogBasic(level, service, messageCode, message, args);
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIROptions.m b/Pods/FirebaseCore/Firebase/Core/FIROptions.m
new file mode 100644
index 00000000..72901f51
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIROptions.m
@@ -0,0 +1,443 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "Private/FIRAppInternal.h"
+#import "Private/FIRBundleUtil.h"
+#import "Private/FIRErrors.h"
+#import "Private/FIRLogger.h"
+#import "Private/FIROptionsInternal.h"
+
+// Keys for the strings in the plist file.
+NSString *const kFIRAPIKey = @"API_KEY";
+NSString *const kFIRTrackingID = @"TRACKING_ID";
+NSString *const kFIRGoogleAppID = @"GOOGLE_APP_ID";
+NSString *const kFIRClientID = @"CLIENT_ID";
+NSString *const kFIRGCMSenderID = @"GCM_SENDER_ID";
+NSString *const kFIRAndroidClientID = @"ANDROID_CLIENT_ID";
+NSString *const kFIRDatabaseURL = @"DATABASE_URL";
+NSString *const kFIRStorageBucket = @"STORAGE_BUCKET";
+// The key to locate the expected bundle identifier in the plist file.
+NSString *const kFIRBundleID = @"BUNDLE_ID";
+// The key to locate the project identifier in the plist file.
+NSString *const kFIRProjectID = @"PROJECT_ID";
+
+NSString *const kFIRIsMeasurementEnabled = @"IS_MEASUREMENT_ENABLED";
+NSString *const kFIRIsAnalyticsCollectionEnabled = @"FIREBASE_ANALYTICS_COLLECTION_ENABLED";
+NSString *const kFIRIsAnalyticsCollectionDeactivated = @"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED";
+
+NSString *const kFIRIsAnalyticsEnabled = @"IS_ANALYTICS_ENABLED";
+NSString *const kFIRIsSignInEnabled = @"IS_SIGNIN_ENABLED";
+
+// Library version ID.
+NSString *const kFIRLibraryVersionID = @"5" // Major version (one or more digits)
+ @"04" // Minor version (exactly 2 digits)
+ @"01" // Build number (exactly 2 digits)
+ @"000"; // Fixed "000"
+// Plist file name.
+NSString *const kServiceInfoFileName = @"GoogleService-Info";
+// Plist file type.
+NSString *const kServiceInfoFileType = @"plist";
+
+// Exception raised from attempting to modify a FIROptions after it's been copied to a FIRApp.
+NSString *const kFIRExceptionBadModification =
+ @"Attempted to modify options after it's set on FIRApp. Please modify all properties before "
+ @"initializing FIRApp.";
+
+@interface FIROptions ()
+
+/**
+ * This property maintains the actual configuration key-value pairs.
+ */
+@property(nonatomic, readwrite) NSMutableDictionary *optionsDictionary;
+
+/**
+ * Calls `analyticsOptionsDictionaryWithInfoDictionary:` using [NSBundle mainBundle].infoDictionary.
+ * It combines analytics options from both the infoDictionary and the GoogleService-Info.plist.
+ * Values which are present in the main plist override values from the GoogleService-Info.plist.
+ */
+@property(nonatomic, readonly) NSDictionary *analyticsOptionsDictionary;
+
+/**
+ * Combination of analytics options from both the infoDictionary and the GoogleService-Info.plist.
+ * Values which are present in the infoDictionary override values from the GoogleService-Info.plist.
+ */
+- (NSDictionary *)analyticsOptionsDictionaryWithInfoDictionary:(NSDictionary *)infoDictionary;
+
+/**
+ * Throw exception if editing is locked when attempting to modify an option.
+ */
+- (void)checkEditingLocked;
+
+@end
+
+@implementation FIROptions {
+ /// Backing variable for self.analyticsOptionsDictionary.
+ NSDictionary *_analyticsOptionsDictionary;
+}
+
+static FIROptions *sDefaultOptions = nil;
+static NSDictionary *sDefaultOptionsDictionary = nil;
+
+#pragma mark - Public only for internal class methods
+
++ (FIROptions *)defaultOptions {
+ if (sDefaultOptions != nil) {
+ return sDefaultOptions;
+ }
+
+ NSDictionary *defaultOptionsDictionary = [self defaultOptionsDictionary];
+ if (defaultOptionsDictionary == nil) {
+ return nil;
+ }
+
+ sDefaultOptions = [[FIROptions alloc] initInternalWithOptionsDictionary:defaultOptionsDictionary];
+ return sDefaultOptions;
+}
+
+#pragma mark - Private class methods
+
++ (void)initialize {
+ // Report FirebaseCore version for useragent string
+ NSRange major = NSMakeRange(0, 1);
+ NSRange minor = NSMakeRange(1, 2);
+ NSRange patch = NSMakeRange(3, 2);
+ [FIRApp
+ registerLibrary:@"fire-ios"
+ withVersion:[NSString stringWithFormat:@"%@.%d.%d",
+ [kFIRLibraryVersionID substringWithRange:major],
+ [[kFIRLibraryVersionID substringWithRange:minor]
+ intValue],
+ [[kFIRLibraryVersionID substringWithRange:patch]
+ intValue]]];
+ NSDictionary *info = [[NSBundle mainBundle] infoDictionary];
+ NSString *xcodeVersion = info[@"DTXcodeBuild"];
+ NSString *sdkVersion = info[@"DTSDKBuild"];
+ if (xcodeVersion) {
+ [FIRApp registerLibrary:@"xcode" withVersion:xcodeVersion];
+ }
+ if (sdkVersion) {
+ [FIRApp registerLibrary:@"apple-sdk" withVersion:sdkVersion];
+ }
+}
+
++ (NSDictionary *)defaultOptionsDictionary {
+ if (sDefaultOptionsDictionary != nil) {
+ return sDefaultOptionsDictionary;
+ }
+ NSString *plistFilePath = [FIROptions plistFilePathWithName:kServiceInfoFileName];
+ if (plistFilePath == nil) {
+ return nil;
+ }
+ sDefaultOptionsDictionary = [NSDictionary dictionaryWithContentsOfFile:plistFilePath];
+ if (sDefaultOptionsDictionary == nil) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000011",
+ @"The configuration file is not a dictionary: "
+ @"'%@.%@'.",
+ kServiceInfoFileName, kServiceInfoFileType);
+ }
+ return sDefaultOptionsDictionary;
+}
+
+// Returns the path of the plist file with a given file name.
++ (NSString *)plistFilePathWithName:(NSString *)fileName {
+ NSArray *bundles = [FIRBundleUtil relevantBundles];
+ NSString *plistFilePath =
+ [FIRBundleUtil optionsDictionaryPathWithResourceName:fileName
+ andFileType:kServiceInfoFileType
+ inBundles:bundles];
+ if (plistFilePath == nil) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000012", @"Could not locate configuration file: '%@.%@'.",
+ fileName, kServiceInfoFileType);
+ }
+ return plistFilePath;
+}
+
++ (void)resetDefaultOptions {
+ sDefaultOptions = nil;
+ sDefaultOptionsDictionary = nil;
+}
+
+#pragma mark - Private instance methods
+
+- (instancetype)initInternalWithOptionsDictionary:(NSDictionary *)optionsDictionary {
+ self = [super init];
+ if (self) {
+ _optionsDictionary = [optionsDictionary mutableCopy];
+ _usingOptionsFromDefaultPlist = YES;
+ }
+ return self;
+}
+
+- (id)copyWithZone:(NSZone *)zone {
+ FIROptions *newOptions = [[[self class] allocWithZone:zone] init];
+ if (newOptions) {
+ newOptions.optionsDictionary = self.optionsDictionary;
+ newOptions.deepLinkURLScheme = self.deepLinkURLScheme;
+ newOptions.editingLocked = self.isEditingLocked;
+ newOptions.usingOptionsFromDefaultPlist = self.usingOptionsFromDefaultPlist;
+ }
+ return newOptions;
+}
+
+#pragma mark - Public instance methods
+
+- (instancetype)initWithContentsOfFile:(NSString *)plistPath {
+ self = [super init];
+ if (self) {
+ if (plistPath == nil) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000013", @"The plist file path is nil.");
+ return nil;
+ }
+ _optionsDictionary = [[NSDictionary dictionaryWithContentsOfFile:plistPath] mutableCopy];
+ if (_optionsDictionary == nil) {
+ FIRLogError(kFIRLoggerCore, @"I-COR000014",
+ @"The configuration file at %@ does not exist or "
+ @"is not a well-formed plist file.",
+ plistPath);
+ return nil;
+ }
+ // TODO: Do we want to validate the dictionary here? It says we do that already in
+ // the public header.
+ }
+ return self;
+}
+
+- (instancetype)initWithGoogleAppID:(NSString *)googleAppID GCMSenderID:(NSString *)GCMSenderID {
+ self = [super init];
+ if (self) {
+ NSMutableDictionary *mutableOptionsDict = [NSMutableDictionary dictionary];
+ [mutableOptionsDict setValue:googleAppID forKey:kFIRGoogleAppID];
+ [mutableOptionsDict setValue:GCMSenderID forKey:kFIRGCMSenderID];
+ [mutableOptionsDict setValue:[[NSBundle mainBundle] bundleIdentifier] forKey:kFIRBundleID];
+ self.optionsDictionary = mutableOptionsDict;
+ }
+ return self;
+}
+
+- (NSString *)APIKey {
+ return self.optionsDictionary[kFIRAPIKey];
+}
+
+- (void)checkEditingLocked {
+ if (self.isEditingLocked) {
+ [NSException raise:kFirebaseCoreErrorDomain format:kFIRExceptionBadModification];
+ }
+}
+
+- (void)setAPIKey:(NSString *)APIKey {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRAPIKey] = [APIKey copy];
+}
+
+- (NSString *)clientID {
+ return self.optionsDictionary[kFIRClientID];
+}
+
+- (void)setClientID:(NSString *)clientID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRClientID] = [clientID copy];
+}
+
+- (NSString *)trackingID {
+ return self.optionsDictionary[kFIRTrackingID];
+}
+
+- (void)setTrackingID:(NSString *)trackingID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRTrackingID] = [trackingID copy];
+}
+
+- (NSString *)GCMSenderID {
+ return self.optionsDictionary[kFIRGCMSenderID];
+}
+
+- (void)setGCMSenderID:(NSString *)GCMSenderID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRGCMSenderID] = [GCMSenderID copy];
+}
+
+- (NSString *)projectID {
+ return self.optionsDictionary[kFIRProjectID];
+}
+
+- (void)setProjectID:(NSString *)projectID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRProjectID] = [projectID copy];
+}
+
+- (NSString *)androidClientID {
+ return self.optionsDictionary[kFIRAndroidClientID];
+}
+
+- (void)setAndroidClientID:(NSString *)androidClientID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRAndroidClientID] = [androidClientID copy];
+}
+
+- (NSString *)googleAppID {
+ return self.optionsDictionary[kFIRGoogleAppID];
+}
+
+- (void)setGoogleAppID:(NSString *)googleAppID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRGoogleAppID] = [googleAppID copy];
+}
+
+- (NSString *)libraryVersionID {
+ return kFIRLibraryVersionID;
+}
+
+- (void)setLibraryVersionID:(NSString *)libraryVersionID {
+ _optionsDictionary[kFIRLibraryVersionID] = [libraryVersionID copy];
+}
+
+- (NSString *)databaseURL {
+ return self.optionsDictionary[kFIRDatabaseURL];
+}
+
+- (void)setDatabaseURL:(NSString *)databaseURL {
+ [self checkEditingLocked];
+
+ _optionsDictionary[kFIRDatabaseURL] = [databaseURL copy];
+}
+
+- (NSString *)storageBucket {
+ return self.optionsDictionary[kFIRStorageBucket];
+}
+
+- (void)setStorageBucket:(NSString *)storageBucket {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRStorageBucket] = [storageBucket copy];
+}
+
+- (void)setDeepLinkURLScheme:(NSString *)deepLinkURLScheme {
+ [self checkEditingLocked];
+ _deepLinkURLScheme = [deepLinkURLScheme copy];
+}
+
+- (NSString *)bundleID {
+ return self.optionsDictionary[kFIRBundleID];
+}
+
+- (void)setBundleID:(NSString *)bundleID {
+ [self checkEditingLocked];
+ _optionsDictionary[kFIRBundleID] = [bundleID copy];
+}
+
+#pragma mark - Internal instance methods
+
+- (NSDictionary *)analyticsOptionsDictionaryWithInfoDictionary:(NSDictionary *)infoDictionary {
+ if (_analyticsOptionsDictionary == nil) {
+ NSMutableDictionary *tempAnalyticsOptions = [[NSMutableDictionary alloc] init];
+ NSArray *measurementKeys = @[
+ kFIRIsMeasurementEnabled, kFIRIsAnalyticsCollectionEnabled,
+ kFIRIsAnalyticsCollectionDeactivated
+ ];
+ for (NSString *key in measurementKeys) {
+ id value = infoDictionary[key] ?: self.optionsDictionary[key] ?: nil;
+ if (!value) {
+ continue;
+ }
+ tempAnalyticsOptions[key] = value;
+ }
+ _analyticsOptionsDictionary = tempAnalyticsOptions;
+ }
+ return _analyticsOptionsDictionary;
+}
+
+- (NSDictionary *)analyticsOptionsDictionary {
+ return [self analyticsOptionsDictionaryWithInfoDictionary:[NSBundle mainBundle].infoDictionary];
+}
+
+/**
+ * Whether or not Measurement was enabled. Measurement is enabled unless explicitly disabled in
+ * GoogleService-Info.plist. This uses the old plist flag IS_MEASUREMENT_ENABLED, which should still
+ * be supported.
+ */
+- (BOOL)isMeasurementEnabled {
+ if (self.isAnalyticsCollectionDeactivated) {
+ return NO;
+ }
+ NSNumber *value = self.analyticsOptionsDictionary[kFIRIsMeasurementEnabled];
+ if (value == nil) {
+ // TODO: This could probably be cleaned up since FIROptions shouldn't know about FIRApp or have
+ // to check if it's the default app. The FIROptions instance can't be modified after
+ // `+configure` is called, so it's not a good place to copy it either in case the flag is
+ // changed at runtime.
+
+ // If no values are set for Analytics, fall back to the global collection switch in FIRApp.
+ // Analytics only supports the default FIRApp, so check that first.
+ if (![FIRApp isDefaultAppConfigured]) {
+ return NO;
+ }
+
+ // Fall back to the default app's collection switch when the key is not in the dictionary.
+ return [FIRApp defaultApp].isDataCollectionDefaultEnabled;
+ }
+ return [value boolValue];
+}
+
+- (BOOL)isAnalyticsCollectionExpicitlySet {
+ // If it's de-activated, it classifies as explicity set. If not, it's not a good enough indication
+ // that the developer wants FirebaseAnalytics enabled so continue checking.
+ if (self.isAnalyticsCollectionDeactivated) {
+ return YES;
+ }
+
+ // Check if the current Analytics flag is set.
+ id collectionEnabledObject = self.analyticsOptionsDictionary[kFIRIsAnalyticsCollectionEnabled];
+ if (collectionEnabledObject && [collectionEnabledObject isKindOfClass:[NSNumber class]]) {
+ // It doesn't matter what the value is, it's explicitly set.
+ return YES;
+ }
+
+ // Check if the old measurement flag is set.
+ id measurementEnabledObject = self.analyticsOptionsDictionary[kFIRIsMeasurementEnabled];
+ if (measurementEnabledObject && [measurementEnabledObject isKindOfClass:[NSNumber class]]) {
+ // It doesn't matter what the value is, it's explicitly set.
+ return YES;
+ }
+
+ // No flags are set to explicitly enable or disable FirebaseAnalytics.
+ return NO;
+}
+
+- (BOOL)isAnalyticsCollectionEnabled {
+ if (self.isAnalyticsCollectionDeactivated) {
+ return NO;
+ }
+ NSNumber *value = self.analyticsOptionsDictionary[kFIRIsAnalyticsCollectionEnabled];
+ if (value == nil) {
+ return self.isMeasurementEnabled; // Fall back to older plist flag.
+ }
+ return [value boolValue];
+}
+
+- (BOOL)isAnalyticsCollectionDeactivated {
+ NSNumber *value = self.analyticsOptionsDictionary[kFIRIsAnalyticsCollectionDeactivated];
+ if (value == nil) {
+ return NO; // Analytics Collection is not deactivated when the key is not in the dictionary.
+ }
+ return [value boolValue];
+}
+
+- (BOOL)isAnalyticsEnabled {
+ return [self.optionsDictionary[kFIRIsAnalyticsEnabled] boolValue];
+}
+
+- (BOOL)isSignInEnabled {
+ return [self.optionsDictionary[kFIRIsSignInEnabled] boolValue];
+}
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/FIRVersion.m b/Pods/FirebaseCore/Firebase/Core/FIRVersion.m
new file mode 100644
index 00000000..ec0f6ba6
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/FIRVersion.m
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef Firebase_VERSION
+#error "Firebase_VERSION is not defined: add -DFirebase_VERSION=... to the build invocation"
+#endif
+
+#ifndef FIRCore_VERSION
+#error "FIRCore_VERSION is not defined: add -DFIRCore_VERSION=... to the build invocation"
+#endif
+
+// The following two macros supply the incantation so that the C
+// preprocessor does not try to parse the version as a floating
+// point number. See
+// https://www.guyrutenberg.com/2008/12/20/expanding-macros-into-string-constants-in-c/
+#define STR(x) STR_EXPAND(x)
+#define STR_EXPAND(x) #x
+
+const char *const FIRVersionString = (const char *const)STR(Firebase_VERSION);
+const char *const FIRCoreVersionString = (const char *const)STR(FIRCore_VERSION);
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRAnalyticsConfiguration+Internal.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRAnalyticsConfiguration+Internal.h
new file mode 100644
index 00000000..be624b49
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRAnalyticsConfiguration+Internal.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "FIRAnalyticsConfiguration.h"
+
+/// Values stored in analyticsEnabledState. Never alter these constants since they must match with
+/// values persisted to disk.
+typedef NS_ENUM(int64_t, FIRAnalyticsEnabledState) {
+ // 0 is the default value for keys not found stored in persisted config, so it cannot represent
+ // kFIRAnalyticsEnabledStateSetNo. It must represent kFIRAnalyticsEnabledStateNotSet.
+ kFIRAnalyticsEnabledStateNotSet = 0,
+ kFIRAnalyticsEnabledStateSetYes = 1,
+ kFIRAnalyticsEnabledStateSetNo = 2,
+};
+
+/// The user defaults key for the persisted measurementEnabledState value. FIRAPersistedConfig reads
+/// measurementEnabledState using this same key.
+static NSString *const kFIRAPersistedConfigMeasurementEnabledStateKey =
+ @"/google/measurement/measurement_enabled_state";
+
+static NSString *const kFIRAnalyticsConfigurationSetEnabledNotification =
+ @"FIRAnalyticsConfigurationSetEnabledNotification";
+static NSString *const kFIRAnalyticsConfigurationSetMinimumSessionIntervalNotification =
+ @"FIRAnalyticsConfigurationSetMinimumSessionIntervalNotification";
+static NSString *const kFIRAnalyticsConfigurationSetSessionTimeoutIntervalNotification =
+ @"FIRAnalyticsConfigurationSetSessionTimeoutIntervalNotification";
+
+@interface FIRAnalyticsConfiguration (Internal)
+
+/// Sets whether analytics collection is enabled for this app on this device, and a flag to persist
+/// the value or not. The setting should not be persisted if being set by the global data collection
+/// flag.
+- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled
+ persistSetting:(BOOL)shouldPersist;
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRAppAssociationRegistration.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRAppAssociationRegistration.h
new file mode 100644
index 00000000..3fc69c6c
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRAppAssociationRegistration.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+// TODO: Remove this once Auth moves over to Core's instance registration system.
+/** @class FIRAppAssociationRegistration
+ @brief Manages object associations as a singleton-dependent: At most one object is
+ registered for any given host/key pair, and the object shall be created on-the-fly when
+ asked for.
+ */
+@interface FIRAppAssociationRegistration : NSObject
+
+/** @fn registeredObjectWithHost:key:creationBlock:
+ @brief Retrieves the registered object with a particular host and key.
+ @param host The host object.
+ @param key The key to specify the registered object on the host.
+ @param creationBlock The block to return the object to be registered if not already.
+ The block is executed immediately before this method returns if it is executed at all.
+ It can also be executed multiple times across different method invocations if previous
+ execution of the block returns @c nil.
+ @return The registered object for the host/key pair, or @c nil if no object is registered
+ and @c creationBlock returns @c nil.
+ @remarks The method is thread-safe but non-reentrant in the sense that attempting to call this
+ method again within the @c creationBlock with the same host/key pair raises an exception.
+ The registered object is retained by the host.
+ */
++ (nullable ObjectType)registeredObjectWithHost:(id)host
+ key:(NSString *)key
+ creationBlock:(ObjectType _Nullable (^)(void))creationBlock;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRAppInternal.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRAppInternal.h
new file mode 100644
index 00000000..d663d3ec
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRAppInternal.h
@@ -0,0 +1,182 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "FIRApp.h"
+#import "FIRErrors.h"
+
+@class FIRComponentContainer;
+@protocol FIRLibrary;
+
+/**
+ * The internal interface to FIRApp. This is meant for first-party integrators, who need to receive
+ * FIRApp notifications, log info about the success or failure of their configuration, and access
+ * other internal functionality of FIRApp.
+ *
+ * TODO(b/28296561): Restructure this header.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_ENUM(NSInteger, FIRConfigType) {
+ FIRConfigTypeCore = 1,
+ FIRConfigTypeSDK = 2,
+};
+
+/**
+ * Names of services provided by Firebase.
+ */
+extern NSString *const kFIRServiceAdMob;
+extern NSString *const kFIRServiceAuth;
+extern NSString *const kFIRServiceAuthUI;
+extern NSString *const kFIRServiceCrash;
+extern NSString *const kFIRServiceDatabase;
+extern NSString *const kFIRServiceDynamicLinks;
+extern NSString *const kFIRServiceInstanceID;
+extern NSString *const kFIRServiceInvites;
+extern NSString *const kFIRServiceMessaging;
+extern NSString *const kFIRServiceMeasurement;
+extern NSString *const kFIRServiceRemoteConfig;
+extern NSString *const kFIRServiceStorage;
+
+/**
+ * Names of services provided by the Google pod, but logged by the Firebase pod.
+ */
+extern NSString *const kGGLServiceAnalytics;
+extern NSString *const kGGLServiceSignIn;
+
+extern NSString *const kFIRDefaultAppName;
+extern NSString *const kFIRAppReadyToConfigureSDKNotification;
+extern NSString *const kFIRAppDeleteNotification;
+extern NSString *const kFIRAppIsDefaultAppKey;
+extern NSString *const kFIRAppNameKey;
+extern NSString *const kFIRGoogleAppIDKey;
+
+/**
+ * The format string for the User Defaults key used for storing the data collection enabled flag.
+ * This includes formatting to append the Firebase App's name.
+ */
+extern NSString *const kFIRGlobalAppDataCollectionEnabledDefaultsKeyFormat;
+
+/**
+ * The plist key used for storing the data collection enabled flag.
+ */
+extern NSString *const kFIRGlobalAppDataCollectionEnabledPlistKey;
+
+/**
+ * A notification fired containing diagnostic information when SDK errors occur.
+ */
+extern NSString *const kFIRAppDiagnosticsNotification;
+
+/** @var FIRAuthStateDidChangeInternalNotification
+ @brief The name of the @c NSNotificationCenter notification which is posted when the auth state
+ changes (e.g. a new token has been produced, a user logs in or out). The object parameter of
+ the notification is a dictionary possibly containing the key:
+ @c FIRAuthStateDidChangeInternalNotificationTokenKey (the new access token.) If it does not
+ contain this key it indicates a sign-out event took place.
+ */
+extern NSString *const FIRAuthStateDidChangeInternalNotification;
+
+/** @var FIRAuthStateDidChangeInternalNotificationTokenKey
+ @brief A key present in the dictionary object parameter of the
+ @c FIRAuthStateDidChangeInternalNotification notification. The value associated with this
+ key will contain the new access token.
+ */
+extern NSString *const FIRAuthStateDidChangeInternalNotificationTokenKey;
+
+/** @var FIRAuthStateDidChangeInternalNotificationAppKey
+ @brief A key present in the dictionary object parameter of the
+ @c FIRAuthStateDidChangeInternalNotification notification. The value associated with this
+ key will contain the FIRApp associated with the auth instance.
+ */
+extern NSString *const FIRAuthStateDidChangeInternalNotificationAppKey;
+
+/** @var FIRAuthStateDidChangeInternalNotificationUIDKey
+ @brief A key present in the dictionary object parameter of the
+ @c FIRAuthStateDidChangeInternalNotification notification. The value associated with this
+ key will contain the new user's UID (or nil if there is no longer a user signed in).
+ */
+extern NSString *const FIRAuthStateDidChangeInternalNotificationUIDKey;
+
+@interface FIRApp ()
+
+/**
+ * A flag indicating if this is the default app (has the default app name).
+ */
+@property(nonatomic, readonly) BOOL isDefaultApp;
+
+/*
+ * The container of interop SDKs for this app.
+ */
+@property(nonatomic) FIRComponentContainer *container;
+
+/**
+ * Creates an error for failing to configure a subspec service. This method is called by each
+ * FIRApp notification listener.
+ */
++ (NSError *)errorForSubspecConfigurationFailureWithDomain:(NSString *)domain
+ errorCode:(FIRErrorCode)code
+ service:(NSString *)service
+ reason:(NSString *)reason;
+/**
+ * Checks if the default app is configured without trying to configure it.
+ */
++ (BOOL)isDefaultAppConfigured;
+
+/**
+ * Registers a given third-party library with the given version number to be reported for
+ * analytics.
+ *
+ * @param name Name of the library.
+ * @param version Version of the library.
+ */
++ (void)registerLibrary:(nonnull NSString *)name withVersion:(nonnull NSString *)version;
+
+/**
+ * Registers a given internal library with the given version number to be reported for
+ * analytics.
+ *
+ * @param library Optional parameter for component registration.
+ * @param name Name of the library.
+ * @param version Version of the library.
+ */
++ (void)registerInternalLibrary:(nonnull Class)library
+ withName:(nonnull NSString *)name
+ withVersion:(nonnull NSString *)version;
+
+/**
+ * A concatenated string representing all the third-party libraries and version numbers.
+ */
++ (NSString *)firebaseUserAgent;
+
+/**
+ * Used by each SDK to send logs about SDK configuration status to Clearcut.
+ */
+- (void)sendLogsWithServiceName:(NSString *)serviceName
+ version:(NSString *)version
+ error:(NSError *)error;
+
+/**
+ * Can be used by the unit tests in eack SDK to reset FIRApp. This method is thread unsafe.
+ */
++ (void)resetApps;
+
+/**
+ * Can be used by the unit tests in each SDK to set customized options.
+ */
+- (instancetype)initInstanceWithName:(NSString *)name options:(FIROptions *)options;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRBundleUtil.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRBundleUtil.h
new file mode 100644
index 00000000..d9475dd2
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRBundleUtil.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+/**
+ * This class provides utilities for accessing resources in bundles.
+ */
+@interface FIRBundleUtil : NSObject
+
+/**
+ * Finds all relevant bundles, starting with [NSBundle mainBundle].
+ */
++ (NSArray *)relevantBundles;
+
+/**
+ * Reads the options dictionary from one of the provided bundles.
+ *
+ * @param resourceName The resource name, e.g. @"GoogleService-Info".
+ * @param fileType The file type (extension), e.g. @"plist".
+ * @param bundles The bundles to expect, in priority order. See also
+ * +[FIRBundleUtil relevantBundles].
+ */
++ (NSString *)optionsDictionaryPathWithResourceName:(NSString *)resourceName
+ andFileType:(NSString *)fileType
+ inBundles:(NSArray *)bundles;
+
+/**
+ * Finds URL schemes defined in all relevant bundles, starting with those from
+ * [NSBundle mainBundle].
+ */
++ (NSArray *)relevantURLSchemes;
+
+/**
+ * Checks if any of the given bundles have a matching bundle identifier prefix (removing extension
+ * suffixes).
+ */
++ (BOOL)hasBundleIdentifierPrefix:(NSString *)bundleIdentifier inBundles:(NSArray *)bundles;
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRComponent.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponent.h
new file mode 100644
index 00000000..cb51ee70
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponent.h
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+@class FIRApp;
+@class FIRComponentContainer;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Provides a system to clean up cached instances returned from the component system.
+NS_SWIFT_NAME(ComponentLifecycleMaintainer)
+@protocol FIRComponentLifecycleMaintainer
+/// The associated app will be deleted, clean up any resources as they are about to be deallocated.
+- (void)appWillBeDeleted:(FIRApp *)app;
+@end
+
+typedef _Nullable id (^FIRComponentCreationBlock)(FIRComponentContainer *container,
+ BOOL *isCacheable)
+ NS_SWIFT_NAME(ComponentCreationBlock);
+
+@class FIRDependency;
+
+/// Describes the timing of instantiation. Note: new components should default to lazy unless there
+/// is a strong reason to be eager.
+typedef NS_ENUM(NSInteger, FIRInstantiationTiming) {
+ FIRInstantiationTimingLazy,
+ FIRInstantiationTimingAlwaysEager,
+ FIRInstantiationTimingEagerInDefaultApp
+} NS_SWIFT_NAME(InstantiationTiming);
+
+/// A component that can be used from other Firebase SDKs.
+NS_SWIFT_NAME(Component)
+@interface FIRComponent : NSObject
+
+/// The protocol describing functionality provided from the Component.
+@property(nonatomic, strong, readonly) Protocol *protocol;
+
+/// The timing of instantiation.
+@property(nonatomic, readonly) FIRInstantiationTiming instantiationTiming;
+
+/// An array of dependencies for the component.
+@property(nonatomic, copy, readonly) NSArray *dependencies;
+
+/// A block to instantiate an instance of the component with the appropriate dependencies.
+@property(nonatomic, copy, readonly) FIRComponentCreationBlock creationBlock;
+
+// There's an issue with long NS_SWIFT_NAMES that causes compilation to fail, disable clang-format
+// for the next two methods.
+// clang-format off
+
+/// Creates a component with no dependencies that will be lazily initialized.
++ (instancetype)componentWithProtocol:(Protocol *)protocol
+ creationBlock:(FIRComponentCreationBlock)creationBlock
+NS_SWIFT_NAME(init(_:creationBlock:));
+
+/// Creates a component to be registered with the component container.
+///
+/// @param protocol - The protocol describing functionality provided by the component.
+/// @param instantiationTiming - When the component should be initialized. Use .lazy unless there's
+/// a good reason to be instantiated earlier.
+/// @param dependencies - Any dependencies the `implementingClass` has, optional or required.
+/// @param creationBlock - A block to instantiate the component with a container, and if
+/// @return A component that can be registered with the component container.
++ (instancetype)componentWithProtocol:(Protocol *)protocol
+ instantiationTiming:(FIRInstantiationTiming)instantiationTiming
+ dependencies:(NSArray *)dependencies
+ creationBlock:(FIRComponentCreationBlock)creationBlock
+NS_SWIFT_NAME(init(_:instantiationTiming:dependencies:creationBlock:));
+
+// clang-format on
+
+/// Unavailable.
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentContainer.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentContainer.h
new file mode 100644
index 00000000..f3dc356d
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentContainer.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#import
+
+#import "FIRComponentType.h"
+#import "FIRLibrary.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A type-safe macro to retrieve a component from a container. This should be used to retrieve
+/// components instead of using the container directly.
+#define FIR_COMPONENT(type, container) \
+ [FIRComponentType> instanceForProtocol:@protocol(type) inContainer:container]
+
+@class FIRApp;
+
+/// A container that holds different components that are registered via the
+/// `registerAsComponentRegistrant:` call. These classes should conform to `FIRComponentRegistrant`
+/// in order to properly register components for Core.
+NS_SWIFT_NAME(FirebaseComponentContainer)
+@interface FIRComponentContainer : NSObject
+
+/// A weak reference to the app that an instance of the container belongs to.
+@property(nonatomic, weak, readonly) FIRApp *app;
+
+/// Unavailable. Use the `container` property on `FIRApp`.
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentContainerInternal.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentContainerInternal.h
new file mode 100644
index 00000000..e8552fa2
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentContainerInternal.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#import
+
+#import "FIRComponent.h"
+#import "FIRComponentContainer.h"
+
+@class FIRApp;
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FIRComponentContainer (Private)
+
+/// Initializes a contain for a given app. This should only be called by the app itself.
+- (instancetype)initWithApp:(FIRApp *)app;
+
+/// Retrieves an instance that conforms to the specified protocol. This will return `nil` if the
+/// protocol wasn't registered, or if the instance couldn't instantiate for the provided app.
+- (nullable id)instanceForProtocol:(Protocol *)protocol NS_SWIFT_NAME(instance(for:));
+
+/// Remove all of the cached instances stored and allow them to clean up after themselves.
+- (void)removeAllCachedInstances;
+
+/// Register a class to provide components for the interoperability system. The class should conform
+/// to `FIRComponentRegistrant` and provide an array of `FIRComponent` objects.
++ (void)registerAsComponentRegistrant:(Class)klass;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentType.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentType.h
new file mode 100644
index 00000000..6f2aca7b
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRComponentType.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+@class FIRComponentContainer;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Do not use directly. A placeholder type in order to provide a macro that will warn users of
+/// mis-matched protocols.
+NS_SWIFT_NAME(ComponentType)
+@interface FIRComponentType<__covariant T> : NSObject
+
+/// Do not use directly. A factory method to retrieve an instance that provides a specific
+/// functionality.
++ (T)instanceForProtocol:(Protocol *)protocol inContainer:(FIRComponentContainer *)container;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRDependency.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRDependency.h
new file mode 100644
index 00000000..46e9b7ea
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRDependency.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A dependency on a specific protocol's functionality.
+NS_SWIFT_NAME(Dependency)
+@interface FIRDependency : NSObject
+
+/// The protocol describing functionality being depended on.
+@property(nonatomic, strong, readonly) Protocol *protocol;
+
+/// A flag to specify if the dependency is required or not.
+@property(nonatomic, readonly) BOOL isRequired;
+
+/// Initializes a dependency that is required. Calls `initWithProtocol:isRequired` with `YES` for
+/// the required parameter.
+/// Creates a required dependency on the specified protocol's functionality.
++ (instancetype)dependencyWithProtocol:(Protocol *)protocol;
+
+/// Creates a dependency on the specified protocol's functionality and specify if it's required for
+/// the class's functionality.
++ (instancetype)dependencyWithProtocol:(Protocol *)protocol isRequired:(BOOL)required;
+
+/// Use `dependencyWithProtocol:isRequired:` instead.
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRErrorCode.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRErrorCode.h
new file mode 100644
index 00000000..01d3c56e
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRErrorCode.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/** Error codes in Firebase error domain. */
+typedef NS_ENUM(NSInteger, FIRErrorCode) {
+ /**
+ * Unknown error.
+ */
+ FIRErrorCodeUnknown = 0,
+ /**
+ * Loading data from the GoogleService-Info.plist file failed. This is a fatal error and should
+ * not be ignored. Further calls to the API will fail and/or possibly cause crashes.
+ */
+ FIRErrorCodeInvalidPlistFile = -100,
+
+ /**
+ * Validating the Google App ID format failed.
+ */
+ FIRErrorCodeInvalidAppID = -101,
+
+ /**
+ * Error code for failing to configure a specific service.
+ */
+ FIRErrorCodeAdMobFailed = -110,
+ FIRErrorCodeAppInviteFailed = -112,
+ FIRErrorCodeCloudMessagingFailed = -113,
+ FIRErrorCodeConfigFailed = -114,
+ FIRErrorCodeDatabaseFailed = -115,
+ FIRErrorCodeCrashReportingFailed = -118,
+ FIRErrorCodeDurableDeepLinkFailed = -119,
+ FIRErrorCodeAuthFailed = -120,
+ FIRErrorCodeInstanceIDFailed = -121,
+ FIRErrorCodeStorageFailed = -123,
+
+ /**
+ * Error codes returned by Dynamic Links
+ */
+ FIRErrorCodeDynamicLinksStrongMatchNotAvailable = -124,
+ FIRErrorCodeDynamicLinksManualRetrievalNotEnabled = -125,
+ FIRErrorCodeDynamicLinksPendingLinkOnlyAvailableAtFirstLaunch = -126,
+ FIRErrorCodeDynamicLinksPendingLinkRetrievalAlreadyRunning = -127,
+};
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRErrors.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRErrors.h
new file mode 100644
index 00000000..cf69252a
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRErrors.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+#include "FIRErrorCode.h"
+
+extern NSString *const kFirebaseErrorDomain;
+extern NSString *const kFirebaseAdMobErrorDomain;
+extern NSString *const kFirebaseAppInviteErrorDomain;
+extern NSString *const kFirebaseAuthErrorDomain;
+extern NSString *const kFirebaseCloudMessagingErrorDomain;
+extern NSString *const kFirebaseConfigErrorDomain;
+extern NSString *const kFirebaseCoreErrorDomain;
+extern NSString *const kFirebaseCrashReportingErrorDomain;
+extern NSString *const kFirebaseDatabaseErrorDomain;
+extern NSString *const kFirebaseDurableDeepLinkErrorDomain;
+extern NSString *const kFirebaseInstanceIDErrorDomain;
+extern NSString *const kFirebasePerfErrorDomain;
+extern NSString *const kFirebaseStorageErrorDomain;
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRLibrary.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRLibrary.h
new file mode 100644
index 00000000..728c0623
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRLibrary.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef FIRLibrary_h
+#define FIRLibrary_h
+
+#import
+#import "FIRComponent.h"
+
+@class FIRApp;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Provide an interface to register a library for userAgent logging and availability to others.
+NS_SWIFT_NAME(Library)
+@protocol FIRLibrary
+
+/// Returns one or more FIRComponents that will be registered in
+/// FIRApp and participate in dependency resolution and injection.
++ (NSArray *)componentsToRegister;
+
+@optional
+/// Implement this method if the library needs notifications for lifecycle events. This method is
+/// called when the developer calls `FirebaseApp.configure()`.
++ (void)configureWithApp:(FIRApp *)app;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* FIRLibrary_h */
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRLogger.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRLogger.h
new file mode 100644
index 00000000..a538199b
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRLogger.h
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+#import "FIRLoggerLevel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The Firebase services used in Firebase logger.
+ */
+typedef NSString *const FIRLoggerService;
+
+extern FIRLoggerService kFIRLoggerABTesting;
+extern FIRLoggerService kFIRLoggerAdMob;
+extern FIRLoggerService kFIRLoggerAnalytics;
+extern FIRLoggerService kFIRLoggerAuth;
+extern FIRLoggerService kFIRLoggerCore;
+extern FIRLoggerService kFIRLoggerCrash;
+extern FIRLoggerService kFIRLoggerDatabase;
+extern FIRLoggerService kFIRLoggerDynamicLinks;
+extern FIRLoggerService kFIRLoggerFirestore;
+extern FIRLoggerService kFIRLoggerInstanceID;
+extern FIRLoggerService kFIRLoggerInvites;
+extern FIRLoggerService kFIRLoggerMLKit;
+extern FIRLoggerService kFIRLoggerMessaging;
+extern FIRLoggerService kFIRLoggerPerf;
+extern FIRLoggerService kFIRLoggerRemoteConfig;
+extern FIRLoggerService kFIRLoggerStorage;
+extern FIRLoggerService kFIRLoggerSwizzler;
+
+/**
+ * The key used to store the logger's error count.
+ */
+extern NSString *const kFIRLoggerErrorCountKey;
+
+/**
+ * The key used to store the logger's warning count.
+ */
+extern NSString *const kFIRLoggerWarningCountKey;
+
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+
+/**
+ * Enables or disables Analytics debug mode.
+ * If set to YES, the logging level for Analytics will be set to FIRLoggerLevelDebug.
+ * Enabling the debug mode has no effect if the app is running from App Store.
+ * (required) analytics debug mode flag.
+ */
+void FIRSetAnalyticsDebugMode(BOOL analyticsDebugMode);
+
+/**
+ * Changes the default logging level of FIRLoggerLevelNotice to a user-specified level.
+ * The default level cannot be set above FIRLoggerLevelNotice if the app is running from App Store.
+ * (required) log level (one of the FIRLoggerLevel enum values).
+ */
+void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel);
+
+/**
+ * Checks if the specified logger level is loggable given the current settings.
+ * (required) log level (one of the FIRLoggerLevel enum values).
+ * (required) whether or not this function is called from the Analytics component.
+ */
+BOOL FIRIsLoggableLevel(FIRLoggerLevel loggerLevel, BOOL analyticsComponent);
+
+/**
+ * Logs a message to the Xcode console and the device log. If running from AppStore, will
+ * not log any messages with a level higher than FIRLoggerLevelNotice to avoid log spamming.
+ * (required) log level (one of the FIRLoggerLevel enum values).
+ * (required) service name of type FIRLoggerService.
+ * (required) message code starting with "I-" which means iOS, followed by a capitalized
+ * three-character service identifier and a six digit integer message ID that is unique
+ * within the service.
+ * An example of the message code is @"I-COR000001".
+ * (required) message string which can be a format string.
+ * (optional) variable arguments list obtained from calling va_start, used when message is a format
+ * string.
+ */
+extern void FIRLogBasic(FIRLoggerLevel level,
+ FIRLoggerService service,
+ NSString *messageCode,
+ NSString *message,
+// On 64-bit simulators, va_list is not a pointer, so cannot be marked nullable
+// See: http://stackoverflow.com/q/29095469
+#if __LP64__ && TARGET_OS_SIMULATOR || TARGET_OS_OSX
+ va_list args_ptr
+#else
+ va_list _Nullable args_ptr
+#endif
+);
+
+/**
+ * The following functions accept the following parameters in order:
+ * (required) service name of type FIRLoggerService.
+ * (required) message code starting from "I-" which means iOS, followed by a capitalized
+ * three-character service identifier and a six digit integer message ID that is unique
+ * within the service.
+ * An example of the message code is @"I-COR000001".
+ * See go/firebase-log-proposal for details.
+ * (required) message string which can be a format string.
+ * (optional) the list of arguments to substitute into the format string.
+ * Example usage:
+ * FIRLogError(kFIRLoggerCore, @"I-COR000001", @"Configuration of %@ failed.", app.name);
+ */
+extern void FIRLogError(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
+ NS_FORMAT_FUNCTION(3, 4);
+extern void FIRLogWarning(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
+ NS_FORMAT_FUNCTION(3, 4);
+extern void FIRLogNotice(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
+ NS_FORMAT_FUNCTION(3, 4);
+extern void FIRLogInfo(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
+ NS_FORMAT_FUNCTION(3, 4);
+extern void FIRLogDebug(FIRLoggerService service, NSString *messageCode, NSString *message, ...)
+ NS_FORMAT_FUNCTION(3, 4);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif // __cplusplus
+
+@interface FIRLoggerWrapper : NSObject
+
+/**
+ * Objective-C wrapper for FIRLogBasic to allow weak linking to FIRLogger
+ * (required) log level (one of the FIRLoggerLevel enum values).
+ * (required) service name of type FIRLoggerService.
+ * (required) message code starting with "I-" which means iOS, followed by a capitalized
+ * three-character service identifier and a six digit integer message ID that is unique
+ * within the service.
+ * An example of the message code is @"I-COR000001".
+ * (required) message string which can be a format string.
+ * (optional) variable arguments list obtained from calling va_start, used when message is a format
+ * string.
+ */
+
++ (void)logWithLevel:(FIRLoggerLevel)level
+ withService:(FIRLoggerService)service
+ withCode:(NSString *)messageCode
+ withMessage:(NSString *)message
+ withArgs:(va_list)args;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIROptionsInternal.h b/Pods/FirebaseCore/Firebase/Core/Private/FIROptionsInternal.h
new file mode 100644
index 00000000..7bb40fc1
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIROptionsInternal.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "FIROptions.h"
+
+/**
+ * Keys for the strings in the plist file.
+ */
+extern NSString *const kFIRAPIKey;
+extern NSString *const kFIRTrackingID;
+extern NSString *const kFIRGoogleAppID;
+extern NSString *const kFIRClientID;
+extern NSString *const kFIRGCMSenderID;
+extern NSString *const kFIRAndroidClientID;
+extern NSString *const kFIRDatabaseURL;
+extern NSString *const kFIRStorageBucket;
+extern NSString *const kFIRBundleID;
+extern NSString *const kFIRProjectID;
+
+/**
+ * Keys for the plist file name
+ */
+extern NSString *const kServiceInfoFileName;
+
+extern NSString *const kServiceInfoFileType;
+
+/**
+ * This header file exposes the initialization of FIROptions to internal use.
+ */
+@interface FIROptions ()
+
+/**
+ * resetDefaultOptions and initInternalWithOptionsDictionary: are exposed only for unit tests.
+ */
++ (void)resetDefaultOptions;
+
+/**
+ * Initializes the options with dictionary. The above strings are the keys of the dictionary.
+ * This is the designated initializer.
+ */
+- (instancetype)initInternalWithOptionsDictionary:(NSDictionary *)serviceInfoDictionary;
+
+/**
+ * defaultOptions and defaultOptionsDictionary are exposed in order to be used in FIRApp and
+ * other first party services.
+ */
++ (FIROptions *)defaultOptions;
+
++ (NSDictionary *)defaultOptionsDictionary;
+
+/**
+ * Indicates whether or not Analytics collection was explicitly enabled via a plist flag or at
+ * runtime.
+ */
+@property(nonatomic, readonly) BOOL isAnalyticsCollectionExpicitlySet;
+
+/**
+ * Whether or not Analytics Collection was enabled. Analytics Collection is enabled unless
+ * explicitly disabled in GoogleService-Info.plist.
+ */
+@property(nonatomic, readonly) BOOL isAnalyticsCollectionEnabled;
+
+/**
+ * Whether or not Analytics Collection was completely disabled. If YES, then
+ * isAnalyticsCollectionEnabled will be NO.
+ */
+@property(nonatomic, readonly) BOOL isAnalyticsCollectionDeactivated;
+
+/**
+ * The version ID of the client library, e.g. @"1100000".
+ */
+@property(nonatomic, readonly, copy) NSString *libraryVersionID;
+
+/**
+ * The flag indicating whether this object was constructed with the values in the default plist
+ * file.
+ */
+@property(nonatomic) BOOL usingOptionsFromDefaultPlist;
+
+/**
+ * Whether or not Measurement was enabled. Measurement is enabled unless explicitly disabled in
+ * GoogleService-Info.plist.
+ */
+@property(nonatomic, readonly) BOOL isMeasurementEnabled;
+
+/**
+ * Whether or not Analytics was enabled in the developer console.
+ */
+@property(nonatomic, readonly) BOOL isAnalyticsEnabled;
+
+/**
+ * Whether or not SignIn was enabled in the developer console.
+ */
+@property(nonatomic, readonly) BOOL isSignInEnabled;
+
+/**
+ * Whether or not editing is locked. This should occur after FIROptions has been set on a FIRApp.
+ */
+@property(nonatomic, getter=isEditingLocked) BOOL editingLocked;
+
+@end
diff --git a/Pods/FirebaseCore/Firebase/Core/Private/FIRVersion.h b/Pods/FirebaseCore/Firebase/Core/Private/FIRVersion.h
new file mode 100644
index 00000000..226efb1a
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Private/FIRVersion.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+/** The version of the Firebase SDK. */
+FOUNDATION_EXPORT const char *const FIRVersionString;
+
+/** The version of the FirebaseCore Component. */
+FOUNDATION_EXPORT const char *const FIRCoreVersionString;
diff --git a/Pods/FirebaseCore/Firebase/Core/Public/FIRAnalyticsConfiguration.h b/Pods/FirebaseCore/Firebase/Core/Public/FIRAnalyticsConfiguration.h
new file mode 100644
index 00000000..add4a38e
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Public/FIRAnalyticsConfiguration.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This class provides configuration fields for Firebase Analytics.
+ */
+NS_SWIFT_NAME(AnalyticsConfiguration)
+DEPRECATED_MSG_ATTRIBUTE("Use these methods directly on the `Analytics` class.")
+@interface FIRAnalyticsConfiguration : NSObject
+
+/**
+ * Returns the shared instance of FIRAnalyticsConfiguration.
+ */
++ (FIRAnalyticsConfiguration *)sharedInstance NS_SWIFT_NAME(shared());
+
+/**
+ * Deprecated.
+ * Sets the minimum engagement time in seconds required to start a new session. The default value
+ * is 10 seconds.
+ */
+- (void)setMinimumSessionInterval:(NSTimeInterval)minimumSessionInterval
+ DEPRECATED_MSG_ATTRIBUTE(
+ "Sessions are started immediately. More information at https://bit.ly/2FU46av");
+
+/**
+ * Sets the interval of inactivity in seconds that terminates the current session. The default
+ * value is 1800 seconds (30 minutes).
+ */
+- (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
+
+/**
+ * Sets whether analytics collection is enabled for this app on this device. This setting is
+ * persisted across app sessions. By default it is enabled.
+ */
+- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Public/FIRApp.h b/Pods/FirebaseCore/Firebase/Core/Public/FIRApp.h
new file mode 100644
index 00000000..e0dd6d69
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Public/FIRApp.h
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+@class FIROptions;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A block that takes a BOOL and has no return value. */
+typedef void (^FIRAppVoidBoolCallback)(BOOL success) NS_SWIFT_NAME(FirebaseAppVoidBoolCallback);
+
+/**
+ * The entry point of Firebase SDKs.
+ *
+ * Initialize and configure FIRApp using +[FIRApp configure]
+ * or other customized ways as shown below.
+ *
+ * The logging system has two modes: default mode and debug mode. In default mode, only logs with
+ * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
+ * to device. The log levels that Firebase uses are consistent with the ASL log levels.
+ *
+ * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
+ * further executions of the application will also be in debug mode. In order to return to default
+ * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
+ *
+ * It is also possible to change the default logging level in code by calling setLoggerLevel: on
+ * the FIRConfiguration interface.
+ */
+NS_SWIFT_NAME(FirebaseApp)
+@interface FIRApp : NSObject
+
+/**
+ * Configures a default Firebase app. Raises an exception if any configuration step fails. The
+ * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
+ * and before using Firebase services. This method is thread safe and contains synchronous file I/O
+ * (reading GoogleService-Info.plist from disk).
+ */
++ (void)configure;
+
+/**
+ * Configures the default Firebase app with the provided options. The default app is named
+ * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method is thread
+ * safe.
+ *
+ * @param options The Firebase application options used to configure the service.
+ */
++ (void)configureWithOptions:(FIROptions *)options NS_SWIFT_NAME(configure(options:));
+
+/**
+ * Configures a Firebase app with the given name and options. Raises an exception if any
+ * configuration step fails. This method is thread safe.
+ *
+ * @param name The application's name given by the developer. The name should should only contain
+ Letters, Numbers and Underscore.
+ * @param options The Firebase application options used to configure the services.
+ */
+// clang-format off
++ (void)configureWithName:(NSString *)name
+ options:(FIROptions *)options NS_SWIFT_NAME(configure(name:options:));
+// clang-format on
+
+/**
+ * Returns the default app, or nil if the default app does not exist.
+ */
++ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(app());
+
+/**
+ * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
+ * This method is thread safe.
+ */
++ (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
+
+/**
+ * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
+ * method is thread safe.
+ */
+@property(class, readonly, nullable) NSDictionary *allApps;
+
+/**
+ * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
+ * future use. This method is thread safe.
+ */
+- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
+
+/**
+ * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
+ * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Gets the name of this app.
+ */
+@property(nonatomic, copy, readonly) NSString *name;
+
+/**
+ * Gets a copy of the options for this app. These are non-modifiable.
+ */
+@property(nonatomic, copy, readonly) FIROptions *options;
+
+/**
+ * Gets or sets whether automatic data collection is enabled for all products. Defaults to `YES`
+ * unless `FirebaseDataCollectionDefaultEnabled` is set to `NO` in your app's Info.plist. This value
+ * is persisted across runs of the app so that it can be set once when users have consented to
+ * collection.
+ */
+@property(nonatomic, readwrite, getter=isDataCollectionDefaultEnabled)
+ BOOL dataCollectionDefaultEnabled;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Public/FIRConfiguration.h b/Pods/FirebaseCore/Firebase/Core/Public/FIRConfiguration.h
new file mode 100644
index 00000000..b88fcaf9
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Public/FIRConfiguration.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+#import "FIRAnalyticsConfiguration.h"
+#import "FIRLoggerLevel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This interface provides global level properties that the developer can tweak, and the singleton
+ * of the Firebase Analytics configuration class.
+ */
+NS_SWIFT_NAME(FirebaseConfiguration)
+@interface FIRConfiguration : NSObject
+
+/** Returns the shared configuration object. */
+@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance NS_SWIFT_NAME(shared);
+
+/** The configuration class for Firebase Analytics. */
+@property(nonatomic, readwrite)
+ FIRAnalyticsConfiguration *analyticsConfiguration DEPRECATED_MSG_ATTRIBUTE(
+ "Use the methods available here directly on the `Analytics` class.");
+
+/**
+ * Sets the logging level for internal Firebase logging. Firebase will only log messages
+ * that are logged at or below loggerLevel. The messages are logged both to the Xcode
+ * console and to the device's log. Note that if an app is running from AppStore, it will
+ * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
+ * setting.
+ *
+ * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
+ */
+- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Public/FIRLoggerLevel.h b/Pods/FirebaseCore/Firebase/Core/Public/FIRLoggerLevel.h
new file mode 100644
index 00000000..dca3aa0b
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Public/FIRLoggerLevel.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Note that importing GULLoggerLevel.h will lead to a non-modular header
+// import error.
+
+/**
+ * The log levels used by internal logging.
+ */
+typedef NS_ENUM(NSInteger, FIRLoggerLevel) {
+ /** Error level, matches ASL_LEVEL_ERR. */
+ FIRLoggerLevelError = 3,
+ /** Warning level, matches ASL_LEVEL_WARNING. */
+ FIRLoggerLevelWarning = 4,
+ /** Notice level, matches ASL_LEVEL_NOTICE. */
+ FIRLoggerLevelNotice = 5,
+ /** Info level, matches ASL_LEVEL_INFO. */
+ FIRLoggerLevelInfo = 6,
+ /** Debug level, matches ASL_LEVEL_DEBUG. */
+ FIRLoggerLevelDebug = 7,
+ /** Minimum log level. */
+ FIRLoggerLevelMin = FIRLoggerLevelError,
+ /** Maximum log level. */
+ FIRLoggerLevelMax = FIRLoggerLevelDebug
+} NS_SWIFT_NAME(FirebaseLoggerLevel);
diff --git a/Pods/FirebaseCore/Firebase/Core/Public/FIROptions.h b/Pods/FirebaseCore/Firebase/Core/Public/FIROptions.h
new file mode 100644
index 00000000..87a01ddc
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Public/FIROptions.h
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * This class provides constant fields of Google APIs.
+ */
+NS_SWIFT_NAME(FirebaseOptions)
+@interface FIROptions : NSObject
+
+/**
+ * Returns the default options. The first time this is called it synchronously reads
+ * GoogleService-Info.plist from disk.
+ */
++ (nullable FIROptions *)defaultOptions NS_SWIFT_NAME(defaultOptions());
+
+/**
+ * An iOS API key used for authenticating requests from your app, e.g.
+ * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+ */
+@property(nonatomic, copy, nullable) NSString *APIKey NS_SWIFT_NAME(apiKey);
+
+/**
+ * The bundle ID for the application. Defaults to `[[NSBundle mainBundle] bundleID]` when not set
+ * manually or in a plist.
+ */
+@property(nonatomic, copy) NSString *bundleID;
+
+/**
+ * The OAuth2 client ID for iOS application used to authenticate Google users, for example
+ * @"12345.apps.googleusercontent.com", used for signing in with Google.
+ */
+@property(nonatomic, copy, nullable) NSString *clientID;
+
+/**
+ * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
+ */
+@property(nonatomic, copy, nullable) NSString *trackingID;
+
+/**
+ * The Project Number from the Google Developer's console, for example @"012345678901", used to
+ * configure Google Cloud Messaging.
+ */
+@property(nonatomic, copy) NSString *GCMSenderID NS_SWIFT_NAME(gcmSenderID);
+
+/**
+ * The Project ID from the Firebase console, for example @"abc-xyz-123".
+ */
+@property(nonatomic, copy, nullable) NSString *projectID;
+
+/**
+ * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
+ * example @"12345.apps.googleusercontent.com".
+ */
+@property(nonatomic, copy, nullable) NSString *androidClientID;
+
+/**
+ * The Google App ID that is used to uniquely identify an instance of an app.
+ */
+@property(nonatomic, copy) NSString *googleAppID;
+
+/**
+ * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
+ */
+@property(nonatomic, copy, nullable) NSString *databaseURL;
+
+/**
+ * The URL scheme used to set up Durable Deep Link service.
+ */
+@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme;
+
+/**
+ * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
+ */
+@property(nonatomic, copy, nullable) NSString *storageBucket;
+
+/**
+ * Initializes a customized instance of FIROptions from the file at the given plist file path. This
+ * will read the file synchronously from disk.
+ * For example,
+ * NSString *filePath =
+ * [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
+ * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
+ * Returns nil if the plist file does not exist or is invalid.
+ */
+- (nullable instancetype)initWithContentsOfFile:(NSString *)plistPath;
+
+/**
+ * Initializes a customized instance of FIROptions with required fields. Use the mutable properties
+ * to modify fields for configuring specific services.
+ */
+// clang-format off
+- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
+ GCMSenderID:(NSString *)GCMSenderID
+ NS_SWIFT_NAME(init(googleAppID:gcmSenderID:));
+// clang-format on
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/FirebaseCore/Firebase/Core/Public/FirebaseCore.h b/Pods/FirebaseCore/Firebase/Core/Public/FirebaseCore.h
new file mode 100644
index 00000000..fa26f694
--- /dev/null
+++ b/Pods/FirebaseCore/Firebase/Core/Public/FirebaseCore.h
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "FIRAnalyticsConfiguration.h"
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
diff --git a/Pods/FirebaseCore/LICENSE b/Pods/FirebaseCore/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/Pods/FirebaseCore/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/Pods/FirebaseCore/README.md b/Pods/FirebaseCore/README.md
new file mode 100644
index 00000000..ad8de0fa
--- /dev/null
+++ b/Pods/FirebaseCore/README.md
@@ -0,0 +1,213 @@
+# Firebase iOS Open Source Development [](https://travis-ci.org/firebase/firebase-ios-sdk)
+
+This repository contains a subset of the Firebase iOS SDK source. It currently
+includes FirebaseCore, FirebaseAuth, FirebaseDatabase, FirebaseFirestore,
+FirebaseFunctions, FirebaseInstanceID, FirebaseInAppMessaging,
+FirebaseInAppMessagingDisplay, FirebaseMessaging and FirebaseStorage.
+
+The repository also includes GoogleUtilities source. The
+[GoogleUtilities](GoogleUtilities/README.md) pod is
+a set of utilities used by Firebase and other Google products.
+
+Firebase is an app development platform with tools to help you build, grow and
+monetize your app. More information about Firebase can be found at
+[https://firebase.google.com](https://firebase.google.com).
+
+## Installation
+
+See the three subsections for details about three different installation methods.
+1. [Standard pod install](README.md#standard-pod-install)
+1. [Installing from the GitHub repo](README.md#installing-from-github)
+1. [Experimental Carthage](README.md#carthage-ios-only)
+
+### Standard pod install
+
+Go to
+[https://firebase.google.com/docs/ios/setup](https://firebase.google.com/docs/ios/setup).
+
+### Installing from GitHub
+
+For releases starting with 5.0.0, the source for each release is also deployed
+to CocoaPods master and available via standard
+[CocoaPods Podfile syntax](https://guides.cocoapods.org/syntax/podfile.html#pod).
+
+These instructions can be used to access the Firebase repo at other branches,
+tags, or commits.
+
+#### Background
+
+See
+[the Podfile Syntax Reference](https://guides.cocoapods.org/syntax/podfile.html#pod)
+for instructions and options about overriding pod source locations.
+
+#### Accessing Firebase Source Snapshots
+
+All of the official releases are tagged in this repo and available via CocoaPods. To access a local
+source snapshot or unreleased branch, use Podfile directives like the following:
+
+To access FirebaseFirestore via a branch:
+```
+pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'
+pod 'FirebaseFirestore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'
+```
+
+To access FirebaseMessaging via a checked out version of the firebase-ios-sdk repo do:
+
+```
+pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'
+pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
+```
+
+### Carthage (iOS only)
+
+Instructions for the experimental Carthage distribution are at
+[Carthage](Carthage.md).
+
+### Rome
+
+Instructions for installing binary frameworks via
+[Rome](https://github.com/CocoaPods/Rome) are at [Rome](Rome.md).
+
+## Development
+
+Follow the subsequent instructions to develop, debug, unit test, run integration
+tests, and try out reference samples:
+
+```
+$ git clone git@github.com:firebase/firebase-ios-sdk.git
+$ cd firebase-ios-sdk/Example
+$ pod update
+$ open Firebase.xcworkspace
+```
+
+Firestore and Functions have self contained Xcode projects. See
+[Firestore/README.md](Firestore/README.md) and
+[Functions/README.md](Functions/README.md).
+
+### Code Formatting
+
+To ensure that the code is formatted consistently, run the script
+[./scripts/style.sh](https://github.com/firebase/firebase-ios-sdk/blob/master/scripts/style.sh)
+before creating a PR.
+
+Travis will verify that any code changes are done in a style compliant way. Install
+`clang-format` and `swiftformat`.
+This command will get the right `clang-format` version:
+
+`brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/773cb75d360b58f32048f5964038d09825a507c8/Formula/clang-format.rb`
+
+### Running Unit Tests
+
+Select a scheme and press Command-u to build a component and run its unit tests.
+
+#### Viewing Code Coverage
+
+First, make sure that [xcov](https://github.com/nakiostudio/xcov) is installed with `gem install xcov`.
+
+After running the `AllUnitTests_iOS` scheme in Xcode, execute
+`xcov --workspace Firebase.xcworkspace --scheme AllUnitTests_iOS --output_directory xcov_output`
+at Example/ in the terminal. This will aggregate the coverage, and you can run `open xcov_output/index.html` to see the results.
+
+### Running Sample Apps
+In order to run the sample apps and integration tests, you'll need valid
+`GoogleService-Info.plist` files for those samples. The Firebase Xcode project contains dummy plist
+files without real values, but can be replaced with real plist files. To get your own
+`GoogleService-Info.plist` files:
+
+1. Go to the [Firebase Console](https://console.firebase.google.com/)
+2. Create a new Firebase project, if you don't already have one
+3. For each sample app you want to test, create a new Firebase app with the sample app's bundle
+identifier (e.g. `com.google.Database-Example`)
+4. Download the resulting `GoogleService-Info.plist` and replace the appropriate dummy plist file
+(e.g. in [Example/Database/App/](Example/Database/App/));
+
+Some sample apps like Firebase Messaging ([Example/Messaging/App](Example/Messaging/App)) require
+special Apple capabilities, and you will have to change the sample app to use a unique bundle
+identifier that you can control in your own Apple Developer account.
+
+## Specific Component Instructions
+See the sections below for any special instructions for those components.
+
+### Firebase Auth
+
+If you're doing specific Firebase Auth development, see
+[the Auth Sample README](Example/Auth/README.md) for instructions about
+building and running the FirebaseAuth pod along with various samples and tests.
+
+### Firebase Database
+
+To run the Database Integration tests, make your database authentication rules
+[public](https://firebase.google.com/docs/database/security/quickstart).
+
+### Firebase Storage
+
+To run the Storage Integration tests, follow the instructions in
+[FIRStorageIntegrationTests.m](Example/Storage/Tests/Integration/FIRStorageIntegrationTests.m).
+
+#### Push Notifications
+
+Push notifications can only be delivered to specially provisioned App IDs in the developer portal.
+In order to actually test receiving push notifications, you will need to:
+
+1. Change the bundle identifier of the sample app to something you own in your Apple Developer
+account, and enable that App ID for push notifications.
+2. You'll also need to
+[upload your APNs Provider Authentication Key or certificate to the Firebase Console](https://firebase.google.com/docs/cloud-messaging/ios/certs)
+at **Project Settings > Cloud Messaging > [Your Firebase App]**.
+3. Ensure your iOS device is added to your Apple Developer portal as a test device.
+
+#### iOS Simulator
+
+The iOS Simulator cannot register for remote notifications, and will not receive push notifications.
+In order to receive push notifications, you'll have to follow the steps above and run the app on a
+physical device.
+
+## Community Supported Efforts
+
+We've seen an amazing amount of interest and contributions to improve the Firebase SDKs, and we are
+very grateful! We'd like to empower as many developers as we can to be able to use Firebase and
+participate in the Firebase community.
+
+### macOS and tvOS
+Thanks to contributions from the community, FirebaseAuth, FirebaseCore, FirebaseDatabase,
+FirebaseFunctions and FirebaseStorage now compile, run unit tests, and work on macOS and tvOS.
+FirebaseFirestore is availiable for macOS and FirebaseMessaging for tvOS.
+
+For tvOS, checkout the [Sample](Example/tvOSSample).
+
+Keep in mind that macOS and tvOS are not officially supported by Firebase, and this repository is
+actively developed primarily for iOS. While we can catch basic unit test issues with Travis, there
+may be some changes where the SDK no longer works as expected on macOS or tvOS. If you encounter
+this, please [file an issue](https://github.com/firebase/firebase-ios-sdk/issues).
+
+Note that the Firebase pod is not available for macOS and tvOS.
+
+To install, add a subset of the following to the Podfile:
+
+```
+pod 'FirebaseAuth'
+pod 'FirebaseCore'
+pod 'FirebaseDatabase'
+pod 'FirebaseFirestore' # Only iOS and macOS
+pod 'FirebaseFunctions'
+pod 'FirebaseMessaging' # Only iOS and tvOS
+pod 'FirebaseStorage'
+```
+
+## Roadmap
+
+See [Roadmap](ROADMAP.md) for more about the Firebase iOS SDK Open Source
+plans and directions.
+
+## Contributing
+
+See [Contributing](CONTRIBUTING.md) for more information on contributing to the Firebase
+iOS SDK.
+
+## License
+
+The contents of this repository is licensed under the
+[Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
+
+Your use of Firebase is governed by the
+[Terms of Service for Firebase Services](https://firebase.google.com/terms/).
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/AnalyticsWindow.xib b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/AnalyticsWindow.xib
deleted file mode 100644
index 2f9c781e..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/AnalyticsWindow.xib
+++ /dev/null
@@ -1,331 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ev
- ec
- ea
- el
- gaid
-
-
-
-
-
-
-
-
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
deleted file mode 100644
index 1a3de802..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// GoogleAnalyticsTracker.h
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 12/11/15.
-// Copyright © 2015 MacPaw Inc. All rights reserved.
-//
-
-@import Cocoa;
-
-#import
-#import
-#import
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
deleted file mode 100644
index c39641ec..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
+++ /dev/null
@@ -1,22 +0,0 @@
-//
-// MPAnalyticsConfiguration.h
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 12/11/15.
-// Copyright © 2015 MacPaw Inc. All rights reserved.
-//
-
-@import Foundation;
-
-
-@interface MPAnalyticsConfiguration : NSObject
-
-@property (nonatomic, copy, readonly) NSString *analyticsIdentifier;
-@property (nonatomic, copy, readonly) NSDictionary *additionalIdentifiers;
-
-- (instancetype)initWithAnalyticsIdentifier:(NSString *)identifier NS_DESIGNATED_INITIALIZER;
-
-- (void)duplicateEventsForCategory:(NSString *)category toGAID:(NSString *)identifier;
-- (void)stopDuplicatingEventsForCategory:(NSString *)category;
-
-@end
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.m b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.m
deleted file mode 100644
index 59909cd6..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.m
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// MPAnalyticsConfiguration.m
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 12/11/15.
-// Copyright © 2015 MacPaw Inc. All rights reserved.
-//
-
-#import "MPAnalyticsConfiguration.h"
-
-
-@interface MPAnalyticsConfiguration ()
-
-@property (nonatomic, copy) NSString *analyticsIdentifier;
-@property (nonatomic, strong) NSMutableDictionary *duplicateIdentifiers;
-
-@end
-
-
-@implementation MPAnalyticsConfiguration
-
-- (instancetype)init
-{
- return [self initWithAnalyticsIdentifier:nil];
-}
-
-- (instancetype)initWithAnalyticsIdentifier:(NSString *)identifier
-{
- self = [super init];
- if (self)
- {
- _analyticsIdentifier = identifier;
- }
-
- return self;
-}
-
-- (NSMutableDictionary *)duplicateIdentifiers
-{
- if (!_duplicateIdentifiers)
- {
- _duplicateIdentifiers = [NSMutableDictionary dictionary];
- }
-
- return _duplicateIdentifiers;
-}
-
-- (void)duplicateEventsForCategory:(NSString *)category toGAID:(NSString *)identifier
-{
- if (category && identifier)
- {
- self.duplicateIdentifiers[category] = identifier;
- }
-}
-
-- (void)stopDuplicatingEventsForCategory:(NSString *)category
-{
- [self.duplicateIdentifiers removeObjectForKey:category];
-}
-
-- (NSDictionary *)additionalIdentifiers
-{
- return [self.duplicateIdentifiers copy];
-}
-
-@end
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
deleted file mode 100644
index 0e6e6ab0..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// MPAnalyticsDebugWindowController.h
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 4/4/15.
-// Copyright (c) 2015 MacPaw. All rights reserved.
-//
-
-@import Cocoa;
-
-
-@interface MPAnalyticsDebugWindowController : NSWindowController
-
-+ (void)showWindow:(nullable id)sender;
-
-@end
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.m b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.m
deleted file mode 100644
index 25971d55..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.m
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// MPAnalyticsDebugWindowController.h
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 4/4/15.
-// Copyright (c) 2015 MacPaw. All rights reserved.
-//
-
-#import "MPAnalyticsDebugWindowController.h"
-
-
-@interface MPAnalyticsDebugWindowController ()
-
-@property (nonatomic, strong) NSMutableArray *eventsArray;
-@property (strong) IBOutlet NSArrayController *eventsArrayController;
-
-@end
-
-
-@implementation MPAnalyticsDebugWindowController
-
-static id _sharedInstance = nil;
-+ (instancetype)sharedController
-{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- _sharedInstance = [[self alloc] init];
- });
-
- return _sharedInstance;
-}
-
-+ (void)load
-{
- [self sharedController];
-}
-
-- (instancetype)init
-{
- self = [super init];
- if (self)
- {
-#ifndef DEBUG
- if (![[NSUserDefaults standardUserDefaults] boolForKey:@"ShowDebugMenu"])
- {
- return nil;
- }
-#endif
- _eventsArray = [NSMutableArray array];
-
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(analyticsReceived:)
- name:@"AnalyticsEvent" object:nil];
- }
- return self;
-}
-
-- (NSString *)windowNibName
-{
- return @"AnalyticsWindow";
-}
-
-- (void)loadWindow
-{
- [super loadWindow];
-
- [self.window setLevel:NSStatusWindowLevel];
-}
-
-- (void)analyticsReceived:(NSNotification *)aNotification
-{
- dispatch_async(dispatch_get_main_queue(), ^{
- if (!self.eventsArrayController)
- {
- [self.eventsArray insertObject:aNotification.userInfo atIndex:0];
- }
- else
- {
- [self.eventsArrayController insertObject:aNotification.userInfo atArrangedObjectIndex:0];
- }
- });
-}
-
-+ (void)showWindow:(nullable id)sender
-{
- [[self sharedController] showWindow:sender];
-}
-
-@end
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
deleted file mode 100644
index ffdc35e0..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// MPAnalyticsParamBuilder.h
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 12/11/15.
-// Copyright © 2015 MacPaw Inc. All rights reserved.
-//
-
-@import Foundation;
-
-
-@class MPEventParams, MPTimingParams, MPAppViewParams;
-
-@interface MPParamBuilder : NSObject
-
-+ (MPEventParams *)eventParamsForCategory:(NSString *)eventCategory action:(NSString *)eventAction
- label:(NSString *)eventLabel value:(NSNumber *)eventValue;
-
-+ (MPEventParams *)eventParamsForCategory:(NSString *)eventCategory action:(NSString *)eventAction
- label:(NSString *)eventLabel value:(NSNumber *)eventValue
- contentDescription:(NSString *)contentDescription customDimension:(NSString *)customDimension;
-
-+ (MPAppViewParams *)appViewParamsForScreen:(NSString *)screen;
-
-+ (MPTimingParams *)timingParamsForCategory:(NSString *)timingCategory variable:(NSString *)timingVariable
- time:(NSNumber *)timingTime label:(NSString *)timingLabel;
-
-@end
-
-
-@interface MPTrackingRequestParams : NSObject
-
-@property (nonatomic, copy, readonly) NSString *hitType;
-@property (nonatomic, copy, readonly) NSString *contentDescription;
-@property (nonatomic, copy, readonly) NSString *customDimension;
-
-- (NSDictionary *)dictionaryRepresentation;
-
-@end
-
-@interface MPEventParams : MPTrackingRequestParams
-
-@property (nonatomic, copy, readonly) NSString *category;
-@property (nonatomic, copy, readonly) NSString *action;
-@property (nonatomic, copy, readonly) NSString *label;
-@property (nonatomic, copy, readonly) NSNumber *value;
-
-@end
-
-@interface MPAppViewParams : MPTrackingRequestParams
-
-@end
-
-@interface MPTimingParams : MPTrackingRequestParams
-
-@property (nonatomic, copy, readonly) NSString *category;
-@property (nonatomic, copy, readonly) NSString *variable;
-@property (nonatomic, copy, readonly) NSNumber *time;
-@property (nonatomic, copy, readonly) NSString *label;
-
-@end
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.m b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.m
deleted file mode 100644
index 0933a964..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.m
+++ /dev/null
@@ -1,170 +0,0 @@
-//
-// MPAnalyticsParamBuilder.m
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 12/11/15.
-// Copyright © 2015 MacPaw Inc. All rights reserved.
-//
-
-#import "MPAnalyticsParamBuilder.h"
-
-
-NSString *const MPHitTypeKey = @"t";
-
-NSString *const MPContentDescriptionKey = @"cd";
-
-NSString *const MPEventCategoryKey = @"ec";
-NSString *const MPEventActionKey = @"ea";
-NSString *const MPEventLabelKey = @"el";
-NSString *const MPEventValueKey = @"ev";
-
-NSString *const MPCustomDimensionUserKey = @"cd1";
-
-NSString *const MPUserTimingCategoryKey = @"utc";
-NSString *const MPUserTimingVariableKey = @"utv";
-NSString *const MPUserTimingTimeKey = @"utt";
-NSString *const MPUserTimingLabelKey = @"utl";
-
-
-@interface MPTrackingRequestParams ()
-
-@property (nonatomic, copy) NSString *hitType;
-@property (nonatomic, copy) NSString *contentDescription;
-@property (nonatomic, copy) NSString *customDimension;
-
-- (NSDictionary *)dictionaryRepresentationKeys;
-
-@end
-
-@interface MPEventParams ()
-
-@property (nonatomic, copy) NSString *category;
-@property (nonatomic, copy) NSString *action;
-@property (nonatomic, copy) NSString *label;
-@property (nonatomic, copy) NSNumber *value;
-
-@end
-
-@interface MPTimingParams ()
-
-@property (nonatomic, copy) NSString *category;
-@property (nonatomic, copy) NSString *variable;
-@property (nonatomic, copy) NSNumber *time;
-@property (nonatomic, copy) NSString *label;
-
-@end
-
-
-@implementation MPTrackingRequestParams
-
-- (NSDictionary *)dictionaryRepresentationKeys
-{
- return @{};
-}
-
-- (NSDictionary *)dictionaryRepresentation
-{
- NSMutableDictionary *result = [NSMutableDictionary dictionary];
- NSDictionary *dictionaryRepresentationKeys = [self dictionaryRepresentationKeys];
- for (NSString *key in dictionaryRepresentationKeys)
- {
- id value = [self valueForKey:dictionaryRepresentationKeys[key]];
- if (value && ![value isEqual:[NSNull null]])
- {
- result[key] = value;
- }
- }
-
- return [result copy];
-}
-
-@end
-
-@implementation MPEventParams
-
-- (NSDictionary *)dictionaryRepresentationKeys
-{
- return @{ MPHitTypeKey : NSStringFromSelector(@selector(hitType)),
- MPContentDescriptionKey : NSStringFromSelector(@selector(contentDescription)),
- MPCustomDimensionUserKey : NSStringFromSelector(@selector(customDimension)),
- MPEventCategoryKey : NSStringFromSelector(@selector(category)),
- MPEventActionKey : NSStringFromSelector(@selector(action)),
- MPEventLabelKey : NSStringFromSelector(@selector(label)),
- MPEventValueKey : NSStringFromSelector(@selector(value)) };
-}
-
-@end
-
-@implementation MPAppViewParams
-
-- (NSDictionary *)dictionaryRepresentationKeys
-{
- return @{ MPHitTypeKey : NSStringFromSelector(@selector(hitType)),
- MPContentDescriptionKey : NSStringFromSelector(@selector(contentDescription)) };
-}
-
-@end
-
-@implementation MPTimingParams
-
-- (NSDictionary *)dictionaryRepresentationKeys
-{
- return @{ MPUserTimingCategoryKey : NSStringFromSelector(@selector(category)),
- MPUserTimingVariableKey : NSStringFromSelector(@selector(variable)),
- MPUserTimingTimeKey : NSStringFromSelector(@selector(time)),
- MPUserTimingLabelKey : NSStringFromSelector(@selector(label)) };
-}
-
-@end
-
-@implementation MPParamBuilder
-
-+ (MPEventParams *)eventParamsForCategory:(NSString *)eventCategory action:(NSString *)eventAction
- label:(NSString *)eventLabel value:(NSNumber *)eventValue
- contentDescription:(NSString *)contentDescription customDimension:(NSString *)customDimension
-{
- NSAssert(eventCategory && eventAction && eventLabel && eventValue, @"All event arguments should be != nil. Use [NSNull null] to remove one of the parameters from request");
-
- MPEventParams *eventParams = [MPEventParams new];
- eventParams.hitType = @"event";
- eventParams.category = eventCategory;
- eventParams.action = eventAction;
- eventParams.label = eventLabel;
- eventParams.value = eventValue;
- eventParams.contentDescription = contentDescription;
- eventParams.customDimension = customDimension;
-
- return eventParams;
-}
-
-+ (MPEventParams *)eventParamsForCategory:(NSString *)eventCategory action:(NSString *)eventAction
- label:(NSString *)eventLabel value:(NSNumber *)eventValue
-{
- return [self eventParamsForCategory:eventCategory action:eventAction label:eventLabel
- value:eventValue contentDescription:nil customDimension:nil];
-}
-
-+ (MPAppViewParams *)appViewParamsForScreen:(NSString *)screen
-{
- MPAppViewParams *appViewParams = [MPAppViewParams new];
- appViewParams.hitType = @"appview";
- appViewParams.contentDescription = screen;
-
- return appViewParams;
-}
-
-+ (MPTimingParams *)timingParamsForCategory:(NSString *)timingCategory variable:(NSString *)timingVariable
- time:(NSNumber *)timingTime label:(NSString *)timingLabel
-{
- MPTimingParams *timingParams = [MPTimingParams new];
- timingParams.hitType = @"timing";
- timingParams.category = timingCategory;
- timingParams.variable = timingVariable;
- timingParams.time = timingTime;
- timingParams.label = timingLabel;
-
- return timingParams;
-}
-
-@end
-
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
deleted file mode 100644
index 00931de8..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// MPGoogleAnalyticsTracker.h
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 11/27/12.
-// Copyright (c) 2012 Denis Stas. All rights reserved.
-//
-
-@import Foundation;
-
-
-@class MPAnalyticsConfiguration, MPEventParams, MPTimingParams;
-
-@interface MPGoogleAnalyticsTracker : NSObject
-
-+ (void)activateConfiguration:(MPAnalyticsConfiguration *)configuration;
-
-+ (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value;
-
-+ (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value
- contentDescription:(NSString *)contentDescription customDimension:(NSString *)dimension;
-
-+ (void)trackTimingOfCategory:(NSString *)category variable:(NSString *)variable
- time:(NSNumber *)time label:(NSString *)label;
-
-+ (void)trackScreen:(NSString *)screen;
-+ (void)trackModalScreen:(NSString *)modalScreen;
-+ (void)switchToModalScreen:(NSString *)modalScreen;
-+ (void)stopTrackingModalScreen;
-
-@end
-
diff --git a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.m b/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.m
deleted file mode 100644
index 0e0195e3..00000000
--- a/Pods/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.m
+++ /dev/null
@@ -1,471 +0,0 @@
-//
-// MPGoogleAnalyticsTracker.m
-// GoogleAnalyticsTracker
-//
-// Created by Denis Stas on 11/27/12.
-// Copyright (c) 2012 Denis Stas. All rights reserved.
-//
-
-#import "MPGoogleAnalyticsTracker.h"
-#import "MPAnalyticsConfiguration.h"
-#import "MPAnalyticsParamBuilder.h"
-
-@import AppKit;
-
-
-NSString *const MPUseDebugGAIDKey = @"AnalyticsUseDebugGAID";
-NSString *const MPCustomGAIDKey = @"AnalyticsCustomGAID";
-NSString *const MPCDKey = @"cd";
-
-
-@interface MPGoogleAnalyticsTracker ()
-
-@property (nonatomic, strong) MPAnalyticsConfiguration *activeConfiguration;
-
-@property (nonatomic, strong) NSURLSession *session;
-
-/* Application-specific information */
-@property (nonatomic, strong, readonly) NSString *applicationName;
-@property (nonatomic, strong, readonly) NSString *applicationVersion;
-@property (nonatomic, readonly, getter=isBeta) BOOL beta;
-@property (nonatomic, readonly, getter=isDebugEnabled) BOOL debugEnabled;
-
-/* User-specific information */
-@property (nonatomic, strong, readonly) NSString *userIdentifier;
-@property (nonatomic, strong, readonly) NSString *userAgentString;
-@property (nonatomic, strong, readonly) NSString *systemInfo;
-
-@property NSString *currentScreen;
-@property NSMutableArray *modalScreens;
-
-- (void)activateConfiguration:(MPAnalyticsConfiguration *)configuration;
-
-- (void)trackEventWithParameters:(MPEventParams *)eventParams;
-- (void)trackTimingWithParameters:(MPTimingParams *)timingParameters;
-
-- (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value;
-
-- (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value
- contentDescription:(NSString *)contentDescription customDimension:(NSString *)dimension;
-
-- (void)trackTimingOfCategory:(NSString *)category variable:(NSString *)variable
- time:(NSNumber *)time label:(NSString *)label;
-
-- (void)trackScreen:(NSString *)screen;
-- (void)trackModalScreen:(NSString *)modalScreen;
-- (void)switchToModalScreen:(NSString *)modalScreen;
-- (void)stopTrackingModalScreen;
-
-@end
-
-
-@implementation MPGoogleAnalyticsTracker
-
-@synthesize applicationName = _applicationName;
-@synthesize applicationVersion = _applicationVersion;
-@synthesize beta = _isBeta;
-@synthesize debugEnabled = _debugEnabled;
-@synthesize userIdentifier = _userIdentifier;
-@synthesize userAgentString = _userAgentString;
-@synthesize systemInfo = _systemInfo;
-
-static id _sharedInstance = nil;
-+ (instancetype)sharedTracker
-{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- _sharedInstance = [[self alloc] init];
- });
-
- return _sharedInstance;
-}
-
-- (instancetype)init
-{
- self = [super init];
- if (self)
- {
- _modalScreens = [NSMutableArray new];
-
- NSURLSessionConfiguration *lightweightConfiguration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
- lightweightConfiguration.HTTPAdditionalHeaders = @{ @"User-Agent" : self.userAgentString };
- lightweightConfiguration.HTTPMaximumConnectionsPerHost = 1;
-
- _session = [NSURLSession sessionWithConfiguration:lightweightConfiguration];
- }
- return self;
-}
-
-#pragma mark - Configuration
-
-- (void)activateConfiguration:(MPAnalyticsConfiguration *)configuration
-{
- self.activeConfiguration = configuration;
-}
-
-#pragma mark - Application and User data
-
-- (BOOL)isBeta
-{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- NSString *version = [NSBundle.mainBundle objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
- self->_isBeta = ([version.lowercaseString rangeOfString:@"b"].location == NSNotFound);
- });
-
- return _isBeta;
-}
-
-- (BOOL)isDebugEnabled
-{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
-#ifndef DEBUG
- self->_debugEnabled = [[NSUserDefaults standardUserDefaults] boolForKey:@"ShowDebugMenu"];
-#else
- self->_debugEnabled = YES;
-#endif
- });
- return _debugEnabled;
-}
-
-- (NSString *)applicationName
-{
- if (!_applicationName)
- {
- NSString *applicationName = [NSBundle.mainBundle objectForInfoDictionaryKey:(NSString *)kCFBundleNameKey];
- _applicationName = applicationName ?: @"Unknown";
- }
-
- return _applicationName;
-}
-
-- (NSString *)applicationVersion
-{
- if (!_applicationVersion)
- {
- NSMutableString *result = [NSMutableString string];
- NSString *versionString = [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"];
- [result appendString:versionString ?: @"Unknown"];
-#ifdef DEBUG
- [result appendString:@"-debug"];
-#endif
-
- _applicationVersion = [result copy];
- }
-
- return _applicationVersion;
-}
-
-- (NSString *)userIdentifier
-{
- if (!_userIdentifier)
- {
- NSString *serialNumber = NULL;
- io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"));
-
- if (platformExpert)
- {
- serialNumber = (__bridge_transfer NSString *)IORegistryEntryCreateCFProperty(platformExpert, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0);
- IOObjectRelease(platformExpert);
- }
-
- NSString *userIdentifier = NSUserName();
- NSString *userOnSystemIdentifier = [NSString stringWithFormat:@"%@%@", serialNumber, userIdentifier];
- _userIdentifier = [[userOnSystemIdentifier dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:0];
- }
-
- return _userIdentifier;
-}
-
-- (NSString *)userAgentString
-{
- if (!_userAgentString)
- {
- SInt32 major, minor, bugfix;
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- Gestalt(gestaltSystemVersionMajor, &major);
- Gestalt(gestaltSystemVersionMinor, &minor);
- Gestalt(gestaltSystemVersionBugFix, &bugfix);
-#pragma clang diagnostic pop
- _userAgentString = [NSString stringWithFormat:@"%@/%@ (Macintosh; Intel Mac OS X %d_%d_%d)",
- self.applicationName, self.applicationVersion, major, minor, bugfix];
- }
-
- return _userAgentString;
-}
-
-- (NSString *)systemInfo
-{
- if (!_systemInfo)
- {
- NSRect screenFrame = NSScreen.mainScreen.frame;
- NSString *preferredLanguage = NSLocale.preferredLanguages[0];
- _systemInfo = [NSString stringWithFormat:@"&sr=%ldx%ld&ul=%@",
- (NSInteger)NSWidth(screenFrame), (NSInteger)NSHeight(screenFrame),
- preferredLanguage];
- }
-
- return _systemInfo;
-}
-
-#pragma mark - Requests
-
-- (NSString *)contentDescription
-{
- if (self.modalScreens.count > 0)
- {
- return self.modalScreens[0];
- }
-
- return self.currentScreen;
-}
-
-- (NSDictionary *)filteredDictionaryForParameters:(MPTrackingRequestParams *)parameters
- includeContentDescription:(BOOL)includeContentDescription
-{
- NSDictionary *dictionaryRepresentation = parameters.dictionaryRepresentation;
- NSMutableDictionary *mutableParameters = [dictionaryRepresentation mutableCopy];
-
- NSString *contentDescription = [self contentDescription];
- if (!parameters.contentDescription && includeContentDescription && contentDescription)
- {
- mutableParameters[MPCDKey] = contentDescription;
- }
-
- return [mutableParameters copy];
-}
-
-- (NSString *)requestStringForDictionary:(NSDictionary *)requestDictionary GAID:(NSString *)identifier
-{
- NSMutableString *result = [NSMutableString stringWithFormat:@"v=1&tid=%@&an=%@&av=%@&cid=%@",
- identifier, self.applicationName, self.applicationVersion, self.userIdentifier];
- for (NSString *key in requestDictionary)
- {
- NSString *stringValue = [NSString stringWithFormat:@"%@", requestDictionary[key]];
- NSString *escapedValue = (__bridge_transfer NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
- (__bridge CFStringRef)stringValue,
- NULL,
- (CFStringRef)@"!*'();:@&=+$,/?%#[]",
- kCFStringEncodingUTF8);
- [result appendFormat:@"&%@=%@", key, escapedValue];
- }
- [result appendString:self.systemInfo];
- return [NSString stringWithString:result];
-}
-
-- (void)sendAnalyticsWithParameters:(NSDictionary *)parameters originalTrackingEvent:(MPTrackingRequestParams *)trackingEvent
-{
- if (!self.activeConfiguration)
- {
- return;
- }
-
- NSString *eventCategory = nil;
- if ([trackingEvent isKindOfClass:[MPEventParams class]])
- {
- eventCategory = [(MPEventParams *)trackingEvent category];
- }
-
- MPAnalyticsConfiguration *activeConfiguration = self.activeConfiguration;
-
- BOOL shouldDuplicateEvent = eventCategory && activeConfiguration.additionalIdentifiers[eventCategory];
- NSArray *allIdentifiers = nil;
-
- if (shouldDuplicateEvent)
- {
- allIdentifiers = @[ activeConfiguration.analyticsIdentifier, activeConfiguration.additionalIdentifiers[eventCategory] ];
- }
- else
- {
- allIdentifiers = @[ activeConfiguration.analyticsIdentifier ];
- }
-
- NSURL *analyticsURL = [NSURL URLWithString:@"https://www.google-analytics.com/collect"];
-
- for (NSString *identifier in allIdentifiers)
- {
- NSString *requestString = [self requestStringForDictionary:parameters GAID:identifier];
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:analyticsURL];
- request.HTTPBody = [requestString dataUsingEncoding:NSUTF8StringEncoding];
- request.HTTPMethod = @"POST";
- NSURLSessionDataTask *analyticsTask = [self.session dataTaskWithRequest:request];
- [analyticsTask resume];
-
- if (self.debugEnabled)
- {
- [self debugEvent:parameters forGAID:identifier];
- }
- }
-}
-
-- (void)debugEvent:(NSDictionary *)parameters forGAID:(NSString *)identifier
-{
- if (![parameters[@"t"] isEqualToString:@"event"])
- {
- return;
- }
-
- NSMutableDictionary *allParameters = [parameters mutableCopy];
- [allParameters addEntriesFromDictionary:@{ @"gaid" : identifier }];
-
- [[NSNotificationCenter defaultCenter] postNotificationName:@"AnalyticsEvent" object:self userInfo:[allParameters copy]];
-}
-
-#pragma mark - Tracking Events
-
-- (void)trackEventWithParameters:(MPEventParams *)eventParams
-{
- NSDictionary *filteredParameters = [self filteredDictionaryForParameters:eventParams
- includeContentDescription:YES];
- [self sendAnalyticsWithParameters:filteredParameters originalTrackingEvent:eventParams];
-}
-
-- (void)trackTimingWithParameters:(MPTimingParams *)timingParams
-{
- NSDictionary *filteredParameters = [self filteredDictionaryForParameters:timingParams
- includeContentDescription:YES];
- [self sendAnalyticsWithParameters:filteredParameters originalTrackingEvent:timingParams];
-}
-
-- (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value
-{
- MPEventParams *eventParams = [MPParamBuilder eventParamsForCategory:category action:action
- label:label value:value];
- [self trackEventWithParameters:eventParams];
-}
-
-- (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value
- contentDescription:(NSString *)contentDescription customDimension:(NSString *)dimension
-{
- MPEventParams *eventParams = [MPParamBuilder eventParamsForCategory:category action:action
- label:label value:value
- contentDescription:contentDescription
- customDimension:dimension];
- [self trackEventWithParameters:eventParams];
-}
-
-- (void)trackTimingOfCategory:(NSString *)category variable:(NSString *)variable
- time:(NSNumber *)time label:(NSString *)label
-{
- MPTimingParams *timingParams = [MPParamBuilder timingParamsForCategory:category variable:variable
- time:time label:label];
- [self trackTimingWithParameters:timingParams];
-}
-
-#pragma mark - Tracking Screens
-
-- (void)trackScreen:(NSString *)screen
-{
- self.currentScreen = screen;
-
- MPAppViewParams *appViewParams = [MPParamBuilder appViewParamsForScreen:screen];
- [self sendAnalyticsWithParameters:[self filteredDictionaryForParameters:appViewParams
- includeContentDescription:NO]
- originalTrackingEvent:appViewParams];
-}
-
-- (void)trackModalScreen:(NSString *)modalScreen
-{
- if (![self.modalScreens containsObject:modalScreen])
- {
- [self.modalScreens insertObject:modalScreen atIndex:0];
-
- MPAppViewParams *appViewParams = [MPParamBuilder appViewParamsForScreen:modalScreen];
- NSDictionary *filteredParameters = [self filteredDictionaryForParameters:appViewParams
- includeContentDescription:NO];
- [self sendAnalyticsWithParameters:filteredParameters originalTrackingEvent:appViewParams];
- }
-}
-
-- (void)switchToModalScreen:(NSString *)modalScreen
-{
- if (self.modalScreens.count > 0)
- {
- [self.modalScreens replaceObjectAtIndex:0 withObject:modalScreen];
- }
- else
- {
- [self.modalScreens insertObject:modalScreen atIndex:0];
- }
-}
-
-- (void)stopTrackingModalScreen
-{
- if (self.modalScreens.count > 0)
- {
- [self.modalScreens removeObjectAtIndex:0];
-
- // track current screen if no more modal screens available
- if (self.modalScreens.count == 0)
- {
- [self trackScreen:self.currentScreen];
- }
- }
-}
-
-#pragma mark - Class Methods
-
-+ (void)activateConfiguration:(MPAnalyticsConfiguration *)configuration
-{
- [[self sharedTracker] activateConfiguration:(MPAnalyticsConfiguration *)configuration];
-}
-
-+ (void)trackEventWithParameters:(MPEventParams *)eventParams
-{
- [[self sharedTracker] trackEventWithParameters:eventParams];
-}
-
-+ (void)trackTimingWithParameters:(MPTimingParams *)timingParameters
-{
- [[self sharedTracker] trackTimingWithParameters:timingParameters];
-}
-
-+ (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value
-{
- [[self sharedTracker] trackEventOfCategory:category action:action
- label:label value:value];
-}
-
-+ (void)trackEventOfCategory:(NSString *)category action:(NSString *)action
- label:(NSString *)label value:(NSNumber *)value
- contentDescription:(NSString *)contentDescription customDimension:(NSString *)dimension
-{
- [[self sharedTracker] trackEventOfCategory:category action:action label:label
- value:value contentDescription:contentDescription
- customDimension:dimension];
-}
-
-+ (void)trackTimingOfCategory:(NSString *)category variable:(NSString *)variable
- time:(NSNumber *)time label:(NSString *)label
-{
- [[self sharedTracker] trackTimingOfCategory:category variable:variable time:time label:label];
-}
-
-+ (void)trackScreen:(NSString *)screen
-{
- [[self sharedTracker] trackScreen:screen];
-}
-
-+ (void)trackModalScreen:(NSString *)modalScreen
-{
- [[self sharedTracker] trackModalScreen:modalScreen];
-}
-
-+ (void)switchToModalScreen:(NSString *)modalScreen
-{
- [[self sharedTracker] switchToModalScreen:modalScreen];
-}
-
-+ (void)stopTrackingModalScreen
-{
- [[self sharedTracker] stopTrackingModalScreen];
-}
-
-@end
diff --git a/Pods/Google-Analytics-for-OS-X/LICENSE b/Pods/Google-Analytics-for-OS-X/LICENSE
deleted file mode 100644
index 4e32062e..00000000
--- a/Pods/Google-Analytics-for-OS-X/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 MacPaw Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/Pods/Google-Analytics-for-OS-X/README.md b/Pods/Google-Analytics-for-OS-X/README.md
deleted file mode 100644
index 9569dbc6..00000000
--- a/Pods/Google-Analytics-for-OS-X/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Google-Analytics-for-OS-X
-Google Analytics SDK for OS X
-
-This is an Objective-C wrapper around [Measurement Protocol](https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide)
-
-## Installation
-Google-Analytics-for-OS-X is available through [CocoaPods](http://cocoapods.org). To install
-it, simply add the following line to your Podfile:
-
-```ruby
-pod "Google-Analytics-for-OS-X"
-```
-
-Alternatively, you can just clone the repo, build `GoogleAnalyticsTracker` target and use the framework in your project.
-
-## Usage
-
-```
- MPAnalyticsConfiguration *configuration = [[MPAnalyticsConfiguration alloc] initWithAnalyticsIdentifier:@"UA-TEST-X"];
- [MPGoogleAnalyticsTracker activateConfiguration:configuration];
-```
-
-#### Track Event
-
-```
- [MPGoogleAnalyticsTracker trackEventOfCategory:@"Interaction" action:@"Button Click"
- label:@"Track Event Button" value:@0];
-```
-
-#### Track Timing
-
-```
- [MPGoogleAnalyticsTracker trackTimingOfCategory:@"Timings" variable:@"App Launch Duration"
- time:@100 label:@""];
-```
-
-#### Debug Window
-
-There is a special debug window included in the framework. It can be used by developers/QA/marketing for testing.
-
-
-
-#License
-
-Google-Analytics-for-OS-X is licensed under the MIT License. See the LICENSE file for more information.
-
diff --git a/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.h b/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.h
new file mode 100644
index 00000000..5b562719
--- /dev/null
+++ b/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+@interface GULAppEnvironmentUtil : NSObject
+
+/// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
+/// development environment or sideloaded.
++ (BOOL)isFromAppStore;
+
+/// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
+/// Returns NO otherwise.
++ (BOOL)isAppStoreReceiptSandbox;
+
+/// Indicates whether the app is on simulator or not at runtime depending on the device
+/// architecture.
++ (BOOL)isSimulator;
+
+/// The current device model. Returns an empty string if device model cannot be retrieved.
++ (NSString *)deviceModel;
+
+/// The current operating system version. Returns an empty string if the system version cannot be
+/// retrieved.
++ (NSString *)systemVersion;
+
+/// Indicates whether it is running inside an extension or an app.
++ (BOOL)isAppExtension;
+
+@end
diff --git a/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m b/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m
new file mode 100644
index 00000000..1fa767b1
--- /dev/null
+++ b/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m
@@ -0,0 +1,250 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "GULAppEnvironmentUtil.h"
+
+#import
+#import
+#import
+#import
+
+#if TARGET_OS_IOS
+#import
+#endif
+
+/// The encryption info struct and constants are missing from the iPhoneSimulator SDK, but not from
+/// the iPhoneOS or Mac OS X SDKs. Since one doesn't ever ship a Simulator binary, we'll just
+/// provide the definitions here.
+#if TARGET_OS_SIMULATOR && !defined(LC_ENCRYPTION_INFO)
+#define LC_ENCRYPTION_INFO 0x21
+struct encryption_info_command {
+ uint32_t cmd;
+ uint32_t cmdsize;
+ uint32_t cryptoff;
+ uint32_t cryptsize;
+ uint32_t cryptid;
+};
+#endif
+
+@implementation GULAppEnvironmentUtil
+
+/// A key for the Info.plist to enable or disable checking if the App Store is running in a sandbox.
+/// This will affect your data integrity when using Firebase Analytics, as it will disable some
+/// necessary checks.
+static NSString *const kFIRAppStoreReceiptURLCheckEnabledKey =
+ @"FirebaseAppStoreReceiptURLCheckEnabled";
+
+/// The file name of the sandbox receipt. This is available on iOS >= 8.0
+static NSString *const kFIRAIdentitySandboxReceiptFileName = @"sandboxReceipt";
+
+/// The following copyright from Landon J. Fuller applies to the isAppEncrypted function.
+///
+/// Copyright (c) 2017 Landon J. Fuller
+/// All rights reserved.
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+/// and associated documentation files (the "Software"), to deal in the Software without
+/// restriction, including without limitation the rights to use, copy, modify, merge, publish,
+/// distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
+/// Software is furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in all copies or
+/// substantial portions of the Software.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+/// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+/// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+/// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+///
+/// Comment from iPhone Dev Wiki
+/// Crack Prevention:
+/// App Store binaries are signed by both their developer and Apple. This encrypts the binary so
+/// that decryption keys are needed in order to make the binary readable. When iOS executes the
+/// binary, the decryption keys are used to decrypt the binary into a readable state where it is
+/// then loaded into memory and executed. iOS can tell the encryption status of a binary via the
+/// cryptid structure member of LC_ENCRYPTION_INFO MachO load command. If cryptid is a non-zero
+/// value then the binary is encrypted.
+///
+/// 'Cracking' works by letting the kernel decrypt the binary then siphoning the decrypted data into
+/// a new binary file, resigning, and repackaging. This will only work on jailbroken devices as
+/// codesignature validation has been removed. Resigning takes place because while the codesignature
+/// doesn't have to be valid thanks to the jailbreak, it does have to be in place unless you have
+/// AppSync or similar to disable codesignature checks.
+///
+/// More information at Landon Fuller's blog
+static BOOL IsAppEncrypted() {
+ const struct mach_header *executableHeader = NULL;
+ for (uint32_t i = 0; i < _dyld_image_count(); i++) {
+ const struct mach_header *header = _dyld_get_image_header(i);
+ if (header && header->filetype == MH_EXECUTE) {
+ executableHeader = header;
+ break;
+ }
+ }
+
+ if (!executableHeader) {
+ return NO;
+ }
+
+ BOOL is64bit = (executableHeader->magic == MH_MAGIC_64);
+ uintptr_t cursor = (uintptr_t)executableHeader +
+ (is64bit ? sizeof(struct mach_header_64) : sizeof(struct mach_header));
+ const struct segment_command *segmentCommand = NULL;
+ uint32_t i = 0;
+
+ while (i++ < executableHeader->ncmds) {
+ segmentCommand = (struct segment_command *)cursor;
+
+ if (!segmentCommand) {
+ continue;
+ }
+
+ if ((!is64bit && segmentCommand->cmd == LC_ENCRYPTION_INFO) ||
+ (is64bit && segmentCommand->cmd == LC_ENCRYPTION_INFO_64)) {
+ if (is64bit) {
+ struct encryption_info_command_64 *cryptCmd =
+ (struct encryption_info_command_64 *)segmentCommand;
+ return cryptCmd && cryptCmd->cryptid != 0;
+ } else {
+ struct encryption_info_command *cryptCmd = (struct encryption_info_command *)segmentCommand;
+ return cryptCmd && cryptCmd->cryptid != 0;
+ }
+ }
+ cursor += segmentCommand->cmdsize;
+ }
+
+ return NO;
+}
+
+static BOOL HasSCInfoFolder() {
+#if TARGET_OS_IOS || TARGET_OS_TV
+ NSString *bundlePath = [NSBundle mainBundle].bundlePath;
+ NSString *scInfoPath = [bundlePath stringByAppendingPathComponent:@"SC_Info"];
+ return [[NSFileManager defaultManager] fileExistsAtPath:scInfoPath];
+#elif TARGET_OS_OSX
+ return NO;
+#endif
+}
+
+static BOOL HasEmbeddedMobileProvision() {
+#if TARGET_OS_IOS || TARGET_OS_TV
+ return [[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"].length > 0;
+#elif TARGET_OS_OSX
+ return NO;
+#endif
+}
+
++ (BOOL)isFromAppStore {
+ static dispatch_once_t isEncryptedOnce;
+ static BOOL isEncrypted = NO;
+
+ dispatch_once(&isEncryptedOnce, ^{
+ isEncrypted = IsAppEncrypted();
+ });
+
+ if ([GULAppEnvironmentUtil isSimulator]) {
+ return NO;
+ }
+
+ // If an app contain the sandboxReceipt file, it means its coming from TestFlight
+ // This must be checked before the SCInfo Folder check below since TestFlight apps may
+ // also have an SCInfo folder.
+ if ([GULAppEnvironmentUtil isAppStoreReceiptSandbox]) {
+ return NO;
+ }
+
+ if (HasSCInfoFolder()) {
+ // When iTunes downloads a .ipa, it also gets a customized .sinf file which is added to the
+ // main SC_Info directory.
+ return YES;
+ }
+
+ // For iOS >= 8.0, iTunesMetadata.plist is moved outside of the sandbox. Any attempt to read
+ // the iTunesMetadata.plist outside of the sandbox will be rejected by Apple.
+ // If the app does not contain the embedded.mobileprovision which is stripped out by Apple when
+ // the app is submitted to store, then it is highly likely that it is from Apple Store.
+ return isEncrypted && !HasEmbeddedMobileProvision();
+}
+
++ (BOOL)isAppStoreReceiptSandbox {
+ // Since checking the App Store's receipt URL can be memory intensive, check the option in the
+ // Info.plist if developers opted out of this check.
+ id enableSandboxCheck =
+ [[NSBundle mainBundle] objectForInfoDictionaryKey:kFIRAppStoreReceiptURLCheckEnabledKey];
+ if (enableSandboxCheck && [enableSandboxCheck isKindOfClass:[NSNumber class]] &&
+ ![enableSandboxCheck boolValue]) {
+ return NO;
+ }
+// The #else is for pre Xcode 9 where @available is not yet implemented.
+#if __has_builtin(__builtin_available)
+ if (@available(iOS 7.0, *)) {
+#else
+ if ([[UIDevice currentDevice].systemVersion integerValue] >= 7) {
+#endif
+ NSURL *appStoreReceiptURL = [NSBundle mainBundle].appStoreReceiptURL;
+ NSString *appStoreReceiptFileName = appStoreReceiptURL.lastPathComponent;
+ return [appStoreReceiptFileName isEqualToString:kFIRAIdentitySandboxReceiptFileName];
+ }
+ return NO;
+}
+
++ (BOOL)isSimulator {
+#if TARGET_OS_IOS || TARGET_OS_TV
+ NSString *platform = [GULAppEnvironmentUtil deviceModel];
+ return [platform isEqual:@"x86_64"] || [platform isEqual:@"i386"];
+#elif TARGET_OS_OSX
+ return NO;
+#endif
+}
+
++ (NSString *)deviceModel {
+ static dispatch_once_t once;
+ static NSString *deviceModel;
+
+ dispatch_once(&once, ^{
+ struct utsname systemInfo;
+ if (uname(&systemInfo) == 0) {
+ deviceModel = [NSString stringWithUTF8String:systemInfo.machine];
+ }
+ });
+ return deviceModel;
+}
+
++ (NSString *)systemVersion {
+#if TARGET_OS_IOS
+ return [UIDevice currentDevice].systemVersion;
+#elif TARGET_OS_OSX || TARGET_OS_TV
+ // Assemble the systemVersion, excluding the patch version if it's 0.
+ NSOperatingSystemVersion osVersion = [NSProcessInfo processInfo].operatingSystemVersion;
+ NSMutableString *versionString = [[NSMutableString alloc]
+ initWithFormat:@"%ld.%ld", (long)osVersion.majorVersion, (long)osVersion.minorVersion];
+ if (osVersion.patchVersion != 0) {
+ [versionString appendFormat:@".%ld", (long)osVersion.patchVersion];
+ }
+ return versionString;
+#endif
+}
+
++ (BOOL)isAppExtension {
+#if TARGET_OS_IOS || TARGET_OS_TV
+ // Documented by Apple
+ BOOL appExtension = [[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"];
+ return appExtension;
+#elif TARGET_OS_OSX
+ return NO;
+#endif
+}
+
+@end
diff --git a/Pods/GoogleUtilities/GoogleUtilities/Logger/GULLogger.m b/Pods/GoogleUtilities/GoogleUtilities/Logger/GULLogger.m
new file mode 100644
index 00000000..495e5830
--- /dev/null
+++ b/Pods/GoogleUtilities/GoogleUtilities/Logger/GULLogger.m
@@ -0,0 +1,209 @@
+// Copyright 2018 Google
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import "Private/GULLogger.h"
+
+#include
+
+#import
+#import "Public/GULLoggerLevel.h"
+
+/// ASL client facility name used by GULLogger.
+const char *kGULLoggerASLClientFacilityName = "com.google.utilities.logger";
+
+static dispatch_once_t sGULLoggerOnceToken;
+
+static aslclient sGULLoggerClient;
+
+static dispatch_queue_t sGULClientQueue;
+
+static BOOL sGULLoggerDebugMode;
+
+static GULLoggerLevel sGULLoggerMaximumLevel;
+
+// Allow clients to register a version to include in the log.
+static const char *sVersion = "";
+
+static GULLoggerService kGULLoggerLogger = @"[GULLogger]";
+
+#ifdef DEBUG
+/// The regex pattern for the message code.
+static NSString *const kMessageCodePattern = @"^I-[A-Z]{3}[0-9]{6}$";
+static NSRegularExpression *sMessageCodeRegex;
+#endif
+
+void GULLoggerInitializeASL(void) {
+ dispatch_once(&sGULLoggerOnceToken, ^{
+ NSInteger majorOSVersion = [[GULAppEnvironmentUtil systemVersion] integerValue];
+ uint32_t aslOptions = ASL_OPT_STDERR;
+#if TARGET_OS_SIMULATOR
+ // The iOS 11 simulator doesn't need the ASL_OPT_STDERR flag.
+ if (majorOSVersion >= 11) {
+ aslOptions = 0;
+ }
+#else
+ // Devices running iOS 10 or higher don't need the ASL_OPT_STDERR flag.
+ if (majorOSVersion >= 10) {
+ aslOptions = 0;
+ }
+#endif // TARGET_OS_SIMULATOR
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations" // asl is deprecated
+ // Initialize the ASL client handle.
+ sGULLoggerClient = asl_open(NULL, kGULLoggerASLClientFacilityName, aslOptions);
+ sGULLoggerMaximumLevel = GULLoggerLevelNotice;
+
+ // Set the filter used by system/device log. Initialize in default mode.
+ asl_set_filter(sGULLoggerClient, ASL_FILTER_MASK_UPTO(ASL_LEVEL_NOTICE));
+
+ sGULClientQueue = dispatch_queue_create("GULLoggingClientQueue", DISPATCH_QUEUE_SERIAL);
+ dispatch_set_target_queue(sGULClientQueue,
+ dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0));
+#ifdef DEBUG
+ sMessageCodeRegex = [NSRegularExpression regularExpressionWithPattern:kMessageCodePattern
+ options:0
+ error:NULL];
+#endif
+ });
+}
+
+void GULLoggerEnableSTDERR(void) {
+ asl_add_log_file(sGULLoggerClient, STDERR_FILENO);
+}
+
+void GULLoggerForceDebug(void) {
+ // We should enable debug mode if we're not running from App Store.
+ if (![GULAppEnvironmentUtil isFromAppStore]) {
+ sGULLoggerDebugMode = YES;
+ GULSetLoggerLevel(GULLoggerLevelDebug);
+ }
+}
+
+__attribute__((no_sanitize("thread"))) void GULSetLoggerLevel(GULLoggerLevel loggerLevel) {
+ if (loggerLevel < GULLoggerLevelMin || loggerLevel > GULLoggerLevelMax) {
+ GULLogError(kGULLoggerLogger, NO, @"I-COR000023", @"Invalid logger level, %ld",
+ (long)loggerLevel);
+ return;
+ }
+ GULLoggerInitializeASL();
+ // We should not raise the logger level if we are running from App Store.
+ if (loggerLevel >= GULLoggerLevelNotice && [GULAppEnvironmentUtil isFromAppStore]) {
+ return;
+ }
+
+ sGULLoggerMaximumLevel = loggerLevel;
+ dispatch_async(sGULClientQueue, ^{
+ asl_set_filter(sGULLoggerClient, ASL_FILTER_MASK_UPTO(loggerLevel));
+ });
+}
+
+/**
+ * Check if the level is high enough to be loggable.
+ */
+__attribute__((no_sanitize("thread"))) BOOL GULIsLoggableLevel(GULLoggerLevel loggerLevel) {
+ GULLoggerInitializeASL();
+ if (sGULLoggerDebugMode) {
+ return YES;
+ }
+ return (BOOL)(loggerLevel <= sGULLoggerMaximumLevel);
+}
+
+#ifdef DEBUG
+void GULResetLogger() {
+ sGULLoggerOnceToken = 0;
+}
+
+aslclient getGULLoggerClient() {
+ return sGULLoggerClient;
+}
+
+dispatch_queue_t getGULClientQueue() {
+ return sGULClientQueue;
+}
+
+BOOL getGULLoggerDebugMode() {
+ return sGULLoggerDebugMode;
+}
+#endif
+
+void GULLoggerRegisterVersion(const char *version) {
+ sVersion = version;
+}
+
+void GULLogBasic(GULLoggerLevel level,
+ GULLoggerService service,
+ BOOL forceLog,
+ NSString *messageCode,
+ NSString *message,
+ va_list args_ptr) {
+ GULLoggerInitializeASL();
+ if (!(level <= sGULLoggerMaximumLevel || sGULLoggerDebugMode || forceLog)) {
+ return;
+ }
+
+#ifdef DEBUG
+ NSCAssert(messageCode.length == 11, @"Incorrect message code length.");
+ NSRange messageCodeRange = NSMakeRange(0, messageCode.length);
+ NSUInteger numberOfMatches = [sMessageCodeRegex numberOfMatchesInString:messageCode
+ options:0
+ range:messageCodeRange];
+ NSCAssert(numberOfMatches == 1, @"Incorrect message code format.");
+#endif
+ NSString *logMsg = [[NSString alloc] initWithFormat:message arguments:args_ptr];
+ logMsg = [NSString stringWithFormat:@"%s - %@[%@] %@", sVersion, service, messageCode, logMsg];
+ dispatch_async(sGULClientQueue, ^{
+ asl_log(sGULLoggerClient, NULL, level, "%s", logMsg.UTF8String);
+ });
+}
+#pragma clang diagnostic pop
+
+/**
+ * Generates the logging functions using macros.
+ *
+ * Calling GULLogError(kGULLoggerCore, @"I-COR000001", @"Configure %@ failed.", @"blah") shows:
+ * yyyy-mm-dd hh:mm:ss.SSS sender[PID] [{service}][I-COR000001] Configure blah failed.
+ * Calling GULLogDebug(kGULLoggerCore, @"I-COR000001", @"Configure succeed.") shows:
+ * yyyy-mm-dd hh:mm:ss.SSS sender[PID] [{service}][I-COR000001] Configure succeed.
+ */
+#define GUL_LOGGING_FUNCTION(level) \
+ void GULLog##level(GULLoggerService service, BOOL force, NSString *messageCode, \
+ NSString *message, ...) { \
+ va_list args_ptr; \
+ va_start(args_ptr, message); \
+ GULLogBasic(GULLoggerLevel##level, service, force, messageCode, message, args_ptr); \
+ va_end(args_ptr); \
+ }
+
+GUL_LOGGING_FUNCTION(Error)
+GUL_LOGGING_FUNCTION(Warning)
+GUL_LOGGING_FUNCTION(Notice)
+GUL_LOGGING_FUNCTION(Info)
+GUL_LOGGING_FUNCTION(Debug)
+
+#undef GUL_MAKE_LOGGER
+
+#pragma mark - GULLoggerWrapper
+
+@implementation GULLoggerWrapper
+
++ (void)logWithLevel:(GULLoggerLevel)level
+ withService:(GULLoggerService)service
+ withCode:(NSString *)messageCode
+ withMessage:(NSString *)message
+ withArgs:(va_list)args {
+ GULLogBasic(level, service, NO, messageCode, message, args);
+}
+
+@end
diff --git a/Pods/GoogleUtilities/GoogleUtilities/Logger/Private/GULLogger.h b/Pods/GoogleUtilities/GoogleUtilities/Logger/Private/GULLogger.h
new file mode 100644
index 00000000..ff425768
--- /dev/null
+++ b/Pods/GoogleUtilities/GoogleUtilities/Logger/Private/GULLogger.h
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The services used in the logger.
+ */
+typedef NSString *const GULLoggerService;
+
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+
+/**
+ * Initialize GULLogger.
+ */
+extern void GULLoggerInitializeASL(void);
+
+/**
+ * Override log level to Debug.
+ */
+void GULLoggerForceDebug(void);
+
+/**
+ * Turn on logging to STDERR.
+ */
+extern void GULLoggerEnableSTDERR(void);
+
+/**
+ * Changes the default logging level of GULLoggerLevelNotice to a user-specified level.
+ * The default level cannot be set above GULLoggerLevelNotice if the app is running from App Store.
+ * (required) log level (one of the GULLoggerLevel enum values).
+ */
+extern void GULSetLoggerLevel(GULLoggerLevel loggerLevel);
+
+/**
+ * Checks if the specified logger level is loggable given the current settings.
+ * (required) log level (one of the GULLoggerLevel enum values).
+ */
+extern BOOL GULIsLoggableLevel(GULLoggerLevel loggerLevel);
+
+/**
+ * Register version to include in logs.
+ * (required) version
+ */
+extern void GULLoggerRegisterVersion(const char *version);
+
+/**
+ * Logs a message to the Xcode console and the device log. If running from AppStore, will
+ * not log any messages with a level higher than GULLoggerLevelNotice to avoid log spamming.
+ * (required) log level (one of the GULLoggerLevel enum values).
+ * (required) service name of type GULLoggerService.
+ * (required) message code starting with "I-" which means iOS, followed by a capitalized
+ * three-character service identifier and a six digit integer message ID that is unique
+ * within the service.
+ * An example of the message code is @"I-COR000001".
+ * (required) message string which can be a format string.
+ * (optional) variable arguments list obtained from calling va_start, used when message is a format
+ * string.
+ */
+extern void GULLogBasic(GULLoggerLevel level,
+ GULLoggerService service,
+ BOOL forceLog,
+ NSString *messageCode,
+ NSString *message,
+// On 64-bit simulators, va_list is not a pointer, so cannot be marked nullable
+// See: http://stackoverflow.com/q/29095469
+#if __LP64__ && TARGET_OS_SIMULATOR || TARGET_OS_OSX
+ va_list args_ptr
+#else
+ va_list _Nullable args_ptr
+#endif
+);
+
+/**
+ * The following functions accept the following parameters in order:
+ * (required) service name of type GULLoggerService.
+ * (required) message code starting from "I-" which means iOS, followed by a capitalized
+ * three-character service identifier and a six digit integer message ID that is unique
+ * within the service.
+ * An example of the message code is @"I-COR000001".
+ * See go/firebase-log-proposal for details.
+ * (required) message string which can be a format string.
+ * (optional) the list of arguments to substitute into the format string.
+ * Example usage:
+ * GULLogError(kGULLoggerCore, @"I-COR000001", @"Configuration of %@ failed.", app.name);
+ */
+extern void GULLogError(GULLoggerService service,
+ BOOL force,
+ NSString *messageCode,
+ NSString *message,
+ ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogWarning(GULLoggerService service,
+ BOOL force,
+ NSString *messageCode,
+ NSString *message,
+ ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogNotice(GULLoggerService service,
+ BOOL force,
+ NSString *messageCode,
+ NSString *message,
+ ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogInfo(GULLoggerService service,
+ BOOL force,
+ NSString *messageCode,
+ NSString *message,
+ ...) NS_FORMAT_FUNCTION(4, 5);
+extern void GULLogDebug(GULLoggerService service,
+ BOOL force,
+ NSString *messageCode,
+ NSString *message,
+ ...) NS_FORMAT_FUNCTION(4, 5);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif // __cplusplus
+
+@interface GULLoggerWrapper : NSObject
+
+/**
+ * Objective-C wrapper for GULLogBasic to allow weak linking to GULLogger
+ * (required) log level (one of the GULLoggerLevel enum values).
+ * (required) service name of type GULLoggerService.
+ * (required) message code starting with "I-" which means iOS, followed by a capitalized
+ * three-character service identifier and a six digit integer message ID that is unique
+ * within the service.
+ * An example of the message code is @"I-COR000001".
+ * (required) message string which can be a format string.
+ * (optional) variable arguments list obtained from calling va_start, used when message is a format
+ * string.
+ */
+
++ (void)logWithLevel:(GULLoggerLevel)level
+ withService:(GULLoggerService)service
+ withCode:(NSString *)messageCode
+ withMessage:(NSString *)message
+ withArgs:(va_list)args;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GULLoggerLevel.h b/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GULLoggerLevel.h
new file mode 100644
index 00000000..81ff212d
--- /dev/null
+++ b/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GULLoggerLevel.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The log levels used by internal logging.
+ */
+typedef NS_ENUM(NSInteger, GULLoggerLevel) {
+ /** Error level, matches ASL_LEVEL_ERR. */
+ GULLoggerLevelError = 3,
+ /** Warning level, matches ASL_LEVEL_WARNING. */
+ GULLoggerLevelWarning = 4,
+ /** Notice level, matches ASL_LEVEL_NOTICE. */
+ GULLoggerLevelNotice = 5,
+ /** Info level, matches ASL_LEVEL_INFO. */
+ GULLoggerLevelInfo = 6,
+ /** Debug level, matches ASL_LEVEL_DEBUG. */
+ GULLoggerLevelDebug = 7,
+ /** Minimum log level. */
+ GULLoggerLevelMin = GULLoggerLevelError,
+ /** Maximum log level. */
+ GULLoggerLevelMax = GULLoggerLevelDebug
+} NS_SWIFT_NAME(GoogleLoggerLevel);
diff --git a/Pods/GoogleUtilities/LICENSE b/Pods/GoogleUtilities/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/Pods/GoogleUtilities/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/Pods/GoogleUtilities/README.md b/Pods/GoogleUtilities/README.md
new file mode 100644
index 00000000..903fc9fc
--- /dev/null
+++ b/Pods/GoogleUtilities/README.md
@@ -0,0 +1,206 @@
+# Firebase iOS Open Source Development [](https://travis-ci.org/firebase/firebase-ios-sdk)
+
+This repository contains a subset of the Firebase iOS SDK source. It currently
+includes FirebaseCore, FirebaseAuth, FirebaseDatabase, FirebaseFirestore,
+FirebaseFunctions, FirebaseInstanceID, FirebaseInAppMessaging,
+FirebaseInAppMessagingDisplay, FirebaseMessaging and FirebaseStorage.
+
+The repository also includes GoogleUtilities source. The
+[GoogleUtilities](GoogleUtilities/README.md) pod is
+a set of utilities used by Firebase and other Google products.
+
+Firebase is an app development platform with tools to help you build, grow and
+monetize your app. More information about Firebase can be found at
+[https://firebase.google.com](https://firebase.google.com).
+
+## Installation
+
+See the three subsections for details about three different installation methods.
+1. [Standard pod install](README.md#standard-pod-install)
+1. [Installing from the GitHub repo](README.md#installing-from-github)
+1. [Experimental Carthage](README.md#carthage-ios-only)
+
+### Standard pod install
+
+Go to
+[https://firebase.google.com/docs/ios/setup](https://firebase.google.com/docs/ios/setup).
+
+### Installing from GitHub
+
+For releases starting with 5.0.0, the source for each release is also deployed
+to CocoaPods master and available via standard
+[CocoaPods Podfile syntax](https://guides.cocoapods.org/syntax/podfile.html#pod).
+
+These instructions can be used to access the Firebase repo at other branches,
+tags, or commits.
+
+#### Background
+
+See
+[the Podfile Syntax Reference](https://guides.cocoapods.org/syntax/podfile.html#pod)
+for instructions and options about overriding pod source locations.
+
+#### Accessing Firebase Source Snapshots
+
+All of the official releases are tagged in this repo and available via CocoaPods. To access a local
+source snapshot or unreleased branch, use Podfile directives like the following:
+
+To access FirebaseFirestore via a branch:
+```
+pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'
+pod 'FirebaseFirestore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'
+```
+
+To access FirebaseMessaging via a checked out version of the firebase-ios-sdk repo do:
+
+```
+pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'
+pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
+```
+
+### Carthage (iOS only)
+
+Instructions for the experimental Carthage distribution are at
+[Carthage](Carthage.md).
+
+### Rome
+
+Instructions for installing binary frameworks via
+[Rome](https://github.com/CocoaPods/Rome) are at [Rome](Rome.md).
+
+## Development
+
+Follow the subsequent instructions to develop, debug, unit test, run integration
+tests, and try out reference samples:
+
+```
+$ git clone git@github.com:firebase/firebase-ios-sdk.git
+$ cd firebase-ios-sdk/Example
+$ pod update
+$ open Firebase.xcworkspace
+```
+
+Firestore and Functions have self contained Xcode projects. See
+[Firestore/README.md](Firestore/README.md) and
+[Functions/README.md](Functions/README.md).
+
+### Code Formatting
+
+To ensure that the code is formatted consistently, run the script
+[./scripts/style.sh](https://github.com/firebase/firebase-ios-sdk/blob/master/scripts/style.sh)
+before creating a PR.
+
+Travis will verify that any code changes are done in a style compliant way. Install
+`clang-format` and `swiftformat`.
+This command will get the right `clang-format` version:
+
+`brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/773cb75d360b58f32048f5964038d09825a507c8/Formula/clang-format.rb`
+
+### Running Unit Tests
+
+Select a scheme and press Command-u to build a component and run its unit tests.
+
+#### Viewing Code Coverage
+
+First, make sure that [xcov](https://github.com/nakiostudio/xcov) is installed with `gem install xcov`.
+
+After running the `AllUnitTests_iOS` scheme in Xcode, execute
+`xcov --workspace Firebase.xcworkspace --scheme AllUnitTests_iOS --output_directory xcov_output`
+at Example/ in the terminal. This will aggregate the coverage, and you can run `open xcov_output/index.html` to see the results.
+
+### Running Sample Apps
+In order to run the sample apps and integration tests, you'll need valid
+`GoogleService-Info.plist` files for those samples. The Firebase Xcode project contains dummy plist
+files without real values, but can be replaced with real plist files. To get your own
+`GoogleService-Info.plist` files:
+
+1. Go to the [Firebase Console](https://console.firebase.google.com/)
+2. Create a new Firebase project, if you don't already have one
+3. For each sample app you want to test, create a new Firebase app with the sample app's bundle
+identifier (e.g. `com.google.Database-Example`)
+4. Download the resulting `GoogleService-Info.plist` and replace the appropriate dummy plist file
+(e.g. in [Example/Database/App/](Example/Database/App/));
+
+Some sample apps like Firebase Messaging ([Example/Messaging/App](Example/Messaging/App)) require
+special Apple capabilities, and you will have to change the sample app to use a unique bundle
+identifier that you can control in your own Apple Developer account.
+
+## Specific Component Instructions
+See the sections below for any special instructions for those components.
+
+### Firebase Auth
+
+If you're doing specific Firebase Auth development, see
+[the Auth Sample README](Example/Auth/README.md) for instructions about
+building and running the FirebaseAuth pod along with various samples and tests.
+
+### Firebase Database
+
+To run the Database Integration tests, make your database authentication rules
+[public](https://firebase.google.com/docs/database/security/quickstart).
+
+### Firebase Storage
+
+To run the Storage Integration tests, follow the instructions in
+[FIRStorageIntegrationTests.m](Example/Storage/Tests/Integration/FIRStorageIntegrationTests.m).
+
+#### Push Notifications
+
+Push notifications can only be delivered to specially provisioned App IDs in the developer portal.
+In order to actually test receiving push notifications, you will need to:
+
+1. Change the bundle identifier of the sample app to something you own in your Apple Developer
+account, and enable that App ID for push notifications.
+2. You'll also need to
+[upload your APNs Provider Authentication Key or certificate to the Firebase Console](https://firebase.google.com/docs/cloud-messaging/ios/certs)
+at **Project Settings > Cloud Messaging > [Your Firebase App]**.
+3. Ensure your iOS device is added to your Apple Developer portal as a test device.
+
+#### iOS Simulator
+
+The iOS Simulator cannot register for remote notifications, and will not receive push notifications.
+In order to receive push notifications, you'll have to follow the steps above and run the app on a
+physical device.
+
+## Community Supported Efforts
+
+We've seen an amazing amount of interest and contributions to improve the Firebase SDKs, and we are
+very grateful! We'd like to empower as many developers as we can to be able to use Firebase and
+participate in the Firebase community.
+
+### macOS and tvOS
+FirebaseAuth, FirebaseCore, FirebaseDatabase, FirebaseFunctions and FirebaseStorage now compile, run
+unit tests, and work on macOS and tvOS, thanks to contributions from the community. There are a few
+tweaks needed, like ensuring iOS-only, macOS-only, or tvOS-only code is correctly guarded with checks
+for `TARGET_OS_IOS`, `TARGET_OS_OSX` and `TARGET_OS_TV`.
+
+For tvOS, checkout the [Sample](Example/tvOSSample).
+
+Keep in mind that macOS and tvOS are not officially supported by Firebase, and this repository is
+actively developed primarily for iOS. While we can catch basic unit test issues with Travis, there
+may be some changes where the SDK no longer works as expected on macOS or tvOS. If you encounter
+this, please [file an issue](https://github.com/firebase/firebase-ios-sdk/issues).
+
+For installation instructions, see [above](README.md#accessing-firebase-source-snapshots).
+
+Note that the Firebase pod is not available for macOS and tvOS. Install a selection of the
+`FirebaseAuth`, `FirebaseCore`, `FirebaseDatabase`, `FirebaseFunctions`, and `FirebaseStorage`
+CocoaPods.
+
+## Roadmap
+
+See [Roadmap](ROADMAP.md) for more about the Firebase iOS SDK Open Source
+plans and directions.
+
+## Contributing
+
+See [Contributing](CONTRIBUTING.md) for more information on contributing to the Firebase
+iOS SDK.
+
+## License
+
+The contents of this repository is licensed under the
+[Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
+
+Your use of Firebase is governed by the
+[Terms of Service for Firebase Services](https://firebase.google.com/terms/).
diff --git a/Pods/Headers/Private/FirebaseCore/FIRAnalyticsConfiguration+Internal.h b/Pods/Headers/Private/FirebaseCore/FIRAnalyticsConfiguration+Internal.h
new file mode 120000
index 00000000..50ffd9f6
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRAnalyticsConfiguration+Internal.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRAnalyticsConfiguration+Internal.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRAnalyticsConfiguration.h b/Pods/Headers/Private/FirebaseCore/FIRAnalyticsConfiguration.h
new file mode 120000
index 00000000..74536131
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRAnalyticsConfiguration.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRAnalyticsConfiguration.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRApp.h b/Pods/Headers/Private/FirebaseCore/FIRApp.h
new file mode 120000
index 00000000..40a3ac4d
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRApp.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRApp.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRAppAssociationRegistration.h b/Pods/Headers/Private/FirebaseCore/FIRAppAssociationRegistration.h
new file mode 120000
index 00000000..43d1fd09
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRAppAssociationRegistration.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRAppAssociationRegistration.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRAppInternal.h b/Pods/Headers/Private/FirebaseCore/FIRAppInternal.h
new file mode 120000
index 00000000..a565e857
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRAppInternal.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRAppInternal.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRBundleUtil.h b/Pods/Headers/Private/FirebaseCore/FIRBundleUtil.h
new file mode 120000
index 00000000..c108c1fd
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRBundleUtil.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRBundleUtil.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRComponent.h b/Pods/Headers/Private/FirebaseCore/FIRComponent.h
new file mode 120000
index 00000000..b8ed6897
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRComponent.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRComponent.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRComponentContainer.h b/Pods/Headers/Private/FirebaseCore/FIRComponentContainer.h
new file mode 120000
index 00000000..c55a7087
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRComponentContainer.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRComponentContainer.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRComponentContainerInternal.h b/Pods/Headers/Private/FirebaseCore/FIRComponentContainerInternal.h
new file mode 120000
index 00000000..d417d94f
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRComponentContainerInternal.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRComponentContainerInternal.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRComponentType.h b/Pods/Headers/Private/FirebaseCore/FIRComponentType.h
new file mode 120000
index 00000000..89cd56c2
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRComponentType.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRComponentType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRConfiguration.h b/Pods/Headers/Private/FirebaseCore/FIRConfiguration.h
new file mode 120000
index 00000000..a88a9b24
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRConfiguration.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRConfiguration.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRDependency.h b/Pods/Headers/Private/FirebaseCore/FIRDependency.h
new file mode 120000
index 00000000..28203342
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRDependency.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRDependency.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRErrorCode.h b/Pods/Headers/Private/FirebaseCore/FIRErrorCode.h
new file mode 120000
index 00000000..1d4373da
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRErrorCode.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRErrorCode.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRErrors.h b/Pods/Headers/Private/FirebaseCore/FIRErrors.h
new file mode 120000
index 00000000..76d02791
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRErrors.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRErrors.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRLibrary.h b/Pods/Headers/Private/FirebaseCore/FIRLibrary.h
new file mode 120000
index 00000000..f0e5a7b2
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRLibrary.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRLibrary.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRLogger.h b/Pods/Headers/Private/FirebaseCore/FIRLogger.h
new file mode 120000
index 00000000..1b44ae90
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRLogger.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRLogger.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRLoggerLevel.h b/Pods/Headers/Private/FirebaseCore/FIRLoggerLevel.h
new file mode 120000
index 00000000..a8f2b856
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRLoggerLevel.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRLoggerLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIROptions.h b/Pods/Headers/Private/FirebaseCore/FIROptions.h
new file mode 120000
index 00000000..caa84d6b
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIROptions.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIROptions.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIROptionsInternal.h b/Pods/Headers/Private/FirebaseCore/FIROptionsInternal.h
new file mode 120000
index 00000000..cd57437d
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIROptionsInternal.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIROptionsInternal.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FIRVersion.h b/Pods/Headers/Private/FirebaseCore/FIRVersion.h
new file mode 120000
index 00000000..10151ab0
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FIRVersion.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Private/FIRVersion.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/FirebaseCore/FirebaseCore.h b/Pods/Headers/Private/FirebaseCore/FirebaseCore.h
new file mode 120000
index 00000000..923cc40f
--- /dev/null
+++ b/Pods/Headers/Private/FirebaseCore/FirebaseCore.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FirebaseCore.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h b/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
deleted file mode 120000
index 20b0da93..00000000
--- a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h b/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
deleted file mode 120000
index 37fe5b38..00000000
--- a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h b/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
deleted file mode 120000
index 66239483..00000000
--- a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h b/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
deleted file mode 120000
index e42ab40e..00000000
--- a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h b/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
deleted file mode 120000
index 88403724..00000000
--- a/Pods/Headers/Private/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/GoogleUtilities/GULAppEnvironmentUtil.h b/Pods/Headers/Private/GoogleUtilities/GULAppEnvironmentUtil.h
new file mode 120000
index 00000000..87f403f0
--- /dev/null
+++ b/Pods/Headers/Private/GoogleUtilities/GULAppEnvironmentUtil.h
@@ -0,0 +1 @@
+../../../GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/GoogleUtilities/GULLogger.h b/Pods/Headers/Private/GoogleUtilities/GULLogger.h
new file mode 120000
index 00000000..bbcc36d6
--- /dev/null
+++ b/Pods/Headers/Private/GoogleUtilities/GULLogger.h
@@ -0,0 +1 @@
+../../../GoogleUtilities/GoogleUtilities/Logger/Private/GULLogger.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/GoogleUtilities/GULLoggerLevel.h b/Pods/Headers/Private/GoogleUtilities/GULLoggerLevel.h
new file mode 120000
index 00000000..a42d6a1d
--- /dev/null
+++ b/Pods/Headers/Private/GoogleUtilities/GULLoggerLevel.h
@@ -0,0 +1 @@
+../../../GoogleUtilities/GoogleUtilities/Logger/Public/GULLoggerLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBAUTHTokenScopeError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBAUTHTokenScopeError.h
new file mode 120000
index 00000000..9fb4eb53
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBAUTHTokenScopeError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenScopeError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsArg.h
new file mode 120000
index 00000000..ed814d88
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsError.h
new file mode 120000
index 00000000..939a6153
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSRouteObjects.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSRouteObjects.h
new file mode 120000
index 00000000..46f10885
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSRouteObjects.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/Routes/RouteObjects/DBCONTACTSRouteObjects.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSUserAuthRoutes.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSUserAuthRoutes.h
new file mode 120000
index 00000000..4be6ad2b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBCONTACTSUserAuthRoutes.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/Routes/DBCONTACTSUserAuthRoutes.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsError.h
new file mode 120000
index 00000000..f30a1c9e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSCountFileRequestsError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsResult.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsResult.h
new file mode 120000
index 00000000..8f7c9487
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSCountFileRequestsResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h
new file mode 120000
index 00000000..17bf9418
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h
new file mode 120000
index 00000000..49f3126b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestArgs.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestArgs.h
new file mode 120000
index 00000000..1b1b3305
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestArgs.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteFileRequestArgs.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestError.h
new file mode 120000
index 00000000..3f1a0483
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteFileRequestError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestsResult.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestsResult.h
new file mode 120000
index 00000000..518ad834
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestsResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteFileRequestsResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsArg.h
new file mode 120000
index 00000000..582eb153
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueArg.h
new file mode 120000
index 00000000..5dd9efa1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsContinueArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueError.h
new file mode 120000
index 00000000..912a0d78
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsContinueError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsV2Result.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsV2Result.h
new file mode 120000
index 00000000..b1aa55f6
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsV2Result.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsV2Result.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportArg.h
new file mode 120000
index 00000000..241e45eb
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportError.h
new file mode 120000
index 00000000..edee10d7
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportInfo.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportInfo.h
new file mode 120000
index 00000000..006f7ce6
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportInfo.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportInfo.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportMetadata.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportMetadata.h
new file mode 120000
index 00000000..babf2d92
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportMetadata.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportMetadata.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportResult.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportResult.h
new file mode 120000
index 00000000..3c3d57a3
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESExportResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkArg.h
new file mode 120000
index 00000000..7cde25a9
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESGetTemporaryUploadLinkArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkResult.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkResult.h
new file mode 120000
index 00000000..f60c1242
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESGetTemporaryUploadLinkResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESMoveBatchArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESMoveBatchArg.h
new file mode 120000
index 00000000..6ceafeb2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESMoveBatchArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESMoveBatchArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchArgBase.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchArgBase.h
new file mode 120000
index 00000000..1f3b727d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchArgBase.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchArgBase.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchErrorEntry.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchErrorEntry.h
new file mode 120000
index 00000000..f6091651
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchErrorEntry.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchErrorEntry.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchResultEntry.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchResultEntry.h
new file mode 120000
index 00000000..8179b232
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchResultEntry.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchResultEntry.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2JobStatus.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2JobStatus.h
new file mode 120000
index 00000000..bd226fe8
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2JobStatus.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchV2JobStatus.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Launch.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Launch.h
new file mode 120000
index 00000000..606ea8c6
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Launch.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchV2Launch.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Result.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Result.h
new file mode 120000
index 00000000..1aa925dd
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Result.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchV2Result.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGLinkAccessLevel.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGLinkAccessLevel.h
new file mode 120000
index 00000000..2346390d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGLinkAccessLevel.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Sharing/Headers/DBSHARINGLinkAccessLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGRequestedLinkAccessLevel.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGRequestedLinkAccessLevel.h
new file mode 120000
index 00000000..798fa00f
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGRequestedLinkAccessLevel.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Sharing/Headers/DBSHARINGRequestedLinkAccessLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGSharedLinkAlreadyExistsMetadata.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGSharedLinkAlreadyExistsMetadata.h
new file mode 120000
index 00000000..17ebba6f
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBSHARINGSharedLinkAlreadyExistsMetadata.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Sharing/Headers/DBSHARINGSharedLinkAlreadyExistsMetadata.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicy.h
new file mode 120000
index 00000000..e95dfbf9
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGCameraUploadsPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedDetails.h
new file mode 120000
index 00000000..ee9f4d39
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGCameraUploadsPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedType.h
new file mode 120000
index 00000000..ab037dfa
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGCameraUploadsPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentDetails.h
new file mode 120000
index 00000000..19e755bf
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileEditCommentDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentType.h
new file mode 120000
index 00000000..d4e02dcf
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileEditCommentType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteDetails.h
new file mode 120000
index 00000000..03e820e5
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileRequestDeleteDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteType.h
new file mode 120000
index 00000000..274e2edc
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileRequestDeleteType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusDetails.h
new file mode 120000
index 00000000..524b8f6e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminChangeStatusDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusType.h
new file mode 120000
index 00000000..219587c8
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminChangeStatusType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h
new file mode 120000
index 00000000..17450e12
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h
new file mode 120000
index 00000000..a9cb2eca
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h
new file mode 120000
index 00000000..e4f08736
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h
new file mode 120000
index 00000000..83c02e44
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedDetails.h
new file mode 120000
index 00000000..5cc28f9d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationConnectedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedType.h
new file mode 120000
index 00000000..b8334d2a
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationConnectedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedDetails.h
new file mode 120000
index 00000000..93fda2ad
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationDisconnectedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedType.h
new file mode 120000
index 00000000..dbd9548a
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationDisconnectedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicy.h
new file mode 120000
index 00000000..9d9a3d6c
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedDetails.h
new file mode 120000
index 00000000..4d19808a
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedType.h
new file mode 120000
index 00000000..a0bf933e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdDetails.h
new file mode 120000
index 00000000..3b7105f7
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberAddExternalIdDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdType.h
new file mode 120000
index 00000000..b6fe2f88
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberAddExternalIdType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdDetails.h
new file mode 120000
index 00000000..8f9f0fb9
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberChangeExternalIdDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdType.h
new file mode 120000
index 00000000..3e7d70c2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberChangeExternalIdType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsDetails.h
new file mode 120000
index 00000000..9a58da2b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberDeleteManualContactsDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsType.h
new file mode 120000
index 00000000..d3ae4d73
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberDeleteManualContactsType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdDetails.h
new file mode 120000
index 00000000..6aea6e8a
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberRemoveExternalIdDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdType.h
new file mode 120000
index 00000000..46d2a43d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberRemoveExternalIdType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicy.h
new file mode 120000
index 00000000..c99b84c1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDefaultFolderPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h
new file mode 120000
index 00000000..598fa3f0
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h
new file mode 120000
index 00000000..8efec829
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicy.h
new file mode 120000
index 00000000..7ad7958e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDesktopPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedDetails.h
new file mode 120000
index 00000000..fc17ac06
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDesktopPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedType.h
new file mode 120000
index 00000000..add7c34f
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDesktopPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedDetails.h
new file mode 120000
index 00000000..3fa4d1ea
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDocOwnershipChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedType.h
new file mode 120000
index 00000000..632270ba
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDocOwnershipChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateDetails.h
new file mode 120000
index 00000000..8e31d7cd
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkCreateDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateType.h
new file mode 120000
index 00000000..1a1cb135
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkCreateType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledDetails.h
new file mode 120000
index 00000000..e408a433
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkDisabledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledType.h
new file mode 120000
index 00000000..64b4c0cb
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkDisabledType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewDetails.h
new file mode 120000
index 00000000..548be41b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkViewDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewType.h
new file mode 120000
index 00000000..eafb02e7
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkViewType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPassPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPassPolicy.h
new file mode 120000
index 00000000..bd67d207
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPassPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPassPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h
new file mode 120000
index 00000000..0b21af9f
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h
new file mode 120000
index 00000000..7e23cd04
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h
new file mode 120000
index 00000000..4868b2d2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestReminderDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestReminderDetails.h
new file mode 120000
index 00000000..a3e72add
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestReminderDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestReminderDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGQuickActionType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGQuickActionType.h
new file mode 120000
index 00000000..da86d62e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGQuickActionType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGQuickActionType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyDetails.h
new file mode 120000
index 00000000..f1ab0710
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGResellerSupportChangePolicyDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyType.h
new file mode 120000
index 00000000..1e967af2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGResellerSupportChangePolicyType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportPolicy.h
new file mode 120000
index 00000000..6d9102b6
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGResellerSupportPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h
new file mode 120000
index 00000000..ca6c4d59
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h
new file mode 120000
index 00000000..a0c494cc
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h
new file mode 120000
index 00000000..f274b0cb
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestReminderDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestReminderDetails.h
new file mode 120000
index 00000000..482e7e9c
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestReminderDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestReminderDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailDetails.h
new file mode 120000
index 00000000..97a0010a
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamActivityCreateReportFailDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailType.h
new file mode 120000
index 00000000..b6447bf6
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamActivityCreateReportFailType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicy.h
new file mode 120000
index 00000000..ecaab129
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamExtensionsPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h
new file mode 120000
index 00000000..b4362aa4
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedType.h
new file mode 120000
index 00000000..734728a5
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamExtensionsPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedDetails.h
new file mode 120000
index 00000000..64beeca9
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h
new file mode 120000
index 00000000..7046ae60
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..ee1c06c4
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h
new file mode 120000
index 00000000..bf1457d1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..1cc76806
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h
new file mode 120000
index 00000000..bc6aea20
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedType.h
new file mode 120000
index 00000000..809be7ce
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h
new file mode 120000
index 00000000..b1bf8a3a
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledType.h
new file mode 120000
index 00000000..978e015e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAutoCanceledType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledDetails.h
new file mode 120000
index 00000000..9df12ed7
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h
new file mode 120000
index 00000000..f9c0fe1b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..302bcd1e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h
new file mode 120000
index 00000000..788af38d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..b722a4f1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h
new file mode 120000
index 00000000..1ff64aa7
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledType.h
new file mode 120000
index 00000000..bf5256df
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredDetails.h
new file mode 120000
index 00000000..bd33efeb
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h
new file mode 120000
index 00000000..dbac22a2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..5bb55f05
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h
new file mode 120000
index 00000000..70883a0d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..ead800ed
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h
new file mode 120000
index 00000000..5bd583d8
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredType.h
new file mode 120000
index 00000000..43ba2fe1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..c79870d3
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h
new file mode 120000
index 00000000..0d0c3562
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..4377db4e
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h
new file mode 120000
index 00000000..2d494e5b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderDetails.h
new file mode 120000
index 00000000..516d8765
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h
new file mode 120000
index 00000000..675baef4
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..9a7b8a73
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h
new file mode 120000
index 00000000..f9997dff
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..dd3f0806
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h
new file mode 120000
index 00000000..2366f8e2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderType.h
new file mode 120000
index 00000000..456d914b
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedDetails.h
new file mode 120000
index 00000000..a94b1029
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRevokedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedType.h
new file mode 120000
index 00000000..0d764c94
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRevokedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..634d0a47
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h
new file mode 120000
index 00000000..cb45b118
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..a1769ba1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h
new file mode 120000
index 00000000..291a9ad1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicy.h
new file mode 120000
index 00000000..0fc7ac75
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamSelectiveSyncPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h
new file mode 120000
index 00000000..c98a1026
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h
new file mode 120000
index 00000000..a7af2344
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberLogInfo.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberLogInfo.h
new file mode 120000
index 00000000..2f009cd1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberLogInfo.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedNonTeamMemberLogInfo.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberType.h
new file mode 120000
index 00000000..41d896cf
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedNonTeamMemberType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestAction.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestAction.h
new file mode 120000
index 00000000..1d4db993
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestAction.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedTeamsRequestAction.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestState.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestState.h
new file mode 120000
index 00000000..d7a8dc76
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestState.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedTeamsRequestState.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedDetails.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedDetails.h
new file mode 120000
index 00000000..c60a57b6
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGViewerInfoPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedType.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedType.h
new file mode 120000
index 00000000..99adb5a2
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGViewerInfoPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersDataTransferArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersDataTransferArg.h
new file mode 120000
index 00000000..c852b531
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersDataTransferArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersDataTransferArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersDeactivateBaseArg.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersDeactivateBaseArg.h
new file mode 120000
index 00000000..eb452964
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersDeactivateBaseArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersDeactivateBaseArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersTransferFilesError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersTransferFilesError.h
new file mode 120000
index 00000000..9f59b93f
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersTransferFilesError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersTransferFilesError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersTransferFormerMembersFilesError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersTransferFormerMembersFilesError.h
new file mode 120000
index 00000000..42e986d1
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMMembersTransferFormerMembersFilesError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersTransferFormerMembersFilesError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESCameraUploadsPolicyState.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESCameraUploadsPolicyState.h
new file mode 120000
index 00000000..24ca84d9
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESCameraUploadsPolicyState.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESCameraUploadsPolicyState.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDefaultFolderPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDefaultFolderPolicy.h
new file mode 120000
index 00000000..8ceb8778
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDefaultFolderPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESPaperDefaultFolderPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDesktopPolicy.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDesktopPolicy.h
new file mode 120000
index 00000000..c9f2a7fa
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDesktopPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESPaperDesktopPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESTwoStepVerificationState.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESTwoStepVerificationState.h
new file mode 120000
index 00000000..2736e619
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMPOLICIESTwoStepVerificationState.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESTwoStepVerificationState.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMTeamNamespacesListError.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMTeamNamespacesListError.h
new file mode 120000
index 00000000..e5128e7d
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMTeamNamespacesListError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMTeamNamespacesListError.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMTeamReportFailureReason.h b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMTeamReportFailureReason.h
new file mode 120000
index 00000000..1df32cd9
--- /dev/null
+++ b/Pods/Headers/Private/ObjectiveDropboxOfficial/DBTEAMTeamReportFailureReason.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMTeamReportFailureReason.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/aes.h b/Pods/Headers/Private/SSZipArchive/aes.h
deleted file mode 120000
index 32196452..00000000
--- a/Pods/Headers/Private/SSZipArchive/aes.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/aes.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/aes_ni.h b/Pods/Headers/Private/SSZipArchive/aes_ni.h
deleted file mode 120000
index 8f946233..00000000
--- a/Pods/Headers/Private/SSZipArchive/aes_ni.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/aes_ni.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/aesopt.h b/Pods/Headers/Private/SSZipArchive/aesopt.h
deleted file mode 120000
index 452f4092..00000000
--- a/Pods/Headers/Private/SSZipArchive/aesopt.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/aesopt.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/aestab.h b/Pods/Headers/Private/SSZipArchive/aestab.h
deleted file mode 120000
index fb03b74e..00000000
--- a/Pods/Headers/Private/SSZipArchive/aestab.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/aestab.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/brg_endian.h b/Pods/Headers/Private/SSZipArchive/brg_endian.h
deleted file mode 120000
index 07e0ff21..00000000
--- a/Pods/Headers/Private/SSZipArchive/brg_endian.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/brg_endian.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/brg_types.h b/Pods/Headers/Private/SSZipArchive/brg_types.h
deleted file mode 120000
index b7ebbfe1..00000000
--- a/Pods/Headers/Private/SSZipArchive/brg_types.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/brg_types.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/crypt.h b/Pods/Headers/Private/SSZipArchive/crypt.h
deleted file mode 120000
index 87a02b47..00000000
--- a/Pods/Headers/Private/SSZipArchive/crypt.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/crypt.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/fileenc.h b/Pods/Headers/Private/SSZipArchive/fileenc.h
deleted file mode 120000
index 15572dd2..00000000
--- a/Pods/Headers/Private/SSZipArchive/fileenc.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/fileenc.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/hmac.h b/Pods/Headers/Private/SSZipArchive/hmac.h
deleted file mode 120000
index 3e2defae..00000000
--- a/Pods/Headers/Private/SSZipArchive/hmac.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/hmac.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/ioapi.h b/Pods/Headers/Private/SSZipArchive/ioapi.h
deleted file mode 120000
index 3b7663c3..00000000
--- a/Pods/Headers/Private/SSZipArchive/ioapi.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/ioapi.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/ioapi_buf.h b/Pods/Headers/Private/SSZipArchive/ioapi_buf.h
deleted file mode 120000
index ca1c3308..00000000
--- a/Pods/Headers/Private/SSZipArchive/ioapi_buf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/ioapi_buf.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/ioapi_mem.h b/Pods/Headers/Private/SSZipArchive/ioapi_mem.h
deleted file mode 120000
index a72874c1..00000000
--- a/Pods/Headers/Private/SSZipArchive/ioapi_mem.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/ioapi_mem.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/minishared.h b/Pods/Headers/Private/SSZipArchive/minishared.h
deleted file mode 120000
index ddac93ca..00000000
--- a/Pods/Headers/Private/SSZipArchive/minishared.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/minishared.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz.h b/Pods/Headers/Private/SSZipArchive/mz.h
new file mode 120000
index 00000000..0c15c50e
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_compat.h b/Pods/Headers/Private/SSZipArchive/mz_compat.h
new file mode 120000
index 00000000..1dc23327
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_compat.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_compat.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_crypt.h b/Pods/Headers/Private/SSZipArchive/mz_crypt.h
new file mode 120000
index 00000000..095e038c
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_crypt.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_crypt.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_os.h b/Pods/Headers/Private/SSZipArchive/mz_os.h
new file mode 120000
index 00000000..1bd59bd6
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_os.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_os.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm.h b/Pods/Headers/Private/SSZipArchive/mz_strm.h
new file mode 120000
index 00000000..7ac61854
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_buf.h b/Pods/Headers/Private/SSZipArchive/mz_strm_buf.h
new file mode 120000
index 00000000..d319c851
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_buf.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_buf.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_mem.h b/Pods/Headers/Private/SSZipArchive/mz_strm_mem.h
new file mode 120000
index 00000000..a94de59b
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_mem.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_mem.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_os.h b/Pods/Headers/Private/SSZipArchive/mz_strm_os.h
new file mode 120000
index 00000000..459faefb
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_os.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_os.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_pkcrypt.h b/Pods/Headers/Private/SSZipArchive/mz_strm_pkcrypt.h
new file mode 120000
index 00000000..9f555edb
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_pkcrypt.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_pkcrypt.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_split.h b/Pods/Headers/Private/SSZipArchive/mz_strm_split.h
new file mode 120000
index 00000000..7498841f
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_split.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_split.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_wzaes.h b/Pods/Headers/Private/SSZipArchive/mz_strm_wzaes.h
new file mode 120000
index 00000000..a4902ceb
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_wzaes.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_wzaes.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_strm_zlib.h b/Pods/Headers/Private/SSZipArchive/mz_strm_zlib.h
new file mode 120000
index 00000000..652c1d61
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_strm_zlib.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_strm_zlib.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_zip.h b/Pods/Headers/Private/SSZipArchive/mz_zip.h
new file mode 120000
index 00000000..5e4dcdbf
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_zip.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_zip.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/mz_zip_rw.h b/Pods/Headers/Private/SSZipArchive/mz_zip_rw.h
new file mode 120000
index 00000000..dc812980
--- /dev/null
+++ b/Pods/Headers/Private/SSZipArchive/mz_zip_rw.h
@@ -0,0 +1 @@
+../../../SSZipArchive/SSZipArchive/minizip/mz_zip_rw.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/prng.h b/Pods/Headers/Private/SSZipArchive/prng.h
deleted file mode 120000
index b1ef2f7a..00000000
--- a/Pods/Headers/Private/SSZipArchive/prng.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/prng.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/pwd2key.h b/Pods/Headers/Private/SSZipArchive/pwd2key.h
deleted file mode 120000
index b0d6b5d7..00000000
--- a/Pods/Headers/Private/SSZipArchive/pwd2key.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/pwd2key.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/sha1.h b/Pods/Headers/Private/SSZipArchive/sha1.h
deleted file mode 120000
index 7bc66eb8..00000000
--- a/Pods/Headers/Private/SSZipArchive/sha1.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/aes/sha1.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/unzip.h b/Pods/Headers/Private/SSZipArchive/unzip.h
deleted file mode 120000
index 2f0c6489..00000000
--- a/Pods/Headers/Private/SSZipArchive/unzip.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/unzip.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/SSZipArchive/zip.h b/Pods/Headers/Private/SSZipArchive/zip.h
deleted file mode 120000
index 4ad32d25..00000000
--- a/Pods/Headers/Private/SSZipArchive/zip.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../SSZipArchive/SSZipArchive/minizip/zip.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ZXingObjC/ZXCGImageLuminanceSourceInfo.h b/Pods/Headers/Private/ZXingObjC/ZXCGImageLuminanceSourceInfo.h
new file mode 120000
index 00000000..16e04872
--- /dev/null
+++ b/Pods/Headers/Private/ZXingObjC/ZXCGImageLuminanceSourceInfo.h
@@ -0,0 +1 @@
+../../../ZXingObjC/ZXingObjC/client/ZXCGImageLuminanceSourceInfo.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ZXingObjC/ZXCode93Writer.h b/Pods/Headers/Private/ZXingObjC/ZXCode93Writer.h
new file mode 120000
index 00000000..af6be808
--- /dev/null
+++ b/Pods/Headers/Private/ZXingObjC/ZXCode93Writer.h
@@ -0,0 +1 @@
+../../../ZXingObjC/ZXingObjC/oned/ZXCode93Writer.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/ZXingObjC/ZXDecimal.h b/Pods/Headers/Private/ZXingObjC/ZXDecimal.h
new file mode 120000
index 00000000..af247381
--- /dev/null
+++ b/Pods/Headers/Private/ZXingObjC/ZXDecimal.h
@@ -0,0 +1 @@
+../../../ZXingObjC/ZXingObjC/common/ZXDecimal.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/FirebaseCore/FIRAnalyticsConfiguration.h b/Pods/Headers/Public/FirebaseCore/FIRAnalyticsConfiguration.h
new file mode 120000
index 00000000..74536131
--- /dev/null
+++ b/Pods/Headers/Public/FirebaseCore/FIRAnalyticsConfiguration.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRAnalyticsConfiguration.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/FirebaseCore/FIRApp.h b/Pods/Headers/Public/FirebaseCore/FIRApp.h
new file mode 120000
index 00000000..40a3ac4d
--- /dev/null
+++ b/Pods/Headers/Public/FirebaseCore/FIRApp.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRApp.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/FirebaseCore/FIRConfiguration.h b/Pods/Headers/Public/FirebaseCore/FIRConfiguration.h
new file mode 120000
index 00000000..a88a9b24
--- /dev/null
+++ b/Pods/Headers/Public/FirebaseCore/FIRConfiguration.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRConfiguration.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/FirebaseCore/FIRLoggerLevel.h b/Pods/Headers/Public/FirebaseCore/FIRLoggerLevel.h
new file mode 120000
index 00000000..a8f2b856
--- /dev/null
+++ b/Pods/Headers/Public/FirebaseCore/FIRLoggerLevel.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIRLoggerLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/FirebaseCore/FIROptions.h b/Pods/Headers/Public/FirebaseCore/FIROptions.h
new file mode 120000
index 00000000..caa84d6b
--- /dev/null
+++ b/Pods/Headers/Public/FirebaseCore/FIROptions.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FIROptions.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/FirebaseCore/FirebaseCore.h b/Pods/Headers/Public/FirebaseCore/FirebaseCore.h
new file mode 120000
index 00000000..923cc40f
--- /dev/null
+++ b/Pods/Headers/Public/FirebaseCore/FirebaseCore.h
@@ -0,0 +1 @@
+../../../FirebaseCore/Firebase/Core/Public/FirebaseCore.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h b/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
deleted file mode 120000
index 20b0da93..00000000
--- a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/GoogleAnalyticsTracker.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h b/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
deleted file mode 120000
index 37fe5b38..00000000
--- a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsConfiguration.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h b/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
deleted file mode 120000
index 66239483..00000000
--- a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsDebugWindowController.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h b/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
deleted file mode 120000
index e42ab40e..00000000
--- a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPAnalyticsParamBuilder.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h b/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
deleted file mode 120000
index 88403724..00000000
--- a/Pods/Headers/Public/Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../Google-Analytics-for-OS-X/GoogleAnalyticsTracker/MPGoogleAnalyticsTracker.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/GoogleUtilities/GULLoggerLevel.h b/Pods/Headers/Public/GoogleUtilities/GULLoggerLevel.h
new file mode 120000
index 00000000..a42d6a1d
--- /dev/null
+++ b/Pods/Headers/Public/GoogleUtilities/GULLoggerLevel.h
@@ -0,0 +1 @@
+../../../GoogleUtilities/GoogleUtilities/Logger/Public/GULLoggerLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBAUTHTokenScopeError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBAUTHTokenScopeError.h
new file mode 120000
index 00000000..9fb4eb53
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBAUTHTokenScopeError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenScopeError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsArg.h
new file mode 120000
index 00000000..ed814d88
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsError.h
new file mode 120000
index 00000000..939a6153
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSDeleteManualContactsError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSRouteObjects.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSRouteObjects.h
new file mode 120000
index 00000000..46f10885
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSRouteObjects.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/Routes/RouteObjects/DBCONTACTSRouteObjects.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSUserAuthRoutes.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSUserAuthRoutes.h
new file mode 120000
index 00000000..4be6ad2b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBCONTACTSUserAuthRoutes.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/Routes/DBCONTACTSUserAuthRoutes.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsError.h
new file mode 120000
index 00000000..f30a1c9e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSCountFileRequestsError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsResult.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsResult.h
new file mode 120000
index 00000000..8f7c9487
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSCountFileRequestsResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSCountFileRequestsResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h
new file mode 120000
index 00000000..17bf9418
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteAllClosedFileRequestsError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h
new file mode 120000
index 00000000..49f3126b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteAllClosedFileRequestsResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestArgs.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestArgs.h
new file mode 120000
index 00000000..1b1b3305
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestArgs.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteFileRequestArgs.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestError.h
new file mode 120000
index 00000000..3f1a0483
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteFileRequestError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestsResult.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestsResult.h
new file mode 120000
index 00000000..518ad834
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSDeleteFileRequestsResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSDeleteFileRequestsResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsArg.h
new file mode 120000
index 00000000..582eb153
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueArg.h
new file mode 120000
index 00000000..5dd9efa1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsContinueArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueError.h
new file mode 120000
index 00000000..912a0d78
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsContinueError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsContinueError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsV2Result.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsV2Result.h
new file mode 120000
index 00000000..b1aa55f6
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILEREQUESTSListFileRequestsV2Result.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileRequests/Headers/DBFILEREQUESTSListFileRequestsV2Result.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportArg.h
new file mode 120000
index 00000000..241e45eb
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportError.h
new file mode 120000
index 00000000..edee10d7
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportInfo.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportInfo.h
new file mode 120000
index 00000000..006f7ce6
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportInfo.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportInfo.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportMetadata.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportMetadata.h
new file mode 120000
index 00000000..babf2d92
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportMetadata.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportMetadata.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportResult.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportResult.h
new file mode 120000
index 00000000..3c3d57a3
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESExportResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESExportResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkArg.h
new file mode 120000
index 00000000..7cde25a9
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESGetTemporaryUploadLinkArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkResult.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkResult.h
new file mode 120000
index 00000000..f60c1242
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESGetTemporaryUploadLinkResult.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESGetTemporaryUploadLinkResult.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESMoveBatchArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESMoveBatchArg.h
new file mode 120000
index 00000000..6ceafeb2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESMoveBatchArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESMoveBatchArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchArgBase.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchArgBase.h
new file mode 120000
index 00000000..1f3b727d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchArgBase.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchArgBase.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchErrorEntry.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchErrorEntry.h
new file mode 120000
index 00000000..f6091651
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchErrorEntry.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchErrorEntry.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchResultEntry.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchResultEntry.h
new file mode 120000
index 00000000..8179b232
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchResultEntry.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchResultEntry.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2JobStatus.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2JobStatus.h
new file mode 120000
index 00000000..bd226fe8
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2JobStatus.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchV2JobStatus.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Launch.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Launch.h
new file mode 120000
index 00000000..606ea8c6
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Launch.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchV2Launch.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Result.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Result.h
new file mode 120000
index 00000000..1aa925dd
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBFILESRelocationBatchV2Result.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Files/Headers/DBFILESRelocationBatchV2Result.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGLinkAccessLevel.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGLinkAccessLevel.h
new file mode 120000
index 00000000..2346390d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGLinkAccessLevel.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Sharing/Headers/DBSHARINGLinkAccessLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGRequestedLinkAccessLevel.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGRequestedLinkAccessLevel.h
new file mode 120000
index 00000000..798fa00f
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGRequestedLinkAccessLevel.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Sharing/Headers/DBSHARINGRequestedLinkAccessLevel.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGSharedLinkAlreadyExistsMetadata.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGSharedLinkAlreadyExistsMetadata.h
new file mode 120000
index 00000000..17ebba6f
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBSHARINGSharedLinkAlreadyExistsMetadata.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Sharing/Headers/DBSHARINGSharedLinkAlreadyExistsMetadata.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicy.h
new file mode 120000
index 00000000..e95dfbf9
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGCameraUploadsPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedDetails.h
new file mode 120000
index 00000000..ee9f4d39
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGCameraUploadsPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedType.h
new file mode 120000
index 00000000..ab037dfa
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGCameraUploadsPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGCameraUploadsPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentDetails.h
new file mode 120000
index 00000000..19e755bf
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileEditCommentDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentType.h
new file mode 120000
index 00000000..d4e02dcf
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileEditCommentType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileEditCommentType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteDetails.h
new file mode 120000
index 00000000..03e820e5
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileRequestDeleteDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteType.h
new file mode 120000
index 00000000..274e2edc
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGFileRequestDeleteType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGFileRequestDeleteType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusDetails.h
new file mode 120000
index 00000000..524b8f6e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminChangeStatusDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusType.h
new file mode 120000
index 00000000..219587c8
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminChangeStatusType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminChangeStatusType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h
new file mode 120000
index 00000000..17450e12
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h
new file mode 120000
index 00000000..a9cb2eca
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedInViaTrustedTeamsType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h
new file mode 120000
index 00000000..e4f08736
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h
new file mode 120000
index 00000000..83c02e44
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGGuestAdminSignedOutViaTrustedTeamsType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedDetails.h
new file mode 120000
index 00000000..5cc28f9d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationConnectedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedType.h
new file mode 120000
index 00000000..b8334d2a
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationConnectedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationConnectedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedDetails.h
new file mode 120000
index 00000000..93fda2ad
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationDisconnectedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedType.h
new file mode 120000
index 00000000..dbd9548a
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationDisconnectedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationDisconnectedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicy.h
new file mode 120000
index 00000000..9d9a3d6c
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedDetails.h
new file mode 120000
index 00000000..4d19808a
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedType.h
new file mode 120000
index 00000000..a0bf933e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGIntegrationPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGIntegrationPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdDetails.h
new file mode 120000
index 00000000..3b7105f7
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberAddExternalIdDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdType.h
new file mode 120000
index 00000000..b6fe2f88
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberAddExternalIdType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberAddExternalIdType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdDetails.h
new file mode 120000
index 00000000..8f9f0fb9
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberChangeExternalIdDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdType.h
new file mode 120000
index 00000000..3e7d70c2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberChangeExternalIdType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberChangeExternalIdType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsDetails.h
new file mode 120000
index 00000000..9a58da2b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberDeleteManualContactsDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsType.h
new file mode 120000
index 00000000..d3ae4d73
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberDeleteManualContactsType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberDeleteManualContactsType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdDetails.h
new file mode 120000
index 00000000..6aea6e8a
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberRemoveExternalIdDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdType.h
new file mode 120000
index 00000000..46d2a43d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGMemberRemoveExternalIdType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGMemberRemoveExternalIdType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicy.h
new file mode 120000
index 00000000..c99b84c1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDefaultFolderPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h
new file mode 120000
index 00000000..598fa3f0
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDefaultFolderPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h
new file mode 120000
index 00000000..8efec829
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDefaultFolderPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicy.h
new file mode 120000
index 00000000..7ad7958e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDesktopPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedDetails.h
new file mode 120000
index 00000000..fc17ac06
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDesktopPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedType.h
new file mode 120000
index 00000000..add7c34f
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDesktopPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDesktopPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedDetails.h
new file mode 120000
index 00000000..3fa4d1ea
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDocOwnershipChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedType.h
new file mode 120000
index 00000000..632270ba
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperDocOwnershipChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperDocOwnershipChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateDetails.h
new file mode 120000
index 00000000..8e31d7cd
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkCreateDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateType.h
new file mode 120000
index 00000000..1a1cb135
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkCreateType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkCreateType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledDetails.h
new file mode 120000
index 00000000..e408a433
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkDisabledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledType.h
new file mode 120000
index 00000000..64b4c0cb
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkDisabledType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkDisabledType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewDetails.h
new file mode 120000
index 00000000..548be41b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkViewDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewType.h
new file mode 120000
index 00000000..eafb02e7
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPaperPublishedLinkViewType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPaperPublishedLinkViewType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPassPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPassPolicy.h
new file mode 120000
index 00000000..bd67d207
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPassPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPassPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h
new file mode 120000
index 00000000..0b21af9f
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestAcceptedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h
new file mode 120000
index 00000000..7e23cd04
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h
new file mode 120000
index 00000000..4868b2d2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestExpiredDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestReminderDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestReminderDetails.h
new file mode 120000
index 00000000..a3e72add
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGPrimaryTeamRequestReminderDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGPrimaryTeamRequestReminderDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGQuickActionType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGQuickActionType.h
new file mode 120000
index 00000000..da86d62e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGQuickActionType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGQuickActionType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyDetails.h
new file mode 120000
index 00000000..f1ab0710
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGResellerSupportChangePolicyDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyType.h
new file mode 120000
index 00000000..1e967af2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportChangePolicyType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGResellerSupportChangePolicyType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportPolicy.h
new file mode 120000
index 00000000..6d9102b6
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGResellerSupportPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGResellerSupportPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h
new file mode 120000
index 00000000..ca6c4d59
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestAcceptedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h
new file mode 120000
index 00000000..a0c494cc
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h
new file mode 120000
index 00000000..f274b0cb
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestExpiredDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestReminderDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestReminderDetails.h
new file mode 120000
index 00000000..482e7e9c
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGSecondaryTeamRequestReminderDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGSecondaryTeamRequestReminderDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailDetails.h
new file mode 120000
index 00000000..97a0010a
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamActivityCreateReportFailDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailType.h
new file mode 120000
index 00000000..b6447bf6
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamActivityCreateReportFailType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamActivityCreateReportFailType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicy.h
new file mode 120000
index 00000000..ecaab129
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamExtensionsPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h
new file mode 120000
index 00000000..b4362aa4
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamExtensionsPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedType.h
new file mode 120000
index 00000000..734728a5
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamExtensionsPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamExtensionsPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedDetails.h
new file mode 120000
index 00000000..64beeca9
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h
new file mode 120000
index 00000000..7046ae60
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..ee1c06c4
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h
new file mode 120000
index 00000000..bf1457d1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..1cc76806
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h
new file mode 120000
index 00000000..bc6aea20
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedType.h
new file mode 120000
index 00000000..809be7ce
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAcceptedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAcceptedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h
new file mode 120000
index 00000000..b1bf8a3a
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAutoCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledType.h
new file mode 120000
index 00000000..978e015e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestAutoCanceledType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestAutoCanceledType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledDetails.h
new file mode 120000
index 00000000..9df12ed7
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h
new file mode 120000
index 00000000..f9c0fe1b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..302bcd1e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h
new file mode 120000
index 00000000..788af38d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..b722a4f1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h
new file mode 120000
index 00000000..1ff64aa7
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledType.h
new file mode 120000
index 00000000..bf5256df
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestCanceledType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestCanceledType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredDetails.h
new file mode 120000
index 00000000..bd33efeb
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h
new file mode 120000
index 00000000..dbac22a2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..5bb55f05
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h
new file mode 120000
index 00000000..70883a0d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..ead800ed
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h
new file mode 120000
index 00000000..5bd583d8
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredType.h
new file mode 120000
index 00000000..43ba2fe1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestExpiredType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestExpiredType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..c79870d3
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h
new file mode 120000
index 00000000..0d0c3562
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..4377db4e
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h
new file mode 120000
index 00000000..2d494e5b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRejectedShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderDetails.h
new file mode 120000
index 00000000..516d8765
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h
new file mode 120000
index 00000000..675baef4
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderExtraDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..9a7b8a73
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h
new file mode 120000
index 00000000..f9997dff
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..dd3f0806
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h
new file mode 120000
index 00000000..2366f8e2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderType.h
new file mode 120000
index 00000000..456d914b
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestReminderType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestReminderType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedDetails.h
new file mode 120000
index 00000000..a94b1029
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRevokedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedType.h
new file mode 120000
index 00000000..0d764c94
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestRevokedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestRevokedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h
new file mode 120000
index 00000000..634d0a47
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h
new file mode 120000
index 00000000..cb45b118
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToPrimaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h
new file mode 120000
index 00000000..a1769ba1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h
new file mode 120000
index 00000000..291a9ad1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamMergeRequestSentShownToSecondaryTeamType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicy.h
new file mode 120000
index 00000000..0fc7ac75
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamSelectiveSyncPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h
new file mode 120000
index 00000000..c98a1026
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamSelectiveSyncPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h
new file mode 120000
index 00000000..a7af2344
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTeamSelectiveSyncPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberLogInfo.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberLogInfo.h
new file mode 120000
index 00000000..2f009cd1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberLogInfo.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedNonTeamMemberLogInfo.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberType.h
new file mode 120000
index 00000000..41d896cf
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedNonTeamMemberType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedNonTeamMemberType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestAction.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestAction.h
new file mode 120000
index 00000000..1d4db993
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestAction.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedTeamsRequestAction.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestState.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestState.h
new file mode 120000
index 00000000..d7a8dc76
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGTrustedTeamsRequestState.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGTrustedTeamsRequestState.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedDetails.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedDetails.h
new file mode 120000
index 00000000..c60a57b6
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedDetails.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGViewerInfoPolicyChangedDetails.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedType.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedType.h
new file mode 120000
index 00000000..99adb5a2
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMLOGViewerInfoPolicyChangedType.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamLog/Headers/DBTEAMLOGViewerInfoPolicyChangedType.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersDataTransferArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersDataTransferArg.h
new file mode 120000
index 00000000..c852b531
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersDataTransferArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersDataTransferArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersDeactivateBaseArg.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersDeactivateBaseArg.h
new file mode 120000
index 00000000..eb452964
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersDeactivateBaseArg.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersDeactivateBaseArg.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersTransferFilesError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersTransferFilesError.h
new file mode 120000
index 00000000..9f59b93f
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersTransferFilesError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersTransferFilesError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersTransferFormerMembersFilesError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersTransferFormerMembersFilesError.h
new file mode 120000
index 00000000..42e986d1
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMMembersTransferFormerMembersFilesError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMMembersTransferFormerMembersFilesError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESCameraUploadsPolicyState.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESCameraUploadsPolicyState.h
new file mode 120000
index 00000000..24ca84d9
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESCameraUploadsPolicyState.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESCameraUploadsPolicyState.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDefaultFolderPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDefaultFolderPolicy.h
new file mode 120000
index 00000000..8ceb8778
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDefaultFolderPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESPaperDefaultFolderPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDesktopPolicy.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDesktopPolicy.h
new file mode 120000
index 00000000..c9f2a7fa
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESPaperDesktopPolicy.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESPaperDesktopPolicy.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESTwoStepVerificationState.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESTwoStepVerificationState.h
new file mode 120000
index 00000000..2736e619
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMPOLICIESTwoStepVerificationState.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/TeamPolicies/Headers/DBTEAMPOLICIESTwoStepVerificationState.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMTeamNamespacesListError.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMTeamNamespacesListError.h
new file mode 120000
index 00000000..e5128e7d
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMTeamNamespacesListError.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMTeamNamespacesListError.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMTeamReportFailureReason.h b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMTeamReportFailureReason.h
new file mode 120000
index 00000000..1df32cd9
--- /dev/null
+++ b/Pods/Headers/Public/ObjectiveDropboxOfficial/DBTEAMTeamReportFailureReason.h
@@ -0,0 +1 @@
+../../../ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Team/Headers/DBTEAMTeamReportFailureReason.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/SSZipArchive/SSZipArchive-umbrella.h b/Pods/Headers/Public/SSZipArchive/SSZipArchive-umbrella.h
new file mode 120000
index 00000000..637dd5e6
--- /dev/null
+++ b/Pods/Headers/Public/SSZipArchive/SSZipArchive-umbrella.h
@@ -0,0 +1 @@
+../../../Target Support Files/SSZipArchive/SSZipArchive-umbrella.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/SSZipArchive/SSZipArchive.modulemap b/Pods/Headers/Public/SSZipArchive/SSZipArchive.modulemap
new file mode 120000
index 00000000..1e055350
--- /dev/null
+++ b/Pods/Headers/Public/SSZipArchive/SSZipArchive.modulemap
@@ -0,0 +1 @@
+../../../Target Support Files/SSZipArchive/SSZipArchive.modulemap
\ No newline at end of file
diff --git a/Pods/Headers/Public/ZXingObjC/ZXCGImageLuminanceSourceInfo.h b/Pods/Headers/Public/ZXingObjC/ZXCGImageLuminanceSourceInfo.h
new file mode 120000
index 00000000..16e04872
--- /dev/null
+++ b/Pods/Headers/Public/ZXingObjC/ZXCGImageLuminanceSourceInfo.h
@@ -0,0 +1 @@
+../../../ZXingObjC/ZXingObjC/client/ZXCGImageLuminanceSourceInfo.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ZXingObjC/ZXCode93Writer.h b/Pods/Headers/Public/ZXingObjC/ZXCode93Writer.h
new file mode 120000
index 00000000..af6be808
--- /dev/null
+++ b/Pods/Headers/Public/ZXingObjC/ZXCode93Writer.h
@@ -0,0 +1 @@
+../../../ZXingObjC/ZXingObjC/oned/ZXCode93Writer.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/ZXingObjC/ZXDecimal.h b/Pods/Headers/Public/ZXingObjC/ZXDecimal.h
new file mode 120000
index 00000000..af247381
--- /dev/null
+++ b/Pods/Headers/Public/ZXingObjC/ZXDecimal.h
@@ -0,0 +1 @@
+../../../ZXingObjC/ZXingObjC/common/ZXDecimal.h
\ No newline at end of file
diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock
index 740d16f6..c581d817 100644
--- a/Pods/Manifest.lock
+++ b/Pods/Manifest.lock
@@ -14,25 +14,30 @@ PODS:
- AFNetworking/Serialization (3.2.1)
- CMDQueryStringSerialization (0.4.1):
- ISO8601
- - Crashlytics (3.10.5):
- - Fabric (~> 1.7.9)
- - Fabric (1.7.9)
- - Google-Analytics-for-OS-X (1.1)
+ - Crashlytics (3.13.2):
+ - Fabric (~> 1.10.2)
+ - Fabric (1.10.2)
+ - FirebaseCore (5.4.1):
+ - GoogleUtilities/Environment (~> 5.2)
+ - GoogleUtilities/Logger (~> 5.2)
+ - GoogleUtilities/Environment (5.7.0)
+ - GoogleUtilities/Logger (5.7.0):
+ - GoogleUtilities/Environment
- ISO8601 (0.6.0)
- - ObjectiveDropboxOfficial (3.9.1)
+ - ObjectiveDropboxOfficial (3.10.0)
- SAMKeychain (1.5.3)
- - SSZipArchive (2.1.3)
+ - SSZipArchive (2.2.2)
- STPrivilegedTask (1.0.1)
- - ZXingObjC (3.2.2):
- - ZXingObjC/All (= 3.2.2)
- - ZXingObjC/All (3.2.2)
+ - ZXingObjC (3.6.5):
+ - ZXingObjC/All (= 3.6.5)
+ - ZXingObjC/All (3.6.5)
DEPENDENCIES:
- AFNetworking
- CMDQueryStringSerialization
- Crashlytics
- Fabric
- - Google-Analytics-for-OS-X
+ - FirebaseCore
- ISO8601
- ObjectiveDropboxOfficial
- SAMKeychain
@@ -46,7 +51,8 @@ SPEC REPOS:
- CMDQueryStringSerialization
- Crashlytics
- Fabric
- - Google-Analytics-for-OS-X
+ - FirebaseCore
+ - GoogleUtilities
- ISO8601
- ObjectiveDropboxOfficial
- SAMKeychain
@@ -57,16 +63,17 @@ SPEC REPOS:
SPEC CHECKSUMS:
AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057
CMDQueryStringSerialization: 4bb0a2f5e7d8d8678d911d88072274952cbef4e5
- Crashlytics: 7f2e38d302d9da96475b3d64d86fb29e31a542b7
- Fabric: a2917d3895e4c1569b9c3170de7320ea1b1e6661
- Google-Analytics-for-OS-X: 66376760d74d980fd81ad48b125c5496d3d4402a
+ Crashlytics: 611738c7847f8291a1a51084e35987b86ba6b3ee
+ Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
+ FirebaseCore: f1a9a8be1aee4bf71a2fc0f4096df6788bdfda61
+ GoogleUtilities: 273e67030e0de313e7304f6dcfa96fc5214f6c23
ISO8601: d3ea3ba9b752820cf92c6b47a9ee327e9f0e13fc
- ObjectiveDropboxOfficial: 274ce69d66286c94416daf1da5237c55e105e8c0
+ ObjectiveDropboxOfficial: 19a4913d4d52fba035d41f40da71df0d6b303327
SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c
- SSZipArchive: 51a800ebb77f95a8329b6ced1faaff394b47f509
+ SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23
STPrivilegedTask: 103f97827454e786074640cf89d303be344498c7
- ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981
+ ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb
-PODFILE CHECKSUM: b803d983d7c9f4e9eee63ce665f655a1a3ff598c
+PODFILE CHECKSUM: 5d9f2a03566f7702bb6c2b137998b475915e0a5e
-COCOAPODS: 1.5.3
+COCOAPODS: 1.7.2
diff --git a/Pods/ObjectiveDropboxOfficial/README.md b/Pods/ObjectiveDropboxOfficial/README.md
index 8a0efed9..78db1bf6 100644
--- a/Pods/ObjectiveDropboxOfficial/README.md
+++ b/Pods/ObjectiveDropboxOfficial/README.md
@@ -90,7 +90,7 @@ All requests need to be made with an OAuth 2.0 access token. An OAuth token repr
a Dropbox user account or team.
Once you've created an app, you can go to the App Console and manually generate an access token to authorize your app to access your own Dropbox account.
-Otherwise, you can obtain an OAuth token programmatically using the SDK's pre-defined auth flow. For more information, [see below](https://github.com/dropbox/dropbox-sdk-obj-c#handling-authorization-flow).
+Otherwise, you can obtain an OAuth token programmatically using the SDK's pre-defined auth flow. For more information, [see below](https://github.com/dropbox/dropbox-sdk-obj-c#handling-the-authorization-flow).
---
@@ -167,7 +167,7 @@ brew install carthage
```
# ObjectiveDropboxOfficial
-github "https://github.com/dropbox/dropbox-sdk-obj-c" ~> 3.9.1
+github "https://github.com/dropbox/dropbox-sdk-obj-c" ~> 3.10.0
```
Then, run the following command to checkout and build the Dropbox Objective-C SDK repository:
@@ -374,20 +374,9 @@ Please ensure that the supplied view controller is the top-most controller, so t
- (void)myButtonInControllerPressed {
[DBClientsManager authorizeFromControllerDesktop:[NSWorkspace sharedWorkspace]
- controller:[[self class] topMostController]
+ controller:self
openURL:^(NSURL *url){ [[NSWorkspace sharedWorkspace] openURL:url]; }];
}
-
-+ (UIViewController*)topMostController
-{
- UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
-
- while (topController.presentedViewController) {
- topController = topController.presentedViewController;
- }
-
- return topController;
-}
```
Beginning the authentication flow on mobile will launch a window like this:
@@ -464,7 +453,7 @@ After the end user signs in with their Dropbox login credentials on mobile, they
If they press **Allow** or **Cancel**, the `db-` redirect URL will be launched from the view controller, and will be handled in your application
-delegate's `application:handleOpenURL` method, from which the result of the authorization can be parsed.
+delegate's `application:openURL:options:` method, from which the result of the authorization can be parsed.
Now you're ready to begin making API requests!
@@ -612,6 +601,7 @@ DBFILESWriteMode *mode = [[DBFILESWriteMode alloc] initWithOverwrite];
autorename:@(YES)
clientModified:nil
mute:@(NO)
+ propertyGroups:nil
inputData:fileData]
setResponseBlock:^(DBFILESFileMetadata *result, DBFILESUploadError *routeError, DBRequestError *networkError) {
if (result) {
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Headers/Internal/Networking/DBTransportBaseClient+Internal.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Headers/Internal/Networking/DBTransportBaseClient+Internal.h
index 496d2b39..75c9af7b 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Headers/Internal/Networking/DBTransportBaseClient+Internal.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Headers/Internal/Networking/DBTransportBaseClient+Internal.h
@@ -34,6 +34,8 @@ NS_ASSUME_NONNULL_BEGIN
+ (NSString *)serializeStringWithRoute:(DBRoute *)route routeArg:(id)arg;
++ (NSString *)asciiEscapeWithString:(NSString *)string;
+
+ (nullable DBRequestError *)dBRequestErrorWithErrorData:(nullable NSData *)errorData
clientError:(nullable NSError *)clientError
statusCode:(int)statusCode
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/DBAsyncObjects.m b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/DBAsyncObjects.m
index c567fb19..0ee9a8e8 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/DBAsyncObjects.m
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/DBAsyncObjects.m
@@ -54,11 +54,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBASYNCLaunchResultBaseSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBASYNCLaunchResultBaseSerializer deserialize:dict];
}
@@ -122,7 +122,7 @@ - (BOOL)isEqualToLaunchResultBase:(DBASYNCLaunchResultBase *)aLaunchResultBase {
@implementation DBASYNCLaunchResultBaseSerializer
-+ (NSDictionary *)serialize:(DBASYNCLaunchResultBase *)valueObj {
++ (NSDictionary *)serialize:(DBASYNCLaunchResultBase *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isAsyncJobId]) {
@@ -137,7 +137,7 @@ + (NSDictionary *)serialize:(DBASYNCLaunchResultBase *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBASYNCLaunchResultBase *)deserialize:(NSDictionary *)valueDict {
++ (DBASYNCLaunchResultBase *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"async_job_id"]) {
@@ -216,11 +216,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBASYNCLaunchEmptyResultSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBASYNCLaunchEmptyResultSerializer deserialize:dict];
}
@@ -288,7 +288,7 @@ - (BOOL)isEqualToLaunchEmptyResult:(DBASYNCLaunchEmptyResult *)aLaunchEmptyResul
@implementation DBASYNCLaunchEmptyResultSerializer
-+ (NSDictionary *)serialize:(DBASYNCLaunchEmptyResult *)valueObj {
++ (NSDictionary *)serialize:(DBASYNCLaunchEmptyResult *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isAsyncJobId]) {
@@ -305,7 +305,7 @@ + (NSDictionary *)serialize:(DBASYNCLaunchEmptyResult *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBASYNCLaunchEmptyResult *)deserialize:(NSDictionary *)valueDict {
++ (DBASYNCLaunchEmptyResult *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"async_job_id"]) {
@@ -345,11 +345,11 @@ - (instancetype)initWithAsyncJobId:(NSString *)asyncJobId {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBASYNCPollArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBASYNCPollArgSerializer deserialize:dict];
}
@@ -406,7 +406,7 @@ - (BOOL)isEqualToPollArg:(DBASYNCPollArg *)aPollArg {
@implementation DBASYNCPollArgSerializer
-+ (NSDictionary *)serialize:(DBASYNCPollArg *)valueObj {
++ (NSDictionary *)serialize:(DBASYNCPollArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"async_job_id"] = valueObj.asyncJobId;
@@ -414,7 +414,7 @@ + (NSDictionary *)serialize:(DBASYNCPollArg *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBASYNCPollArg *)deserialize:(NSDictionary *)valueDict {
++ (DBASYNCPollArg *)deserialize:(NSDictionary *)valueDict {
NSString *asyncJobId = valueDict[@"async_job_id"];
return [[DBASYNCPollArg alloc] initWithAsyncJobId:asyncJobId];
@@ -459,11 +459,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBASYNCPollResultBaseSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBASYNCPollResultBaseSerializer deserialize:dict];
}
@@ -527,7 +527,7 @@ - (BOOL)isEqualToPollResultBase:(DBASYNCPollResultBase *)aPollResultBase {
@implementation DBASYNCPollResultBaseSerializer
-+ (NSDictionary *)serialize:(DBASYNCPollResultBase *)valueObj {
++ (NSDictionary *)serialize:(DBASYNCPollResultBase *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInProgress]) {
@@ -541,7 +541,7 @@ + (NSDictionary *)serialize:(DBASYNCPollResultBase *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBASYNCPollResultBase *)deserialize:(NSDictionary *)valueDict {
++ (DBASYNCPollResultBase *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"in_progress"]) {
@@ -608,11 +608,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBASYNCPollEmptyResultSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBASYNCPollEmptyResultSerializer deserialize:dict];
}
@@ -680,7 +680,7 @@ - (BOOL)isEqualToPollEmptyResult:(DBASYNCPollEmptyResult *)aPollEmptyResult {
@implementation DBASYNCPollEmptyResultSerializer
-+ (NSDictionary *)serialize:(DBASYNCPollEmptyResult *)valueObj {
++ (NSDictionary *)serialize:(DBASYNCPollEmptyResult *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInProgress]) {
@@ -696,7 +696,7 @@ + (NSDictionary *)serialize:(DBASYNCPollEmptyResult *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBASYNCPollEmptyResult *)deserialize:(NSDictionary *)valueDict {
++ (DBASYNCPollEmptyResult *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"in_progress"]) {
@@ -778,11 +778,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBASYNCPollErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBASYNCPollErrorSerializer deserialize:dict];
}
@@ -854,7 +854,7 @@ - (BOOL)isEqualToPollError:(DBASYNCPollError *)aPollError {
@implementation DBASYNCPollErrorSerializer
-+ (NSDictionary *)serialize:(DBASYNCPollError *)valueObj {
++ (NSDictionary *)serialize:(DBASYNCPollError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInvalidAsyncJobId]) {
@@ -870,7 +870,7 @@ + (NSDictionary *)serialize:(DBASYNCPollError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBASYNCPollError *)deserialize:(NSDictionary *)valueDict {
++ (DBASYNCPollError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"invalid_async_job_id"]) {
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchEmptyResult.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchEmptyResult.h
index 941523c2..0744ad39 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchEmptyResult.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchEmptyResult.h
@@ -122,7 +122,7 @@ typedef NS_ENUM(NSInteger, DBASYNCLaunchEmptyResultTag) {
/// @return A json-compatible dictionary representation of the
/// `DBASYNCLaunchEmptyResult` API object.
///
-+ (nullable NSDictionary *)serialize:(DBASYNCLaunchEmptyResult *)instance;
++ (nullable NSDictionary *)serialize:(DBASYNCLaunchEmptyResult *)instance;
///
/// Deserializes `DBASYNCLaunchEmptyResult` instances.
@@ -132,7 +132,7 @@ typedef NS_ENUM(NSInteger, DBASYNCLaunchEmptyResultTag) {
///
/// @return An instantiation of the `DBASYNCLaunchEmptyResult` object.
///
-+ (DBASYNCLaunchEmptyResult *)deserialize:(NSDictionary *)dict;
++ (DBASYNCLaunchEmptyResult *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchResultBase.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchResultBase.h
index 054e9efb..d88a4057 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchResultBase.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCLaunchResultBase.h
@@ -103,7 +103,7 @@ typedef NS_ENUM(NSInteger, DBASYNCLaunchResultBaseTag) {
/// @return A json-compatible dictionary representation of the
/// `DBASYNCLaunchResultBase` API object.
///
-+ (nullable NSDictionary *)serialize:(DBASYNCLaunchResultBase *)instance;
++ (nullable NSDictionary *)serialize:(DBASYNCLaunchResultBase *)instance;
///
/// Deserializes `DBASYNCLaunchResultBase` instances.
@@ -113,7 +113,7 @@ typedef NS_ENUM(NSInteger, DBASYNCLaunchResultBaseTag) {
///
/// @return An instantiation of the `DBASYNCLaunchResultBase` object.
///
-+ (DBASYNCLaunchResultBase *)deserialize:(NSDictionary *)dict;
++ (DBASYNCLaunchResultBase *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollArg.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollArg.h
index dbb1dac2..0389f2ef 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollArg.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollArg.h
@@ -62,7 +62,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the `DBASYNCPollArg`
/// API object.
///
-+ (nullable NSDictionary *)serialize:(DBASYNCPollArg *)instance;
++ (nullable NSDictionary *)serialize:(DBASYNCPollArg *)instance;
///
/// Deserializes `DBASYNCPollArg` instances.
@@ -72,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBASYNCPollArg` object.
///
-+ (DBASYNCPollArg *)deserialize:(NSDictionary *)dict;
++ (DBASYNCPollArg *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollEmptyResult.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollEmptyResult.h
index 64c53e09..b77e3bd1 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollEmptyResult.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollEmptyResult.h
@@ -106,7 +106,7 @@ typedef NS_ENUM(NSInteger, DBASYNCPollEmptyResultTag) {
/// @return A json-compatible dictionary representation of the
/// `DBASYNCPollEmptyResult` API object.
///
-+ (nullable NSDictionary *)serialize:(DBASYNCPollEmptyResult *)instance;
++ (nullable NSDictionary *)serialize:(DBASYNCPollEmptyResult *)instance;
///
/// Deserializes `DBASYNCPollEmptyResult` instances.
@@ -116,7 +116,7 @@ typedef NS_ENUM(NSInteger, DBASYNCPollEmptyResultTag) {
///
/// @return An instantiation of the `DBASYNCPollEmptyResult` object.
///
-+ (DBASYNCPollEmptyResult *)deserialize:(NSDictionary *)dict;
++ (DBASYNCPollEmptyResult *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollError.h
index c58db1c6..dd829cd6 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollError.h
@@ -126,7 +126,7 @@ typedef NS_ENUM(NSInteger, DBASYNCPollErrorTag) {
/// @return A json-compatible dictionary representation of the
/// `DBASYNCPollError` API object.
///
-+ (nullable NSDictionary *)serialize:(DBASYNCPollError *)instance;
++ (nullable NSDictionary *)serialize:(DBASYNCPollError *)instance;
///
/// Deserializes `DBASYNCPollError` instances.
@@ -136,7 +136,7 @@ typedef NS_ENUM(NSInteger, DBASYNCPollErrorTag) {
///
/// @return An instantiation of the `DBASYNCPollError` object.
///
-+ (DBASYNCPollError *)deserialize:(NSDictionary *)dict;
++ (DBASYNCPollError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollResultBase.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollResultBase.h
index 4cd0adce..cf1f1973 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollResultBase.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Async/Headers/DBASYNCPollResultBase.h
@@ -88,7 +88,7 @@ typedef NS_ENUM(NSInteger, DBASYNCPollResultBaseTag) {
/// @return A json-compatible dictionary representation of the
/// `DBASYNCPollResultBase` API object.
///
-+ (nullable NSDictionary *)serialize:(DBASYNCPollResultBase *)instance;
++ (nullable NSDictionary *)serialize:(DBASYNCPollResultBase *)instance;
///
/// Deserializes `DBASYNCPollResultBase` instances.
@@ -98,7 +98,7 @@ typedef NS_ENUM(NSInteger, DBASYNCPollResultBaseTag) {
///
/// @return An instantiation of the `DBASYNCPollResultBase` object.
///
-+ (DBASYNCPollResultBase *)deserialize:(NSDictionary *)dict;
++ (DBASYNCPollResultBase *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/DBAuthObjects.m b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/DBAuthObjects.m
index abca5d2c..38800046 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/DBAuthObjects.m
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/DBAuthObjects.m
@@ -94,11 +94,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHAccessErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHAccessErrorSerializer deserialize:dict];
}
@@ -170,7 +170,7 @@ - (BOOL)isEqualToAccessError:(DBAUTHAccessError *)anAccessError {
@implementation DBAUTHAccessErrorSerializer
-+ (NSDictionary *)serialize:(DBAUTHAccessError *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHAccessError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInvalidAccountType]) {
@@ -190,7 +190,7 @@ + (NSDictionary *)serialize:(DBAUTHAccessError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHAccessError *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHAccessError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"invalid_account_type"]) {
@@ -211,6 +211,7 @@ + (DBAUTHAccessError *)deserialize:(NSDictionary *)valueDict {
@end
#import "DBAUTHAuthError.h"
+#import "DBAUTHTokenScopeError.h"
#import "DBStoneSerializers.h"
#import "DBStoneValidators.h"
@@ -218,6 +219,8 @@ + (DBAUTHAccessError *)deserialize:(NSDictionary *)valueDict {
@implementation DBAUTHAuthError
+@synthesize missingScope = _missingScope;
+
#pragma mark - Constructors
- (instancetype)initWithInvalidAccessToken {
@@ -252,6 +255,23 @@ - (instancetype)initWithUserSuspended {
return self;
}
+- (instancetype)initWithExpiredAccessToken {
+ self = [super init];
+ if (self) {
+ _tag = DBAUTHAuthErrorExpiredAccessToken;
+ }
+ return self;
+}
+
+- (instancetype)initWithMissingScope:(DBAUTHTokenScopeError *)missingScope {
+ self = [super init];
+ if (self) {
+ _tag = DBAUTHAuthErrorMissingScope;
+ _missingScope = missingScope;
+ }
+ return self;
+}
+
- (instancetype)initWithOther {
self = [super init];
if (self) {
@@ -262,6 +282,14 @@ - (instancetype)initWithOther {
#pragma mark - Instance field accessors
+- (DBAUTHTokenScopeError *)missingScope {
+ if (![self isMissingScope]) {
+ [NSException raise:@"IllegalStateException"
+ format:@"Invalid tag: required DBAUTHAuthErrorMissingScope, but was %@.", [self tagName]];
+ }
+ return _missingScope;
+}
+
#pragma mark - Tag state methods
- (BOOL)isInvalidAccessToken {
@@ -280,6 +308,14 @@ - (BOOL)isUserSuspended {
return _tag == DBAUTHAuthErrorUserSuspended;
}
+- (BOOL)isExpiredAccessToken {
+ return _tag == DBAUTHAuthErrorExpiredAccessToken;
+}
+
+- (BOOL)isMissingScope {
+ return _tag == DBAUTHAuthErrorMissingScope;
+}
+
- (BOOL)isOther {
return _tag == DBAUTHAuthErrorOther;
}
@@ -294,6 +330,10 @@ - (NSString *)tagName {
return @"DBAUTHAuthErrorInvalidSelectAdmin";
case DBAUTHAuthErrorUserSuspended:
return @"DBAUTHAuthErrorUserSuspended";
+ case DBAUTHAuthErrorExpiredAccessToken:
+ return @"DBAUTHAuthErrorExpiredAccessToken";
+ case DBAUTHAuthErrorMissingScope:
+ return @"DBAUTHAuthErrorMissingScope";
case DBAUTHAuthErrorOther:
return @"DBAUTHAuthErrorOther";
}
@@ -303,11 +343,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHAuthErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHAuthErrorSerializer deserialize:dict];
}
@@ -340,6 +380,10 @@ - (NSUInteger)hash {
result = prime * result + [[self tagName] hash];
case DBAUTHAuthErrorUserSuspended:
result = prime * result + [[self tagName] hash];
+ case DBAUTHAuthErrorExpiredAccessToken:
+ result = prime * result + [[self tagName] hash];
+ case DBAUTHAuthErrorMissingScope:
+ result = prime * result + [self.missingScope hash];
case DBAUTHAuthErrorOther:
result = prime * result + [[self tagName] hash];
}
@@ -375,6 +419,10 @@ - (BOOL)isEqualToAuthError:(DBAUTHAuthError *)anAuthError {
return [[self tagName] isEqual:[anAuthError tagName]];
case DBAUTHAuthErrorUserSuspended:
return [[self tagName] isEqual:[anAuthError tagName]];
+ case DBAUTHAuthErrorExpiredAccessToken:
+ return [[self tagName] isEqual:[anAuthError tagName]];
+ case DBAUTHAuthErrorMissingScope:
+ return [self.missingScope isEqual:anAuthError.missingScope];
case DBAUTHAuthErrorOther:
return [[self tagName] isEqual:[anAuthError tagName]];
}
@@ -387,7 +435,7 @@ - (BOOL)isEqualToAuthError:(DBAUTHAuthError *)anAuthError {
@implementation DBAUTHAuthErrorSerializer
-+ (NSDictionary *)serialize:(DBAUTHAuthError *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHAuthError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInvalidAccessToken]) {
@@ -398,6 +446,11 @@ + (NSDictionary *)serialize:(DBAUTHAuthError *)valueObj {
jsonDict[@".tag"] = @"invalid_select_admin";
} else if ([valueObj isUserSuspended]) {
jsonDict[@".tag"] = @"user_suspended";
+ } else if ([valueObj isExpiredAccessToken]) {
+ jsonDict[@".tag"] = @"expired_access_token";
+ } else if ([valueObj isMissingScope]) {
+ jsonDict = [[DBAUTHTokenScopeErrorSerializer serialize:valueObj.missingScope] mutableCopy];
+ jsonDict[@".tag"] = @"missing_scope";
} else if ([valueObj isOther]) {
jsonDict[@".tag"] = @"other";
} else {
@@ -407,7 +460,7 @@ + (NSDictionary *)serialize:(DBAUTHAuthError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHAuthError *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHAuthError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"invalid_access_token"]) {
@@ -418,6 +471,11 @@ + (DBAUTHAuthError *)deserialize:(NSDictionary *)valueDict {
return [[DBAUTHAuthError alloc] initWithInvalidSelectAdmin];
} else if ([tag isEqualToString:@"user_suspended"]) {
return [[DBAUTHAuthError alloc] initWithUserSuspended];
+ } else if ([tag isEqualToString:@"expired_access_token"]) {
+ return [[DBAUTHAuthError alloc] initWithExpiredAccessToken];
+ } else if ([tag isEqualToString:@"missing_scope"]) {
+ DBAUTHTokenScopeError *missingScope = [DBAUTHTokenScopeErrorSerializer deserialize:valueDict];
+ return [[DBAUTHAuthError alloc] initWithMissingScope:missingScope];
} else if ([tag isEqualToString:@"other"]) {
return [[DBAUTHAuthError alloc] initWithOther];
} else {
@@ -492,11 +550,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHInvalidAccountTypeErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHInvalidAccountTypeErrorSerializer deserialize:dict];
}
@@ -568,7 +626,7 @@ - (BOOL)isEqualToInvalidAccountTypeError:(DBAUTHInvalidAccountTypeError *)anInva
@implementation DBAUTHInvalidAccountTypeErrorSerializer
-+ (NSDictionary *)serialize:(DBAUTHInvalidAccountTypeError *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHInvalidAccountTypeError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isEndpoint]) {
@@ -584,7 +642,7 @@ + (NSDictionary *)serialize:(DBAUTHInvalidAccountTypeError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHInvalidAccountTypeError *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHInvalidAccountTypeError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"endpoint"]) {
@@ -665,11 +723,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHPaperAccessErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHPaperAccessErrorSerializer deserialize:dict];
}
@@ -741,7 +799,7 @@ - (BOOL)isEqualToPaperAccessError:(DBAUTHPaperAccessError *)aPaperAccessError {
@implementation DBAUTHPaperAccessErrorSerializer
-+ (NSDictionary *)serialize:(DBAUTHPaperAccessError *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHPaperAccessError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isPaperDisabled]) {
@@ -757,7 +815,7 @@ + (NSDictionary *)serialize:(DBAUTHPaperAccessError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHPaperAccessError *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHPaperAccessError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"paper_disabled"]) {
@@ -801,11 +859,11 @@ - (instancetype)initWithReason:(DBAUTHRateLimitReason *)reason {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHRateLimitErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHRateLimitErrorSerializer deserialize:dict];
}
@@ -866,7 +924,7 @@ - (BOOL)isEqualToRateLimitError:(DBAUTHRateLimitError *)aRateLimitError {
@implementation DBAUTHRateLimitErrorSerializer
-+ (NSDictionary *)serialize:(DBAUTHRateLimitError *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHRateLimitError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"reason"] = [DBAUTHRateLimitReasonSerializer serialize:valueObj.reason];
@@ -875,7 +933,7 @@ + (NSDictionary *)serialize:(DBAUTHRateLimitError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHRateLimitError *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHRateLimitError *)deserialize:(NSDictionary *)valueDict {
DBAUTHRateLimitReason *reason = [DBAUTHRateLimitReasonSerializer deserialize:valueDict[@"reason"]];
NSNumber *retryAfter = valueDict[@"retry_after"] ?: @(1);
@@ -949,11 +1007,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHRateLimitReasonSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHRateLimitReasonSerializer deserialize:dict];
}
@@ -1025,7 +1083,7 @@ - (BOOL)isEqualToRateLimitReason:(DBAUTHRateLimitReason *)aRateLimitReason {
@implementation DBAUTHRateLimitReasonSerializer
-+ (NSDictionary *)serialize:(DBAUTHRateLimitReason *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHRateLimitReason *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isTooManyRequests]) {
@@ -1041,7 +1099,7 @@ + (NSDictionary *)serialize:(DBAUTHRateLimitReason *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHRateLimitReason *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHRateLimitReason *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"too_many_requests"]) {
@@ -1082,11 +1140,11 @@ - (instancetype)initWithOauth1Token:(NSString *)oauth1Token oauth1TokenSecret:(N
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHTokenFromOAuth1ArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHTokenFromOAuth1ArgSerializer deserialize:dict];
}
@@ -1147,7 +1205,7 @@ - (BOOL)isEqualToTokenFromOAuth1Arg:(DBAUTHTokenFromOAuth1Arg *)aTokenFromOAuth1
@implementation DBAUTHTokenFromOAuth1ArgSerializer
-+ (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Arg *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Arg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"oauth1_token"] = valueObj.oauth1Token;
@@ -1156,7 +1214,7 @@ + (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Arg *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHTokenFromOAuth1Arg *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHTokenFromOAuth1Arg *)deserialize:(NSDictionary *)valueDict {
NSString *oauth1Token = valueDict[@"oauth1_token"];
NSString *oauth1TokenSecret = valueDict[@"oauth1_token_secret"];
@@ -1230,11 +1288,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHTokenFromOAuth1ErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHTokenFromOAuth1ErrorSerializer deserialize:dict];
}
@@ -1306,7 +1364,7 @@ - (BOOL)isEqualToTokenFromOAuth1Error:(DBAUTHTokenFromOAuth1Error *)aTokenFromOA
@implementation DBAUTHTokenFromOAuth1ErrorSerializer
-+ (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Error *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Error *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInvalidOauth1TokenInfo]) {
@@ -1322,7 +1380,7 @@ + (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Error *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHTokenFromOAuth1Error *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHTokenFromOAuth1Error *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"invalid_oauth1_token_info"]) {
@@ -1360,11 +1418,11 @@ - (instancetype)initWithOauth2Token:(NSString *)oauth2Token {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBAUTHTokenFromOAuth1ResultSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBAUTHTokenFromOAuth1ResultSerializer deserialize:dict];
}
@@ -1421,7 +1479,7 @@ - (BOOL)isEqualToTokenFromOAuth1Result:(DBAUTHTokenFromOAuth1Result *)aTokenFrom
@implementation DBAUTHTokenFromOAuth1ResultSerializer
-+ (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Result *)valueObj {
++ (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Result *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"oauth2_token"] = valueObj.oauth2Token;
@@ -1429,10 +1487,109 @@ + (NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Result *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBAUTHTokenFromOAuth1Result *)deserialize:(NSDictionary *)valueDict {
++ (DBAUTHTokenFromOAuth1Result *)deserialize:(NSDictionary *)valueDict {
NSString *oauth2Token = valueDict[@"oauth2_token"];
return [[DBAUTHTokenFromOAuth1Result alloc] initWithOauth2Token:oauth2Token];
}
@end
+
+#import "DBAUTHTokenScopeError.h"
+#import "DBStoneSerializers.h"
+#import "DBStoneValidators.h"
+
+#pragma mark - API Object
+
+@implementation DBAUTHTokenScopeError
+
+#pragma mark - Constructors
+
+- (instancetype)initWithRequiredScope:(NSString *)requiredScope {
+ [DBStoneValidators nonnullValidator:nil](requiredScope);
+
+ self = [super init];
+ if (self) {
+ _requiredScope = requiredScope;
+ }
+ return self;
+}
+
+#pragma mark - Serialization methods
+
++ (nullable NSDictionary *)serialize:(id)instance {
+ return [DBAUTHTokenScopeErrorSerializer serialize:instance];
+}
+
++ (id)deserialize:(NSDictionary *)dict {
+ return [DBAUTHTokenScopeErrorSerializer deserialize:dict];
+}
+
+#pragma mark - Description method
+
+- (NSString *)description {
+ return [[DBAUTHTokenScopeErrorSerializer serialize:self] description];
+}
+
+#pragma mark - Copyable method
+
+- (instancetype)copyWithZone:(NSZone *)zone {
+#pragma unused(zone)
+ /// object is immutable
+ return self;
+}
+
+#pragma mark - Hash method
+
+- (NSUInteger)hash {
+ NSUInteger prime = 31;
+ NSUInteger result = 1;
+
+ result = prime * result + [self.requiredScope hash];
+
+ return prime * result;
+}
+
+#pragma mark - Equality method
+
+- (BOOL)isEqual:(id)other {
+ if (other == self) {
+ return YES;
+ }
+ if (!other || ![other isKindOfClass:[self class]]) {
+ return NO;
+ }
+ return [self isEqualToTokenScopeError:other];
+}
+
+- (BOOL)isEqualToTokenScopeError:(DBAUTHTokenScopeError *)aTokenScopeError {
+ if (self == aTokenScopeError) {
+ return YES;
+ }
+ if (![self.requiredScope isEqual:aTokenScopeError.requiredScope]) {
+ return NO;
+ }
+ return YES;
+}
+
+@end
+
+#pragma mark - Serializer Object
+
+@implementation DBAUTHTokenScopeErrorSerializer
+
++ (NSDictionary *)serialize:(DBAUTHTokenScopeError *)valueObj {
+ NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
+
+ jsonDict[@"required_scope"] = valueObj.requiredScope;
+
+ return [jsonDict count] > 0 ? jsonDict : nil;
+}
+
++ (DBAUTHTokenScopeError *)deserialize:(NSDictionary *)valueDict {
+ NSString *requiredScope = valueDict[@"required_scope"];
+
+ return [[DBAUTHTokenScopeError alloc] initWithRequiredScope:requiredScope];
+}
+
+@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAccessError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAccessError.h
index 578937b6..4dd2468e 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAccessError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAccessError.h
@@ -149,7 +149,7 @@ typedef NS_ENUM(NSInteger, DBAUTHAccessErrorTag) {
/// @return A json-compatible dictionary representation of the
/// `DBAUTHAccessError` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHAccessError *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHAccessError *)instance;
///
/// Deserializes `DBAUTHAccessError` instances.
@@ -159,7 +159,7 @@ typedef NS_ENUM(NSInteger, DBAUTHAccessErrorTag) {
///
/// @return An instantiation of the `DBAUTHAccessError` object.
///
-+ (DBAUTHAccessError *)deserialize:(NSDictionary *)dict;
++ (DBAUTHAccessError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAuthError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAuthError.h
index 658038b8..460844be 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAuthError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHAuthError.h
@@ -9,6 +9,7 @@
#import "DBSerializableProtocol.h"
@class DBAUTHAuthError;
+@class DBAUTHTokenScopeError;
NS_ASSUME_NONNULL_BEGIN
@@ -44,6 +45,12 @@ typedef NS_ENUM(NSInteger, DBAUTHAuthErrorTag) {
/// The user has been suspended.
DBAUTHAuthErrorUserSuspended,
+ /// The access token has expired.
+ DBAUTHAuthErrorExpiredAccessToken,
+
+ /// The access token does not have the required scope to access the route.
+ DBAUTHAuthErrorMissingScope,
+
/// (no description).
DBAUTHAuthErrorOther,
@@ -52,6 +59,11 @@ typedef NS_ENUM(NSInteger, DBAUTHAuthErrorTag) {
/// Represents the union's current tag state.
@property (nonatomic, readonly) DBAUTHAuthErrorTag tag;
+/// The access token does not have the required scope to access the route. @note
+/// Ensure the `isMissingScope` method returns true before accessing, otherwise
+/// a runtime exception will be raised.
+@property (nonatomic, readonly) DBAUTHTokenScopeError *missingScope;
+
#pragma mark - Constructors
///
@@ -93,6 +105,29 @@ typedef NS_ENUM(NSInteger, DBAUTHAuthErrorTag) {
///
- (instancetype)initWithUserSuspended;
+///
+/// Initializes union class with tag state of "expired_access_token".
+///
+/// Description of the "expired_access_token" tag state: The access token has
+/// expired.
+///
+/// @return An initialized instance.
+///
+- (instancetype)initWithExpiredAccessToken;
+
+///
+/// Initializes union class with tag state of "missing_scope".
+///
+/// Description of the "missing_scope" tag state: The access token does not have
+/// the required scope to access the route.
+///
+/// @param missingScope The access token does not have the required scope to
+/// access the route.
+///
+/// @return An initialized instance.
+///
+- (instancetype)initWithMissingScope:(DBAUTHTokenScopeError *)missingScope;
+
///
/// Initializes union class with tag state of "other".
///
@@ -138,6 +173,25 @@ typedef NS_ENUM(NSInteger, DBAUTHAuthErrorTag) {
///
- (BOOL)isUserSuspended;
+///
+/// Retrieves whether the union's current tag state has value
+/// "expired_access_token".
+///
+/// @return Whether the union's current tag state has value
+/// "expired_access_token".
+///
+- (BOOL)isExpiredAccessToken;
+
+///
+/// Retrieves whether the union's current tag state has value "missing_scope".
+///
+/// @note Call this method and ensure it returns true before accessing the
+/// `missingScope` property, otherwise a runtime exception will be thrown.
+///
+/// @return Whether the union's current tag state has value "missing_scope".
+///
+- (BOOL)isMissingScope;
+
///
/// Retrieves whether the union's current tag state has value "other".
///
@@ -169,7 +223,7 @@ typedef NS_ENUM(NSInteger, DBAUTHAuthErrorTag) {
/// @return A json-compatible dictionary representation of the `DBAUTHAuthError`
/// API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHAuthError *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHAuthError *)instance;
///
/// Deserializes `DBAUTHAuthError` instances.
@@ -179,7 +233,7 @@ typedef NS_ENUM(NSInteger, DBAUTHAuthErrorTag) {
///
/// @return An instantiation of the `DBAUTHAuthError` object.
///
-+ (DBAUTHAuthError *)deserialize:(NSDictionary *)dict;
++ (DBAUTHAuthError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHInvalidAccountTypeError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHInvalidAccountTypeError.h
index ae023b56..05c5bd6b 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHInvalidAccountTypeError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHInvalidAccountTypeError.h
@@ -122,7 +122,7 @@ typedef NS_ENUM(NSInteger, DBAUTHInvalidAccountTypeErrorTag) {
/// @return A json-compatible dictionary representation of the
/// `DBAUTHInvalidAccountTypeError` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHInvalidAccountTypeError *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHInvalidAccountTypeError *)instance;
///
/// Deserializes `DBAUTHInvalidAccountTypeError` instances.
@@ -132,7 +132,7 @@ typedef NS_ENUM(NSInteger, DBAUTHInvalidAccountTypeErrorTag) {
///
/// @return An instantiation of the `DBAUTHInvalidAccountTypeError` object.
///
-+ (DBAUTHInvalidAccountTypeError *)deserialize:(NSDictionary *)dict;
++ (DBAUTHInvalidAccountTypeError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHPaperAccessError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHPaperAccessError.h
index 2ab6bb2c..5360f3ca 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHPaperAccessError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHPaperAccessError.h
@@ -119,7 +119,7 @@ typedef NS_ENUM(NSInteger, DBAUTHPaperAccessErrorTag) {
/// @return A json-compatible dictionary representation of the
/// `DBAUTHPaperAccessError` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHPaperAccessError *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHPaperAccessError *)instance;
///
/// Deserializes `DBAUTHPaperAccessError` instances.
@@ -129,7 +129,7 @@ typedef NS_ENUM(NSInteger, DBAUTHPaperAccessErrorTag) {
///
/// @return An instantiation of the `DBAUTHPaperAccessError` object.
///
-+ (DBAUTHPaperAccessError *)deserialize:(NSDictionary *)dict;
++ (DBAUTHPaperAccessError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitError.h
index f3380af4..191f36dd 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitError.h
@@ -77,7 +77,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the
/// `DBAUTHRateLimitError` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHRateLimitError *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHRateLimitError *)instance;
///
/// Deserializes `DBAUTHRateLimitError` instances.
@@ -87,7 +87,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBAUTHRateLimitError` object.
///
-+ (DBAUTHRateLimitError *)deserialize:(NSDictionary *)dict;
++ (DBAUTHRateLimitError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitReason.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitReason.h
index d15feee7..86086e02 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitReason.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHRateLimitReason.h
@@ -124,7 +124,7 @@ typedef NS_ENUM(NSInteger, DBAUTHRateLimitReasonTag) {
/// @return A json-compatible dictionary representation of the
/// `DBAUTHRateLimitReason` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHRateLimitReason *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHRateLimitReason *)instance;
///
/// Deserializes `DBAUTHRateLimitReason` instances.
@@ -134,7 +134,7 @@ typedef NS_ENUM(NSInteger, DBAUTHRateLimitReasonTag) {
///
/// @return An instantiation of the `DBAUTHRateLimitReason` object.
///
-+ (DBAUTHRateLimitReason *)deserialize:(NSDictionary *)dict;
++ (DBAUTHRateLimitReason *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Arg.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Arg.h
index 9e9aefe2..b5793d9b 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Arg.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Arg.h
@@ -63,7 +63,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the
/// `DBAUTHTokenFromOAuth1Arg` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Arg *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Arg *)instance;
///
/// Deserializes `DBAUTHTokenFromOAuth1Arg` instances.
@@ -73,7 +73,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBAUTHTokenFromOAuth1Arg` object.
///
-+ (DBAUTHTokenFromOAuth1Arg *)deserialize:(NSDictionary *)dict;
++ (DBAUTHTokenFromOAuth1Arg *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Error.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Error.h
index 0f3c4dab..ff401aa8 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Error.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Error.h
@@ -123,7 +123,7 @@ typedef NS_ENUM(NSInteger, DBAUTHTokenFromOAuth1ErrorTag) {
/// @return A json-compatible dictionary representation of the
/// `DBAUTHTokenFromOAuth1Error` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Error *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Error *)instance;
///
/// Deserializes `DBAUTHTokenFromOAuth1Error` instances.
@@ -133,7 +133,7 @@ typedef NS_ENUM(NSInteger, DBAUTHTokenFromOAuth1ErrorTag) {
///
/// @return An instantiation of the `DBAUTHTokenFromOAuth1Error` object.
///
-+ (DBAUTHTokenFromOAuth1Error *)deserialize:(NSDictionary *)dict;
++ (DBAUTHTokenFromOAuth1Error *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Result.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Result.h
index 9659de80..441402a3 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Result.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenFromOAuth1Result.h
@@ -59,7 +59,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the
/// `DBAUTHTokenFromOAuth1Result` API object.
///
-+ (nullable NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Result *)instance;
++ (nullable NSDictionary *)serialize:(DBAUTHTokenFromOAuth1Result *)instance;
///
/// Deserializes `DBAUTHTokenFromOAuth1Result` instances.
@@ -69,7 +69,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBAUTHTokenFromOAuth1Result` object.
///
-+ (DBAUTHTokenFromOAuth1Result *)deserialize:(NSDictionary *)dict;
++ (DBAUTHTokenFromOAuth1Result *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenScopeError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenScopeError.h
new file mode 100644
index 00000000..d4b3ec3a
--- /dev/null
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Auth/Headers/DBAUTHTokenScopeError.h
@@ -0,0 +1,75 @@
+///
+/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
+///
+/// Auto-generated by Stone, do not modify.
+///
+
+#import
+
+#import "DBSerializableProtocol.h"
+
+@class DBAUTHTokenScopeError;
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - API Object
+
+///
+/// The `TokenScopeError` struct.
+///
+/// This class implements the `DBSerializable` protocol (serialize and
+/// deserialize instance methods), which is required for all Obj-C SDK API route
+/// objects.
+///
+@interface DBAUTHTokenScopeError : NSObject
+
+#pragma mark - Instance fields
+
+/// The required scope to access the route.
+@property (nonatomic, readonly, copy) NSString *requiredScope;
+
+#pragma mark - Constructors
+
+///
+/// Full constructor for the struct (exposes all instance variables).
+///
+/// @param requiredScope The required scope to access the route.
+///
+/// @return An initialized instance.
+///
+- (instancetype)initWithRequiredScope:(NSString *)requiredScope;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - Serializer Object
+
+///
+/// The serialization class for the `TokenScopeError` struct.
+///
+@interface DBAUTHTokenScopeErrorSerializer : NSObject
+
+///
+/// Serializes `DBAUTHTokenScopeError` instances.
+///
+/// @param instance An instance of the `DBAUTHTokenScopeError` API object.
+///
+/// @return A json-compatible dictionary representation of the
+/// `DBAUTHTokenScopeError` API object.
+///
++ (nullable NSDictionary *)serialize:(DBAUTHTokenScopeError *)instance;
+
+///
+/// Deserializes `DBAUTHTokenScopeError` instances.
+///
+/// @param dict A json-compatible dictionary representation of the
+/// `DBAUTHTokenScopeError` API object.
+///
+/// @return An instantiation of the `DBAUTHTokenScopeError` object.
+///
++ (DBAUTHTokenScopeError *)deserialize:(NSDictionary *)dict;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/DBCommonObjects.m b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/DBCommonObjects.m
index b15bef77..0b637789 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/DBCommonObjects.m
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/DBCommonObjects.m
@@ -106,11 +106,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBCOMMONPathRootSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBCOMMONPathRootSerializer deserialize:dict];
}
@@ -186,7 +186,7 @@ - (BOOL)isEqualToPathRoot:(DBCOMMONPathRoot *)aPathRoot {
@implementation DBCOMMONPathRootSerializer
-+ (NSDictionary *)serialize:(DBCOMMONPathRoot *)valueObj {
++ (NSDictionary *)serialize:(DBCOMMONPathRoot *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isHome]) {
@@ -206,7 +206,7 @@ + (NSDictionary *)serialize:(DBCOMMONPathRoot *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBCOMMONPathRoot *)deserialize:(NSDictionary *)valueDict {
++ (DBCOMMONPathRoot *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"home"]) {
@@ -303,11 +303,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBCOMMONPathRootErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBCOMMONPathRootErrorSerializer deserialize:dict];
}
@@ -379,7 +379,7 @@ - (BOOL)isEqualToPathRootError:(DBCOMMONPathRootError *)aPathRootError {
@implementation DBCOMMONPathRootErrorSerializer
-+ (NSDictionary *)serialize:(DBCOMMONPathRootError *)valueObj {
++ (NSDictionary *)serialize:(DBCOMMONPathRootError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isInvalidRoot]) {
@@ -396,7 +396,7 @@ + (NSDictionary *)serialize:(DBCOMMONPathRootError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBCOMMONPathRootError *)deserialize:(NSDictionary *)valueDict {
++ (DBCOMMONPathRootError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"invalid_root"]) {
@@ -441,11 +441,11 @@ - (instancetype)initWithRootNamespaceId:(NSString *)rootNamespaceId homeNamespac
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBCOMMONRootInfoSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBCOMMONRootInfoSerializer deserialize:dict];
}
@@ -506,7 +506,7 @@ - (BOOL)isEqualToRootInfo:(DBCOMMONRootInfo *)aRootInfo {
@implementation DBCOMMONRootInfoSerializer
-+ (NSDictionary *)serialize:(DBCOMMONRootInfo *)valueObj {
++ (NSDictionary *)serialize:(DBCOMMONRootInfo *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"root_namespace_id"] = valueObj.rootNamespaceId;
@@ -529,7 +529,7 @@ + (NSDictionary *)serialize:(DBCOMMONRootInfo *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBCOMMONRootInfo *)deserialize:(NSDictionary *)valueDict {
++ (DBCOMMONRootInfo *)deserialize:(NSDictionary *)valueDict {
if ([valueDict[@".tag"] isEqualToString:@"team"]) {
return [DBCOMMONTeamRootInfoSerializer deserialize:valueDict];
}
@@ -574,11 +574,11 @@ - (instancetype)initWithRootNamespaceId:(NSString *)rootNamespaceId
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBCOMMONTeamRootInfoSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBCOMMONTeamRootInfoSerializer deserialize:dict];
}
@@ -643,7 +643,7 @@ - (BOOL)isEqualToTeamRootInfo:(DBCOMMONTeamRootInfo *)aTeamRootInfo {
@implementation DBCOMMONTeamRootInfoSerializer
-+ (NSDictionary *)serialize:(DBCOMMONTeamRootInfo *)valueObj {
++ (NSDictionary *)serialize:(DBCOMMONTeamRootInfo *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"root_namespace_id"] = valueObj.rootNamespaceId;
@@ -653,7 +653,7 @@ + (NSDictionary *)serialize:(DBCOMMONTeamRootInfo *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBCOMMONTeamRootInfo *)deserialize:(NSDictionary *)valueDict {
++ (DBCOMMONTeamRootInfo *)deserialize:(NSDictionary *)valueDict {
NSString *rootNamespaceId = valueDict[@"root_namespace_id"];
NSString *homeNamespaceId = valueDict[@"home_namespace_id"];
NSString *homePath = valueDict[@"home_path"];
@@ -690,11 +690,11 @@ - (instancetype)initWithRootNamespaceId:(NSString *)rootNamespaceId homeNamespac
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBCOMMONUserRootInfoSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBCOMMONUserRootInfoSerializer deserialize:dict];
}
@@ -755,7 +755,7 @@ - (BOOL)isEqualToUserRootInfo:(DBCOMMONUserRootInfo *)anUserRootInfo {
@implementation DBCOMMONUserRootInfoSerializer
-+ (NSDictionary *)serialize:(DBCOMMONUserRootInfo *)valueObj {
++ (NSDictionary *)serialize:(DBCOMMONUserRootInfo *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"root_namespace_id"] = valueObj.rootNamespaceId;
@@ -764,7 +764,7 @@ + (NSDictionary *)serialize:(DBCOMMONUserRootInfo *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBCOMMONUserRootInfo *)deserialize:(NSDictionary *)valueDict {
++ (DBCOMMONUserRootInfo *)deserialize:(NSDictionary *)valueDict {
NSString *rootNamespaceId = valueDict[@"root_namespace_id"];
NSString *homeNamespaceId = valueDict[@"home_namespace_id"];
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRoot.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRoot.h
index a583451b..31ca18c2 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRoot.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRoot.h
@@ -173,7 +173,7 @@ typedef NS_ENUM(NSInteger, DBCOMMONPathRootTag) {
/// @return A json-compatible dictionary representation of the
/// `DBCOMMONPathRoot` API object.
///
-+ (nullable NSDictionary *)serialize:(DBCOMMONPathRoot *)instance;
++ (nullable NSDictionary *)serialize:(DBCOMMONPathRoot *)instance;
///
/// Deserializes `DBCOMMONPathRoot` instances.
@@ -183,7 +183,7 @@ typedef NS_ENUM(NSInteger, DBCOMMONPathRootTag) {
///
/// @return An instantiation of the `DBCOMMONPathRoot` object.
///
-+ (DBCOMMONPathRoot *)deserialize:(NSDictionary *)dict;
++ (DBCOMMONPathRoot *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRootError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRootError.h
index 4c175043..ceace110 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRootError.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONPathRootError.h
@@ -136,7 +136,7 @@ typedef NS_ENUM(NSInteger, DBCOMMONPathRootErrorTag) {
/// @return A json-compatible dictionary representation of the
/// `DBCOMMONPathRootError` API object.
///
-+ (nullable NSDictionary *)serialize:(DBCOMMONPathRootError *)instance;
++ (nullable NSDictionary *)serialize:(DBCOMMONPathRootError *)instance;
///
/// Deserializes `DBCOMMONPathRootError` instances.
@@ -146,7 +146,7 @@ typedef NS_ENUM(NSInteger, DBCOMMONPathRootErrorTag) {
///
/// @return An instantiation of the `DBCOMMONPathRootError` object.
///
-+ (DBCOMMONPathRootError *)deserialize:(NSDictionary *)dict;
++ (DBCOMMONPathRootError *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONRootInfo.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONRootInfo.h
index 7778b64b..964d101f 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONRootInfo.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONRootInfo.h
@@ -69,7 +69,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the
/// `DBCOMMONRootInfo` API object.
///
-+ (nullable NSDictionary *)serialize:(DBCOMMONRootInfo *)instance;
++ (nullable NSDictionary *)serialize:(DBCOMMONRootInfo *)instance;
///
/// Deserializes `DBCOMMONRootInfo` instances.
@@ -79,7 +79,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBCOMMONRootInfo` object.
///
-+ (DBCOMMONRootInfo *)deserialize:(NSDictionary *)dict;
++ (DBCOMMONRootInfo *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONTeamRootInfo.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONTeamRootInfo.h
index 519f62cf..888a8561 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONTeamRootInfo.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONTeamRootInfo.h
@@ -67,7 +67,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the
/// `DBCOMMONTeamRootInfo` API object.
///
-+ (nullable NSDictionary *)serialize:(DBCOMMONTeamRootInfo *)instance;
++ (nullable NSDictionary *)serialize:(DBCOMMONTeamRootInfo *)instance;
///
/// Deserializes `DBCOMMONTeamRootInfo` instances.
@@ -77,7 +77,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBCOMMONTeamRootInfo` object.
///
-+ (DBCOMMONTeamRootInfo *)deserialize:(NSDictionary *)dict;
++ (DBCOMMONTeamRootInfo *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONUserRootInfo.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONUserRootInfo.h
index bb75af1b..78a69d2d 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONUserRootInfo.h
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Common/Headers/DBCOMMONUserRootInfo.h
@@ -61,7 +61,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @return A json-compatible dictionary representation of the
/// `DBCOMMONUserRootInfo` API object.
///
-+ (nullable NSDictionary *)serialize:(DBCOMMONUserRootInfo *)instance;
++ (nullable NSDictionary *)serialize:(DBCOMMONUserRootInfo *)instance;
///
/// Deserializes `DBCOMMONUserRootInfo` instances.
@@ -71,7 +71,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// @return An instantiation of the `DBCOMMONUserRootInfo` object.
///
-+ (DBCOMMONUserRootInfo *)deserialize:(NSDictionary *)dict;
++ (DBCOMMONUserRootInfo *)deserialize:(NSDictionary *)dict;
@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/DBContactsObjects.m b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/DBContactsObjects.m
new file mode 100644
index 00000000..85ea3062
--- /dev/null
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/DBContactsObjects.m
@@ -0,0 +1,293 @@
+///
+/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
+///
+/// Auto-generated by Stone, do not modify.
+///
+
+/// Arguments, results, and errors for the `Contacts` namespace.
+
+#import "DBCONTACTSDeleteManualContactsArg.h"
+#import "DBStoneSerializers.h"
+#import "DBStoneValidators.h"
+
+#pragma mark - API Object
+
+@implementation DBCONTACTSDeleteManualContactsArg
+
+#pragma mark - Constructors
+
+- (instancetype)initWithEmailAddresses:(NSArray *)emailAddresses {
+ [DBStoneValidators
+ nonnullValidator:[DBStoneValidators
+ arrayValidator:nil
+ maxItems:nil
+ itemValidator:[DBStoneValidators
+ nonnullValidator:[DBStoneValidators
+ stringValidator:nil
+ maxLength:@(255)
+ pattern:@"^['&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-"
+ @"Za-z0-9.-]*\\.[A-Za-z]{2,15}$"]]]](
+ emailAddresses);
+
+ self = [super init];
+ if (self) {
+ _emailAddresses = emailAddresses;
+ }
+ return self;
+}
+
+#pragma mark - Serialization methods
+
++ (nullable NSDictionary *)serialize:(id)instance {
+ return [DBCONTACTSDeleteManualContactsArgSerializer serialize:instance];
+}
+
++ (id)deserialize:(NSDictionary *)dict {
+ return [DBCONTACTSDeleteManualContactsArgSerializer deserialize:dict];
+}
+
+#pragma mark - Description method
+
+- (NSString *)description {
+ return [[DBCONTACTSDeleteManualContactsArgSerializer serialize:self] description];
+}
+
+#pragma mark - Copyable method
+
+- (instancetype)copyWithZone:(NSZone *)zone {
+#pragma unused(zone)
+ /// object is immutable
+ return self;
+}
+
+#pragma mark - Hash method
+
+- (NSUInteger)hash {
+ NSUInteger prime = 31;
+ NSUInteger result = 1;
+
+ result = prime * result + [self.emailAddresses hash];
+
+ return prime * result;
+}
+
+#pragma mark - Equality method
+
+- (BOOL)isEqual:(id)other {
+ if (other == self) {
+ return YES;
+ }
+ if (!other || ![other isKindOfClass:[self class]]) {
+ return NO;
+ }
+ return [self isEqualToDeleteManualContactsArg:other];
+}
+
+- (BOOL)isEqualToDeleteManualContactsArg:(DBCONTACTSDeleteManualContactsArg *)aDeleteManualContactsArg {
+ if (self == aDeleteManualContactsArg) {
+ return YES;
+ }
+ if (![self.emailAddresses isEqual:aDeleteManualContactsArg.emailAddresses]) {
+ return NO;
+ }
+ return YES;
+}
+
+@end
+
+#pragma mark - Serializer Object
+
+@implementation DBCONTACTSDeleteManualContactsArgSerializer
+
++ (NSDictionary *)serialize:(DBCONTACTSDeleteManualContactsArg *)valueObj {
+ NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
+
+ jsonDict[@"email_addresses"] = [DBArraySerializer serialize:valueObj.emailAddresses
+ withBlock:^id(id elem0) {
+ return elem0;
+ }];
+
+ return [jsonDict count] > 0 ? jsonDict : nil;
+}
+
++ (DBCONTACTSDeleteManualContactsArg *)deserialize:(NSDictionary *)valueDict {
+ NSArray *emailAddresses = [DBArraySerializer deserialize:valueDict[@"email_addresses"]
+ withBlock:^id(id elem0) {
+ return elem0;
+ }];
+
+ return [[DBCONTACTSDeleteManualContactsArg alloc] initWithEmailAddresses:emailAddresses];
+}
+
+@end
+
+#import "DBCONTACTSDeleteManualContactsError.h"
+#import "DBStoneSerializers.h"
+#import "DBStoneValidators.h"
+
+#pragma mark - API Object
+
+@implementation DBCONTACTSDeleteManualContactsError
+
+@synthesize contactsNotFound = _contactsNotFound;
+
+#pragma mark - Constructors
+
+- (instancetype)initWithContactsNotFound:(NSArray *)contactsNotFound {
+ self = [super init];
+ if (self) {
+ _tag = DBCONTACTSDeleteManualContactsErrorContactsNotFound;
+ _contactsNotFound = contactsNotFound;
+ }
+ return self;
+}
+
+- (instancetype)initWithOther {
+ self = [super init];
+ if (self) {
+ _tag = DBCONTACTSDeleteManualContactsErrorOther;
+ }
+ return self;
+}
+
+#pragma mark - Instance field accessors
+
+- (NSArray *)contactsNotFound {
+ if (![self isContactsNotFound]) {
+ [NSException raise:@"IllegalStateException"
+ format:@"Invalid tag: required DBCONTACTSDeleteManualContactsErrorContactsNotFound, but was %@.",
+ [self tagName]];
+ }
+ return _contactsNotFound;
+}
+
+#pragma mark - Tag state methods
+
+- (BOOL)isContactsNotFound {
+ return _tag == DBCONTACTSDeleteManualContactsErrorContactsNotFound;
+}
+
+- (BOOL)isOther {
+ return _tag == DBCONTACTSDeleteManualContactsErrorOther;
+}
+
+- (NSString *)tagName {
+ switch (_tag) {
+ case DBCONTACTSDeleteManualContactsErrorContactsNotFound:
+ return @"DBCONTACTSDeleteManualContactsErrorContactsNotFound";
+ case DBCONTACTSDeleteManualContactsErrorOther:
+ return @"DBCONTACTSDeleteManualContactsErrorOther";
+ }
+
+ @throw([NSException exceptionWithName:@"InvalidTag" reason:@"Tag has an unknown value." userInfo:nil]);
+}
+
+#pragma mark - Serialization methods
+
++ (nullable NSDictionary *)serialize:(id)instance {
+ return [DBCONTACTSDeleteManualContactsErrorSerializer serialize:instance];
+}
+
++ (id)deserialize:(NSDictionary *)dict {
+ return [DBCONTACTSDeleteManualContactsErrorSerializer deserialize:dict];
+}
+
+#pragma mark - Description method
+
+- (NSString *)description {
+ return [[DBCONTACTSDeleteManualContactsErrorSerializer serialize:self] description];
+}
+
+#pragma mark - Copyable method
+
+- (instancetype)copyWithZone:(NSZone *)zone {
+#pragma unused(zone)
+ /// object is immutable
+ return self;
+}
+
+#pragma mark - Hash method
+
+- (NSUInteger)hash {
+ NSUInteger prime = 31;
+ NSUInteger result = 1;
+
+ switch (_tag) {
+ case DBCONTACTSDeleteManualContactsErrorContactsNotFound:
+ result = prime * result + [self.contactsNotFound hash];
+ case DBCONTACTSDeleteManualContactsErrorOther:
+ result = prime * result + [[self tagName] hash];
+ }
+
+ return prime * result;
+}
+
+#pragma mark - Equality method
+
+- (BOOL)isEqual:(id)other {
+ if (other == self) {
+ return YES;
+ }
+ if (!other || ![other isKindOfClass:[self class]]) {
+ return NO;
+ }
+ return [self isEqualToDeleteManualContactsError:other];
+}
+
+- (BOOL)isEqualToDeleteManualContactsError:(DBCONTACTSDeleteManualContactsError *)aDeleteManualContactsError {
+ if (self == aDeleteManualContactsError) {
+ return YES;
+ }
+ if (self.tag != aDeleteManualContactsError.tag) {
+ return NO;
+ }
+ switch (_tag) {
+ case DBCONTACTSDeleteManualContactsErrorContactsNotFound:
+ return [self.contactsNotFound isEqual:aDeleteManualContactsError.contactsNotFound];
+ case DBCONTACTSDeleteManualContactsErrorOther:
+ return [[self tagName] isEqual:[aDeleteManualContactsError tagName]];
+ }
+ return YES;
+}
+
+@end
+
+#pragma mark - Serializer Object
+
+@implementation DBCONTACTSDeleteManualContactsErrorSerializer
+
++ (NSDictionary *)serialize:(DBCONTACTSDeleteManualContactsError *)valueObj {
+ NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
+
+ if ([valueObj isContactsNotFound]) {
+ jsonDict[@"contacts_not_found"] = [DBArraySerializer serialize:valueObj.contactsNotFound
+ withBlock:^id(id elem0) {
+ return elem0;
+ }];
+ jsonDict[@".tag"] = @"contacts_not_found";
+ } else if ([valueObj isOther]) {
+ jsonDict[@".tag"] = @"other";
+ } else {
+ jsonDict[@".tag"] = @"other";
+ }
+
+ return [jsonDict count] > 0 ? jsonDict : nil;
+}
+
++ (DBCONTACTSDeleteManualContactsError *)deserialize:(NSDictionary *)valueDict {
+ NSString *tag = valueDict[@".tag"];
+
+ if ([tag isEqualToString:@"contacts_not_found"]) {
+ NSArray *contactsNotFound = [DBArraySerializer deserialize:valueDict[@"contacts_not_found"]
+ withBlock:^id(id elem0) {
+ return elem0;
+ }];
+ return [[DBCONTACTSDeleteManualContactsError alloc] initWithContactsNotFound:contactsNotFound];
+ } else if ([tag isEqualToString:@"other"]) {
+ return [[DBCONTACTSDeleteManualContactsError alloc] initWithOther];
+ } else {
+ return [[DBCONTACTSDeleteManualContactsError alloc] initWithOther];
+ }
+}
+
+@end
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsArg.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsArg.h
new file mode 100644
index 00000000..5ea7840d
--- /dev/null
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsArg.h
@@ -0,0 +1,76 @@
+///
+/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
+///
+/// Auto-generated by Stone, do not modify.
+///
+
+#import
+
+#import "DBSerializableProtocol.h"
+
+@class DBCONTACTSDeleteManualContactsArg;
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - API Object
+
+///
+/// The `DeleteManualContactsArg` struct.
+///
+/// This class implements the `DBSerializable` protocol (serialize and
+/// deserialize instance methods), which is required for all Obj-C SDK API route
+/// objects.
+///
+@interface DBCONTACTSDeleteManualContactsArg : NSObject
+
+#pragma mark - Instance fields
+
+/// List of manually added contacts to be deleted.
+@property (nonatomic, readonly) NSArray *emailAddresses;
+
+#pragma mark - Constructors
+
+///
+/// Full constructor for the struct (exposes all instance variables).
+///
+/// @param emailAddresses List of manually added contacts to be deleted.
+///
+/// @return An initialized instance.
+///
+- (instancetype)initWithEmailAddresses:(NSArray *)emailAddresses;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - Serializer Object
+
+///
+/// The serialization class for the `DeleteManualContactsArg` struct.
+///
+@interface DBCONTACTSDeleteManualContactsArgSerializer : NSObject
+
+///
+/// Serializes `DBCONTACTSDeleteManualContactsArg` instances.
+///
+/// @param instance An instance of the `DBCONTACTSDeleteManualContactsArg` API
+/// object.
+///
+/// @return A json-compatible dictionary representation of the
+/// `DBCONTACTSDeleteManualContactsArg` API object.
+///
++ (nullable NSDictionary *)serialize:(DBCONTACTSDeleteManualContactsArg *)instance;
+
+///
+/// Deserializes `DBCONTACTSDeleteManualContactsArg` instances.
+///
+/// @param dict A json-compatible dictionary representation of the
+/// `DBCONTACTSDeleteManualContactsArg` API object.
+///
+/// @return An instantiation of the `DBCONTACTSDeleteManualContactsArg` object.
+///
++ (DBCONTACTSDeleteManualContactsArg *)deserialize:(NSDictionary *)dict;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsError.h b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsError.h
new file mode 100644
index 00000000..3b057145
--- /dev/null
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/Contacts/Headers/DBCONTACTSDeleteManualContactsError.h
@@ -0,0 +1,136 @@
+///
+/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
+///
+/// Auto-generated by Stone, do not modify.
+///
+
+#import
+
+#import "DBSerializableProtocol.h"
+
+@class DBCONTACTSDeleteManualContactsError;
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - API Object
+
+///
+/// The `DeleteManualContactsError` union.
+///
+/// This class implements the `DBSerializable` protocol (serialize and
+/// deserialize instance methods), which is required for all Obj-C SDK API route
+/// objects.
+///
+@interface DBCONTACTSDeleteManualContactsError : NSObject
+
+#pragma mark - Instance fields
+
+/// The `DBCONTACTSDeleteManualContactsErrorTag` enum type represents the
+/// possible tag states with which the `DBCONTACTSDeleteManualContactsError`
+/// union can exist.
+typedef NS_ENUM(NSInteger, DBCONTACTSDeleteManualContactsErrorTag) {
+ /// Can't delete contacts from this list. Make sure the list only has
+ /// manually added contacts. The deletion was cancelled.
+ DBCONTACTSDeleteManualContactsErrorContactsNotFound,
+
+ /// (no description).
+ DBCONTACTSDeleteManualContactsErrorOther,
+
+};
+
+/// Represents the union's current tag state.
+@property (nonatomic, readonly) DBCONTACTSDeleteManualContactsErrorTag tag;
+
+/// Can't delete contacts from this list. Make sure the list only has manually
+/// added contacts. The deletion was cancelled. @note Ensure the
+/// `isContactsNotFound` method returns true before accessing, otherwise a
+/// runtime exception will be raised.
+@property (nonatomic, readonly) NSArray *contactsNotFound;
+
+#pragma mark - Constructors
+
+///
+/// Initializes union class with tag state of "contacts_not_found".
+///
+/// Description of the "contacts_not_found" tag state: Can't delete contacts
+/// from this list. Make sure the list only has manually added contacts. The
+/// deletion was cancelled.
+///
+/// @param contactsNotFound Can't delete contacts from this list. Make sure the
+/// list only has manually added contacts. The deletion was cancelled.
+///
+/// @return An initialized instance.
+///
+- (instancetype)initWithContactsNotFound:(NSArray *)contactsNotFound;
+
+///
+/// Initializes union class with tag state of "other".
+///
+/// @return An initialized instance.
+///
+- (instancetype)initWithOther;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+#pragma mark - Tag state methods
+
+///
+/// Retrieves whether the union's current tag state has value
+/// "contacts_not_found".
+///
+/// @note Call this method and ensure it returns true before accessing the
+/// `contactsNotFound` property, otherwise a runtime exception will be thrown.
+///
+/// @return Whether the union's current tag state has value
+/// "contacts_not_found".
+///
+- (BOOL)isContactsNotFound;
+
+///
+/// Retrieves whether the union's current tag state has value "other".
+///
+/// @return Whether the union's current tag state has value "other".
+///
+- (BOOL)isOther;
+
+///
+/// Retrieves string value of union's current tag state.
+///
+/// @return A human-readable string representing the union's current tag state.
+///
+- (NSString *)tagName;
+
+@end
+
+#pragma mark - Serializer Object
+
+///
+/// The serialization class for the `DBCONTACTSDeleteManualContactsError` union.
+///
+@interface DBCONTACTSDeleteManualContactsErrorSerializer : NSObject
+
+///
+/// Serializes `DBCONTACTSDeleteManualContactsError` instances.
+///
+/// @param instance An instance of the `DBCONTACTSDeleteManualContactsError` API
+/// object.
+///
+/// @return A json-compatible dictionary representation of the
+/// `DBCONTACTSDeleteManualContactsError` API object.
+///
++ (nullable NSDictionary *)serialize:(DBCONTACTSDeleteManualContactsError *)instance;
+
+///
+/// Deserializes `DBCONTACTSDeleteManualContactsError` instances.
+///
+/// @param dict A json-compatible dictionary representation of the
+/// `DBCONTACTSDeleteManualContactsError` API object.
+///
+/// @return An instantiation of the `DBCONTACTSDeleteManualContactsError`
+/// object.
+///
++ (DBCONTACTSDeleteManualContactsError *)deserialize:(NSDictionary *)dict;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileProperties/DBFilePropertiesObjects.m b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileProperties/DBFilePropertiesObjects.m
index a6838e79..bdbd08b1 100644
--- a/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileProperties/DBFilePropertiesObjects.m
+++ b/Pods/ObjectiveDropboxOfficial/Source/ObjectiveDropboxOfficial/Shared/Generated/ApiObjects/FileProperties/DBFilePropertiesObjects.m
@@ -38,11 +38,11 @@ - (instancetype)initWithPath:(NSString *)path
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESAddPropertiesArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESAddPropertiesArgSerializer deserialize:dict];
}
@@ -103,7 +103,7 @@ - (BOOL)isEqualToAddPropertiesArg:(DBFILEPROPERTIESAddPropertiesArg *)anAddPrope
@implementation DBFILEPROPERTIESAddPropertiesArgSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESAddPropertiesArg *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESAddPropertiesArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"path"] = valueObj.path;
@@ -115,7 +115,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESAddPropertiesArg *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESAddPropertiesArg *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESAddPropertiesArg *)deserialize:(NSDictionary *)valueDict {
NSString *path = valueDict[@"path"];
NSArray *propertyGroups =
[DBArraySerializer deserialize:valueDict[@"property_groups"]
@@ -205,11 +205,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESTemplateErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESTemplateErrorSerializer deserialize:dict];
}
@@ -281,7 +281,7 @@ - (BOOL)isEqualToTemplateError:(DBFILEPROPERTIESTemplateError *)aTemplateError {
@implementation DBFILEPROPERTIESTemplateErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESTemplateError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESTemplateError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isTemplateNotFound]) {
@@ -298,7 +298,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESTemplateError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESTemplateError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESTemplateError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"template_not_found"]) {
@@ -432,11 +432,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesErrorSerializer deserialize:dict];
}
@@ -516,7 +516,7 @@ - (BOOL)isEqualToPropertiesError:(DBFILEPROPERTIESPropertiesError *)aPropertiesE
@implementation DBFILEPROPERTIESPropertiesErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isTemplateNotFound]) {
@@ -538,7 +538,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"template_not_found"]) {
@@ -706,11 +706,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESInvalidPropertyGroupErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESInvalidPropertyGroupErrorSerializer deserialize:dict];
}
@@ -798,7 +798,7 @@ - (BOOL)isEqualToInvalidPropertyGroupError:(DBFILEPROPERTIESInvalidPropertyGroup
@implementation DBFILEPROPERTIESInvalidPropertyGroupErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESInvalidPropertyGroupError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESInvalidPropertyGroupError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isTemplateNotFound]) {
@@ -824,7 +824,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESInvalidPropertyGroupError *)valueOb
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESInvalidPropertyGroupError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESInvalidPropertyGroupError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"template_not_found"]) {
@@ -1009,11 +1009,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESAddPropertiesErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESAddPropertiesErrorSerializer deserialize:dict];
}
@@ -1105,7 +1105,7 @@ - (BOOL)isEqualToAddPropertiesError:(DBFILEPROPERTIESAddPropertiesError *)anAddP
@implementation DBFILEPROPERTIESAddPropertiesErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESAddPropertiesError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESAddPropertiesError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isTemplateNotFound]) {
@@ -1133,7 +1133,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESAddPropertiesError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESAddPropertiesError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESAddPropertiesError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"template_not_found"]) {
@@ -1193,11 +1193,11 @@ - (instancetype)initWithName:(NSString *)name
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertyGroupTemplateSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertyGroupTemplateSerializer deserialize:dict];
}
@@ -1262,7 +1262,7 @@ - (BOOL)isEqualToPropertyGroupTemplate:(DBFILEPROPERTIESPropertyGroupTemplate *)
@implementation DBFILEPROPERTIESPropertyGroupTemplateSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertyGroupTemplate *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertyGroupTemplate *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"name"] = valueObj.name;
@@ -1275,7 +1275,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertyGroupTemplate *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertyGroupTemplate *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertyGroupTemplate *)deserialize:(NSDictionary *)valueDict {
NSString *name = valueDict[@"name"];
NSString *description_ = valueDict[@"description"];
NSArray *fields =
@@ -1319,11 +1319,11 @@ - (instancetype)initWithName:(NSString *)name
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESAddTemplateArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESAddTemplateArgSerializer deserialize:dict];
}
@@ -1388,7 +1388,7 @@ - (BOOL)isEqualToAddTemplateArg:(DBFILEPROPERTIESAddTemplateArg *)anAddTemplateA
@implementation DBFILEPROPERTIESAddTemplateArgSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESAddTemplateArg *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESAddTemplateArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"name"] = valueObj.name;
@@ -1401,7 +1401,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESAddTemplateArg *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESAddTemplateArg *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESAddTemplateArg *)deserialize:(NSDictionary *)valueDict {
NSString *name = valueDict[@"name"];
NSString *description_ = valueDict[@"description"];
NSArray *fields =
@@ -1438,11 +1438,11 @@ - (instancetype)initWithTemplateId:(NSString *)templateId {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESAddTemplateResultSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESAddTemplateResultSerializer deserialize:dict];
}
@@ -1499,7 +1499,7 @@ - (BOOL)isEqualToAddTemplateResult:(DBFILEPROPERTIESAddTemplateResult *)anAddTem
@implementation DBFILEPROPERTIESAddTemplateResultSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESAddTemplateResult *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESAddTemplateResult *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"template_id"] = valueObj.templateId;
@@ -1507,7 +1507,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESAddTemplateResult *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESAddTemplateResult *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESAddTemplateResult *)deserialize:(NSDictionary *)valueDict {
NSString *templateId = valueDict[@"template_id"];
return [[DBFILEPROPERTIESAddTemplateResult alloc] initWithTemplateId:templateId];
@@ -1538,11 +1538,11 @@ - (instancetype)initWithTemplateId:(NSString *)templateId {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESGetTemplateArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESGetTemplateArgSerializer deserialize:dict];
}
@@ -1599,7 +1599,7 @@ - (BOOL)isEqualToGetTemplateArg:(DBFILEPROPERTIESGetTemplateArg *)aGetTemplateAr
@implementation DBFILEPROPERTIESGetTemplateArgSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESGetTemplateArg *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESGetTemplateArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"template_id"] = valueObj.templateId;
@@ -1607,7 +1607,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESGetTemplateArg *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESGetTemplateArg *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESGetTemplateArg *)deserialize:(NSDictionary *)valueDict {
NSString *templateId = valueDict[@"template_id"];
return [[DBFILEPROPERTIESGetTemplateArg alloc] initWithTemplateId:templateId];
@@ -1645,11 +1645,11 @@ - (instancetype)initWithName:(NSString *)name
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESGetTemplateResultSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESGetTemplateResultSerializer deserialize:dict];
}
@@ -1714,7 +1714,7 @@ - (BOOL)isEqualToGetTemplateResult:(DBFILEPROPERTIESGetTemplateResult *)aGetTemp
@implementation DBFILEPROPERTIESGetTemplateResultSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESGetTemplateResult *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESGetTemplateResult *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"name"] = valueObj.name;
@@ -1727,7 +1727,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESGetTemplateResult *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESGetTemplateResult *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESGetTemplateResult *)deserialize:(NSDictionary *)valueDict {
NSString *name = valueDict[@"name"];
NSString *description_ = valueDict[@"description"];
NSArray *fields =
@@ -1771,11 +1771,11 @@ - (instancetype)initWithTemplateIds:(NSArray *)templateIds {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESListTemplateResultSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESListTemplateResultSerializer deserialize:dict];
}
@@ -1832,7 +1832,7 @@ - (BOOL)isEqualToListTemplateResult:(DBFILEPROPERTIESListTemplateResult *)aListT
@implementation DBFILEPROPERTIESListTemplateResultSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESListTemplateResult *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESListTemplateResult *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"template_ids"] = [DBArraySerializer serialize:valueObj.templateIds
@@ -1843,7 +1843,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESListTemplateResult *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESListTemplateResult *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESListTemplateResult *)deserialize:(NSDictionary *)valueDict {
NSArray *templateIds = [DBArraySerializer deserialize:valueDict[@"template_ids"]
withBlock:^id(id elem0) {
return elem0;
@@ -1905,11 +1905,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESLogicalOperatorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESLogicalOperatorSerializer deserialize:dict];
}
@@ -1977,7 +1977,7 @@ - (BOOL)isEqualToLogicalOperator:(DBFILEPROPERTIESLogicalOperator *)aLogicalOper
@implementation DBFILEPROPERTIESLogicalOperatorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESLogicalOperator *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESLogicalOperator *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isOrOperator]) {
@@ -1991,7 +1991,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESLogicalOperator *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESLogicalOperator *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESLogicalOperator *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"or_operator"]) {
@@ -2056,11 +2056,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESLookUpPropertiesErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESLookUpPropertiesErrorSerializer deserialize:dict];
}
@@ -2128,7 +2128,7 @@ - (BOOL)isEqualToLookUpPropertiesError:(DBFILEPROPERTIESLookUpPropertiesError *)
@implementation DBFILEPROPERTIESLookUpPropertiesErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESLookUpPropertiesError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESLookUpPropertiesError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isPropertyGroupNotFound]) {
@@ -2142,7 +2142,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESLookUpPropertiesError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESLookUpPropertiesError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESLookUpPropertiesError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"property_group_not_found"]) {
@@ -2274,11 +2274,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESLookupErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESLookupErrorSerializer deserialize:dict];
}
@@ -2362,7 +2362,7 @@ - (BOOL)isEqualToLookupError:(DBFILEPROPERTIESLookupError *)aLookupError {
@implementation DBFILEPROPERTIESLookupErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESLookupError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESLookupError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isMalformedPath]) {
@@ -2385,7 +2385,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESLookupError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESLookupError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESLookupError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"malformed_path"]) {
@@ -2542,11 +2542,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESModifyTemplateErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESModifyTemplateErrorSerializer deserialize:dict];
}
@@ -2634,7 +2634,7 @@ - (BOOL)isEqualToModifyTemplateError:(DBFILEPROPERTIESModifyTemplateError *)aMod
@implementation DBFILEPROPERTIESModifyTemplateErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESModifyTemplateError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESModifyTemplateError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isTemplateNotFound]) {
@@ -2659,7 +2659,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESModifyTemplateError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESModifyTemplateError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESModifyTemplateError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"template_not_found"]) {
@@ -2716,11 +2716,11 @@ - (instancetype)initWithPath:(NSString *)path
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESOverwritePropertyGroupArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESOverwritePropertyGroupArgSerializer deserialize:dict];
}
@@ -2781,7 +2781,7 @@ - (BOOL)isEqualToOverwritePropertyGroupArg:(DBFILEPROPERTIESOverwritePropertyGro
@implementation DBFILEPROPERTIESOverwritePropertyGroupArgSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESOverwritePropertyGroupArg *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESOverwritePropertyGroupArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"path"] = valueObj.path;
@@ -2793,7 +2793,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESOverwritePropertyGroupArg *)valueOb
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESOverwritePropertyGroupArg *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESOverwritePropertyGroupArg *)deserialize:(NSDictionary *)valueDict {
NSString *path = valueDict[@"path"];
NSArray *propertyGroups =
[DBArraySerializer deserialize:valueDict[@"property_groups"]
@@ -2839,11 +2839,11 @@ - (instancetype)initWithQueries:(NSArray *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchArgSerializer deserialize:dict];
}
@@ -2904,7 +2904,7 @@ - (BOOL)isEqualToPropertiesSearchArg:(DBFILEPROPERTIESPropertiesSearchArg *)aPro
@implementation DBFILEPROPERTIESPropertiesSearchArgSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchArg *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"queries"] = [DBArraySerializer serialize:valueObj.queries
@@ -2916,7 +2916,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchArg *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesSearchArg *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesSearchArg *)deserialize:(NSDictionary *)valueDict {
NSArray *queries =
[DBArraySerializer deserialize:valueDict[@"queries"]
withBlock:^id(id elem0) {
@@ -2954,11 +2954,11 @@ - (instancetype)initWithCursor:(NSString *)cursor {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchContinueArgSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchContinueArgSerializer deserialize:dict];
}
@@ -3016,7 +3016,7 @@ - (BOOL)isEqualToPropertiesSearchContinueArg:
@implementation DBFILEPROPERTIESPropertiesSearchContinueArgSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchContinueArg *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchContinueArg *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"cursor"] = valueObj.cursor;
@@ -3024,7 +3024,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchContinueArg *)value
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesSearchContinueArg *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesSearchContinueArg *)deserialize:(NSDictionary *)valueDict {
NSString *cursor = valueDict[@"cursor"];
return [[DBFILEPROPERTIESPropertiesSearchContinueArg alloc] initWithCursor:cursor];
@@ -3083,11 +3083,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchContinueErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchContinueErrorSerializer deserialize:dict];
}
@@ -3156,7 +3156,7 @@ - (BOOL)isEqualToPropertiesSearchContinueError:
@implementation DBFILEPROPERTIESPropertiesSearchContinueErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchContinueError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchContinueError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isReset]) {
@@ -3170,7 +3170,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchContinueError *)val
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesSearchContinueError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesSearchContinueError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"reset"]) {
@@ -3248,11 +3248,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchErrorSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchErrorSerializer deserialize:dict];
}
@@ -3320,7 +3320,7 @@ - (BOOL)isEqualToPropertiesSearchError:(DBFILEPROPERTIESPropertiesSearchError *)
@implementation DBFILEPROPERTIESPropertiesSearchErrorSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchError *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchError *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isPropertyGroupLookup]) {
@@ -3336,7 +3336,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchError *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesSearchError *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesSearchError *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"property_group_lookup"]) {
@@ -3387,11 +3387,11 @@ - (instancetype)initWithId_:(NSString *)id_
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchMatchSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchMatchSerializer deserialize:dict];
}
@@ -3460,7 +3460,7 @@ - (BOOL)isEqualToPropertiesSearchMatch:(DBFILEPROPERTIESPropertiesSearchMatch *)
@implementation DBFILEPROPERTIESPropertiesSearchMatchSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchMatch *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchMatch *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
jsonDict[@"id"] = valueObj.id_;
@@ -3474,7 +3474,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchMatch *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesSearchMatch *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesSearchMatch *)deserialize:(NSDictionary *)valueDict {
NSString *id_ = valueDict[@"id"];
NSString *path = valueDict[@"path"];
NSNumber *isDeleted = valueDict[@"is_deleted"];
@@ -3555,11 +3555,11 @@ - (NSString *)tagName {
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchModeSerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchModeSerializer deserialize:dict];
}
@@ -3627,7 +3627,7 @@ - (BOOL)isEqualToPropertiesSearchMode:(DBFILEPROPERTIESPropertiesSearchMode *)aP
@implementation DBFILEPROPERTIESPropertiesSearchModeSerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchMode *)valueObj {
++ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchMode *)valueObj {
NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc] init];
if ([valueObj isFieldName]) {
@@ -3642,7 +3642,7 @@ + (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchMode *)valueObj {
return [jsonDict count] > 0 ? jsonDict : nil;
}
-+ (DBFILEPROPERTIESPropertiesSearchMode *)deserialize:(NSDictionary *)valueDict {
++ (DBFILEPROPERTIESPropertiesSearchMode *)deserialize:(NSDictionary *)valueDict {
NSString *tag = valueDict[@".tag"];
if ([tag isEqualToString:@"field_name"]) {
@@ -3690,11 +3690,11 @@ - (instancetype)initWithQuery:(NSString *)query mode:(DBFILEPROPERTIESProperties
#pragma mark - Serialization methods
-+ (nullable NSDictionary *)serialize:(id)instance {
++ (nullable NSDictionary *)serialize:(id)instance {
return [DBFILEPROPERTIESPropertiesSearchQuerySerializer serialize:instance];
}
-+ (id)deserialize:(NSDictionary *)dict {
++ (id)deserialize:(NSDictionary *)dict {
return [DBFILEPROPERTIESPropertiesSearchQuerySerializer deserialize:dict];
}
@@ -3759,7 +3759,7 @@ - (BOOL)isEqualToPropertiesSearchQuery:(DBFILEPROPERTIESPropertiesSearchQuery *)
@implementation DBFILEPROPERTIESPropertiesSearchQuerySerializer
-+ (NSDictionary *)serialize:(DBFILEPROPERTIESPropertiesSearchQuery *)valueObj {
++ (NSDictionary