# compiler: R8
# compiler_version: 8.13.19
# common_typos_disable
# {"id":"com.android.tools.r8.mapping","version":"2.2"}
# pg_map_id: bec99533b65f5328f79ff2c916c5dc2a2f475ea5faf133484f4a3c97a9ef4ff0
# pg_map_hash: SHA-256 bec99533b65f5328f79ff2c916c5dc2a2f475ea5faf133484f4a3c97a9ef4ff0
com.sf.sdk.SFAppStateChangedListener -> com.sf.sdk.SFAppStateChangedListener:
# {"id":"sourceFile","fileName":"SFAppStateChangedListener.java"}
com.sf.sdk.SFAppUpdateListener -> com.sf.sdk.SFAppUpdateListener:
# {"id":"sourceFile","fileName":"SFAppUpdateListener.java"}
com.sf.sdk.SFAppsFlyerService -> com.sf.sdk.SFAppsFlyerService:
# {"id":"sourceFile","fileName":"SFAppsFlyerService.java"}
com.sf.sdk.SFAuthenticationStatusListener -> com.sf.sdk.SFAuthenticationStatusListener:
# {"id":"sourceFile","fileName":"SFAuthenticationStatusListener.java"}
com.sf.sdk.SFConsumer -> com.sf.sdk.SFConsumer:
# {"id":"sourceFile","fileName":"SFConsumer.java"}
com.sf.sdk.SFConversionDataListener -> com.sf.sdk.SFConversionDataListener:
# {"id":"sourceFile","fileName":"SFConversionDataListener.java"}
com.sf.sdk.SFFirebaseMessagingListener -> com.sf.sdk.SFFirebaseMessagingListener:
# {"id":"sourceFile","fileName":"SFFirebaseMessagingListener.java"}
com.sf.sdk.SFFirebaseRemoteConfigListener -> com.sf.sdk.SFFirebaseRemoteConfigListener:
# {"id":"sourceFile","fileName":"SFFirebaseRemoteConfigListener.java"}
com.sf.sdk.SFFirebaseService -> com.sf.sdk.SFFirebaseService:
# {"id":"sourceFile","fileName":"SFFirebaseService.java"}
com.sf.sdk.SFGameService -> com.sf.sdk.SFGameService:
# {"id":"sourceFile","fileName":"SFGameService.java"}
com.sf.sdk.SFLocaleCurrencyListener -> com.sf.sdk.SFLocaleCurrencyListener:
# {"id":"sourceFile","fileName":"SFLocaleCurrencyListener.java"}
com.sf.sdk.SFNetworkStateListener -> com.sf.sdk.SFNetworkStateListener:
# {"id":"sourceFile","fileName":"SFNetworkStateListener.java"}
com.sf.sdk.SFPlatform -> com.sf.sdk.SFPlatform:
# {"id":"sourceFile","fileName":"SFPlatform.java"}
    1:1:void <init>():40:40 -> <init>
    1:1:com.sf.sdk.SFPlatform getInstance():43:43 -> getInstance
com.sf.sdk.SFRequestListener -> com.sf.sdk.SFRequestListener:
# {"id":"sourceFile","fileName":"SFRequestListener.java"}
com.sf.sdk.SFRequestResultListener -> com.sf.sdk.SFRequestResultListener:
# {"id":"sourceFile","fileName":"SFRequestResultListener.java"}
com.sf.sdk.SFResultListener -> com.sf.sdk.SFResultListener:
# {"id":"sourceFile","fileName":"SFResultListener.java"}
com.sf.sdk.SFSDKListener -> com.sf.sdk.SFSDKListener:
# {"id":"sourceFile","fileName":"SFSDKListener.java"}
com.sf.sdk.SFSimpleSDKListener -> com.sf.sdk.SFSimpleSDKListener:
# {"id":"sourceFile","fileName":"SFSimpleSDKListener.java"}
    1:1:void <init>():12:12 -> <init>
com.sf.sdk.SFSofishService -> com.sf.sdk.SFSofishService:
# {"id":"sourceFile","fileName":"SFSofishService.java"}
com.sf.sdk.SFSofishService$SFDynamicSuperPropertiesHandler -> com.sf.sdk.SFSofishService$SFDynamicSuperPropertiesHandler:
# {"id":"sourceFile","fileName":"SFSofishService.java"}
com.sf.sdk.SFTDService -> com.sf.sdk.SFTDService:
# {"id":"sourceFile","fileName":"SFTDService.java"}
com.sf.sdk.SFTDService$SFDynamicSuperPropertiesHandler -> com.sf.sdk.SFTDService$SFDynamicSuperPropertiesHandler:
# {"id":"sourceFile","fileName":"SFTDService.java"}
com.sf.sdk.SFUIService -> com.sf.sdk.SFUIService:
# {"id":"sourceFile","fileName":"SFUIService.java"}
com.sf.sdk.analytics.SFAnalytics -> com.sf.sdk.analytics.SFAnalytics:
# {"id":"sourceFile","fileName":"SFAnalytics.java"}
    com.sf.sdk.analytics.SFAnalyticsSDK instance -> instance
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:3:void <clinit>():20:22 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    1:4:void clearSuperProperties():167:170 -> clearSuperProperties
    1:1:void enableAutoTrack(int):113:113 -> enableAutoTrack
    2:21:void enableAutoTrack(int,org.json.JSONObject):123:142 -> enableAutoTrack
    1:4:void flush():182:185 -> flush
    1:4:java.lang.String getDeviceId():189:192 -> getDeviceId
    1:4:java.lang.String getDistinctId():196:199 -> getDistinctId
    1:1:com.sf.sdk.analytics.data.SFPresetProperties getPresetProperties():178:178 -> getPresetProperties
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/b/f;"}
    1:1:org.json.JSONObject getSuperProperties():174:174 -> getSuperProperties
    1:2:void init(android.content.Context,java.lang.String,java.lang.String):36:37 -> init
    3:10:void init(com.sf.sdk.analytics.SFConfig):46:53 -> init
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;)V"}
    1:1:boolean isInitialized():25:25 -> isInitialized
    1:4:void login(java.lang.String):66:69 -> login
    1:4:void logout():73:76 -> logout
    1:4:void setDisableBigQuery(boolean):210:213 -> setDisableBigQuery
    1:4:void setDisabledEvents(java.util.List):217:220 -> setDisabledEvents
    1:4:void setDynamicSuperProperties(com.sf.sdk.analytics.SFAnalyticsSDK$DynamicSuperPropertiesTracker):153:156 -> setDynamicSuperProperties
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a$q;)V"}
    1:4:void setNetworkType(com.sf.sdk.analytics.SFAnalytics$NetworkType):229:232 -> setNetworkType
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$b;)V"}
    1:4:void setServerUrl(android.content.Context,java.lang.String,java.lang.String):58:61 -> setServerUrl
    1:4:void setSuperProperties(org.json.JSONObject):146:149 -> setSuperProperties
    1:15:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):241:255 -> setTrackStatus
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$c;)V"}
    16:16:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):252:252 -> setTrackStatus
    17:17:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):249:249 -> setTrackStatus
    18:18:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):246:246 -> setTrackStatus
    1:4:void setUserPseudoId(java.lang.String):203:206 -> setUserPseudoId
    1:4:void track(java.lang.String):80:83 -> track
    5:8:void track(java.lang.String,org.json.JSONObject):87:90 -> track
    1:4:void trackAdRevenue(com.sf.sdk.data.SFAdRevenue):94:97 -> trackAdRevenue
    1:4:void trackInstallReferrer(org.json.JSONObject):101:104 -> trackInstallReferrer
    1:4:void unsetSuperProperty(java.lang.String):160:163 -> unsetSuperProperty
com.sf.sdk.analytics.SFAnalytics$1 -> com.sf.sdk.analytics.SFAnalytics$a:
# {"id":"sourceFile","fileName":"SFAnalytics.java"}
    int[] $SwitchMap$com$sf$sdk$analytics$SFAnalytics$TrackStatus -> a
    1:1:void <clinit>():244:244 -> <clinit>
com.sf.sdk.analytics.SFAnalytics$NetworkType -> com.sf.sdk.analytics.SFAnalytics$b:
# {"id":"sourceFile","fileName":"SFAnalytics.java"}
    com.sf.sdk.analytics.SFAnalytics$NetworkType DEFAULT -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$b;"}
    com.sf.sdk.analytics.SFAnalytics$NetworkType WIFI -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$b;"}
    com.sf.sdk.analytics.SFAnalytics$NetworkType ALL -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$b;"}
    com.sf.sdk.analytics.SFAnalytics$NetworkType[] $VALUES -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/analytics/SFAnalytics$b;"}
    1:9:void <clinit>():267:275 -> <clinit>
    10:10:void <clinit>():263:263 -> <clinit>
    1:1:void <init>(java.lang.String,int):263:263 -> <init>
    1:1:com.sf.sdk.analytics.SFAnalytics$NetworkType[] $values():263:263 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/SFAnalytics$b;"}
    1:1:com.sf.sdk.analytics.SFAnalytics$NetworkType valueOf(java.lang.String):263:263 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/analytics/SFAnalytics$b;"}
    1:1:com.sf.sdk.analytics.SFAnalytics$NetworkType[] values():263:263 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/SFAnalytics$b;"}
com.sf.sdk.analytics.SFAnalytics$TrackStatus -> com.sf.sdk.analytics.SFAnalytics$c:
# {"id":"sourceFile","fileName":"SFAnalytics.java"}
    com.sf.sdk.analytics.SFAnalytics$TrackStatus PAUSE -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    com.sf.sdk.analytics.SFAnalytics$TrackStatus STOP -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    com.sf.sdk.analytics.SFAnalytics$TrackStatus SAVE_ONLY -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    com.sf.sdk.analytics.SFAnalytics$TrackStatus NORMAL -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    com.sf.sdk.analytics.SFAnalytics$TrackStatus[] $VALUES -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    1:13:void <clinit>():285:297 -> <clinit>
    14:14:void <clinit>():281:281 -> <clinit>
    1:1:void <init>(java.lang.String,int):281:281 -> <init>
    1:1:com.sf.sdk.analytics.SFAnalytics$TrackStatus[] $values():281:281 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    1:1:com.sf.sdk.analytics.SFAnalytics$TrackStatus valueOf(java.lang.String):281:281 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    1:1:com.sf.sdk.analytics.SFAnalytics$TrackStatus[] values():281:281 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/SFAnalytics$c;"}
com.sf.sdk.analytics.SFAnalyticsSDK -> com.sf.sdk.analytics.a:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    java.lang.Object lockTrackStatus -> A
    com.sf.sdk.analytics.SFAnalyticsSDK sInstance -> B
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    java.lang.Object mLock -> C
    boolean mAutoTrack -> a
    boolean mTrackCrash -> b
    boolean mIgnoreAppViewInExtPackage -> c
    boolean isFirstInstall -> d
    boolean isAppIdFirstInstall -> e
    boolean isVerboseLoggingEnabled -> f
    java.lang.String mLastScreenUrl -> g
    com.sf.sdk.analytics.data.DataHandle mMessages -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b;"}
    com.sf.sdk.analytics.utils.SystemInformation mSystemInformation -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f/d;"}
    java.util.Map mTrackTimer -> j
    org.json.JSONObject mAutoTrackEventProperties -> k
    com.sf.sdk.analytics.SFAnalyticsSDK$DynamicSuperPropertiesTracker mDynamicSuperPropertiesTracker -> l
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a$q;"}
    java.lang.String mUserPseudoId -> m
    java.lang.String mCurrentAccountId -> n
    java.lang.String mCurrentDistinctId -> o
    com.sf.sdk.analytics.SFAnalytics$TrackStatus mCurrentTrackStatus -> p
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    com.sf.sdk.analytics.time.CalibratedTimeManager mCalibratedTimeManager -> q
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e/a;"}
    com.sf.sdk.analytics.SFConfig mConfig -> r
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b;"}
    com.sf.sdk.analytics.utils.TrackTaskManager mTrackTaskManager -> s
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f/e;"}
    com.sf.sdk.analytics.persistence.CommonStorageManager mStorageManager -> t
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/c/a;"}
    java.util.List mAutoTrackIgnoredActivities -> u
    java.util.concurrent.CopyOnWriteArrayList mAutoTrackEventTypeList -> v
    com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks mLifecycleCallbacks -> w
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/a/a;"}
    java.lang.Object lockAccountId -> x
    java.lang.Object lockDistinctId -> y
    java.lang.Object lockUserPseudoId -> z
    1:1:void <clinit>():91:91 -> <clinit>
    1:1:void <init>(com.sf.sdk.analytics.SFConfig):127:127 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;)V"}
    2:100:void <init>(com.sf.sdk.analytics.SFConfig):62:160 -> <init>
    101:101:void <init>(com.sf.sdk.analytics.SFConfig):132:132 -> <init>
    1:17:com.sf.sdk.analytics.SFAnalyticsSDK getInstance(android.content.Context,java.lang.String):95:111 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Ljava/lang/String;)Lcom/sf/sdk/analytics/a;"}
    18:18:com.sf.sdk.analytics.SFAnalyticsSDK getInstance(android.content.Context,java.lang.String):108:108 -> a
    19:28:com.sf.sdk.analytics.SFAnalyticsSDK getInstance(com.sf.sdk.analytics.SFConfig):115:124 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;)Lcom/sf/sdk/analytics/a;"}
    29:32:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):250:253 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$c;)V"}
    33:33:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):252:252 -> a
    34:38:void handleTrackPauseToken(boolean):306:310 -> a
    39:50:void login(java.lang.String):316:327 -> a
    51:51:void login(java.lang.String):326:326 -> a
    52:52:void autoTrack(java.lang.String,org.json.JSONObject):371:371 -> a
    53:53:void autoTrack(java.lang.String,org.json.JSONObject,com.sf.sdk.analytics.time.ITime):375:375 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcom/sf/sdk/e/b;)V"}
    54:99:void enableAutoTrack(java.util.List):380:425 -> a
    100:104:void enableAutoTrack(java.util.List,org.json.JSONObject):431:435 -> a
    105:109:void trackAdRevenue(com.sf.sdk.data.SFAdRevenue):601:605 -> a
    110:113:void setSuperProperties(org.json.JSONObject):625:628 -> a
    114:117:void setDynamicSuperPropertiesTracker(com.sf.sdk.analytics.SFAnalyticsSDK$DynamicSuperPropertiesTracker):638:641 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a$q;)V"}
    118:126:void appBecomeActive():675:683 -> a
    127:127:boolean isActivityAutoTrackAppViewScreenIgnored(java.lang.Class):779:779 -> a
    128:128:boolean isAutoTrackEventTypeIgnored(com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType):783:783 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a$p;)Z"}
    129:129:void setNetworkType(com.sf.sdk.analytics.SFAnalytics$NetworkType):838:838 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$b;)V"}
    130:138:void trackInternal(com.sf.sdk.analytics.data.DataDescription):845:853 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    139:139:void trackInternal(com.sf.sdk.analytics.data.DataDescription):849:849 -> a
    140:207:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):897:964 -> a
    1:4:void setUserPseudoId(java.lang.String):350:353 -> b
    5:5:void setUserPseudoId(java.lang.String):352:352 -> b
    6:6:void setAutoTrackProperties(java.util.List,org.json.JSONObject):439:439 -> b
    7:7:void track(java.lang.String,org.json.JSONObject):499:499 -> b
    8:22:void track(java.lang.String,org.json.JSONObject,com.sf.sdk.analytics.time.ITime):509:523 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcom/sf/sdk/e/b;)V"}
    23:27:void trackInstallReferrer(org.json.JSONObject):615:619 -> b
    28:40:void appEnterBackground():689:701 -> b
    41:44:void setDisableBigQuery(boolean):822:825 -> b
    45:48:void setDisabledEvents(java.util.List):830:833 -> b
    1:5:void timeEvent(java.lang.String):462:466 -> c
    6:7:void clearSuperProperties():659:660 -> c
    8:27:void trackViewScreenInternal(java.lang.String,org.json.JSONObject):714:733 -> c
    1:5:void emptyMessageQueue():297:301 -> d
    6:6:void track(java.lang.String):488:488 -> d
    1:4:void unsetSuperProperty(java.lang.String):646:649 -> e
    5:10:void flush():796:801 -> e
    1:6:java.lang.String getAccountId():226:231 -> f
    1:1:com.sf.sdk.analytics.time.CalibratedTimeManager getCalibratedTimeManager():362:362 -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/e/a;"}
    1:1:android.content.Context getContext():209:209 -> h
    1:1:java.util.TimeZone getDefaultTimeZone():213:213 -> i
    1:4:java.lang.String getDeviceId():814:817 -> j
    1:6:java.lang.String getDistinctId():217:222 -> k
    1:24:com.sf.sdk.analytics.data.SFPresetProperties getPresetProperties():870:893 -> l
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/b/f;"}
    1:1:java.lang.String getSofishToken():205:205 -> m
    1:1:org.json.JSONObject getSuperProperties():670:670 -> n
    1:1:java.lang.String getToken():201:201 -> o
    1:1:com.sf.sdk.analytics.utils.TrackTaskManager getTrackTaskManager():366:366 -> p
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/f/e;"}
    1:6:java.lang.String getUserPseudoId():235:240 -> q
    1:1:boolean isAutoTrackEnabled():787:787 -> r
    1:1:boolean isIgnoreAppViewInExtPackage():743:743 -> s
    1:2:boolean isTrackDisabled():858:859 -> t
    3:4:boolean isTrackDisabled():859:860 -> t
    1:3:boolean isTrackSaveOnly():864:866 -> u
    1:5:void logout():337:341 -> v
    6:6:void logout():340:340 -> v
com.sf.sdk.analytics.SFAnalyticsSDK$1 -> com.sf.sdk.analytics.a$g:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    android.content.Context val$context -> a
    com.sf.sdk.analytics.SFConfig val$config -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b;"}
    boolean val$isMainProcess -> c
    java.lang.String val$token -> d
    java.lang.String val$serverUrl -> e
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,android.content.Context,com.sf.sdk.analytics.SFConfig,boolean,java.lang.String,java.lang.String):160:160 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Landroid/content/Context;Lcom/sf/sdk/analytics/b;ZLjava/lang/String;Ljava/lang/String;)V"}
    1:33:void run():163:195 -> run
    34:34:void run():194:194 -> run
    35:35:void run():192:192 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$10 -> com.sf.sdk.analytics.a$a:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    org.json.JSONObject val$properties -> a
    java.lang.String val$eventName -> b
    long val$systemUpdateTime -> c
    java.lang.String val$accountId -> d
    java.lang.String val$distinctId -> e
    com.sf.sdk.analytics.time.ITime val$time -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e/b;"}
    boolean val$isSaveOnly -> g
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,org.json.JSONObject,java.lang.String,long,java.lang.String,java.lang.String,com.sf.sdk.analytics.time.ITime,boolean):523:523 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Lorg/json/JSONObject;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;Lcom/sf/sdk/e/b;Z)V"}
    1:63:void run():527:589 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$11 -> com.sf.sdk.analytics.a$b:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    org.json.JSONObject val$superProperties -> a
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,org.json.JSONObject):628:628 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Lorg/json/JSONObject;)V"}
    1:1:void run():631:631 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$12 -> com.sf.sdk.analytics.a$c:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    java.lang.String val$superPropertyName -> a
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,java.lang.String):649:649 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Ljava/lang/String;)V"}
    1:1:void run():652:652 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$13 -> com.sf.sdk.analytics.a$d:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK):660:660 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;)V"}
    1:1:void run():663:663 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$14 -> com.sf.sdk.analytics.a$e:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK):801:801 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;)V"}
    1:4:void run():804:807 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$15 -> com.sf.sdk.analytics.a$f:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    int[] $SwitchMap$com$sf$sdk$analytics$SFAnalytics$TrackStatus -> a
    1:1:void <clinit>():256:256 -> <clinit>
com.sf.sdk.analytics.SFAnalyticsSDK$2 -> com.sf.sdk.analytics.a$h:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    com.sf.sdk.analytics.SFAnalytics$TrackStatus val$value -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/SFAnalytics$c;"}
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,com.sf.sdk.analytics.SFAnalytics$TrackStatus):253:253 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Lcom/sf/sdk/analytics/SFAnalytics$c;)V"}
    1:32:void run():256:287 -> run
    33:37:void run():275:279 -> run
    38:44:void run():266:272 -> run
    45:50:void run():258:263 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$3 -> com.sf.sdk.analytics.a$i:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    java.lang.String val$accountId -> a
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,java.lang.String):327:327 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Ljava/lang/String;)V"}
    1:1:void run():330:330 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$4 -> com.sf.sdk.analytics.a$j:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK):341:341 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;)V"}
    1:1:void run():344:344 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$5 -> com.sf.sdk.analytics.a$k:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    java.lang.String val$userPseudoId -> a
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,java.lang.String):353:353 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Ljava/lang/String;)V"}
    1:1:void run():356:356 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$6 -> com.sf.sdk.analytics.a$l:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    com.sf.sdk.analytics.time.ITime val$time -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e/b;"}
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,com.sf.sdk.analytics.time.ITime):391:391 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Lcom/sf/sdk/e/b;)V"}
    1:14:void run():394:407 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$7 -> com.sf.sdk.analytics.a$m:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK):413:413 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;)V"}
    1:1:void run():416:416 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$8 -> com.sf.sdk.analytics.a$n:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    org.json.JSONObject val$autoTrackEventProperties -> a
    java.util.List val$eventTypeList -> b
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,org.json.JSONObject,java.util.List):439:439 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Lorg/json/JSONObject;Ljava/util/List;)V"}
    1:12:void run():443:454 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$9 -> com.sf.sdk.analytics.a$o:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    java.lang.String val$eventName -> a
    long val$systemUpdateTime -> b
    com.sf.sdk.analytics.SFAnalyticsSDK this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK,java.lang.String,long):466:466 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;Ljava/lang/String;J)V"}
    1:6:void run():470:475 -> run
com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType -> com.sf.sdk.analytics.a$p:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    java.lang.String eventName -> a
    com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType APP_START -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a$p;"}
    com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType APP_END -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a$p;"}
    com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType APP_VIEW_SCREEN -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a$p;"}
    com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType APP_CRASH -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a$p;"}
    com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType APP_INSTALL -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a$p;"}
    com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType[] $VALUES -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/analytics/a$p;"}
    1:17:void <clinit>():1148:1164 -> <clinit>
    18:18:void <clinit>():1144:1144 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):1196:1197 -> <init>
    1:1:com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType[] $values():1144:1144 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/a$p;"}
    2:16:com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):1175:1189 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/analytics/a$p;"}
    17:17:com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):1185:1185 -> a
    18:18:com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):1183:1183 -> a
    1:1:java.lang.String getEventName():1201:1201 -> b
    1:1:com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType valueOf(java.lang.String):1144:1144 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/analytics/a$p;"}
    1:1:com.sf.sdk.analytics.SFAnalyticsSDK$AutoTrackEventType[] values():1144:1144 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/a$p;"}
com.sf.sdk.analytics.SFAnalyticsSDK$DynamicSuperPropertiesTracker -> com.sf.sdk.analytics.a$q:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
com.sf.sdk.analytics.SFAnalyticsSDK$SubprocessAnalyticsSDK -> com.sf.sdk.analytics.a$r:
# {"id":"sourceFile","fileName":"SFAnalyticsSDK.java"}
    android.content.Context context -> D
    java.lang.String currentProcessName -> E
    1:3:void <init>(com.sf.sdk.analytics.SFConfig):981:983 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;)V"}
    1:1:void enableAutoTrack(java.util.List):0:0 -> a
    2:2:void enableAutoTrack(java.util.List,org.json.JSONObject):0:0 -> a
    3:3:void setNetworkType(com.sf.sdk.analytics.SFAnalytics$NetworkType):0:0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$b;)V"}
    4:4:void setTrackStatus(com.sf.sdk.analytics.SFAnalytics$TrackStatus):0:0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$c;)V"}
    5:12:void login(java.lang.String):988:995 -> a
    13:17:void trackAdRevenue(com.sf.sdk.data.SFAdRevenue):1029:1033 -> a
    18:28:void setSuperProperties(org.json.JSONObject):1053:1063 -> a
    1:9:void track(java.lang.String,org.json.JSONObject):1012:1020 -> b
    10:14:void trackInstallReferrer(org.json.JSONObject):1043:1047 -> b
    1:3:void clearSuperProperties():1079:1081 -> c
    4:18:org.json.JSONObject obtainProperties(org.json.JSONObject):1120:1134 -> c
    1:1:void track(java.lang.String):1007:1007 -> d
    1:6:void unsetSuperProperty(java.lang.String):1069:1074 -> e
    7:9:void flush():1086:1088 -> e
    1:3:void logout():1000:1002 -> v
    1:4:android.content.Intent getIntent():1112:1115 -> w
com.sf.sdk.analytics.SFConfig -> com.sf.sdk.analytics.b:
# {"id":"sourceFile","fileName":"SFConfig.java"}
    java.lang.String mToken -> a
    java.lang.String mSofishToken -> b
    android.content.Context mContext -> c
    com.sf.sdk.analytics.persistence.GlobalStorageManager mStorageManager -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/c/b;"}
    java.lang.String mDebugUrl -> e
    java.lang.String mServerUrl -> f
    java.lang.String mSofishDebugUrl -> g
    java.lang.String mSofishServerUrl -> h
    java.util.TimeZone mUTCTimeZone -> i
    java.util.TimeZone mDefaultTimeZone -> j
    boolean mDisableBigQuery -> k
    boolean mEnableMultiProcess -> l
    com.sf.sdk.analytics.SFConfig$AnalyticsMode mMode -> m
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b$b;"}
    int mNetworkType -> n
    java.util.Set mSofishEvents -> o
    java.util.Set mDisabledEvents -> p
    java.util.concurrent.locks.ReadWriteLock mDisabledEventsLock -> q
    java.util.Map sInstances -> r
    1:1:void <clinit>():55:55 -> <clinit>
    1:1:void <init>(android.content.Context,java.lang.String,java.lang.String):88:88 -> <init>
    2:55:void <init>(android.content.Context,java.lang.String,java.lang.String):48:101 -> <init>
    1:1:com.sf.sdk.analytics.SFConfig getInstance(android.content.Context,java.lang.String):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Ljava/lang/String;)Lcom/sf/sdk/analytics/b;"}
    2:14:com.sf.sdk.analytics.SFConfig getInstance(android.content.Context,java.lang.String,java.lang.String):67:79 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Lcom/sf/sdk/analytics/b;"}
    15:17:com.sf.sdk.analytics.SFConfig getInstance(android.content.Context,java.lang.String,java.lang.String):79:81 -> a
    18:28:com.sf.sdk.analytics.SFConfig getInstance(android.content.Context,java.lang.String,java.lang.String):75:85 -> a
    29:29:android.content.Context getContext():130:130 -> a
    30:30:java.lang.String getDebugUrl(java.lang.String):138:138 -> a
    31:37:void setNetworkType(com.sf.sdk.analytics.SFAnalytics$NetworkType):173:179 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/SFAnalytics$b;)V"}
    38:38:void setNetworkType(com.sf.sdk.analytics.SFAnalytics$NetworkType):175:175 -> a
    39:39:void setDisableBigQuery(boolean):259:259 -> a
    40:42:void setDisabledEvents(java.util.List):278:280 -> a
    1:1:java.lang.String getServerUrl(java.lang.String):146:146 -> b
    2:5:java.util.TimeZone getDefaultTimeZone():201:204 -> b
    1:5:boolean isDisabledEvent(java.lang.String):269:273 -> c
    6:7:boolean isDisabledEvent(java.lang.String):273:274 -> c
    8:8:int getFlushBulkSize():305:305 -> c
    1:1:int getFlushInterval():309:309 -> d
    2:2:boolean isShouldFlush(java.lang.String):313:313 -> d
    1:1:boolean isSofishEvent(java.lang.String):150:150 -> e
    2:2:com.sf.sdk.analytics.SFConfig$AnalyticsMode getMode():159:159 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/analytics/b$b;"}
    1:9:void setDomain(java.lang.String):105:113 -> f
    10:10:java.lang.String getSofishToken():126:126 -> f
    1:1:java.lang.String getToken():122:122 -> g
    1:4:java.util.TimeZone getUTCTimeZone():208:211 -> h
    1:1:boolean isDebug():235:235 -> i
    1:1:boolean isDebugOnly():239:239 -> j
    1:1:boolean isDisableBigQuery():255:255 -> k
    1:1:boolean isEnableMultiProcess():301:301 -> l
    1:1:boolean isNormal():243:243 -> m
    boolean shouldThrowException() -> n
com.sf.sdk.analytics.SFConfig$1 -> com.sf.sdk.analytics.b$a:
# {"id":"sourceFile","fileName":"SFConfig.java"}
    int[] $SwitchMap$com$sf$sdk$analytics$SFAnalytics$NetworkType -> a
    1:1:void <clinit>():173:173 -> <clinit>
com.sf.sdk.analytics.SFConfig$AnalyticsMode -> com.sf.sdk.analytics.b$b:
# {"id":"sourceFile","fileName":"SFConfig.java"}
    com.sf.sdk.analytics.SFConfig$AnalyticsMode NORMAL -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b$b;"}
    com.sf.sdk.analytics.SFConfig$AnalyticsMode DEBUG -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b$b;"}
    com.sf.sdk.analytics.SFConfig$AnalyticsMode DEBUG_ONLY -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b$b;"}
    com.sf.sdk.analytics.SFConfig$AnalyticsMode[] $VALUES -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/analytics/b$b;"}
    1:9:void <clinit>():323:331 -> <clinit>
    10:10:void <clinit>():319:319 -> <clinit>
    1:1:void <init>(java.lang.String,int):319:319 -> <init>
    1:1:com.sf.sdk.analytics.SFConfig$AnalyticsMode[] $values():319:319 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/b$b;"}
    1:1:com.sf.sdk.analytics.SFConfig$AnalyticsMode valueOf(java.lang.String):319:319 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/analytics/b$b;"}
    1:1:com.sf.sdk.analytics.SFConfig$AnalyticsMode[] values():319:319 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/analytics/b$b;"}
com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks -> com.sf.sdk.a.a:
# {"id":"sourceFile","fileName":"AnalyticsActivityLifecycleCallbacks.java"}
    java.lang.Boolean isLaunch -> a
    boolean resumeFromBackground -> b
    com.sf.sdk.analytics.data.EventTimer startTimer -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/d;"}
    com.sf.sdk.analytics.SFAnalyticsSDK mInstance -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/a;"}
    java.lang.ref.WeakReference mCurrentActivity -> e
    java.lang.Object mActivityLifecycleCallbacksLock -> f
    java.util.List mStartedActivityList -> g
    boolean shouldTrackEndEvent -> h
    1:1:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK):53:53 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/a;)V"}
    2:14:void <init>(com.sf.sdk.analytics.SFAnalyticsSDK):42:54 -> <init>
    1:13:boolean notStartedActivity(android.app.Activity,boolean):151:163 -> a
    14:14:void trackAppStartEvent(com.sf.sdk.analytics.time.ITime,boolean):183:183 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/e/b;Z)V"}
    15:15:void trackAppViewEvent(java.lang.String,org.json.JSONObject):282:282 -> a
    16:22:org.json.JSONArray toJSONArray(java.lang.Object):346:352 -> a
    23:23:org.json.JSONArray toJSONArray(java.lang.Object):348:348 -> a
    24:53:java.lang.String getStartReason():359:388 -> a
    1:1:void trackAppEndEvent():245:245 -> b
    2:32:java.lang.Object wrap(java.lang.Object):307:337 -> b
    1:9:void trackAppStartDelay():169:177 -> c
    1:1:void onActivityCreated(android.app.Activity,android.os.Bundle):59:59 -> onActivityCreated
    1:1:void onActivityDestroyed(android.app.Activity):148:148 -> onActivityDestroyed
    1:9:void onActivityPaused(android.app.Activity):113:121 -> onActivityPaused
    1:22:void onActivityResumed(android.app.Activity):83:104 -> onActivityResumed
    23:23:void onActivityResumed(android.app.Activity):91:91 -> onActivityResumed
    1:1:void onActivitySaveInstanceState(android.app.Activity,android.os.Bundle):143:143 -> onActivitySaveInstanceState
    1:12:void onActivityStarted(android.app.Activity):64:75 -> onActivityStarted
    1:9:void onActivityStopped(android.app.Activity):127:135 -> onActivityStopped
com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks$1 -> com.sf.sdk.a.a$a:
# {"id":"sourceFile","fileName":"AnalyticsActivityLifecycleCallbacks.java"}
    com.sf.sdk.analytics.time.ITime val$appStartEnableTime -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e/b;"}
    com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/a/a;"}
    1:1:void <init>(com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks,com.sf.sdk.analytics.time.ITime):170:170 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/a/a;Lcom/sf/sdk/e/b;)V"}
    1:1:void run():173:173 -> run
com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks$2 -> com.sf.sdk.a.a$b:
# {"id":"sourceFile","fileName":"AnalyticsActivityLifecycleCallbacks.java"}
    com.sf.sdk.analytics.time.ITime val$time -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e/b;"}
    boolean val$isStartLifeCycle -> b
    com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/a/a;"}
    1:1:void <init>(com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks,com.sf.sdk.analytics.time.ITime,boolean):183:183 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/a/a;Lcom/sf/sdk/e/b;Z)V"}
    1:50:void run():186:235 -> run
com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks$3 -> com.sf.sdk.a.a$c:
# {"id":"sourceFile","fileName":"AnalyticsActivityLifecycleCallbacks.java"}
    com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/a/a;"}
    1:1:void <init>(com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks):245:245 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/a/a;)V"}
    1:17:void run():249:265 -> run
    18:21:void run():262:265 -> run
    22:33:void run():264:275 -> run
com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks$4 -> com.sf.sdk.a.a$d:
# {"id":"sourceFile","fileName":"AnalyticsActivityLifecycleCallbacks.java"}
    org.json.JSONObject val$extProperties -> a
    java.lang.String val$screenUrl -> b
    com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/a/a;"}
    1:1:void <init>(com.sf.sdk.analytics.autotrack.AnalyticsActivityLifecycleCallbacks,org.json.JSONObject,java.lang.String):282:282 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/a/a;Lorg/json/JSONObject;Ljava/lang/String;)V"}
    1:11:void run():286:296 -> run
com.sf.sdk.analytics.data.DataDescription -> com.sf.sdk.b.a:
# {"id":"sourceFile","fileName":"DataDescription.java"}
    java.lang.String uuid -> a
    java.lang.String eventName -> b
    java.lang.String accountId -> c
    java.lang.String distinctId -> d
    org.json.JSONObject properties -> e
    com.sf.sdk.analytics.time.ITime time -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e/b;"}
    java.lang.String token -> g
    boolean isSaveOnly -> h
    java.util.Map extraFields -> i
    boolean saveData -> j
    1:1:void <init>(java.lang.String,java.lang.String,org.json.JSONObject,com.sf.sdk.analytics.time.ITime,java.lang.String,boolean):34:34 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lorg/json/JSONObject;Lcom/sf/sdk/e/b;Ljava/lang/String;Z)V"}
    2:11:void <init>(java.lang.String,java.lang.String,org.json.JSONObject,com.sf.sdk.analytics.time.ITime,java.lang.String,boolean):32:41 -> <init>
    1:6:com.sf.sdk.analytics.data.DataDescription copyWithToken(java.lang.String):45:50 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/b/a;"}
    7:28:org.json.JSONObject get():68:89 -> a
    29:33:org.json.JSONObject copyProperties(org.json.JSONObject):100:104 -> a
com.sf.sdk.analytics.data.DataHandle -> com.sf.sdk.b.b:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    boolean isVerboseLoggingEnabled -> a
    android.content.Context mContext -> b
    com.sf.sdk.analytics.data.DatabaseAdapter mDbAdapter -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/c;"}
    com.sf.sdk.analytics.data.DataHandle$SaveMessageWorker mSaveMessageWorker -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b$a;"}
    com.sf.sdk.analytics.data.DataHandle$SendMessageWorker mSendMessageWorker -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b$b;"}
    java.util.Map trackPauseMap -> f
    java.util.Map sInstances -> g
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>(android.content.Context):76:76 -> <init>
    2:25:void <init>(android.content.Context):58:81 -> <init>
    1:11:com.sf.sdk.analytics.data.DataHandle getInstance(android.content.Context):63:73 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcom/sf/sdk/b/b;"}
    12:12:void setVerboseLoggingEnabled(boolean):85:85 -> a
    13:19:void handleTrackPauseToken(java.lang.String,boolean):89:95 -> a
    20:23:void postEventData(com.sf.sdk.analytics.data.DataDescription):106:109 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    24:24:void emptyMessageQueue(java.lang.String):137:137 -> a
    25:25:com.sf.sdk.analytics.http.RemoteService getPoster():146:146 -> a
    1:4:void postToDebug(com.sf.sdk.analytics.data.DataDescription):116:119 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    5:5:void flush(java.lang.String):128:128 -> b
    1:1:void saveEventData(com.sf.sdk.analytics.data.DataDescription):99:99 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    2:2:com.sf.sdk.analytics.SFConfig getConfig(java.lang.String):142:142 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/analytics/b;"}
    1:2:int getFlushBulkSize(java.lang.String):150:151 -> d
    1:2:int getFlushInterval(java.lang.String):155:156 -> e
com.sf.sdk.analytics.data.DataHandle$SaveMessageWorker -> com.sf.sdk.b.b$a:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    android.os.Handler mHandler -> a
    com.sf.sdk.analytics.data.DataHandle this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b;"}
    1:4:void <init>(com.sf.sdk.analytics.data.DataHandle):173:176 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/b;)V"}
    1:5:void saveToDatabase(com.sf.sdk.analytics.data.DataDescription):180:184 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    6:17:void emptyQueue(java.lang.String):196:207 -> a
    18:21:void checkSendStrategy(java.lang.String,int):212:215 -> a
    1:4:void triggerFlush(java.lang.String):189:192 -> b
com.sf.sdk.analytics.data.DataHandle$SaveMessageWorker$AnalyticsSaveMessageHandler -> com.sf.sdk.b.b$a$a:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    java.util.List removingTokens -> a
    com.sf.sdk.analytics.data.DataHandle$SaveMessageWorker this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b$a;"}
    1:5:void <init>(com.sf.sdk.analytics.data.DataHandle$SaveMessageWorker,android.os.Looper):221:225 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/b$a;Landroid/os/Looper;)V"}
    1:23:void handleMessage(android.os.Message):229:251 -> handleMessage
    24:49:void handleMessage(android.os.Message):244:269 -> handleMessage
    50:65:void handleMessage(android.os.Message):266:281 -> handleMessage
com.sf.sdk.analytics.data.DataHandle$SendMessageWorker -> com.sf.sdk.b.b$b:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    android.os.Handler mHandler -> a
    com.sf.sdk.analytics.http.RemoteService mPoster -> b
    java.lang.Object mHandlerLock -> c
    java.util.Map sendDataSuccessFlags -> d
    com.sf.sdk.analytics.data.DataHandle this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b;"}
    1:1:void <init>(com.sf.sdk.analytics.data.DataHandle):308:308 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/b;)V"}
    2:9:void <init>(com.sf.sdk.analytics.data.DataHandle):305:312 -> <init>
    1:3:void cleanupEvents():316:318 -> a
    4:8:void postToDebug(com.sf.sdk.analytics.data.DataDescription):354:358 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    9:13:void emptyQueue(java.lang.String):363:367 -> a
    14:29:void posterToServerDelayed(java.lang.String,long):372:387 -> a
    30:50:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String,org.json.JSONObject):497:517 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;Lorg/json/JSONObject;)V"}
    51:152:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):523:624 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;)V"}
    153:153:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):623:623 -> a
    154:203:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):575:624 -> a
    204:204:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):623:623 -> a
    205:213:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):609:617 -> a
    214:226:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):605:617 -> a
    227:243:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):601:617 -> a
    244:252:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):616:624 -> a
    253:258:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):623:628 -> a
    259:259:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):561:561 -> a
    260:260:void sendData(com.sf.sdk.analytics.SFConfig,java.lang.String):537:537 -> a
    261:263:java.util.Map generateEventParams(org.json.JSONArray):658:660 -> a
    264:265:void setSendDataSuccess(java.lang.String,boolean):670:671 -> a
    266:270:void trackSuccess(com.sf.sdk.analytics.SFConfig,java.lang.String,int):676:680 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;I)V"}
    1:5:void postToServer(com.sf.sdk.analytics.data.DataDescription):342:346 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/a;)V"}
    6:25:void sendDebugData(com.sf.sdk.analytics.SFConfig,java.lang.String,org.json.JSONObject):633:652 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;Lorg/json/JSONObject;)V"}
    26:27:boolean isSendDataSuccess(java.lang.String):665:666 -> b
    1:12:void postToServer(java.lang.String):323:334 -> c
com.sf.sdk.analytics.data.DataHandle$SendMessageWorker$AnalyticsSendMessageHandler -> com.sf.sdk.b.b$b$a:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    com.sf.sdk.analytics.data.DataHandle$SendMessageWorker this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/b$b;"}
    1:2:void <init>(com.sf.sdk.analytics.data.DataHandle$SendMessageWorker,android.os.Looper):392:393 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/b$b;Landroid/os/Looper;)V"}
    1:90:void handleMessage(android.os.Message):398:487 -> handleMessage
    91:112:void handleMessage(android.os.Message):454:475 -> handleMessage
    113:120:void handleMessage(android.os.Message):473:480 -> handleMessage
    121:129:void handleMessage(android.os.Message):441:449 -> handleMessage
    130:136:void handleMessage(android.os.Message):430:436 -> handleMessage
    137:161:void handleMessage(android.os.Message):400:424 -> handleMessage
    162:162:void handleMessage(android.os.Message):412:412 -> handleMessage
com.sf.sdk.analytics.data.DatabaseAdapter -> com.sf.sdk.b.c:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
    com.sf.sdk.analytics.data.DatabaseAdapter$DatabaseHelper mDb -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/c$a;"}
    java.lang.String CREATE_EVENTS_TABLE -> b
    java.lang.String EVENTS_TIME_INDEX -> c
    java.util.Map sInstances -> d
    1:74:void <clinit>():58:131 -> <clinit>
    1:1:void <init>(android.content.Context):154:154 -> <init>
    2:3:void <init>(android.content.Context,java.lang.String):157:158 -> <init>
    1:11:com.sf.sdk.analytics.data.DatabaseAdapter getInstance(android.content.Context):136:146 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcom/sf/sdk/b/c;"}
    12:12:boolean belowMemThreshold():162:162 -> a
    13:62:int addJSON(org.json.JSONObject,com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String):176:225 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lorg/json/JSONObject;Lcom/sf/sdk/b/c$b;Ljava/lang/String;)I"}
    63:76:int addJSON(org.json.JSONObject,com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String):217:230 -> a
    77:109:int cleanupEvents(java.lang.String,com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String):245:277 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/b/c$b;Ljava/lang/String;)I"}
    110:124:int cleanupEvents(java.lang.String,com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String):268:282 -> a
    125:132:void cleanupEvents(com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String):293:300 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/c$b;Ljava/lang/String;)V"}
    133:140:void cleanupEvents(long,com.sf.sdk.analytics.data.DatabaseAdapter$Table):311:318 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLcom/sf/sdk/b/c$b;)V"}
    141:198:com.sf.sdk.analytics.data.SFGenerateDataInfo generateDataString(com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String,int):335:392 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b/c$b;Ljava/lang/String;I)Lcom/sf/sdk/b/e;"}
    199:208:com.sf.sdk.analytics.data.SFGenerateDataInfo generateDataString(com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String,int):387:396 -> a
    209:211:com.sf.sdk.analytics.data.SFGenerateDataInfo generateDataString(com.sf.sdk.analytics.data.DatabaseAdapter$Table,java.lang.String,int):392:394 -> a
com.sf.sdk.analytics.data.DatabaseAdapter$DatabaseHelper -> com.sf.sdk.b.c$a:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
    java.io.File mDatabaseFile -> a
    int mMinimumDatabaseLimit -> b
    1:3:void <init>(android.content.Context,java.lang.String):68:70 -> <init>
    1:2:boolean belowMemThreshold():100:101 -> a
    1:10:int countData():110:119 -> b
    11:16:int countData():116:121 -> b
    1:3:void deleteDatabase():90:92 -> c
    1:1:boolean isDbFileExist():96:96 -> d
    1:3:void onCreate(android.database.sqlite.SQLiteDatabase):75:77 -> onCreate
    1:5:void onUpgrade(android.database.sqlite.SQLiteDatabase,int,int):82:86 -> onUpgrade
com.sf.sdk.analytics.data.DatabaseAdapter$Table -> com.sf.sdk.b.c$b:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
    java.lang.String mTableName -> a
    com.sf.sdk.analytics.data.DatabaseAdapter$Table EVENTS -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b/c$b;"}
    com.sf.sdk.analytics.data.DatabaseAdapter$Table[] $VALUES -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/b/c$b;"}
    1:1:void <clinit>():37:37 -> <clinit>
    2:2:void <clinit>():36:36 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):41:42 -> <init>
    1:1:com.sf.sdk.analytics.data.DatabaseAdapter$Table[] $values():36:36 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/b/c$b;"}
    1:1:java.lang.String getName():46:46 -> b
    1:1:com.sf.sdk.analytics.data.DatabaseAdapter$Table valueOf(java.lang.String):36:36 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/b/c$b;"}
    1:1:com.sf.sdk.analytics.data.DatabaseAdapter$Table[] values():36:36 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/b/c$b;"}
com.sf.sdk.analytics.data.EventTimer -> com.sf.sdk.b.d:
# {"id":"sourceFile","fileName":"EventTimer.java"}
    java.util.concurrent.TimeUnit timeUnit -> a
    long startTime -> b
    long eventAccumulatedDuration -> c
    long backgroundDuration -> d
    1:4:void <init>(java.util.concurrent.TimeUnit,long):22:25 -> <init>
    1:2:java.lang.String duration(long):29:30 -> a
    3:3:java.lang.String backgroundDuration():34:34 -> a
    1:21:java.lang.String durationFormat(long):40:60 -> b
    22:22:long getBackgroundDuration():85:85 -> b
    1:1:long getEventAccumulatedDuration():73:73 -> c
    2:2:void setBackgroundDuration(long):81:81 -> c
    1:1:long getStartTime():65:65 -> d
    2:2:void setEventAccumulatedDuration(long):77:77 -> d
    1:1:void setStartTime(long):69:69 -> e
com.sf.sdk.analytics.data.SFGenerateDataInfo -> com.sf.sdk.b.e:
# {"id":"sourceFile","fileName":"SFGenerateDataInfo.java"}
    java.lang.String lastId -> a
    int dataCount -> b
    java.lang.String generateData -> c
    1:1:void <init>():6:6 -> <init>
com.sf.sdk.analytics.data.SFPresetProperties -> com.sf.sdk.b.f:
# {"id":"sourceFile","fileName":"SFPresetProperties.java"}
    java.lang.String bundleId -> a
    java.lang.String carrier -> b
    java.lang.String deviceId -> c
    java.lang.String deviceModel -> d
    java.lang.String manufacture -> e
    java.lang.String networkType -> f
    java.lang.String os -> g
    java.lang.String osVersion -> h
    int screenHeight -> i
    int screenWidth -> j
    java.lang.String systemLanguage -> k
    double zoneOffset -> l
    java.lang.String appVersion -> m
    java.lang.String installTime -> n
    boolean isSimulator -> o
    java.lang.String ram -> p
    java.lang.String disk -> q
    int fps -> r
    java.lang.String deviceType -> s
    org.json.JSONObject presetProperties -> t
    java.util.List disableList -> u
    1:1:void <clinit>():118:118 -> <clinit>
    1:58:void <init>(org.json.JSONObject):130:187 -> <init>
    59:59:void <init>():200:200 -> <init>
    1:14:void initDisableList(android.content.Context):209:222 -> a
com.sf.sdk.analytics.http.HttpService -> com.sf.sdk.analytics.http.a:
# {"id":"sourceFile","fileName":"HttpService.java"}
    java.lang.String language -> a
    java.lang.String lineSeparator -> b
    java.text.DecimalFormat decimalFormat -> c
    1:4:void <init>():56:59 -> <init>
    1:1:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map):64:64 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;"}
    2:2:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map,java.util.Map):70:70 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Ljava/lang/String;"}
    3:18:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map,java.util.Map,boolean,int):77:92 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ZI)Ljava/lang/String;"}
    19:76:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map,java.util.Map,boolean,int):89:146 -> a
    77:118:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map,java.util.Map,boolean,int):146:187 -> a
    119:143:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map,java.util.Map,boolean,int):163:187 -> a
    144:156:java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map,java.util.Map,boolean,int):177:189 -> a
    157:157:java.lang.String getRequestUrl(com.sf.sdk.analytics.SFConfig,java.lang.String):193:193 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;)Ljava/lang/String;"}
    158:162:void trackFailed(java.lang.String,int,java.lang.String):197:201 -> a
com.sf.sdk.analytics.http.RemoteService -> com.sf.sdk.analytics.http.RemoteService:
# {"id":"sourceFile","fileName":"RemoteService.java"}
    java.lang.String performRequest(com.sf.sdk.analytics.SFConfig,java.lang.String,java.util.Map) -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;"}
com.sf.sdk.analytics.http.RemoteService$ServiceUnavailableException -> com.sf.sdk.analytics.http.RemoteService$ServiceUnavailableException:
# {"id":"sourceFile","fileName":"RemoteService.java"}
    1:1:void <init>(java.lang.String):21:21 -> <init>
com.sf.sdk.analytics.persistence.CommonStorageManager -> com.sf.sdk.c.a:
# {"id":"sourceFile","fileName":"CommonStorageManager.java"}
    com.sf.sdk.analytics.persistence.StoragePlugin storage -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/c/c;"}
    java.lang.Object mLoginId -> b
    java.lang.Object mIdentifyId -> c
    java.lang.Object mSuperProperties -> d
    1:1:void <init>(android.content.Context,java.lang.String):36:36 -> <init>
    2:7:void <init>(android.content.Context,java.lang.String):32:37 -> <init>
    1:3:void saveAccountId(java.lang.String):47:49 -> a
    4:4:void saveEnableFlag(boolean):92:92 -> a
    5:5:void saveLastInstallTime(java.lang.Long):142:142 -> a
    6:16:void setSuperProperties(org.json.JSONObject,java.util.TimeZone):172:182 -> a
    17:19:void clearSuperProperties():209:211 -> a
    1:3:java.lang.String getAccountId():41:43 -> b
    4:6:void saveIdentifyId(java.lang.String):64:66 -> b
    7:7:void saveOptOutFlag(boolean):110:110 -> b
    1:1:void saveUserPseudoId(java.lang.String):70:70 -> c
    2:2:boolean getEnableFlag():83:83 -> c
    3:3:void savePausePostFlag(boolean):128:128 -> c
    1:8:java.lang.String getIdentifyId():53:60 -> d
    9:16:void unsetSuperProperty(java.lang.String):197:204 -> d
    1:1:java.lang.Long getLastInstallTime():135:135 -> e
    1:1:boolean getOptOutFlag():101:101 -> f
    1:1:boolean getPausePostFlag():119:119 -> g
    1:11:org.json.JSONObject getSuperProperties():151:161 -> h
    1:1:java.lang.String getUserPseudoId():74:74 -> i
com.sf.sdk.analytics.persistence.GlobalStorageManager -> com.sf.sdk.c.b:
# {"id":"sourceFile","fileName":"GlobalStorageManager.java"}
    com.sf.sdk.analytics.persistence.StoragePlugin storage -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/c/c;"}
    1:2:void <init>(android.content.Context):18:19 -> <init>
    1:1:java.lang.String getDeviceId():23:23 -> a
    2:2:void saveDeviceId(java.lang.String):27:27 -> a
    1:1:int getFlushInterval():39:39 -> b
    1:1:int getFlushSize():31:31 -> c
com.sf.sdk.analytics.persistence.StoragePlugin -> com.sf.sdk.c.c:
# {"id":"sourceFile","fileName":"StoragePlugin.java"}
    android.content.SharedPreferences preferences -> a
    1:1:void <init>(android.content.Context):16:16 -> <init>
    2:4:void <init>(android.content.Context,java.lang.String):19:21 -> <init>
    1:1:int getInt(java.lang.String,int):29:29 -> a
    2:2:long getLong(java.lang.String,long):41:41 -> a
    3:3:boolean getBoolean(java.lang.String,boolean):53:53 -> a
    4:4:java.lang.String getString(java.lang.String):61:61 -> a
    5:5:void saveString(java.lang.String,java.lang.String):69:69 -> a
    1:1:void saveLong(java.lang.String,long):45:45 -> b
    2:2:void saveBoolean(java.lang.String,boolean):57:57 -> b
com.sf.sdk.analytics.receiver.SFAnalyticsReceiver -> com.sf.sdk.d.a:
# {"id":"sourceFile","fileName":"SFAnalyticsReceiver.java"}
    1:1:void <init>():19:19 -> <init>
    1:8:void registerReceiver(android.content.Context):78:85 -> a
    1:43:void onReceive(android.content.Context,android.content.Intent):23:65 -> onReceive
    44:62:void onReceive(android.content.Context,android.content.Intent):50:68 -> onReceive
    63:72:void onReceive(android.content.Context,android.content.Intent):38:47 -> onReceive
    73:73:void onReceive(android.content.Context,android.content.Intent):35:35 -> onReceive
    74:75:void onReceive(android.content.Context,android.content.Intent):31:32 -> onReceive
com.sf.sdk.analytics.time.CalibratedTimeManager -> com.sf.sdk.e.a:
# {"id":"sourceFile","fileName":"CalibratedTimeManager.java"}
    com.sf.sdk.analytics.SFConfig mConfig -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/analytics/b;"}
    java.util.concurrent.locks.ReentrantReadWriteLock sCalibratedTimeLock -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:void <init>(com.sf.sdk.analytics.SFConfig):19:20 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/analytics/b;)V"}
    1:7:com.sf.sdk.analytics.time.ITime getTime():26:32 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/e/b;"}
com.sf.sdk.analytics.time.ITime -> com.sf.sdk.e.b:
# {"id":"sourceFile","fileName":"ITime.java"}
    java.lang.String getTime() -> a
    java.lang.Double getZoneOffset() -> b
com.sf.sdk.analytics.time.SFTime -> com.sf.sdk.e.c:
# {"id":"sourceFile","fileName":"SFTime.java"}
    java.util.Date mDate -> a
    java.util.TimeZone mTimeZone -> b
    boolean enableZoneOffset -> c
    boolean mCalibrationDisuse -> d
    1:1:void <init>(java.util.Date,java.util.TimeZone):22:22 -> <init>
    2:7:void <init>(java.util.Date,java.util.TimeZone):19:24 -> <init>
    1:11:java.lang.String getTime():35:45 -> a
    1:2:java.lang.Double getZoneOffset():52:53 -> b
com.sf.sdk.analytics.utils.PropertyUtils -> com.sf.sdk.f.a:
# {"id":"sourceFile","fileName":"PropertyUtils.java"}
    java.util.regex.Pattern KEY_PATTERN -> a
    java.util.List DEFAULT_KEYS -> b
    1:2:void <clinit>():20:21 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    1:1:boolean isInvalidName(java.lang.String):28:28 -> a
    2:36:boolean checkProperty(org.json.JSONObject):39:73 -> a
com.sf.sdk.analytics.utils.SFAnalyticsException -> com.sf.sdk.analytics.utils.SFAnalyticsException:
# {"id":"sourceFile","fileName":"SFAnalyticsException.java"}
    1:1:void <init>(java.lang.String):6:6 -> <init>
    2:2:void <init>(java.lang.Throwable):10:10 -> <init>
com.sf.sdk.analytics.utils.SFGlobalConfig -> com.sf.sdk.f.b:
# {"id":"sourceFile","fileName":"SFGlobalConfig.java"}
    int mRetentionDays -> a
    int mMinimumDatabaseLimit -> b
    com.sf.sdk.analytics.utils.SFGlobalConfig sInstance -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f/b;"}
    java.lang.Object sInstanceLock -> d
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(android.content.Context):39:39 -> <init>
    2:28:void <init>(android.content.Context):26:52 -> <init>
    1:6:com.sf.sdk.analytics.utils.SFGlobalConfig getInstance(android.content.Context):30:35 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcom/sf/sdk/f/b;"}
    7:7:long getDataExpiration():69:69 -> a
    1:1:int getMinimumDatabaseLimit():60:60 -> b
com.sf.sdk.analytics.utils.SFUtils -> com.sf.sdk.f.c:
# {"id":"sourceFile","fileName":"SFUtils.java"}
    long firstVsync -> a
    long secondVsync -> b
    int fps -> c
    java.util.List runningAppProcesses -> d
    java.lang.Object frameLock -> e
    java.lang.ThreadLocal sThreadLocal -> f
    1:3:void <clinit>():55:57 -> <clinit>
    1:1:void <init>():46:46 -> <init>
    1:20:void mergeJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):80:99 -> a
    21:40:org.json.JSONArray formatJSONArray(org.json.JSONArray,java.util.TimeZone):133:152 -> a
    41:66:org.json.JSONObject formatJSONObject(org.json.JSONObject,java.util.TimeZone):161:186 -> a
    67:67:double formatNumber(double):199:199 -> a
    68:68:float formatNumberWithSpace(float,int):207:207 -> a
    69:79:java.lang.String formatTime(java.util.Date,java.util.TimeZone):214:224 -> a
    80:80:java.lang.String formatTime(java.util.Date,java.util.TimeZone):217:217 -> a
    81:82:double getTimezoneOffset(long,java.util.TimeZone):231:232 -> a
    83:89:java.lang.String getSuffix(java.lang.String,int):239:245 -> a
    90:92:java.lang.String getAndroidId(android.content.Context):259:261 -> a
    93:102:java.lang.String getRandomHEXValue(int):272:281 -> a
    103:113:java.lang.String getRandomHEXValue(int):278:288 -> a
    114:126:int convertToNetworkType(java.lang.String):298:310 -> a
    127:130:int getFPS():351:354 -> a
    131:152:void getScreenNameAndTitleFromActivity(org.json.JSONObject,android.app.Activity):454:475 -> a
    153:180:java.lang.String getToolbarTitle(android.app.Activity):480:507 -> a
    1:12:void mergeNestedJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):115:126 -> b
    13:14:java.lang.String getDeviceType(android.content.Context):249:250 -> b
    15:18:java.lang.String getHarmonyOSVersion():323:326 -> b
    19:24:java.text.SimpleDateFormat createSimpleDateFormat(java.lang.String):403:408 -> b
    1:5:java.text.SimpleDateFormat getDateFormat(java.lang.String):67:71 -> c
    6:11:boolean isHarmonyOS():339:344 -> c
    12:18:android.util.Pair getInstallInfo(android.content.Context):522:528 -> c
    1:41:void listenFPS():358:398 -> d
    42:54:boolean isForeground(android.content.Context):420:432 -> d
com.sf.sdk.analytics.utils.SFUtils$1 -> com.sf.sdk.f.c$a:
# {"id":"sourceFile","fileName":"SFUtils.java"}
    1:1:void <init>():57:57 -> <init>
    1:1:java.lang.Object initialValue():57:57 -> initialValue
    2:2:java.text.SimpleDateFormat initialValue():61:61 -> initialValue
com.sf.sdk.analytics.utils.SFUtils$2 -> com.sf.sdk.f.c$b:
# {"id":"sourceFile","fileName":"SFUtils.java"}
    1:1:void <init>():358:358 -> <init>
    1:17:void doFrame(long):361:377 -> doFrame
com.sf.sdk.analytics.utils.SFUtils$3 -> com.sf.sdk.f.c$c:
# {"id":"sourceFile","fileName":"SFUtils.java"}
    android.view.Choreographer$FrameCallback val$secondCallBack -> a
    1:1:void <init>(android.view.Choreographer$FrameCallback):381:381 -> <init>
    1:4:void doFrame(long):384:387 -> doFrame
com.sf.sdk.analytics.utils.SFUtils$4 -> com.sf.sdk.f.c$d:
# {"id":"sourceFile","fileName":"SFUtils.java"}
    android.os.Handler val$handler -> a
    android.view.Choreographer$FrameCallback val$firstCallBack -> b
    1:1:void <init>(android.os.Handler,android.view.Choreographer$FrameCallback):391:391 -> <init>
    1:2:void run():394:395 -> run
com.sf.sdk.analytics.utils.SystemInformation -> com.sf.sdk.f.d:
# {"id":"sourceFile","fileName":"SystemInformation.java"}
    android.content.Context mContext -> a
    java.util.TimeZone mTimeZone -> b
    java.util.Map mDeviceInfo -> c
    long firstInstallTime -> d
    boolean hasNotUpdated -> e
    java.lang.String mDeviceId -> f
    java.lang.String mAppVersion -> g
    java.lang.String mSdkVersion -> h
    java.lang.String mStoragePath -> i
    java.lang.String mNetworkType -> j
    android.net.ConnectivityManager mConnectivityManager -> k
    com.sf.sdk.analytics.utils.SystemInformation sInstance -> l
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f/d;"}
    java.lang.Object sInstanceLock -> m
    1:1:void <clinit>():60:60 -> <clinit>
    1:6:void <init>(android.content.Context,java.util.TimeZone):93:98 -> <init>
    1:6:com.sf.sdk.analytics.utils.SystemInformation getInstance(android.content.Context,java.util.TimeZone):85:90 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Ljava/util/TimeZone;)Lcom/sf/sdk/f/d;"}
    7:11:org.json.JSONObject currentPresetProperties():243:247 -> a
    12:12:int getNaturalHeight(int,int,int):329:329 -> a
    13:21:java.lang.String getCarrier(android.content.Context):335:343 -> a
    22:42:java.lang.String getDisk(android.content.Context,boolean):371:391 -> a
    43:100:java.lang.String getNetworkType(android.net.ConnectivityManager):449:506 -> a
    101:101:java.lang.String getNetworkType(android.net.ConnectivityManager):496:496 -> a
    102:102:java.lang.String getNetworkType(android.net.ConnectivityManager):494:494 -> a
    103:103:java.lang.String getNetworkType(android.net.ConnectivityManager):490:490 -> a
    104:104:java.lang.String getNetworkType(android.net.ConnectivityManager):480:480 -> a
    105:148:java.lang.String getNetworkType(android.net.ConnectivityManager):467:510 -> a
    1:1:java.lang.String getAppVersion():105:105 -> b
    2:17:java.lang.String getDeviceID(android.content.Context):260:275 -> b
    18:18:int getNaturalWidth(int,int,int):317:317 -> b
    19:55:java.lang.String getStoragePath(android.content.Context,boolean):402:438 -> b
    56:56:java.lang.String getStoragePath(android.content.Context,boolean):436:436 -> b
    57:57:java.lang.String getStoragePath(android.content.Context,boolean):434:434 -> b
    58:58:java.lang.String getStoragePath(android.content.Context,boolean):432:432 -> b
    59:59:java.lang.String getStoragePath(android.content.Context,boolean):430:430 -> b
    1:15:int[] getDeviceSize(android.content.Context):288:302 -> c
    16:16:java.lang.String getCurrentNetworkType():515:515 -> c
    1:6:com.sf.sdk.analytics.utils.SystemInformation getInstance(android.content.Context):76:81 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcom/sf/sdk/f/d;"}
    7:10:java.lang.String getDeviceId():253:256 -> d
    1:1:java.util.Map getDeviceInfo():117:117 -> e
    2:61:java.util.Map getPresetProperties(android.content.Context):138:197 -> e
    1:4:java.util.Locale getLocale():348:351 -> f
    5:12:java.lang.String getRAM(android.content.Context):360:367 -> f
    1:11:void initPackageInfo(android.content.Context):204:214 -> g
    12:15:java.lang.String getNetworkType():280:283 -> g
    1:14:java.util.Map setupDeviceInfo(android.content.Context):121:134 -> h
    15:33:void initNetworkObserver():219:237 -> h
com.sf.sdk.analytics.utils.SystemInformation$1 -> com.sf.sdk.f.d$a:
# {"id":"sourceFile","fileName":"SystemInformation.java"}
    com.sf.sdk.analytics.utils.SystemInformation this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f/d;"}
    1:1:void <init>(com.sf.sdk.analytics.utils.SystemInformation):220:220 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f/d;)V"}
    1:2:void onAvailable(android.net.Network):223:224 -> onAvailable
    1:2:void onLost(android.net.Network):229:230 -> onLost
com.sf.sdk.analytics.utils.TrackTaskManager -> com.sf.sdk.f.e:
# {"id":"sourceFile","fileName":"TrackTaskManager.java"}
    java.util.concurrent.ExecutorService mPool -> a
    1:2:void <init>():15:16 -> <init>
    1:3:void addTask(java.lang.Runnable):21:23 -> a
com.sf.sdk.api.ApiRequest -> com.sf.sdk.g.a:
# {"id":"sourceFile","fileName":"ApiRequest.java"}
    java.lang.String url -> a
    int domainType -> b
    java.util.Map params -> c
    android.util.Pair signPair -> d
    1:1:void <init>():43:43 -> <init>
    1:2:void execute(com.sf.sdk.api.IResponseCallback):112:113 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/d;)V"}
    3:25:void handleResponseSuccess(java.lang.String,com.sf.sdk.api.IResponseCallback,long,boolean):137:159 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/d;JZ)V"}
    26:43:void ensureParams():165:182 -> a
    44:53:java.lang.String getUrl(java.lang.String):190:199 -> a
    54:70:com.sf.sdk.data.SFUser parseLoginResult(org.json.JSONObject):229:245 -> a
    71:79:void trackSignError(int,java.lang.String):251:259 -> a
    1:2:void get(com.sf.sdk.api.IResponseCallback):86:87 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/d;)V"}
    3:16:java.lang.String getBaseUrl():206:219 -> b
    17:17:boolean isStaticUrl(java.lang.String):263:263 -> b
com.sf.sdk.api.ApiRequest$1 -> com.sf.sdk.g.a$a:
# {"id":"sourceFile","fileName":"ApiRequest.java"}
    com.sf.sdk.api.IResponseCallback val$callback -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/d;"}
    com.sf.sdk.api.ApiRequest this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/a;"}
    1:1:void <init>(com.sf.sdk.api.ApiRequest,com.sf.sdk.api.IResponseCallback):87:87 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/a;Lcom/sf/sdk/g/d;)V"}
    1:5:void onSuccess(java.lang.String,long):90:94 -> a
    6:7:void onFailed():101:102 -> a
com.sf.sdk.api.ApiRequest$2 -> com.sf.sdk.g.a$b:
# {"id":"sourceFile","fileName":"ApiRequest.java"}
    com.sf.sdk.api.IResponseCallback val$callback -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/d;"}
    com.sf.sdk.api.ApiRequest this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/a;"}
    1:1:void <init>(com.sf.sdk.api.ApiRequest,com.sf.sdk.api.IResponseCallback):113:113 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/a;Lcom/sf/sdk/g/d;)V"}
    1:5:void onSuccess(java.lang.String,long):116:120 -> a
    6:7:void onFailed():127:128 -> a
com.sf.sdk.api.ApiRequest$Builder -> com.sf.sdk.g.a$c:
# {"id":"sourceFile","fileName":"ApiRequest.java"}
    java.lang.String url -> a
    int domainType -> b
    java.util.Map params -> c
    1:1:void <init>(java.lang.String):53:53 -> <init>
    2:5:void <init>(java.lang.String,int):56:59 -> <init>
    1:7:com.sf.sdk.api.ApiRequest$Builder addParam(java.lang.String,java.lang.String):63:69 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;)Lcom/sf/sdk/g/a$c;"}
    8:9:com.sf.sdk.api.ApiRequest$Builder addParam(java.lang.String,java.lang.String):64:65 -> a
    10:13:com.sf.sdk.api.ApiRequest build():74:77 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/g/a;"}
com.sf.sdk.api.DomainRequest -> com.sf.sdk.g.b:
# {"id":"sourceFile","fileName":"DomainRequest.java"}
    java.lang.String url -> a
    java.util.Map params -> b
    1:1:void <init>():29:29 -> <init>
    1:2:void check(com.sf.sdk.api.IResponseCallback):87:88 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/d;)V"}
    3:7:void ensureParams():144:148 -> a
    8:20:void handleResponseSuccess(java.lang.String,com.sf.sdk.api.IResponseCallback):155:167 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/d;)V"}
    1:1:void domain(com.sf.sdk.api.IResponseCallback):62:62 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/d;)V"}
    1:2:void requestGoogleDns(com.sf.sdk.api.IResponseCallback):113:114 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/d;)V"}
com.sf.sdk.api.DomainRequest$1 -> com.sf.sdk.g.b$a:
# {"id":"sourceFile","fileName":"DomainRequest.java"}
    com.sf.sdk.api.IResponseCallback val$callback -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/d;"}
    com.sf.sdk.api.DomainRequest this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/b;"}
    1:1:void <init>(com.sf.sdk.api.DomainRequest,com.sf.sdk.api.IResponseCallback):62:62 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/b;Lcom/sf/sdk/g/d;)V"}
    1:5:void onSuccess(java.lang.String,long):65:69 -> a
    6:7:void onFailed():76:77 -> a
com.sf.sdk.api.DomainRequest$2 -> com.sf.sdk.g.b$b:
# {"id":"sourceFile","fileName":"DomainRequest.java"}
    com.sf.sdk.api.IResponseCallback val$callback -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/d;"}
    com.sf.sdk.api.DomainRequest this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/b;"}
    1:1:void <init>(com.sf.sdk.api.DomainRequest,com.sf.sdk.api.IResponseCallback):88:88 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/b;Lcom/sf/sdk/g/d;)V"}
    1:5:void onSuccess(java.lang.String,long):91:95 -> a
    6:7:void onFailed():102:103 -> a
com.sf.sdk.api.DomainRequest$3 -> com.sf.sdk.g.b$c:
# {"id":"sourceFile","fileName":"DomainRequest.java"}
    com.sf.sdk.api.IResponseCallback val$callback -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/d;"}
    com.sf.sdk.api.DomainRequest this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/b;"}
    1:1:void <init>(com.sf.sdk.api.DomainRequest,com.sf.sdk.api.IResponseCallback):114:114 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/b;Lcom/sf/sdk/g/d;)V"}
    1:13:void onSuccess(java.lang.String,long):117:129 -> a
    14:15:void onFailed():136:137 -> a
com.sf.sdk.api.DomainRequest$Builder -> com.sf.sdk.g.b$d:
# {"id":"sourceFile","fileName":"DomainRequest.java"}
    java.lang.String url -> a
    java.util.Map params -> b
    1:3:void <init>(java.lang.String):37:39 -> <init>
    1:4:com.sf.sdk.api.DomainRequest$Builder addParam(java.lang.String,java.lang.String):43:46 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;)Lcom/sf/sdk/g/b$d;"}
    5:7:com.sf.sdk.api.DomainRequest build():51:53 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/g/b;"}
com.sf.sdk.api.IApiListener -> com.sf.sdk.g.c:
# {"id":"sourceFile","fileName":"IApiListener.java"}
    void onFailed(int,java.lang.String) -> onFailed
    void onSuccess(java.lang.Object) -> onSuccess
com.sf.sdk.api.IResponseCallback -> com.sf.sdk.g.d:
# {"id":"sourceFile","fileName":"IResponseCallback.java"}
    void onFailed(int,java.lang.String,org.json.JSONObject) -> a
    void onSuccess(org.json.JSONObject) -> a
com.sf.sdk.api.impl.AdditionalApi -> com.sf.sdk.h.a:
# {"id":"sourceFile","fileName":"AdditionalApi.java"}
    1:1:void <init>():16:16 -> <init>
    1:5:void translate(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):22:26 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    6:10:void checkSensitiveWords(java.lang.String,com.sf.sdk.api.IApiListener):52:56 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.AdditionalApi$1 -> com.sf.sdk.h.a$a:
# {"id":"sourceFile","fileName":"AdditionalApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):26:26 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:10:void onSuccess(org.json.JSONObject):29:38 -> a
    11:11:void onFailed(int,java.lang.String,org.json.JSONObject):43:43 -> a
com.sf.sdk.api.impl.AdditionalApi$2 -> com.sf.sdk.h.a$b:
# {"id":"sourceFile","fileName":"AdditionalApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):56:56 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:10:void onSuccess(org.json.JSONObject):59:68 -> a
    11:11:void onFailed(int,java.lang.String,org.json.JSONObject):73:73 -> a
com.sf.sdk.api.impl.CustomerApi -> com.sf.sdk.h.b:
# {"id":"sourceFile","fileName":"CustomerApi.java"}
    1:1:void <init>():15:15 -> <init>
    1:4:void queryFeedbackReply(java.lang.String,com.sf.sdk.api.IApiListener):18:21 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.CustomerApi$1 -> com.sf.sdk.h.b$a:
# {"id":"sourceFile","fileName":"CustomerApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):21:21 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:8:void onSuccess(org.json.JSONObject):25:32 -> a
    9:9:void onFailed(int,java.lang.String,org.json.JSONObject):37:37 -> a
com.sf.sdk.api.impl.DomainApi -> com.sf.sdk.h.c:
# {"id":"sourceFile","fileName":"DomainApi.java"}
    1:1:void <init>():22:22 -> <init>
    1:3:void check(java.lang.String,com.sf.sdk.api.IApiListener):55:57 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    1:3:void domain(java.lang.String,com.sf.sdk.api.IApiListener):25:27 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.DomainApi$1 -> com.sf.sdk.h.c$a:
# {"id":"sourceFile","fileName":"DomainApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):27:27 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:14:void onSuccess(org.json.JSONObject):30:43 -> a
    15:15:void onSuccess(org.json.JSONObject):32:32 -> a
    16:17:void onFailed(int,java.lang.String,org.json.JSONObject):48:49 -> a
com.sf.sdk.api.impl.DomainApi$2 -> com.sf.sdk.h.c$b:
# {"id":"sourceFile","fileName":"DomainApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    java.lang.String val$domain -> b
    1:1:void <init>(com.sf.sdk.api.IApiListener,java.lang.String):57:57 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;Ljava/lang/String;)V"}
    1:1:void onSuccess(org.json.JSONObject):60:60 -> a
    2:3:void onFailed(int,java.lang.String,org.json.JSONObject):65:66 -> a
com.sf.sdk.api.impl.FeedbackApi -> com.sf.sdk.h.d:
# {"id":"sourceFile","fileName":"FeedbackApi.java"}
    1:1:void <init>():14:14 -> <init>
    1:7:void submitFeedback(int,float,java.lang.String,com.sf.sdk.api.IApiListener):17:23 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(IFLjava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.FeedbackApi$1 -> com.sf.sdk.h.d$a:
# {"id":"sourceFile","fileName":"FeedbackApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):23:23 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):26:26 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):31:31 -> a
com.sf.sdk.api.impl.GoogleDnsApi -> com.sf.sdk.h.e:
# {"id":"sourceFile","fileName":"GoogleDnsApi.java"}
    1:1:void <init>():19:19 -> <init>
    1:8:void requestGoogleDns(java.lang.String,com.sf.sdk.api.IApiListener):25:32 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.GoogleDnsApi$1 -> com.sf.sdk.h.e$a:
# {"id":"sourceFile","fileName":"GoogleDnsApi.java"}
    java.lang.String val$host -> a
    com.sf.sdk.api.IApiListener val$listener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(java.lang.String,com.sf.sdk.api.IApiListener):32:32 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    1:2:void onSuccess(org.json.JSONObject):35:36 -> a
    3:4:void onFailed(int,java.lang.String,org.json.JSONObject):41:42 -> a
com.sf.sdk.api.impl.LeaderboardApi -> com.sf.sdk.h.f:
# {"id":"sourceFile","fileName":"LeaderboardApi.java"}
    1:1:void <init>():23:23 -> <init>
    1:6:void getLeaderboard(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):29:34 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    7:15:void getLeaderboards(java.lang.String,java.lang.String,int,long,com.sf.sdk.api.IApiListener):57:65 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;IJLcom/sf/sdk/g/c;)V"}
    16:26:void submitPlayerScore(com.sf.sdk.data.SFLeaderboard,int,com.sf.sdk.api.IApiListener):96:106 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFLeaderboard;ILcom/sf/sdk/g/c;)V"}
    27:37:com.sf.sdk.data.SFLeaderboard parseLeaderboard(org.json.JSONObject):126:136 -> a
com.sf.sdk.api.impl.LeaderboardApi$1 -> com.sf.sdk.h.f$a:
# {"id":"sourceFile","fileName":"LeaderboardApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):34:34 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:7:void onSuccess(org.json.JSONObject):37:43 -> a
    8:8:void onFailed(int,java.lang.String,org.json.JSONObject):48:48 -> a
com.sf.sdk.api.impl.LeaderboardApi$2 -> com.sf.sdk.h.f$b:
# {"id":"sourceFile","fileName":"LeaderboardApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):65:65 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:15:void onSuccess(org.json.JSONObject):68:82 -> a
    16:16:void onFailed(int,java.lang.String,org.json.JSONObject):87:87 -> a
com.sf.sdk.api.impl.LeaderboardApi$3 -> com.sf.sdk.h.f$c:
# {"id":"sourceFile","fileName":"LeaderboardApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):106:106 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:7:void onSuccess(org.json.JSONObject):109:115 -> a
    8:8:void onFailed(int,java.lang.String,org.json.JSONObject):120:120 -> a
com.sf.sdk.api.impl.LogApi -> com.sf.sdk.h.g:
# {"id":"sourceFile","fileName":"LogApi.java"}
    1:1:void <init>():14:14 -> <init>
    1:4:void upload(org.json.JSONArray,com.sf.sdk.api.IApiListener):17:20 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lorg/json/JSONArray;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.LogApi$1 -> com.sf.sdk.h.g$a:
# {"id":"sourceFile","fileName":"LogApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):20:20 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):23:23 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):28:28 -> a
com.sf.sdk.api.impl.MailApi -> com.sf.sdk.h.h:
# {"id":"sourceFile","fileName":"MailApi.java"}
    1:1:void <init>():19:19 -> <init>
    1:5:void getMails(java.lang.String,com.sf.sdk.api.IApiListener):25:29 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.MailApi$1 -> com.sf.sdk.h.h$a:
# {"id":"sourceFile","fileName":"MailApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):29:29 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:26:void onSuccess(org.json.JSONObject):32:57 -> a
    27:39:void onSuccess(org.json.JSONObject):53:65 -> a
    40:40:void onSuccess(org.json.JSONObject):34:34 -> a
    41:41:void onFailed(int,java.lang.String,org.json.JSONObject):70:70 -> a
com.sf.sdk.api.impl.OrderApi -> com.sf.sdk.h.i:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    1:1:void <init>():26:26 -> <init>
    1:23:void createOrder(com.sf.sdk.data.SFOrder,java.lang.String,com.sf.sdk.api.IApiListener):35:57 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFOrder;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    24:32:void createOrderPlatform(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):83:91 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    33:44:void completeOrder(java.lang.String,java.lang.String,com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.api.IApiListener):122:133 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/u/j;Lcom/sf/sdk/g/c;)V"}
    45:51:void notifyServerDelivery(java.lang.String,com.sf.sdk.data.SFOrder,com.sf.sdk.api.IApiListener):203:209 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/g/c;)V"}
    52:78:void orderUpdate(com.sf.sdk.data.SFOrderResult,com.sf.sdk.api.IApiListener):237:263 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFOrderResult;Lcom/sf/sdk/g/c;)V"}
    79:82:void queryOrderProducts(com.sf.sdk.api.IApiListener):317:320 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    83:91:void refundDetails(int,java.lang.String,java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):350:358 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    92:97:void completeOrderList(java.lang.String,com.sf.sdk.api.IApiListener):385:390 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    98:108:void restorePurchase(java.lang.String,com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.api.IApiListener):411:421 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/u/j;Lcom/sf/sdk/g/c;)V"}
    1:12:void completeOrderCheck(java.lang.String,java.lang.String,com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.api.IApiListener):163:174 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/u/j;Lcom/sf/sdk/g/c;)V"}
    13:18:void orderDetails(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):284:289 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    19:24:void refundOrderList(java.lang.String,com.sf.sdk.api.IApiListener):484:489 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    1:8:void queryCompletedOrderByProductId(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):451:458 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.OrderApi$1 -> com.sf.sdk.h.i$e:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):57:57 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:7:void onSuccess(org.json.JSONObject):60:66 -> a
    8:8:void onFailed(int,java.lang.String,org.json.JSONObject):71:71 -> a
com.sf.sdk.api.impl.OrderApi$10 -> com.sf.sdk.h.i$a:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):390:390 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:8:void onSuccess(org.json.JSONObject):393:400 -> a
    9:9:void onFailed(int,java.lang.String,org.json.JSONObject):405:405 -> a
com.sf.sdk.api.impl.OrderApi$11 -> com.sf.sdk.h.i$b:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):421:421 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:7:void onSuccess(org.json.JSONObject):424:430 -> a
    8:17:void onFailed(int,java.lang.String,org.json.JSONObject):436:445 -> a
com.sf.sdk.api.impl.OrderApi$12 -> com.sf.sdk.h.i$c:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):458:458 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:7:void onSuccess(org.json.JSONObject):461:467 -> a
    8:8:void onFailed(int,java.lang.String,org.json.JSONObject):472:472 -> a
com.sf.sdk.api.impl.OrderApi$13 -> com.sf.sdk.h.i$d:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):489:489 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:8:void onSuccess(org.json.JSONObject):492:499 -> a
    9:9:void onFailed(int,java.lang.String,org.json.JSONObject):504:504 -> a
com.sf.sdk.api.impl.OrderApi$2 -> com.sf.sdk.h.i$f:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):91:91 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:10:void onSuccess(org.json.JSONObject):94:103 -> a
    11:11:void onFailed(int,java.lang.String,org.json.JSONObject):108:108 -> a
com.sf.sdk.api.impl.OrderApi$3 -> com.sf.sdk.h.i$g:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):133:133 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:9:void onSuccess(org.json.JSONObject):136:144 -> a
    10:10:void onFailed(int,java.lang.String,org.json.JSONObject):149:149 -> a
com.sf.sdk.api.impl.OrderApi$4 -> com.sf.sdk.h.i$h:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):174:174 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:9:void onSuccess(org.json.JSONObject):177:185 -> a
    10:10:void onFailed(int,java.lang.String,org.json.JSONObject):190:190 -> a
com.sf.sdk.api.impl.OrderApi$5 -> com.sf.sdk.h.i$i:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):209:209 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:9:void onSuccess(org.json.JSONObject):212:220 -> a
    10:10:void onFailed(int,java.lang.String,org.json.JSONObject):225:225 -> a
com.sf.sdk.api.impl.OrderApi$6 -> com.sf.sdk.h.i$j:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):263:263 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):266:266 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):271:271 -> a
com.sf.sdk.api.impl.OrderApi$7 -> com.sf.sdk.h.i$k:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):289:289 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:10:void onSuccess(org.json.JSONObject):292:301 -> a
    11:11:void onFailed(int,java.lang.String,org.json.JSONObject):306:306 -> a
com.sf.sdk.api.impl.OrderApi$8 -> com.sf.sdk.h.i$l:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):320:320 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:10:void onSuccess(org.json.JSONObject):323:332 -> a
    11:11:void onFailed(int,java.lang.String,org.json.JSONObject):337:337 -> a
com.sf.sdk.api.impl.OrderApi$9 -> com.sf.sdk.h.i$m:
# {"id":"sourceFile","fileName":"OrderApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):358:358 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:8:void onSuccess(org.json.JSONObject):361:368 -> a
    9:9:void onFailed(int,java.lang.String,org.json.JSONObject):373:373 -> a
com.sf.sdk.api.impl.RoleApi -> com.sf.sdk.h.j:
# {"id":"sourceFile","fileName":"RoleApi.java"}
    1:1:void <init>():22:22 -> <init>
    1:16:void upload(com.sf.sdk.data.SFRoleData,com.sf.sdk.api.IApiListener):28:43 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFRoleData;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.RoleApi$1 -> com.sf.sdk.h.j$a:
# {"id":"sourceFile","fileName":"RoleApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):43:43 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):46:46 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):51:51 -> a
com.sf.sdk.api.impl.SnapshotApi -> com.sf.sdk.h.k:
# {"id":"sourceFile","fileName":"SnapshotApi.java"}
    1:1:void <init>():14:14 -> <init>
    1:8:void writeSnapshot(java.lang.String,java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):53:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    9:15:void deleteSnapshot(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):81:87 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    1:7:void readSnapshot(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):24:30 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.SnapshotApi$1 -> com.sf.sdk.h.k$a:
# {"id":"sourceFile","fileName":"SnapshotApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):30:30 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:2:void onSuccess(org.json.JSONObject):33:34 -> a
    3:3:void onFailed(int,java.lang.String,org.json.JSONObject):39:39 -> a
com.sf.sdk.api.impl.SnapshotApi$2 -> com.sf.sdk.h.k$b:
# {"id":"sourceFile","fileName":"SnapshotApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):60:60 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):63:63 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):68:68 -> a
com.sf.sdk.api.impl.SnapshotApi$3 -> com.sf.sdk.h.k$c:
# {"id":"sourceFile","fileName":"SnapshotApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    java.lang.String val$fileName -> b
    1:1:void <init>(com.sf.sdk.api.IApiListener,java.lang.String):87:87 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;Ljava/lang/String;)V"}
    1:1:void onSuccess(org.json.JSONObject):90:90 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):95:95 -> a
com.sf.sdk.api.impl.TestApi -> com.sf.sdk.h.l:
# {"id":"sourceFile","fileName":"TestApi.java"}
    1:1:void <init>():13:13 -> <init>
    1:3:void getServerTime(com.sf.sdk.api.IApiListener):16:18 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.TestApi$1 -> com.sf.sdk.h.l$a:
# {"id":"sourceFile","fileName":"TestApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):18:18 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):21:21 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):26:26 -> a
com.sf.sdk.api.impl.UserApi -> com.sf.sdk.h.m:
# {"id":"sourceFile","fileName":"UserApi.java"}
    1:1:void <init>():39:39 -> <init>
    1:10:void init(com.sf.sdk.api.IApiListener):45:54 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    11:29:void loginByPlatform(com.sf.sdk.data.internal.SFLoginPlatform,com.sf.sdk.api.IApiListener):163:181 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;Lcom/sf/sdk/g/c;)V"}
    30:42:void linkToPlatform(com.sf.sdk.data.internal.SFLoginPlatform,com.sf.sdk.data.SFUser,com.sf.sdk.api.IApiListener):203:215 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;Lcom/sf/sdk/data/SFUser;Lcom/sf/sdk/g/c;)V"}
    43:46:void linkDetail(java.lang.String,com.sf.sdk.api.IApiListener):237:240 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    47:51:void sendEmailCode(java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):276:280 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    52:57:void cancelState(com.sf.sdk.data.SFUser,com.sf.sdk.api.IApiListener):297:302 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFUser;Lcom/sf/sdk/g/c;)V"}
    58:67:void cancelAccount(com.sf.sdk.data.SFUser,java.lang.String,java.lang.String,com.sf.sdk.api.IApiListener):323:332 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFUser;Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
    68:84:com.sf.sdk.data.SFUser parseLoginResult(int,org.json.JSONObject):387:403 -> a
    1:7:void querySdkConfig(com.sf.sdk.api.IApiListener):71:77 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    8:15:void refreshToken(com.sf.sdk.data.SFUser,com.sf.sdk.api.IApiListener):103:110 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFUser;Lcom/sf/sdk/g/c;)V"}
    16:20:void queryConversionData(java.lang.String,com.sf.sdk.api.IApiListener):353:357 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/g/c;)V"}
com.sf.sdk.api.impl.UserApi$1 -> com.sf.sdk.h.m$c:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):54:54 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):57:57 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):62:62 -> a
com.sf.sdk.api.impl.UserApi$10 -> com.sf.sdk.h.m$a:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):332:332 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:5:void onSuccess(org.json.JSONObject):335:339 -> a
    6:6:void onFailed(int,java.lang.String,org.json.JSONObject):344:344 -> a
com.sf.sdk.api.impl.UserApi$11 -> com.sf.sdk.h.m$b:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):357:357 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:14:void onSuccess(org.json.JSONObject):360:373 -> a
    15:15:void onFailed(int,java.lang.String,org.json.JSONObject):378:378 -> a
com.sf.sdk.api.impl.UserApi$2 -> com.sf.sdk.h.m$d:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):77:77 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:9:void onSuccess(org.json.JSONObject):80:88 -> a
    10:10:void onFailed(int,java.lang.String,org.json.JSONObject):93:93 -> a
com.sf.sdk.api.impl.UserApi$3 -> com.sf.sdk.h.m$e:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.data.SFUser val$user -> a
    com.sf.sdk.api.IApiListener val$listener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.data.SFUser,com.sf.sdk.api.IApiListener):110:110 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFUser;Lcom/sf/sdk/g/c;)V"}
    1:5:void onSuccess(org.json.JSONObject):113:117 -> a
    6:6:void onFailed(int,java.lang.String,org.json.JSONObject):123:123 -> a
com.sf.sdk.api.impl.UserApi$5 -> com.sf.sdk.h.m$f:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.data.internal.SFLoginPlatform val$platform -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/f;"}
    com.sf.sdk.api.IApiListener val$listener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.data.internal.SFLoginPlatform,com.sf.sdk.api.IApiListener):181:181 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;Lcom/sf/sdk/g/c;)V"}
    1:5:void onSuccess(org.json.JSONObject):184:188 -> a
    6:6:void onFailed(int,java.lang.String,org.json.JSONObject):194:194 -> a
com.sf.sdk.api.impl.UserApi$6 -> com.sf.sdk.h.m$g:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.data.internal.SFLoginPlatform val$platform -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/f;"}
    com.sf.sdk.api.IApiListener val$listener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.data.internal.SFLoginPlatform,com.sf.sdk.api.IApiListener):215:215 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;Lcom/sf/sdk/g/c;)V"}
    1:5:void onSuccess(org.json.JSONObject):218:222 -> a
    6:6:void onFailed(int,java.lang.String,org.json.JSONObject):228:228 -> a
com.sf.sdk.api.impl.UserApi$7 -> com.sf.sdk.h.m$h:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):240:240 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:17:void onSuccess(org.json.JSONObject):243:259 -> a
    18:18:void onSuccess(org.json.JSONObject):245:245 -> a
    19:19:void onFailed(int,java.lang.String,org.json.JSONObject):264:264 -> a
com.sf.sdk.api.impl.UserApi$8 -> com.sf.sdk.h.m$i:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):280:280 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):283:283 -> a
    2:2:void onFailed(int,java.lang.String,org.json.JSONObject):288:288 -> a
com.sf.sdk.api.impl.UserApi$9 -> com.sf.sdk.h.m$j:
# {"id":"sourceFile","fileName":"UserApi.java"}
    com.sf.sdk.api.IApiListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.api.IApiListener):302:302 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g/c;)V"}
    1:5:void onSuccess(org.json.JSONObject):305:309 -> a
    6:6:void onFailed(int,java.lang.String,org.json.JSONObject):314:314 -> a
com.sf.sdk.app.ApplicationHolder -> com.sf.sdk.app.ApplicationHolder:
# {"id":"sourceFile","fileName":"ApplicationHolder.java"}
    1:1:void <init>():15:15 -> <init>
    1:1:android.app.Application getApplication():21:21 -> getApplication
    1:6:java.lang.String getCurrentProcessName(android.content.Context):65:70 -> getCurrentProcessName
    1:4:android.os.Bundle getManifestMetadata():53:56 -> getManifestMetadata
    1:2:boolean hasMetadata(java.lang.String):60:61 -> hasMetadata
    1:3:boolean isMainProcess():45:47 -> isMainProcess
    1:4:void onCreate(android.app.Application):25:28 -> onCreate
    1:2:void onTerminate(android.app.Application):39:40 -> onTerminate
com.sf.sdk.app.GlobalConfig -> com.sf.sdk.i.a:
# {"id":"sourceFile","fileName":"GlobalConfig.java"}
    java.lang.String appID -> a
    java.lang.String appKey -> b
    int orientation -> c
    com.sf.sdk.config.SFConfig config -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t/a;"}
    java.lang.String gameServerIp -> e
    long httpPingTime -> f
    long userLoginTime -> g
    com.sf.sdk.config.SFSDKConfig sdkConfig -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t/b;"}
    com.sf.sdk.data.internal.SFServerTime serverTime -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/k;"}
    com.sf.sdk.data.internal.SFDomain domain -> j
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/c;"}
    com.sf.sdk.data.internal.SFDomainConfig domainConfig -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/d;"}
    com.sf.sdk.data.SFThinkingData thinkingData -> l
    com.sf.sdk.data.SFFirebaseData firebaseData -> m
    com.sf.sdk.data.SFAppsFlyerData appsFlyerData -> n
    1:2:void <init>():46:47 -> <init>
    1:4:com.sf.sdk.config.SFConfig$Version getVersion():475:478 -> A
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/a$b;"}
    1:4:boolean isBigQueryDisabled():375:378 -> B
    1:4:boolean isBigQueryOpen():355:358 -> C
    1:4:boolean isBigQuerySpecify():365:368 -> D
    1:9:boolean isLoginOpen():213:221 -> E
    1:5:boolean isLoginSilent():202:206 -> F
    1:5:boolean isPayOpen():239:243 -> G
    1:5:boolean isProtocolOpen():250:254 -> H
    1:4:boolean isReportAdOpen():385:388 -> I
    1:4:boolean isThinkingdataOpen():325:328 -> J
    1:4:boolean isThinkingdataSpecify():335:338 -> K
    1:5:boolean isVisitorMultiple():228:232 -> L
    1:3:void setInitParams(com.sf.sdk.data.SFInitParams):55:57 -> a
    4:7:java.lang.String getAppID():61:64 -> a
    8:8:void setGameServerIp(java.lang.String):87:87 -> a
    9:9:void setHttpPingTime(long):110:110 -> a
    10:19:void setConfig(com.sf.sdk.config.SFConfig):133:142 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t/a;)V"}
    20:20:void setDomain(com.sf.sdk.data.internal.SFDomain):150:150 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/c;)V"}
    21:23:void setDomainConfig(com.sf.sdk.data.internal.SFDomainConfig):165:167 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/d;)V"}
    24:24:void setThinkingData(com.sf.sdk.data.SFThinkingData):175:175 -> a
    25:25:void setFirebaseData(com.sf.sdk.data.SFFirebaseData):183:183 -> a
    26:26:void setAppsFlyerData(com.sf.sdk.data.SFAppsFlyerData):191:191 -> a
    1:4:java.lang.String getAppKey():68:71 -> b
    5:5:void setUserLoginTime(long):118:118 -> b
    1:1:com.sf.sdk.data.SFAppsFlyerData getAppsFlyerData():187:187 -> c
    1:4:int getBigQueryState():345:348 -> d
    1:4:java.lang.Integer getChannelID():465:468 -> e
    1:4:com.sf.sdk.config.SFConfig$Community getCommunity():485:488 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/a$a;"}
    1:1:com.sf.sdk.config.SFConfig getConfig():129:129 -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/a;"}
    1:5:java.lang.String getCustomerServiceBaseUrl():283:287 -> h
    1:5:java.lang.String getCustomerServiceJumpUrl():294:298 -> i
    1:1:com.sf.sdk.data.internal.SFDomain getDomain():146:146 -> j
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/u/c;"}
    1:1:com.sf.sdk.data.internal.SFDomainConfig getDomainConfig():154:154 -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/u/d;"}
    1:1:com.sf.sdk.data.SFFirebaseData getFirebaseData():179:179 -> l
    1:1:java.lang.String getGameServerIp():83:83 -> m
    1:4:double getGoogleStoreScore():435:438 -> n
    1:4:java.lang.String getGoogleWebClientID():425:428 -> o
    1:1:long getHttpPingTime():106:106 -> p
    1:1:com.sf.sdk.app.GlobalConfig getInstance():51:51 -> q
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/i/a;"}
    1:1:java.lang.String getPlatformId():98:98 -> r
    1:1:java.lang.String getPlatformName():102:102 -> s
    1:5:java.lang.String getPrivacyProtocolUrl():272:276 -> t
    1:4:com.sf.sdk.config.SFSDKConfig getSdkConfig():91:94 -> u
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/b;"}
    1:4:com.sf.sdk.data.internal.SFServerTime getServerTime():122:125 -> v
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/u/k;"}
    1:1:java.lang.String getSofishServerUrl():195:195 -> w
    1:1:com.sf.sdk.data.SFThinkingData getThinkingData():171:171 -> x
    1:1:long getUserLoginTime():114:114 -> y
    1:5:java.lang.String getUserProtocolUrl():261:265 -> z
com.sf.sdk.app.GlobalConfig$Singleton -> com.sf.sdk.i.a$a:
# {"id":"sourceFile","fileName":"GlobalConfig.java"}
    com.sf.sdk.app.GlobalConfig INSTANCE -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/i/a;"}
    1:1:void <clinit>():43:43 -> <clinit>
com.sf.sdk.app.SFApplication -> com.sf.sdk.app.SFApplication:
# {"id":"sourceFile","fileName":"SFApplication.java"}
    1:1:void <init>():12:12 -> <init>
    1:2:void attachBaseContext(android.content.Context):21:22 -> attachBaseContext
    1:2:void onConfigurationChanged(android.content.res.Configuration):26:27 -> onConfigurationChanged
    1:2:void onCreate():15:16 -> onCreate
    1:2:void onTerminate():31:32 -> onTerminate
com.sf.sdk.common.constants.Constants -> com.sf.sdk.j.a:
# {"id":"sourceFile","fileName":"Constants.java"}
    java.util.List FACEBOOK_PACKAGES -> a
    java.util.Map accountTypeMethods -> b
    1:7:void <clinit>():30:36 -> <clinit>
    1:1:void <init>():10:10 -> <init>
    1:2:java.lang.String getAccountTypeMethod(int):44:45 -> a
com.sf.sdk.common.constants.Constants$1 -> com.sf.sdk.j.a$a:
# {"id":"sourceFile","fileName":"Constants.java"}
    1:4:void <init>():36:39 -> <init>
com.sf.sdk.common.http.AsyncHttpClient -> com.sf.sdk.k.a:
# {"id":"sourceFile","fileName":"AsyncHttpClient.java"}
    java.util.concurrent.ExecutorService executor -> a
    1:2:void <init>(java.util.concurrent.ExecutorService):25:26 -> <init>
    1:1:void post(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):152:152 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:1:void get(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):58:58 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:1:void dns(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):88:88 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:1:void domain(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):72:72 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
com.sf.sdk.common.http.AsyncHttpClient$2 -> com.sf.sdk.k.a$a:
# {"id":"sourceFile","fileName":"AsyncHttpClient.java"}
    java.lang.String val$url -> a
    java.util.Map val$params -> b
    com.sf.sdk.common.http.IHttpClientListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/e;"}
    com.sf.sdk.common.http.AsyncHttpClient this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/a;"}
    1:1:void <init>(com.sf.sdk.common.http.AsyncHttpClient,java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):58:58 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/a;Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:3:void run():62:64 -> run
com.sf.sdk.common.http.AsyncHttpClient$3 -> com.sf.sdk.k.a$b:
# {"id":"sourceFile","fileName":"AsyncHttpClient.java"}
    java.lang.String val$url -> a
    java.util.Map val$params -> b
    com.sf.sdk.common.http.IHttpClientListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/e;"}
    com.sf.sdk.common.http.AsyncHttpClient this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/a;"}
    1:1:void <init>(com.sf.sdk.common.http.AsyncHttpClient,java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):72:72 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/a;Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:5:void run():76:80 -> run
com.sf.sdk.common.http.AsyncHttpClient$4 -> com.sf.sdk.k.a$c:
# {"id":"sourceFile","fileName":"AsyncHttpClient.java"}
    java.lang.String val$url -> a
    java.util.Map val$params -> b
    com.sf.sdk.common.http.IHttpClientListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/e;"}
    com.sf.sdk.common.http.AsyncHttpClient this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/a;"}
    1:1:void <init>(com.sf.sdk.common.http.AsyncHttpClient,java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):88:88 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/a;Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:5:void run():92:96 -> run
com.sf.sdk.common.http.AsyncHttpClient$7 -> com.sf.sdk.k.a$d:
# {"id":"sourceFile","fileName":"AsyncHttpClient.java"}
    java.lang.String val$url -> a
    java.util.Map val$params -> b
    com.sf.sdk.common.http.IHttpClientListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/e;"}
    com.sf.sdk.common.http.AsyncHttpClient this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/a;"}
    1:1:void <init>(com.sf.sdk.common.http.AsyncHttpClient,java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):152:152 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/a;Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:3:void run():156:158 -> run
com.sf.sdk.common.http.DefaultHttpClient -> com.sf.sdk.k.b:
# {"id":"sourceFile","fileName":"DefaultHttpClient.java"}
    1:1:void <init>():12:12 -> <init>
    1:1:void post(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):34:34 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:1:void get(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):69:69 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:3:void dns(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):81:83 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:3:void domain(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):74:76 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
com.sf.sdk.common.http.HttpClient -> com.sf.sdk.k.c:
# {"id":"sourceFile","fileName":"HttpClient.java"}
    java.util.concurrent.ExecutorService executor -> a
    com.sf.sdk.common.http.IHttpClient httpClient -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/d;"}
    com.sf.sdk.common.http.IHttpClient defaultHttpClient -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/d;"}
    com.sf.sdk.common.http.HttpClient instance -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k/c;"}
    1:2:void <init>():27:28 -> <init>
    1:6:void init(boolean):38:43 -> a
    7:8:void domain(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):129:130 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    9:9:void destroy():138:138 -> a
    1:4:com.sf.sdk.common.http.IHttpClient getDefaultHttpClient():52:55 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/k/d;"}
    5:6:void get(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):116:117 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    1:4:com.sf.sdk.common.http.HttpClient getInstance():21:24 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/k/c;"}
    5:6:void post(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener):78:79 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
com.sf.sdk.common.http.IHttpClient -> com.sf.sdk.k.d:
# {"id":"sourceFile","fileName":"IHttpClient.java"}
    void post(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener) -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    void get(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener) -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    void dns(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener) -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
    void domain(java.lang.String,java.util.Map,com.sf.sdk.common.http.IHttpClientListener) -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/k/e;)V"}
com.sf.sdk.common.http.IHttpClientListener -> com.sf.sdk.k.e:
# {"id":"sourceFile","fileName":"IHttpClientListener.java"}
    void onFailed() -> a
    void onSuccess(java.lang.String,long) -> a
com.sf.sdk.common.http.NamedThreadFactory -> com.sf.sdk.k.f:
# {"id":"sourceFile","fileName":"NamedThreadFactory.java"}
    java.lang.String baseName -> a
    java.util.concurrent.ThreadFactory defaultThreadFactory -> b
    java.util.concurrent.atomic.AtomicInteger threadNumber -> c
    1:1:void <init>(java.lang.String):16:16 -> <init>
    2:6:void <init>(java.lang.String):14:18 -> <init>
    1:2:java.lang.Thread newThread(java.lang.Runnable):23:24 -> newThread
com.sf.sdk.common.http.entity.IHttpEntity -> com.sf.sdk.l.a:
# {"id":"sourceFile","fileName":"IHttpEntity.java"}
    java.lang.String getContentType() -> a
    void writeTo(java.io.OutputStream) -> a
    java.lang.String getContent() -> b
com.sf.sdk.common.http.entity.StringEntity -> com.sf.sdk.l.b:
# {"id":"sourceFile","fileName":"StringEntity.java"}
    java.lang.String content -> a
    java.lang.String contentType -> b
    java.nio.charset.Charset charset -> c
    1:7:void <init>(java.lang.String,java.lang.String,java.lang.String):60:66 -> <init>
    8:8:void <init>(java.lang.String,java.lang.String,java.lang.String):62:62 -> <init>
    1:2:void writeTo(java.io.OutputStream):82:83 -> a
    3:3:java.lang.String getContentType():87:87 -> a
    1:1:java.lang.String getContent():72:72 -> b
    1:1:java.lang.String toString():93:93 -> toString
com.sf.sdk.common.http.entity.UrlEncodedEntity -> com.sf.sdk.l.c:
# {"id":"sourceFile","fileName":"UrlEncodedEntity.java"}
    1:1:void <init>(java.util.Map):21:21 -> <init>
    2:2:void <init>(java.util.Map,java.lang.String):31:31 -> <init>
com.sf.sdk.common.http.methods.HttpGet -> com.sf.sdk.m.a:
# {"id":"sourceFile","fileName":"HttpGet.java"}
    1:1:void <init>(java.lang.String,java.util.Map):19:19 -> <init>
    1:1:void execute(com.sf.sdk.common.http.IHttpClientListener):12:12 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/e;)V"}
    2:2:void setHttpType(int):12:12 -> a
    1:1:java.lang.String getMethod():24:24 -> b
    1:10:java.lang.String getRequestUrl():29:38 -> c
com.sf.sdk.common.http.methods.HttpMethod -> com.sf.sdk.m.b:
# {"id":"sourceFile","fileName":"HttpMethod.java"}
    int maxCount -> a
    int httpType -> b
    int failedCount -> c
    long startTime -> d
    long timeConsuming -> e
    java.lang.String pingId -> f
    java.lang.String hostIp -> g
    java.lang.String serverTime -> h
    boolean switchToHttpDns -> i
    java.lang.String url -> j
    com.sf.sdk.common.http.entity.IHttpEntity entity -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l/a;"}
    java.util.List failedMessages -> l
    java.lang.String language -> m
    java.lang.String lineSeparator -> n
    java.text.DecimalFormat decimalFormat -> o
    1:1:void <init>(java.lang.String,java.util.Map):87:87 -> <init>
    2:2:void <init>(java.lang.String,com.sf.sdk.common.http.entity.IHttpEntity):90:90 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/l/a;)V"}
    3:43:void <init>(java.lang.String,com.sf.sdk.common.http.entity.IHttpEntity):58:98 -> <init>
    1:1:void setHttpType(int):111:111 -> a
    2:23:void execute(com.sf.sdk.common.http.IHttpClientListener):119:140 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/e;)V"}
    24:121:void execute(com.sf.sdk.common.http.IHttpClientListener):137:234 -> a
    122:137:void execute(com.sf.sdk.common.http.IHttpClientListener):210:225 -> a
    138:154:void execute(com.sf.sdk.common.http.IHttpClientListener):219:235 -> a
    155:155:java.lang.String getContentType():239:239 -> a
    156:180:void onHttpResult(int,java.lang.String,com.sf.sdk.common.http.IHttpClientListener):257:281 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(ILjava/lang/String;Lcom/sf/sdk/k/e;)V"}
    181:181:java.util.concurrent.ScheduledFuture createWatchdog(java.net.HttpURLConnection,java.lang.String):286:286 -> a
    182:186:void cancelWatchdog(java.util.concurrent.ScheduledFuture):301:305 -> a
    187:194:void onTrackEvent(boolean):310:317 -> a
    195:203:void trackFailed(int,java.lang.String):321:329 -> a
    204:205:void checkHttpException(java.lang.Exception):353:354 -> a
    206:213:void trackHttpSwitchEvent(java.lang.String):370:377 -> a
    java.lang.String getMethod() -> b
    java.lang.String getRequestUrl() -> c
    1:8:void launchPing():333:340 -> d
    1:3:void trackHttpSwitchEvent():363:365 -> e
com.sf.sdk.common.http.methods.HttpMethod$1 -> com.sf.sdk.m.b$a:
# {"id":"sourceFile","fileName":"HttpMethod.java"}
    java.lang.String val$httpUrl -> a
    java.net.HttpURLConnection val$connection -> b
    com.sf.sdk.common.http.methods.HttpMethod this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/m/b;"}
    1:1:void <init>(com.sf.sdk.common.http.methods.HttpMethod,java.lang.String,java.net.HttpURLConnection):286:286 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/m/b;Ljava/lang/String;Ljava/net/HttpURLConnection;)V"}
    1:5:void run():289:293 -> run
com.sf.sdk.common.http.methods.HttpMethod$2 -> com.sf.sdk.m.b$b:
# {"id":"sourceFile","fileName":"HttpMethod.java"}
    com.sf.sdk.common.http.methods.HttpMethod this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/m/b;"}
    1:1:void <init>(com.sf.sdk.common.http.methods.HttpMethod):340:340 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/m/b;)V"}
    1:1:void run():343:343 -> run
com.sf.sdk.common.http.methods.HttpPost -> com.sf.sdk.m.c:
# {"id":"sourceFile","fileName":"HttpPost.java"}
    1:1:void <init>(java.lang.String,java.util.Map):20:20 -> <init>
    1:1:void execute(com.sf.sdk.common.http.IHttpClientListener):13:13 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k/e;)V"}
    1:1:java.lang.String getMethod():29:29 -> b
    1:1:java.lang.String getRequestUrl():34:34 -> c
com.sf.sdk.common.http.ssl.SFHostnameVerifier -> com.sf.sdk.n.a:
# {"id":"sourceFile","fileName":"SFHostnameVerifier.java"}
    java.net.HttpURLConnection connection -> a
    1:2:void <init>(java.net.HttpURLConnection):16:17 -> <init>
    1:5:boolean verify(java.lang.String,javax.net.ssl.SSLSession):22:26 -> verify
com.sf.sdk.common.http.ssl.SFSSLSocketFactory -> com.sf.sdk.n.b:
# {"id":"sourceFile","fileName":"SFSSLSocketFactory.java"}
    java.lang.String TAG -> a
    java.net.HttpURLConnection connection -> b
    javax.net.ssl.HostnameVerifier hostnameVerifier -> c
    1:1:void <init>(java.net.HttpURLConnection):28:28 -> <init>
    2:8:void <init>(java.net.HttpURLConnection):24:30 -> <init>
    1:1:java.net.Socket createSocket():35:35 -> createSocket
    2:2:java.net.Socket createSocket(java.lang.String,int):40:40 -> createSocket
    3:3:java.net.Socket createSocket(java.lang.String,int,java.net.InetAddress,int):45:45 -> createSocket
    4:4:java.net.Socket createSocket(java.net.InetAddress,int):50:50 -> createSocket
    5:5:java.net.Socket createSocket(java.net.InetAddress,int,java.net.InetAddress,int):55:55 -> createSocket
    6:34:java.net.Socket createSocket(java.net.Socket,java.lang.String,int,boolean):74:102 -> createSocket
    35:35:java.net.Socket createSocket(java.net.Socket,java.lang.String,int,boolean):99:99 -> createSocket
    1:1:java.lang.String[] getDefaultCipherSuites():62:62 -> getDefaultCipherSuites
    1:1:java.lang.String[] getSupportedCipherSuites():67:67 -> getSupportedCipherSuites
com.sf.sdk.common.http.utils.HttpUtils -> com.sf.sdk.o.a:
# {"id":"sourceFile","fileName":"HttpUtils.java"}
    1:1:void <init>():18:18 -> <init>
    1:16:java.lang.String parseHttpResponse(java.io.InputStream):35:50 -> a
    17:23:java.lang.String parseHttpResponse(java.io.InputStream):44:50 -> a
    24:29:java.lang.String parseHttpResponse(java.io.InputStream):48:53 -> a
    30:43:java.lang.String format(java.util.Map,java.lang.String):67:80 -> a
    44:49:java.util.Map toParameters(java.lang.String):84:89 -> a
    50:52:java.lang.String encode(java.lang.String,java.lang.String):98:100 -> a
com.sf.sdk.common.lifecycle.ActivityLifecycleCallbacks -> com.sf.sdk.p.a:
# {"id":"sourceFile","fileName":"ActivityLifecycleCallbacks.java"}
    1:1:void <init>():13:13 -> <init>
    1:1:void onActivityCreated(android.app.Activity,android.os.Bundle):17:17 -> onActivityCreated
    1:1:void onActivityDestroyed(android.app.Activity):41:41 -> onActivityDestroyed
    1:1:void onActivityPaused(android.app.Activity):29:29 -> onActivityPaused
    1:1:void onActivityResumed(android.app.Activity):25:25 -> onActivityResumed
    1:1:void onActivitySaveInstanceState(android.app.Activity,android.os.Bundle):37:37 -> onActivitySaveInstanceState
    1:1:void onActivityStarted(android.app.Activity):21:21 -> onActivityStarted
    1:1:void onActivityStopped(android.app.Activity):33:33 -> onActivityStopped
com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks -> com.sf.sdk.p.b:
# {"id":"sourceFile","fileName":"SFActivityLifecycleCallbacks.java"}
    java.lang.Boolean isLaunch -> a
    boolean isAppLaunched -> b
    boolean appOnForeground -> c
    boolean resumeFromBackground -> d
    android.content.Context context -> e
    java.lang.ref.WeakReference mCurrentActivity -> f
    java.lang.Object mLock -> g
    com.sf.sdk.data.internal.SFEventTimer startTimer -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/e;"}
    com.sf.sdk.data.internal.SFEventTimer launchTimer -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/e;"}
    java.util.Set mVisibleActivityTrackSet -> j
    com.sf.sdk.common.task.FirstScreenStableWatcher stableWatcher -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/a;"}
    java.util.List appStateChangedListeners -> l
    1:1:void <init>():62:62 -> <init>
    2:18:void <init>():47:63 -> <init>
    1:2:void addListener(com.sf.sdk.SFAppStateChangedListener):67:68 -> a
    3:5:void attachApplication(android.content.Context):79:81 -> a
    6:6:android.app.Activity getCurrentActivity():201:201 -> a
    7:16:void setCurrentActivity(android.app.Activity):205:214 -> a
    17:34:void trackLoginRecord(boolean):252:269 -> a
    35:47:void trackAppLaunchState(java.lang.String):296:308 -> a
    1:1:void removeListener(com.sf.sdk.SFAppStateChangedListener):74:74 -> b
    2:2:boolean isAppOnForeground():197:197 -> b
    3:15:void trackAppStart(android.app.Activity):219:231 -> b
    16:22:void trackStartEvent(boolean):242:248 -> b
    1:6:void onAppBecomeActive():274:279 -> c
    1:6:void onAppEnterBackground():285:290 -> d
    1:4:void onActivityCreated(android.app.Activity,android.os.Bundle):95:98 -> onActivityCreated
    1:10:void onActivityPaused(android.app.Activity):161:170 -> onActivityPaused
    1:3:void onActivityPostCreated(android.app.Activity,android.os.Bundle):104:106 -> onActivityPostCreated
    1:3:void onActivityPreCreated(android.app.Activity,android.os.Bundle):87:89 -> onActivityPreCreated
    1:21:void onActivityResumed(android.app.Activity):135:155 -> onActivityResumed
    22:22:void onActivityResumed(android.app.Activity):153:153 -> onActivityResumed
    1:15:void onActivityStarted(android.app.Activity):112:126 -> onActivityStarted
    16:21:void onActivityStarted(android.app.Activity):124:129 -> onActivityStarted
    1:15:void onActivityStopped(android.app.Activity):175:189 -> onActivityStopped
    16:22:void onActivityStopped(android.app.Activity):186:192 -> onActivityStopped
com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks$1 -> com.sf.sdk.p.b$a:
# {"id":"sourceFile","fileName":"SFActivityLifecycleCallbacks.java"}
    com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p/b;"}
    1:1:void <init>(com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks):225:225 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p/b;)V"}
    1:1:void run():228:228 -> run
com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks$2 -> com.sf.sdk.p.b$b:
# {"id":"sourceFile","fileName":"SFActivityLifecycleCallbacks.java"}
    boolean val$isFromBackground -> a
    com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p/b;"}
    1:1:void <init>(com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks,boolean):231:231 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p/b;Z)V"}
    1:2:void run():234:235 -> run
com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks$3 -> com.sf.sdk.p.b$c:
# {"id":"sourceFile","fileName":"SFActivityLifecycleCallbacks.java"}
    com.sf.sdk.data.SFUser val$user -> a
    boolean val$isFromBackground -> b
    com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p/b;"}
    1:1:void <init>(com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks,com.sf.sdk.data.SFUser,boolean):263:263 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p/b;Lcom/sf/sdk/data/SFUser;Z)V"}
    1:1:void run():266:266 -> run
com.sf.sdk.common.log.ILogger -> com.sf.sdk.q.a:
# {"id":"sourceFile","fileName":"ILogger.java"}
    void e(java.lang.Throwable) -> a
    void w(java.lang.String,java.lang.String) -> a
    void w(java.lang.String,java.lang.String,java.lang.Throwable) -> a
    void e(java.lang.String,java.lang.String,java.lang.Throwable) -> b
    void i(java.lang.String,java.lang.String) -> b
    void e(java.lang.String,java.lang.String) -> c
    void d(java.lang.String,java.lang.String) -> d
    void destroy() -> destroy
com.sf.sdk.common.log.LocalLogger -> com.sf.sdk.q.b:
# {"id":"sourceFile","fileName":"LocalLogger.java"}
    1:1:void <init>():8:8 -> <init>
    1:1:void w(java.lang.String,java.lang.String):31:31 -> a
    2:2:void w(java.lang.String,java.lang.String,java.lang.Throwable):47:47 -> a
    3:3:void e(java.lang.Throwable):70:70 -> a
    1:1:void i(java.lang.String,java.lang.String):23:23 -> b
    2:2:void e(java.lang.String,java.lang.String,java.lang.Throwable):55:55 -> b
    1:1:void e(java.lang.String,java.lang.String):39:39 -> c
    1:1:void d(java.lang.String,java.lang.String):15:15 -> d
    1:1:void destroy():63:63 -> destroy
com.sf.sdk.common.log.LogInfo -> com.sf.sdk.q.c:
# {"id":"sourceFile","fileName":"LogInfo.java"}
    java.lang.String level -> a
    java.lang.String tag -> b
    java.lang.String msg -> c
    java.lang.Throwable stack -> d
    java.util.Date time -> e
    1:1:void <init>():41:41 -> <init>
    2:7:void <init>(java.lang.String,java.lang.String,java.lang.String):50:55 -> <init>
    8:13:void <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable):64:69 -> <init>
    1:5:java.lang.String parseStack(java.lang.Throwable):78:82 -> a
    6:16:java.lang.String toJSON():91:101 -> a
com.sf.sdk.common.log.Logger -> com.sf.sdk.common.log.Logger:
# {"id":"sourceFile","fileName":"Logger.java"}
    com.sf.sdk.common.log.LocalLogger localLogger -> localLogger
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q/b;"}
    com.sf.sdk.common.log.RemoteLogger remoteLogger -> remoteLogger
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q/e;"}
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():57:57 -> <init>
    2:23:void <init>():24:45 -> <init>
    1:1:void d(java.lang.String,java.lang.String,java.lang.Object[]):104:104 -> d
    2:9:void d(java.lang.String,java.lang.String):109:116 -> d
    1:5:void destroy():207:211 -> destroy
    1:1:void e(java.lang.String,java.lang.String,java.lang.Object[]):169:169 -> e
    2:6:void e(java.lang.String,java.lang.String):174:178 -> e
    7:11:void e(java.lang.String,java.lang.String,java.lang.Throwable):184:188 -> e
    12:16:void e(java.lang.Throwable):194:198 -> e
    1:4:com.sf.sdk.common.log.LocalLogger getLocalLogger():250:253 -> getLocalLogger
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/q/b;"}
    1:4:com.sf.sdk.common.log.RemoteLogger getRemoteLogger():258:261 -> getRemoteLogger
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/q/e;"}
    1:1:void i(java.lang.String,java.lang.String,java.lang.Object[]):121:121 -> i
    2:10:void i(java.lang.String,java.lang.String):126:134 -> i
    1:16:void init(android.content.Context):71:86 -> init
    1:1:boolean isEnabled():61:61 -> isEnabled
    1:1:com.sf.sdk.common.log.Logger logger():54:54 -> logger
    1:24:void parseConfig(android.content.Context):221:244 -> parseConfig
    1:8:void setLocalEnabled(boolean):91:98 -> setLocalEnabled
    1:1:void w(java.lang.String,java.lang.String,java.lang.Object[]):139:139 -> w
    2:9:void w(java.lang.String,java.lang.String):144:151 -> w
    10:17:void w(java.lang.String,java.lang.String,java.lang.Throwable):157:164 -> w
com.sf.sdk.common.log.RemoteLogPrinter -> com.sf.sdk.q.d:
# {"id":"sourceFile","fileName":"RemoteLogPrinter.java"}
    java.util.List logs -> a
    java.lang.String url -> b
    int interval -> c
    java.util.Timer timer -> d
    boolean running -> e
    1:1:void <init>():43:43 -> <init>
    2:2:void <init>():31:31 -> <init>
    3:3:void <init>(java.lang.String,int):50:50 -> <init>
    4:26:void <init>(java.lang.String,int):31:53 -> <init>
    1:4:void print(com.sf.sdk.common.log.LogInfo):62:65 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q/c;)V"}
    5:9:java.util.List getAndClear():86:90 -> a
    1:7:void start():97:103 -> b
    1:4:void stop():110:113 -> c
com.sf.sdk.common.log.RemoteLogPrinter$LogPrintTask -> com.sf.sdk.q.d$a:
# {"id":"sourceFile","fileName":"RemoteLogPrinter.java"}
    com.sf.sdk.common.log.RemoteLogPrinter this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q/d;"}
    1:1:void <init>(com.sf.sdk.common.log.RemoteLogPrinter):119:119 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q/d;)V"}
    1:15:void run():123:137 -> run
com.sf.sdk.common.log.RemoteLogger -> com.sf.sdk.q.e:
# {"id":"sourceFile","fileName":"RemoteLogger.java"}
    com.sf.sdk.common.log.RemoteLogPrinter printer -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q/d;"}
    1:2:void <init>(java.lang.String,int):19:20 -> <init>
    1:1:void w(java.lang.String,java.lang.String):44:44 -> a
    2:2:void w(java.lang.String,java.lang.String,java.lang.Throwable):52:52 -> a
    3:3:void e(java.lang.Throwable):84:84 -> a
    1:1:void i(java.lang.String,java.lang.String):36:36 -> b
    2:2:void e(java.lang.String,java.lang.String,java.lang.Throwable):68:68 -> b
    1:1:void e(java.lang.String,java.lang.String):60:60 -> c
    1:1:void d(java.lang.String,java.lang.String):28:28 -> d
    1:1:void destroy():76:76 -> destroy
com.sf.sdk.common.task.FirstScreenStableWatcher -> com.sf.sdk.r.a:
# {"id":"sourceFile","fileName":"FirstScreenStableWatcher.java"}
    android.os.Handler mainHandler -> a
    java.util.concurrent.atomic.AtomicBoolean started -> b
    java.util.concurrent.atomic.AtomicBoolean completed -> c
    java.util.concurrent.atomic.AtomicInteger generation -> d
    com.sf.sdk.common.task.OnceTask startupTask -> e
    java.lang.Runnable quietWindowRunnable -> f
    java.lang.ref.WeakReference watchedDecorViewRef -> g
    java.lang.ref.WeakReference currentActivityRef -> h
    android.view.ViewTreeObserver$OnPreDrawListener currentPreDrawListener -> i
    1:8:void <init>():37:44 -> <init>
    1:4:void start(java.lang.Runnable):53:56 -> a
    5:9:boolean isValidCandidate(android.app.Activity,int):191:195 -> a
    10:10:boolean isActivityUsable(android.app.Activity):204:204 -> a
    11:19:void cancelCurrentPreDrawListener():215:223 -> a
    20:26:void clearCurrentPreDrawListener(android.view.View,android.view.ViewTreeObserver$OnPreDrawListener):228:234 -> a
    1:12:void onActivityAvailable(android.app.Activity):64:75 -> b
    13:16:void waitForMainThreadIdle(android.app.Activity,int):147:150 -> b
    17:19:void cancelQuietWindow():208:210 -> b
    20:22:void tryRemovePreDrawListener(android.view.View,android.view.ViewTreeObserver$OnPreDrawListener):240:242 -> b
    1:13:void onActivityUnstable(android.app.Activity):83:95 -> c
    14:38:void watchActivityStable(android.app.Activity,int):119:143 -> c
    39:50:void complete():175:186 -> c
    1:1:android.app.Activity getCurrentActivity():200:200 -> d
com.sf.sdk.common.task.FirstScreenStableWatcher$1 -> com.sf.sdk.r.a$a:
# {"id":"sourceFile","fileName":"FirstScreenStableWatcher.java"}
    android.view.View val$decorView -> a
    android.app.Activity val$activity -> b
    int val$token -> c
    com.sf.sdk.common.task.FirstScreenStableWatcher this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/a;"}
    1:1:void <init>(com.sf.sdk.common.task.FirstScreenStableWatcher,android.view.View,android.app.Activity,int):121:121 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/a;Landroid/view/View;Landroid/app/Activity;I)V"}
    1:4:void lambda$onPreDraw$0(android.app.Activity,int,long):132:135 -> a
    1:8:boolean onPreDraw():124:131 -> onPreDraw
com.sf.sdk.common.task.FirstScreenStableWatcher$2 -> com.sf.sdk.r.a$b:
# {"id":"sourceFile","fileName":"FirstScreenStableWatcher.java"}
    android.app.Activity val$activity -> a
    int val$token -> b
    com.sf.sdk.common.task.FirstScreenStableWatcher this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/a;"}
    1:1:void <init>(com.sf.sdk.common.task.FirstScreenStableWatcher,android.app.Activity,int):150:150 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/a;Landroid/app/Activity;I)V"}
    1:16:boolean queueIdle():153:168 -> queueIdle
com.sf.sdk.common.task.FirstScreenStableWatcher$2$1 -> com.sf.sdk.r.a$b$a:
# {"id":"sourceFile","fileName":"FirstScreenStableWatcher.java"}
    com.sf.sdk.common.task.FirstScreenStableWatcher$2 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/a$b;"}
    1:1:void <init>(com.sf.sdk.common.task.FirstScreenStableWatcher$2):157:157 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/a$b;)V"}
    1:4:void run():160:163 -> run
com.sf.sdk.common.task.OnceTask -> com.sf.sdk.common.task.OnceTask:
# {"id":"sourceFile","fileName":"OnceTask.java"}
    1:1:void <init>(java.lang.Runnable):20:20 -> <init>
    2:5:void <init>(java.lang.Runnable):18:21 -> <init>
    1:1:com.sf.sdk.common.task.OnceTask decorate(java.lang.Runnable):32:32 -> decorate
    1:2:void run():26:27 -> run
    1:1:void scheduleTaskWhenIdle(java.lang.Runnable):39:39 -> scheduleTaskWhenIdle
    2:11:void scheduleTaskWhenIdle(java.lang.Runnable,long):43:52 -> scheduleTaskWhenIdle
com.sf.sdk.common.task.OnceTask$1 -> com.sf.sdk.common.task.OnceTask$a:
# {"id":"sourceFile","fileName":"OnceTask.java"}
    com.sf.sdk.common.task.OnceTask val$onceTask -> a
    1:1:void <init>(com.sf.sdk.common.task.OnceTask):44:44 -> <init>
    1:1:boolean queueIdle():47:47 -> queueIdle
com.sf.sdk.common.task.SFThreadFactory -> com.sf.sdk.r.b:
# {"id":"sourceFile","fileName":"SFThreadFactory.java"}
    java.lang.String namePrefix -> a
    java.util.concurrent.atomic.AtomicLong threadCount -> b
    java.util.concurrent.ThreadFactory DEFAULT -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    2:2:void <init>(java.lang.String):22:22 -> <init>
    3:10:void <init>(java.lang.String):16:23 -> <init>
    1:2:java.lang.Thread newThread(java.lang.Runnable):28:29 -> newThread
com.sf.sdk.common.task.StartupDispatcher -> com.sf.sdk.r.c:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    java.util.concurrent.atomic.AtomicBoolean PREPARED -> a
    java.util.concurrent.atomic.AtomicBoolean PRIORITY_STARTED -> b
    java.util.concurrent.atomic.AtomicBoolean APP_BECOME_ACTIVE -> c
    java.util.concurrent.atomic.AtomicBoolean THIRD_STARTED -> d
    1:4:void <clinit>():33:36 -> <clinit>
    1:19:void initAdvertisingId(android.app.Application):177:195 -> a
    1:69:void onFirstScreenStable(android.app.Application):104:172 -> b
    1:4:void prepare(android.app.Application):42:45 -> c
    1:5:void schedulePriorityTasks(android.app.Application):52:56 -> d
    1:17:void scheduleThirdTasks(android.app.Application):84:100 -> e
com.sf.sdk.common.task.StartupDispatcher$1 -> com.sf.sdk.r.c$g:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> a
    long val$startTime -> b
    1:1:void <init>(android.app.Application,long):56:56 -> <init>
    1:15:void run():60:74 -> run
com.sf.sdk.common.task.StartupDispatcher$10 -> com.sf.sdk.r.c$a:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):128:128 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():132:132 -> d
com.sf.sdk.common.task.StartupDispatcher$11 -> com.sf.sdk.r.c$b:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):122:122 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():125:125 -> d
com.sf.sdk.common.task.StartupDispatcher$12 -> com.sf.sdk.r.c$c:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):116:116 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():119:119 -> d
com.sf.sdk.common.task.StartupDispatcher$13 -> com.sf.sdk.r.c$d:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):110:110 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:void task():113:113 -> d
com.sf.sdk.common.task.StartupDispatcher$14 -> com.sf.sdk.r.c$e:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> a
    1:1:void <init>(android.app.Application):185:185 -> <init>
    1:3:void run():188:190 -> run
com.sf.sdk.common.task.StartupDispatcher$15 -> com.sf.sdk.r.c$f:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> a
    1:1:void <init>(android.app.Application):195:195 -> <init>
    1:1:void onResult(java.lang.Object):195:195 -> onResult
    2:2:void onResult(java.lang.String):198:198 -> onResult
com.sf.sdk.common.task.StartupDispatcher$2 -> com.sf.sdk.r.c$h:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):94:94 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():97:97 -> d
com.sf.sdk.common.task.StartupDispatcher$3 -> com.sf.sdk.r.c$i:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):88:88 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():91:91 -> d
com.sf.sdk.common.task.StartupDispatcher$4 -> com.sf.sdk.r.c$j:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):166:166 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():169:169 -> d
com.sf.sdk.common.task.StartupDispatcher$5 -> com.sf.sdk.r.c$k:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):159:159 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:void task():163:163 -> d
com.sf.sdk.common.task.StartupDispatcher$6 -> com.sf.sdk.r.c$l:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):153:153 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:void task():156:156 -> d
com.sf.sdk.common.task.StartupDispatcher$7 -> com.sf.sdk.r.c$m:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):147:147 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():150:150 -> d
com.sf.sdk.common.task.StartupDispatcher$8 -> com.sf.sdk.r.c$n:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):141:141 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():144:144 -> d
com.sf.sdk.common.task.StartupDispatcher$9 -> com.sf.sdk.r.c$o:
# {"id":"sourceFile","fileName":"StartupDispatcher.java"}
    android.app.Application val$application -> e
    1:1:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Application):135:135 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Application;)V"}
    1:1:void task():138:138 -> d
com.sf.sdk.common.task.TaskScheduler -> com.sf.sdk.r.d:
# {"id":"sourceFile","fileName":"TaskScheduler.java"}
    boolean isStarted -> a
    android.os.Handler mainHandler -> b
    java.util.List taskQueue -> c
    java.util.concurrent.ExecutorService threadPool -> d
    1:12:void <init>():86:97 -> <init>
    1:1:com.sf.sdk.common.task.TaskScheduler getInstance():90:90 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/r/d;"}
    2:6:void dispatch(com.sf.sdk.common.task.TaskScheduler$Task,com.sf.sdk.common.task.TaskScheduler$Mode):147:151 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;Lcom/sf/sdk/r/d$a;)V"}
    7:16:void addIdleTask(com.sf.sdk.common.task.TaskScheduler$Task):155:164 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)V"}
    1:11:com.sf.sdk.common.task.TaskScheduler addTask(com.sf.sdk.common.task.TaskScheduler$Task):103:113 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)Lcom/sf/sdk/r/d;"}
    12:12:boolean isMainThread():185:185 -> b
    1:10:void start():122:131 -> c
    11:11:void start():129:129 -> c
    12:22:void dispatch(com.sf.sdk.common.task.TaskScheduler$Task):170:180 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)V"}
    1:5:void dispatchTask(com.sf.sdk.common.task.TaskScheduler$Task):139:143 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)V"}
    1:1:boolean lambda$addIdleTask$1(com.sf.sdk.common.task.TaskScheduler$Task):157:157 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)Z"}
    1:1:void lambda$addIdleTask$2(com.sf.sdk.common.task.TaskScheduler$Task):156:156 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)V"}
    1:1:void lambda$dispatchTask$0(com.sf.sdk.common.task.TaskScheduler$Task):143:143 -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/r/d$c;)V"}
com.sf.sdk.common.task.TaskScheduler$Mode -> com.sf.sdk.r.d$a:
# {"id":"sourceFile","fileName":"TaskScheduler.java"}
    com.sf.sdk.common.task.TaskScheduler$Mode IMMEDIATE -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d$a;"}
    com.sf.sdk.common.task.TaskScheduler$Mode IDLE -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d$a;"}
    com.sf.sdk.common.task.TaskScheduler$Mode[] $VALUES -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/r/d$a;"}
    1:2:void <clinit>():19:20 -> <clinit>
    3:3:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(java.lang.String,int):18:18 -> <init>
    1:1:com.sf.sdk.common.task.TaskScheduler$Mode[] $values():18:18 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/r/d$a;"}
    1:1:com.sf.sdk.common.task.TaskScheduler$Mode valueOf(java.lang.String):18:18 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/r/d$a;"}
    1:1:com.sf.sdk.common.task.TaskScheduler$Mode[] values():18:18 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/r/d$a;"}
com.sf.sdk.common.task.TaskScheduler$Singleton -> com.sf.sdk.r.d$b:
# {"id":"sourceFile","fileName":"TaskScheduler.java"}
    com.sf.sdk.common.task.TaskScheduler INSTANCE -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d;"}
    1:1:void <clinit>():83:83 -> <clinit>
com.sf.sdk.common.task.TaskScheduler$Task -> com.sf.sdk.r.d$c:
# {"id":"sourceFile","fileName":"TaskScheduler.java"}
    java.lang.String name -> a
    com.sf.sdk.common.task.TaskScheduler$Mode mode -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d$a;"}
    com.sf.sdk.common.task.TaskScheduler$Thread thread -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d$d;"}
    long delayMillis -> d
    1:5:void <init>(java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):38:42 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:long getDelayMillis():58:58 -> a
    1:1:com.sf.sdk.common.task.TaskScheduler$Mode getMode():50:50 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/r/d$a;"}
    1:1:com.sf.sdk.common.task.TaskScheduler$Thread getThread():54:54 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/r/d$d;"}
    void task() -> d
    1:10:void run():63:72 -> run
    11:16:void run():70:75 -> run
com.sf.sdk.common.task.TaskScheduler$Thread -> com.sf.sdk.r.d$d:
# {"id":"sourceFile","fileName":"TaskScheduler.java"}
    com.sf.sdk.common.task.TaskScheduler$Thread MAIN -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d$d;"}
    com.sf.sdk.common.task.TaskScheduler$Thread ASYNC -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r/d$d;"}
    com.sf.sdk.common.task.TaskScheduler$Thread[] $VALUES -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcom/sf/sdk/r/d$d;"}
    1:2:void <clinit>():24:25 -> <clinit>
    3:3:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.lang.String,int):23:23 -> <init>
    1:1:com.sf.sdk.common.task.TaskScheduler$Thread[] $values():23:23 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/r/d$d;"}
    1:1:com.sf.sdk.common.task.TaskScheduler$Thread valueOf(java.lang.String):23:23 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/r/d$d;"}
    1:1:com.sf.sdk.common.task.TaskScheduler$Thread[] values():23:23 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcom/sf/sdk/r/d$d;"}
com.sf.sdk.common.utils.AntiShake -> com.sf.sdk.s.a:
# {"id":"sourceFile","fileName":"AntiShake.java"}
    com.sf.sdk.common.utils.AntiShake$LimitQueue queue -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s/a$a;"}
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    1:18:boolean check(java.lang.Object):26:43 -> a
com.sf.sdk.common.utils.AntiShake$LimitQueue -> com.sf.sdk.s.a$a:
# {"id":"sourceFile","fileName":"AntiShake.java"}
    int limitedSize -> a
    1:2:void <init>(int):50:51 -> <init>
    1:4:boolean offer(java.lang.Object):56:59 -> offer
com.sf.sdk.common.utils.AntiShake$OneClick -> com.sf.sdk.s.a$b:
# {"id":"sourceFile","fileName":"AntiShake.java"}
    long lastClickTime -> a
    java.lang.String flag -> b
    long interval -> c
    1:1:void <init>(java.lang.String,long):70:70 -> <init>
    2:9:void <init>(java.lang.String,long):65:72 -> <init>
    1:3:boolean check():80:82 -> a
    1:1:java.lang.String getFlag():76:76 -> b
com.sf.sdk.common.utils.ApkHelper -> com.sf.sdk.s.b:
# {"id":"sourceFile","fileName":"ApkHelper.java"}
    1:1:void <init>():24:24 -> <init>
    1:14:long getVersionCode(android.content.Context,java.lang.String):35:48 -> a
    15:18:android.content.pm.ApplicationInfo getApplicationInfo(android.content.pm.PackageManager,java.lang.String,int):86:89 -> a
    19:26:android.os.Bundle getManifestMetadata(android.content.pm.PackageManager,java.lang.String):95:102 -> a
    27:36:boolean checkAppInstalled(android.content.Context,java.util.List):172:181 -> a
    37:37:boolean checkAppInstalled(android.content.Context,java.util.List):173:173 -> a
    1:12:java.lang.String getVersionName(android.content.Context,java.lang.String):61:72 -> b
    13:16:android.content.pm.PackageInfo getPackageInfo(android.content.pm.PackageManager,java.lang.String,int):77:80 -> b
com.sf.sdk.common.utils.AppUtils -> com.sf.sdk.s.c:
# {"id":"sourceFile","fileName":"AppUtils.java"}
    java.util.concurrent.atomic.AtomicBoolean MANUAL_INVOKE_PROVIDERS -> a
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>():33:33 -> <init>
    1:1:boolean isActivityValid(android.app.Activity):38:38 -> a
    2:7:boolean isDebugEnabledFromManifest():43:48 -> a
    8:18:android.os.Bundle getManifestMetadata(android.content.Context):56:66 -> a
    19:27:void manualInvokeProvider(android.content.Context,android.content.pm.ProviderInfo):126:134 -> a
    28:33:java.util.List getHistoricalProcessExitReasons(android.content.Context,int):140:145 -> a
    1:46:void manualInvokeProviders(android.content.Context):72:117 -> b
    47:71:void manualInvokeProviders(android.content.Context):96:120 -> b
com.sf.sdk.common.utils.AppUtils$1 -> com.sf.sdk.s.c$a:
# {"id":"sourceFile","fileName":"AppUtils.java"}
    1:1:void <init>():110:110 -> <init>
    1:1:int compare(android.content.pm.ProviderInfo,android.content.pm.ProviderInfo):113:113 -> a
    1:1:int compare(java.lang.Object,java.lang.Object):110:110 -> compare
com.sf.sdk.common.utils.Base64 -> com.sf.sdk.s.d:
# {"id":"sourceFile","fileName":"Base64.java"}
    byte[] base64Alphabet -> a
    char[] lookUpBase64Alphabet -> b
    1:34:void <clinit>():23:56 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:boolean isData(char):69:69 -> a
    2:74:java.lang.String encode(byte[]):82:154 -> a
    75:79:java.lang.String encode(java.lang.String,java.lang.String):260:264 -> a
    80:85:java.lang.String decode(java.lang.String):270:275 -> a
    86:89:int removeWhiteSpace(char[]):293:296 -> a
    1:1:boolean isPad(char):65:65 -> b
    2:81:byte[] decode2Bytes(java.lang.String):168:247 -> b
    82:100:byte[] decode2Bytes(java.lang.String):219:237 -> b
    1:1:boolean isWhiteSpace(char):61:61 -> c
    2:2:java.lang.String encode(java.lang.String):255:255 -> c
com.sf.sdk.common.utils.DateUtils -> com.sf.sdk.s.e:
# {"id":"sourceFile","fileName":"DateUtils.java"}
    java.lang.String[] BROWSER_COMPATIBLE_DATE_FORMAT_STRINGS -> a
    android.util.SparseArray BROWSER_COMPATIBLE_DATE_FORMATS -> b
    java.util.TimeZone timeZone -> c
    java.lang.ThreadLocal sThreadLocal -> d
    1:26:void <clinit>():32:57 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    1:1:java.lang.String formatTime():66:66 -> a
    2:6:java.lang.String formatTime(java.util.TimeZone):71:75 -> a
    7:7:java.lang.String formatTime(long):81:81 -> a
    8:8:java.lang.String formatTime(java.lang.String,long):85:85 -> a
    9:9:java.lang.String formatTime(java.util.TimeZone,long):89:89 -> a
    10:15:java.lang.String formatTime(java.util.TimeZone,java.lang.String,long):94:99 -> a
    16:18:boolean isSameDay(long,long):119:121 -> a
    19:24:java.text.SimpleDateFormat createSimpleDateFormat(java.lang.String):191:196 -> a
    1:9:java.lang.String formatDateTime(java.lang.String):105:113 -> b
    10:10:java.text.SimpleDateFormat getDateFormat():170:170 -> b
    1:5:java.text.SimpleDateFormat getDateFormat(java.lang.String):175:179 -> c
    6:7:double getTimeZoneOffset():185:186 -> c
com.sf.sdk.common.utils.DateUtils$1 -> com.sf.sdk.s.e$a:
# {"id":"sourceFile","fileName":"DateUtils.java"}
    1:1:void <init>():57:57 -> <init>
    1:1:java.lang.Object initialValue():57:57 -> initialValue
    2:2:java.text.SimpleDateFormat initialValue():61:61 -> initialValue
com.sf.sdk.common.utils.DeviceUtils -> com.sf.sdk.s.f:
# {"id":"sourceFile","fileName":"DeviceUtils.java"}
    java.lang.String tempUid -> a
    java.lang.String deviceId -> b
    java.lang.String androidId -> c
    java.lang.String advertisingId -> d
    java.lang.String deviceRam -> e
    java.lang.String deviceDisk -> f
    1:1:void <init>():36:36 -> <init>
    1:5:void updateTempUID(java.lang.String):84:88 -> a
    6:18:java.lang.String generateDeviceId():105:117 -> a
    19:27:java.lang.String getAndroidId(android.content.Context):127:135 -> a
    28:49:void initAdvertisingId(android.content.Context,com.sf.sdk.SFResultListener):165:186 -> a
    50:64:void initAdvertisingId(android.content.Context,com.sf.sdk.SFResultListener):172:186 -> a
    65:79:void initAdvertisingId(android.content.Context,com.sf.sdk.SFResultListener):174:188 -> a
    80:99:java.lang.String getDisk(android.content.Context,boolean):218:237 -> a
    1:2:java.lang.String generateUUID():96:97 -> b
    3:3:java.lang.String getMacAddress(android.content.Context):147:147 -> b
    4:30:java.lang.String getStoragePath(android.content.Context,boolean):250:276 -> b
    1:1:java.lang.String getAdvertisingId():49:49 -> c
    2:2:java.lang.String getModel(android.content.Context):139:139 -> c
    1:8:java.lang.String getDeviceID():56:63 -> d
    9:23:java.lang.String getRAM(android.content.Context):196:210 -> d
    1:8:java.lang.String getTempUID():70:77 -> e
    9:10:java.lang.String getScreenDpi(android.content.Context):154:155 -> e
com.sf.sdk.common.utils.DigestUtils -> com.sf.sdk.s.g:
# {"id":"sourceFile","fileName":"DigestUtils.java"}
    1:1:void <init>():11:11 -> <init>
    1:1:java.lang.String md5(java.lang.String):19:19 -> a
    2:10:java.lang.String encrypt(java.lang.String,java.lang.String):47:55 -> a
    11:15:java.lang.String hex(byte[]):67:71 -> a
com.sf.sdk.common.utils.DimenUtils -> com.sf.sdk.s.h:
# {"id":"sourceFile","fileName":"DimenUtils.java"}
    1:1:void <init>():9:9 -> <init>
    1:1:int dp2px(android.content.res.Resources,float):43:43 -> a
com.sf.sdk.common.utils.EmulatorChecker -> com.sf.sdk.s.i:
# {"id":"sourceFile","fileName":"EmulatorChecker.java"}
    1:1:void <init>():16:16 -> <init>
    1:5:boolean isEmulator(android.content.Context):22:26 -> a
    6:18:boolean isEmulatorForBuild():34:46 -> a
    1:1:boolean isEmulatorFromAbi():55:55 -> b
    2:4:boolean isEmulatorForBluetooth(android.content.Context):95:97 -> b
    1:7:boolean isEmulatorFromCpu():63:69 -> c
    8:14:boolean isEmulatorForOperator(android.content.Context):79:85 -> c
com.sf.sdk.common.utils.ErrorUtils -> com.sf.sdk.s.j:
# {"id":"sourceFile","fileName":"ErrorUtils.java"}
    java.util.Map errorMessages -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    1:5:java.lang.String getErrorMessage(int,java.lang.String):64:68 -> a
    6:6:java.lang.String getErrorMessage(int,java.lang.String):62:62 -> a
com.sf.sdk.common.utils.ErrorUtils$1 -> com.sf.sdk.s.j$a:
# {"id":"sourceFile","fileName":"ErrorUtils.java"}
    1:42:void <init>():15:56 -> <init>
com.sf.sdk.common.utils.LanguageUtils -> com.sf.sdk.s.k:
# {"id":"sourceFile","fileName":"LanguageUtils.java"}
    1:1:void <init>():18:18 -> <init>
    1:7:java.lang.String getCurrentLanguage(android.content.Context):24:30 -> a
    8:18:void switchLanguage(android.content.Context,java.util.Locale):42:52 -> a
    19:22:java.util.Locale createLocale(java.lang.String,java.lang.String):58:61 -> a
    1:2:java.util.Locale getCurrentLocale(android.content.Context):34:35 -> b
com.sf.sdk.common.utils.MathUtils -> com.sf.sdk.s.l:
# {"id":"sourceFile","fileName":"MathUtils.java"}
    1:1:void <init>():9:9 -> <init>
    1:1:java.math.BigDecimal divide(double,double):44:44 -> a
    2:4:java.math.BigDecimal divide(double,double,int,java.math.RoundingMode):49:51 -> a
    1:1:java.math.BigDecimal multiply(double,double):40:40 -> b
com.sf.sdk.common.utils.PingUtils -> com.sf.sdk.s.m:
# {"id":"sourceFile","fileName":"PingUtils.java"}
    1:1:void <init>():26:26 -> <init>
    1:8:void trackPingResult(java.lang.String,java.lang.String,int,java.lang.String):60:67 -> a
    9:9:java.lang.String getPingCommand(java.lang.String):125:125 -> a
    10:10:java.lang.String getPingCommand(int,int,int,java.lang.String):137:137 -> a
    11:23:java.lang.String getPingAddress(java.lang.String,java.lang.String):141:153 -> a
    1:3:void pingDomain(java.lang.String,java.lang.String):54:56 -> b
    4:37:android.util.Pair getPingResult(java.lang.String):76:109 -> b
    38:52:android.util.Pair getPingResult(java.lang.String):101:115 -> b
    53:61:android.util.Pair getPingResult(java.lang.String):106:114 -> b
    1:3:void pingDomain(java.lang.String):44:46 -> c
    1:1:void pingGoogle(java.lang.String):36:36 -> d
com.sf.sdk.common.utils.ProcessUtils -> com.sf.sdk.s.n:
# {"id":"sourceFile","fileName":"ProcessUtils.java"}
    java.lang.String currentProcessName -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>():16:16 -> <init>
    1:18:java.lang.String getCurrentProcessName(android.content.Context):36:53 -> a
    19:29:java.lang.String getCurrentProcessNameByActivityThread():73:83 -> a
    1:4:java.lang.String getCurrentProcessNameByApplication():62:65 -> b
    5:17:java.lang.String getCurrentProcessNameByActivityManager(android.content.Context):92:104 -> b
    1:3:boolean isMainProcess(android.content.Context):24:26 -> c
com.sf.sdk.common.utils.PropertiesGet -> com.sf.sdk.s.o:
# {"id":"sourceFile","fileName":"PropertiesGet.java"}
    java.lang.Class sClass -> a
    java.util.concurrent.ConcurrentHashMap CACHE_METHODS -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    1:1:java.lang.String getString(java.lang.String):33:33 -> a
    2:2:java.lang.String getString(java.lang.String,java.lang.String):37:37 -> a
    3:16:java.lang.Object invoke(java.lang.String,java.lang.Class[],java.lang.Object[]):51:64 -> a
com.sf.sdk.common.utils.ReferrerUtils -> com.sf.sdk.s.p:
# {"id":"sourceFile","fileName":"ReferrerUtils.java"}
    java.util.Map ReferrerIdentifiers -> a
    java.util.Map MediaSourceIdentifiers -> b
    1:40:void <clinit>():10:49 -> <clinit>
    1:1:void <init>():8:8 -> <init>
    1:3:java.lang.String getMediaSource(java.lang.String):89:91 -> a
com.sf.sdk.common.utils.ReferrerUtils$1 -> com.sf.sdk.s.p$a:
# {"id":"sourceFile","fileName":"ReferrerUtils.java"}
    1:36:void <init>():10:45 -> <init>
com.sf.sdk.common.utils.ReferrerUtils$2 -> com.sf.sdk.s.p$b:
# {"id":"sourceFile","fileName":"ReferrerUtils.java"}
    1:36:void <init>():49:84 -> <init>
com.sf.sdk.common.utils.ReflectionUtils -> com.sf.sdk.s.q:
# {"id":"sourceFile","fileName":"ReflectionUtils.java"}
    1:1:void <init>():7:7 -> <init>
    1:5:boolean isClassExits(java.lang.String):10:14 -> a
    6:13:java.lang.Object newInstance(java.lang.Class):27:34 -> a
com.sf.sdk.common.utils.ResourceUtils -> com.sf.sdk.s.r:
# {"id":"sourceFile","fileName":"ResourceUtils.java"}
    1:1:void <init>():19:19 -> <init>
    1:4:void showTip(android.content.Context,java.lang.String):40:43 -> a
    5:5:int getColor(android.content.Context,int):59:59 -> a
    1:1:java.lang.String getString(android.content.Context,int):52:52 -> b
    1:1:void showTip(android.content.Context,int):30:30 -> c
com.sf.sdk.common.utils.Security -> com.sf.sdk.common.utils.Security:
# {"id":"sourceFile","fileName":"Security.java"}
    java.nio.charset.Charset UTF_8 -> a
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:3:java.lang.String decode(java.lang.String):42:44 -> a
    4:4:java.lang.String decrypt(java.lang.String,boolean):69:69 -> a
    5:6:java.lang.String decrypt(byte[],byte[],java.lang.String,boolean):73:74 -> a
    7:26:byte[] doCipher(byte[],byte[],byte[],int,boolean):80:99 -> a
    27:27:byte[] doCipher(byte[],byte[],byte[],int,boolean):89:89 -> a
    28:28:byte[] doCipher(byte[],byte[],byte[],int,boolean):85:85 -> a
    29:52:byte[] doCipher(byte[],byte[],byte[],int,boolean):81:104 -> a
    53:53:byte[] doCipher(byte[],byte[],byte[],int,boolean):102:102 -> a
    54:54:byte[] generateIv():110:110 -> a
    1:1:java.lang.String decrypt(java.lang.String):65:65 -> b
    2:2:byte[] generateKey():114:114 -> b
com.sf.sdk.common.utils.Security$SecurityException -> com.sf.sdk.common.utils.Security$SecurityException:
# {"id":"sourceFile","fileName":"Security.java"}
    1:1:void <init>(java.lang.String,java.lang.Throwable):120:120 -> <init>
com.sf.sdk.common.utils.ShellAdbUtils -> com.sf.sdk.s.s:
# {"id":"sourceFile","fileName":"ShellAdbUtils.java"}
    1:1:com.sf.sdk.common.utils.ShellAdbUtils$CommandResult execCommand(java.lang.String,boolean):41:41 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Z)Lcom/sf/sdk/s/s$a;"}
    2:62:com.sf.sdk.common.utils.ShellAdbUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):108:168 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"([Ljava/lang/String;ZZ)Lcom/sf/sdk/s/s$a;"}
    63:78:com.sf.sdk.common.utils.ShellAdbUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):155:170 -> a
    79:95:com.sf.sdk.common.utils.ShellAdbUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):155:171 -> a
    96:96:com.sf.sdk.common.utils.ShellAdbUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):109:109 -> a
com.sf.sdk.common.utils.ShellAdbUtils$CommandResult -> com.sf.sdk.s.s$a:
# {"id":"sourceFile","fileName":"ShellAdbUtils.java"}
    int result -> a
    java.lang.String successMsg -> b
    java.lang.String errorMsg -> c
    1:4:void <init>(int,java.lang.String,java.lang.String):198:201 -> <init>
com.sf.sdk.common.utils.SignUtils -> com.sf.sdk.s.t:
# {"id":"sourceFile","fileName":"SignUtils.java"}
    1:1:void <init>():12:12 -> <init>
    1:17:android.util.Pair sign(java.util.Map,java.lang.String):49:65 -> a
com.sf.sdk.common.utils.StoreUtils -> com.sf.sdk.common.utils.StoreUtils:
# {"id":"sourceFile","fileName":"StoreUtils.java"}
    1:1:void <init>():10:10 -> <init>
    1:6:void delete(java.lang.String):128:133 -> delete
    1:1:boolean getBoolean(java.lang.String):74:74 -> getBoolean
    2:2:boolean getBoolean(java.lang.String,boolean):78:78 -> getBoolean
    1:1:android.content.SharedPreferences$Editor getEditor():24:24 -> getEditor
    1:1:int getInt(java.lang.String):31:31 -> getInt
    2:2:int getInt(java.lang.String,int):35:35 -> getInt
    1:1:long getLong(java.lang.String):51:51 -> getLong
    2:2:long getLong(java.lang.String,long):55:55 -> getLong
    1:6:android.content.SharedPreferences getSharedPreferences():15:20 -> getSharedPreferences
    1:1:java.lang.String getString(java.lang.String):97:97 -> getString
    2:2:java.lang.String getString(java.lang.String,java.lang.String):104:104 -> getString
    1:3:void putBoolean(java.lang.String,boolean):88:90 -> putBoolean
    1:3:void putInt(java.lang.String,int):42:44 -> putInt
    1:3:void putLong(java.lang.String,long):65:67 -> putLong
    1:6:void putString(java.lang.String,java.lang.String):114:119 -> putString
com.sf.sdk.common.utils.WebViewUtils -> com.sf.sdk.s.u:
# {"id":"sourceFile","fileName":"WebViewUtils.java"}
    java.lang.String[] WEBVIEW_DIRS -> a
    java.util.concurrent.atomic.AtomicBoolean WARMUP -> b
    1:3:void <clinit>():31:33 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:22:void initWebView(android.content.Context):39:60 -> a
    23:23:void initWebView(android.content.Context):57:57 -> a
    24:27:java.lang.String extractSuffix(java.lang.String):79:82 -> a
    1:10:void warmUpWebView(android.content.Context):65:74 -> b
com.sf.sdk.config.AccountType -> com.sf.sdk.config.AccountType:
# {"id":"sourceFile","fileName":"AccountType.java"}
com.sf.sdk.config.AnalyticsType -> com.sf.sdk.config.AnalyticsType:
# {"id":"sourceFile","fileName":"AnalyticsType.java"}
com.sf.sdk.config.CommunityType -> com.sf.sdk.config.CommunityType:
# {"id":"sourceFile","fileName":"CommunityType.java"}
com.sf.sdk.config.ErrorCode -> com.sf.sdk.config.ErrorCode:
# {"id":"sourceFile","fileName":"ErrorCode.java"}
com.sf.sdk.config.FeedbackType -> com.sf.sdk.config.FeedbackType:
# {"id":"sourceFile","fileName":"FeedbackType.java"}
com.sf.sdk.config.RoleDataType -> com.sf.sdk.config.RoleDataType:
# {"id":"sourceFile","fileName":"RoleDataType.java"}
com.sf.sdk.config.SFAppLaunchState -> com.sf.sdk.config.SFAppLaunchState:
# {"id":"sourceFile","fileName":"SFAppLaunchState.java"}
com.sf.sdk.config.SFConfig -> com.sf.sdk.t.a:
# {"id":"sourceFile","fileName":"SFConfig.java"}
    java.lang.String reportAdUrl -> A
    int sdkPurchaseAf -> B
    java.lang.String sfDisabledEvents -> C
    int channelID -> D
    com.sf.sdk.config.SFConfig$Version version -> E
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t/a$b;"}
    org.json.JSONObject gameFeatureSwitch -> F
    int loginMode -> a
    int loginState -> b
    int visitorMode -> c
    int emailLoginState -> d
    int socialLoginState -> e
    java.util.List socialLoginTypes -> f
    java.util.List socialBindTypes -> g
    int payState -> h
    int protocolState -> i
    java.lang.String userProtocolUrl -> j
    java.lang.String privacyProtocolUrl -> k
    java.lang.String customerServiceBaseUrl -> l
    java.lang.String customerServiceJumpUrl -> m
    com.sf.sdk.config.SFConfig$Community community -> n
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t/a$a;"}
    java.lang.String communityLine -> o
    java.lang.String communityDiscord -> p
    java.lang.String communityFacebook -> q
    java.lang.String communityInstagram -> r
    java.lang.String communityTwitter -> s
    java.lang.String ipAddress -> t
    java.lang.String googleProductId -> u
    java.lang.String googleWebClientId -> v
    double googleStoreScore -> w
    int shushuState -> x
    int bigqueryState -> y
    int reportAd -> z
    1:71:void <init>(org.json.JSONObject):68:138 -> <init>
    1:1:int getBigqueryState():400:400 -> a
    2:2:void setChannelID(int):452:452 -> a
    1:1:int getChannelID():448:448 -> b
    1:1:com.sf.sdk.config.SFConfig$Community getCommunity():312:312 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/a$a;"}
    1:1:java.lang.String getCustomerServiceBaseUrl():296:296 -> d
    1:1:java.lang.String getCustomerServiceJumpUrl():304:304 -> e
    1:1:int getEmailLoginState():232:232 -> f
    1:1:double getGoogleStoreScore():384:384 -> g
    1:1:java.lang.String getGoogleWebClientId():376:376 -> h
    1:1:java.lang.String getIpAddress():360:360 -> i
    1:1:int getLoginMode():208:208 -> j
    1:1:int getLoginState():216:216 -> k
    1:1:int getPayState():264:264 -> l
    1:1:java.lang.String getPrivacyProtocolUrl():288:288 -> m
    1:1:int getProtocolState():272:272 -> n
    1:1:int getReportAd():408:408 -> o
    1:1:java.lang.String getSfDisabledEvents():432:432 -> p
    1:1:int getShushuState():392:392 -> q
    1:1:int getSocialLoginState():240:240 -> r
    1:1:java.lang.String getUserProtocolUrl():280:280 -> s
    1:1:com.sf.sdk.config.SFConfig$Version getVersion():456:456 -> t
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/a$b;"}
    1:1:int getVisitorMode():224:224 -> u
    1:60:org.json.JSONObject toJSONObject():143:202 -> v
com.sf.sdk.config.SFConfig$Community -> com.sf.sdk.t.a$a:
# {"id":"sourceFile","fileName":"SFConfig.java"}
    java.util.HashMap communityUrls -> a
    java.util.HashMap communityConfigs -> b
    1:1:void <init>():514:514 -> <init>
    1:1:java.util.HashMap getCommunityConfigs():526:526 -> a
    2:8:void addCommunityUrl(java.lang.String,java.lang.String):530:536 -> a
    9:15:void addCommunityConfig(java.lang.String,java.util.Map):540:546 -> a
    16:42:java.lang.String getCommunityUrl(java.lang.String):570:596 -> a
com.sf.sdk.config.SFConfig$Version -> com.sf.sdk.t.a$b:
# {"id":"sourceFile","fileName":"SFConfig.java"}
    int versionCode -> a
    java.lang.String versionName -> b
    java.lang.String url -> c
    int forceUpdate -> d
    1:1:void <init>():466:466 -> <init>
    1:1:java.lang.String getUrl():490:490 -> a
    1:1:int getVersionCode():474:474 -> b
    1:1:java.lang.String getVersionName():482:482 -> c
    1:1:boolean isForceUpdate():502:502 -> d
com.sf.sdk.config.SFSDKConfig -> com.sf.sdk.t.b:
# {"id":"sourceFile","fileName":"SFSDKConfig.java"}
    java.lang.String appId -> a
    java.lang.String appKey -> b
    java.lang.String initConfig -> c
    java.lang.String domainConfig -> d
    java.lang.String domainDetail -> e
    java.lang.String uiVersion -> f
    java.lang.String networkTips -> g
    java.lang.String platformId -> h
    java.lang.String platformName -> i
    java.lang.String applovinSdkKey -> j
    java.lang.String appsflyerDevKey -> k
    java.lang.String thinkingAppId -> l
    java.lang.String thinkingServerUrl -> m
    1:27:void <init>(android.content.Context):30:56 -> <init>
    28:28:void <init>(android.content.Context):38:38 -> <init>
    29:53:void <init>(android.content.Context):34:58 -> <init>
    1:1:java.lang.String getAppId():63:63 -> a
    1:1:java.lang.String getAppKey():71:71 -> b
    1:1:java.lang.String getApplovinSdkKey():135:135 -> c
    1:1:java.lang.String getAppsflyerDevKey():143:143 -> d
    1:1:java.lang.String getDomainConfig():87:87 -> e
    1:1:java.lang.String getDomainDetail():95:95 -> f
    1:1:java.lang.String getInitConfig():79:79 -> g
    1:1:java.lang.String getPlatformId():119:119 -> h
    1:1:java.lang.String getPlatformName():127:127 -> i
    1:1:java.lang.String getThinkingAppId():151:151 -> j
    1:1:java.lang.String getThinkingServerUrl():159:159 -> k
    1:1:boolean showNetworkTips():167:167 -> l
com.sf.sdk.data.SFAccount -> com.sf.sdk.data.SFAccount:
# {"id":"sourceFile","fileName":"SFAccount.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:int getAccountType():30:30 -> getAccountType
    1:1:java.lang.String getLoginName():22:22 -> getLoginName
    1:1:java.lang.String getName():14:14 -> getName
    1:1:boolean isNewAccount():38:38 -> isNewAccount
    1:1:void setAccountType(int):34:34 -> setAccountType
    1:1:void setLoginName(java.lang.String):26:26 -> setLoginName
    1:1:void setName(java.lang.String):18:18 -> setName
    1:1:void setNewAccount(int):42:42 -> setNewAccount
com.sf.sdk.data.SFAdImpression -> com.sf.sdk.data.SFAdImpression:
# {"id":"sourceFile","fileName":"SFAdImpression.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:java.lang.String getAdFormat():34:34 -> getAdFormat
    1:1:java.lang.String getAdNetwork():26:26 -> getAdNetwork
    1:1:java.lang.String getAdPlatform():18:18 -> getAdPlatform
    1:1:java.lang.String getAdUnitName():42:42 -> getAdUnitName
    1:1:java.lang.String getCurrency():58:58 -> getCurrency
    1:1:double getRevenue():50:50 -> getRevenue
    1:1:void setAdFormat(java.lang.String):38:38 -> setAdFormat
    1:1:void setAdNetwork(java.lang.String):30:30 -> setAdNetwork
    1:1:void setAdPlatform(java.lang.String):22:22 -> setAdPlatform
    1:1:void setAdUnitName(java.lang.String):46:46 -> setAdUnitName
    1:1:void setCurrency(java.lang.String):62:62 -> setCurrency
    1:1:void setRevenue(double):54:54 -> setRevenue
com.sf.sdk.data.SFAdRevenue -> com.sf.sdk.data.SFAdRevenue:
# {"id":"sourceFile","fileName":"SFAdRevenue.java"}
    1:13:void <init>(com.sf.sdk.data.SFAdRevenue$Builder):28:40 -> <init>
    1:1:java.lang.String getAdFormat():60:60 -> getAdFormat
    1:1:java.lang.String getAdUnitId():56:56 -> getAdUnitId
    1:1:double getAppsflyerRevenueRatio():88:88 -> getAppsflyerRevenueRatio
    1:1:java.lang.String getCountry():52:52 -> getCountry
    1:1:java.lang.String getCurrency():76:76 -> getCurrency
    1:1:java.lang.String getNetworkName():68:68 -> getNetworkName
    1:1:java.lang.String getPlacement():64:64 -> getPlacement
    1:1:java.lang.String getPlatform():44:44 -> getPlatform
    1:1:double getRevenue():72:72 -> getRevenue
    1:1:int getRevenueNumber():84:84 -> getRevenueNumber
    1:1:java.lang.String getRevenuePrecision():80:80 -> getRevenuePrecision
    1:1:java.lang.String getWaterfall():48:48 -> getWaterfall
    1:14:org.json.JSONObject toJSONObject():92:105 -> toJSONObject
com.sf.sdk.data.SFAdRevenue$Builder -> com.sf.sdk.data.SFAdRevenue$Builder:
# {"id":"sourceFile","fileName":"SFAdRevenue.java"}
    1:2:void <init>():124:125 -> <init>
    1:4:com.sf.sdk.data.SFAdRevenue build():189:192 -> build
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setAdFormat(java.lang.String):149:149 -> setAdFormat
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setAdUnitId(java.lang.String):144:144 -> setAdUnitId
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setAppsflyerRevenueRatio(double):184:184 -> setAppsflyerRevenueRatio
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setCountry(java.lang.String):139:139 -> setCountry
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setCurrency(java.lang.String):169:169 -> setCurrency
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setNetworkName(java.lang.String):159:159 -> setNetworkName
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setPlacement(java.lang.String):154:154 -> setPlacement
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setPlatform(java.lang.String):129:129 -> setPlatform
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setRevenue(double):164:164 -> setRevenue
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setRevenueNumber(int):179:179 -> setRevenueNumber
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setRevenuePrecision(java.lang.String):174:174 -> setRevenuePrecision
    1:1:com.sf.sdk.data.SFAdRevenue$Builder setWaterfall(java.lang.String):134:134 -> setWaterfall
com.sf.sdk.data.SFAppUpdateInfo -> com.sf.sdk.data.SFAppUpdateInfo:
# {"id":"sourceFile","fileName":"SFAppUpdateInfo.java"}
    1:23:void <init>(com.sf.sdk.data.SFAppUpdateInfo$Builder):59:81 -> <init>
    1:17:int calculateUpdateType():185:201 -> calculateUpdateType
    1:10:boolean canShowSoftUpdate():208:217 -> canShowSoftUpdate
    11:13:boolean canShowSoftUpdate():211:213 -> canShowSoftUpdate
    1:1:java.lang.String getFallbackUrl():104:104 -> getFallbackUrl
    1:1:java.util.Set getForceUpdateVersions():116:116 -> getForceUpdateVersions
    1:1:java.lang.String getLatestVersion():108:108 -> getLatestVersion
    1:4:java.lang.String getMessage():93:96 -> getMessage
    1:1:java.lang.String getMinRequiredVersion():112:112 -> getMinRequiredVersion
    1:1:java.lang.String getStoreUrl():100:100 -> getStoreUrl
    1:1:java.lang.String getTitle():89:89 -> getTitle
    1:1:boolean isEnabled():85:85 -> isEnabled
    1:1:boolean isForceUpdate():128:128 -> isForceUpdate
    1:1:boolean isSoftUpdate():124:124 -> isSoftUpdate
    1:1:boolean isUpdateAvailable():120:120 -> isUpdateAvailable
    1:1:void lambda$openAppStore$0(android.app.Activity):139:139 -> lambda$openAppStore$0
    1:5:void openAppStore(android.app.Activity):138:142 -> openAppStore
    1:5:void openInAppUpdate(android.app.Activity,com.sf.sdk.SFConsumer):154:158 -> openInAppUpdate
    1:18:void openWebKit(android.app.Activity):162:179 -> openWebKit
    1:3:void skipSoftUpdate():132:134 -> skipSoftUpdate
com.sf.sdk.data.SFAppUpdateInfo$1 -> com.sf.sdk.data.SFAppUpdateInfo$1:
# {"id":"sourceFile","fileName":"SFAppUpdateInfo.java"}
    1:1:void <init>(com.sf.sdk.data.SFAppUpdateInfo,android.app.Activity):142:142 -> <init>
    1:1:void accept(java.lang.Object):142:142 -> accept
    2:5:void accept(java.lang.Boolean):145:148 -> accept
com.sf.sdk.data.SFAppUpdateInfo$AppUpdateType -> com.sf.sdk.data.SFAppUpdateInfo$AppUpdateType:
# {"id":"sourceFile","fileName":"SFAppUpdateInfo.java"}
com.sf.sdk.data.SFAppUpdateInfo$Builder -> com.sf.sdk.data.SFAppUpdateInfo$Builder:
# {"id":"sourceFile","fileName":"SFAppUpdateInfo.java"}
    1:2:void <init>(java.lang.String):234:235 -> <init>
    1:1:com.sf.sdk.data.SFAppUpdateInfo build():288:288 -> build
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setEnabled(boolean):239:239 -> setEnabled
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setFallbackUrl(java.lang.String):264:264 -> setFallbackUrl
    1:3:com.sf.sdk.data.SFAppUpdateInfo$Builder setForceUpdateVersions(java.util.Collection):280:282 -> setForceUpdateVersions
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setHardMessage(java.lang.String):254:254 -> setHardMessage
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setLatestVersion(java.lang.String):269:269 -> setLatestVersion
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setMinRequiredVersion(java.lang.String):274:274 -> setMinRequiredVersion
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setSoftMessage(java.lang.String):249:249 -> setSoftMessage
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setStoreUrl(java.lang.String):259:259 -> setStoreUrl
    1:1:com.sf.sdk.data.SFAppUpdateInfo$Builder setTitle(java.lang.String):244:244 -> setTitle
com.sf.sdk.data.SFAppUpdateInfo$VersionTools -> com.sf.sdk.data.SFAppUpdateInfo$VersionTools:
# {"id":"sourceFile","fileName":"SFAppUpdateInfo.java"}
    1:1:void <init>():293:293 -> <init>
    1:19:int compareVersion(java.lang.String,java.lang.String):297:315 -> compareVersion
    1:13:java.lang.String sanitizeVersion(java.lang.String):326:338 -> sanitizeVersion
com.sf.sdk.data.SFAppsFlyerData -> com.sf.sdk.data.SFAppsFlyerData:
# {"id":"sourceFile","fileName":"SFAppsFlyerData.java"}
    1:1:void <init>():11:11 -> <init>
    1:1:java.lang.String getAppsFlyerUID():28:28 -> getAppsFlyerUID
    1:1:java.lang.String getAttributionId():36:36 -> getAttributionId
    1:1:java.lang.String getConversionData():52:52 -> getConversionData
    1:1:java.lang.String getOutOfStore():44:44 -> getOutOfStore
    1:1:java.lang.String getSdkVersion():20:20 -> getSdkVersion
    1:1:void setAppsFlyerUID(java.lang.String):32:32 -> setAppsFlyerUID
    1:1:void setAttributionId(java.lang.String):40:40 -> setAttributionId
    1:1:void setConversionData(java.lang.String):56:56 -> setConversionData
    1:1:void setOutOfStore(java.lang.String):48:48 -> setOutOfStore
    1:1:void setSdkVersion(java.lang.String):24:24 -> setSdkVersion
    1:11:java.lang.String toJson():61:71 -> toJson
com.sf.sdk.data.SFConversionData -> com.sf.sdk.data.SFConversionData:
# {"id":"sourceFile","fileName":"SFConversionData.java"}
    1:3:void <init>(com.sf.sdk.data.SFConversionData$Builder):15:17 -> <init>
    1:1:java.lang.String getCampaign():21:21 -> getCampaign
    1:1:java.lang.String getMediaSource():25:25 -> getMediaSource
    1:1:boolean isEmpty():29:29 -> isEmpty
com.sf.sdk.data.SFConversionData$Builder -> com.sf.sdk.data.SFConversionData$Builder:
# {"id":"sourceFile","fileName":"SFConversionData.java"}
    1:1:void <init>():32:32 -> <init>
    1:1:com.sf.sdk.data.SFConversionData build():48:48 -> build
    1:1:com.sf.sdk.data.SFConversionData$Builder setCampaign(java.lang.String):38:38 -> setCampaign
    1:1:com.sf.sdk.data.SFConversionData$Builder setMediaSource(java.lang.String):43:43 -> setMediaSource
com.sf.sdk.data.SFDeepLink -> com.sf.sdk.data.SFDeepLink:
# {"id":"sourceFile","fileName":"SFDeepLink.java"}
    1:1:void <init>():10:10 -> <init>
    1:1:org.json.JSONObject getDeepLink():24:24 -> getDeepLink
    1:1:android.net.Uri getUri():16:16 -> getUri
    1:1:void setDeepLink(org.json.JSONObject):28:28 -> setDeepLink
    1:1:void setUri(android.net.Uri):20:20 -> setUri
com.sf.sdk.data.SFFeedbackReply -> com.sf.sdk.data.SFFeedbackReply:
# {"id":"sourceFile","fileName":"SFFeedbackReply.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:java.lang.String getContent():21:21 -> getContent
    1:1:java.lang.String getQuestionId():29:29 -> getQuestionId
    1:1:java.lang.String getReplyId():13:13 -> getReplyId
    1:1:void setContent(java.lang.String):25:25 -> setContent
    1:1:void setQuestionId(java.lang.String):33:33 -> setQuestionId
    1:1:void setReplyId(java.lang.String):17:17 -> setReplyId
com.sf.sdk.data.SFFirebaseData -> com.sf.sdk.data.SFFirebaseData:
# {"id":"sourceFile","fileName":"SFFirebaseData.java"}
    1:1:void <init>():11:11 -> <init>
    1:1:java.lang.String getAppInstanceId():27:27 -> getAppInstanceId
    1:1:java.lang.String getFirebaseInstanceId():35:35 -> getFirebaseInstanceId
    1:1:java.lang.String getFirebaseMessagingToken():43:43 -> getFirebaseMessagingToken
    1:1:java.lang.Long getSessionId():19:19 -> getSessionId
    1:1:void setAppInstanceId(java.lang.String):31:31 -> setAppInstanceId
    1:1:void setFirebaseInstanceId(java.lang.String):39:39 -> setFirebaseInstanceId
    1:1:void setFirebaseMessagingToken(java.lang.String):47:47 -> setFirebaseMessagingToken
    1:1:void setSessionId(java.lang.Long):23:23 -> setSessionId
    1:10:java.lang.String toJson():52:61 -> toJson
com.sf.sdk.data.SFFirebaseInstallationToken -> com.sf.sdk.data.SFFirebaseInstallationToken:
# {"id":"sourceFile","fileName":"SFFirebaseInstallationToken.java"}
    1:4:void <init>(com.sf.sdk.data.SFFirebaseInstallationToken$Builder):12:15 -> <init>
    1:1:java.lang.String getToken():19:19 -> getToken
    1:1:long getTokenCreationTimestamp():27:27 -> getTokenCreationTimestamp
    1:1:long getTokenExpirationTimestamp():23:23 -> getTokenExpirationTimestamp
com.sf.sdk.data.SFFirebaseInstallationToken$Builder -> com.sf.sdk.data.SFFirebaseInstallationToken$Builder:
# {"id":"sourceFile","fileName":"SFFirebaseInstallationToken.java"}
    1:1:void <init>():30:30 -> <init>
    1:1:com.sf.sdk.data.SFFirebaseInstallationToken build():52:52 -> build
    1:1:com.sf.sdk.data.SFFirebaseInstallationToken$Builder setToken(java.lang.String):37:37 -> setToken
    1:1:com.sf.sdk.data.SFFirebaseInstallationToken$Builder setTokenCreationTimestamp(long):47:47 -> setTokenCreationTimestamp
    1:1:com.sf.sdk.data.SFFirebaseInstallationToken$Builder setTokenExpirationTimestamp(long):42:42 -> setTokenExpirationTimestamp
com.sf.sdk.data.SFFirebaseMessage -> com.sf.sdk.data.SFFirebaseMessage:
# {"id":"sourceFile","fileName":"SFFirebaseMessage.java"}
    1:1:void <init>():19:19 -> <init>
    1:1:java.lang.String getCollapseKey():60:60 -> getCollapseKey
    1:1:java.util.Map getData():117:117 -> getData
    1:1:java.lang.String getFrom():43:43 -> getFrom
    1:1:java.lang.String getMessageId():68:68 -> getMessageId
    1:1:java.lang.String getMessageType():76:76 -> getMessageType
    1:1:com.sf.sdk.data.SFFirebaseMessage$DisplayNotificationInfo getNotificationInfo():125:125 -> getNotificationInfo
    1:1:int getOriginalPriority():100:100 -> getOriginalPriority
    1:1:int getPriority():109:109 -> getPriority
    1:1:java.lang.String getSenderId():35:35 -> getSenderId
    1:1:long getSentTime():84:84 -> getSentTime
    1:1:java.lang.String getTo():52:52 -> getTo
    1:1:int getTtl():92:92 -> getTtl
    1:1:boolean hasNotification():133:133 -> hasNotification
    1:1:void setCollapseKey(java.lang.String):64:64 -> setCollapseKey
    1:1:void setData(java.util.Map):121:121 -> setData
    1:1:void setFrom(java.lang.String):47:47 -> setFrom
    1:1:void setMessageId(java.lang.String):72:72 -> setMessageId
    1:1:void setMessageType(java.lang.String):80:80 -> setMessageType
    1:1:void setNotificationInfo(com.sf.sdk.data.SFFirebaseMessage$DisplayNotificationInfo):129:129 -> setNotificationInfo
    1:1:void setOriginalPriority(int):104:104 -> setOriginalPriority
    1:1:void setPriority(int):113:113 -> setPriority
    1:1:void setSenderId(java.lang.String):39:39 -> setSenderId
    1:1:void setSentTime(long):88:88 -> setSentTime
    1:1:void setTo(java.lang.String):56:56 -> setTo
    1:1:void setTtl(int):96:96 -> setTtl
    1:8:void showNotification(android.content.Context):137:144 -> showNotification
com.sf.sdk.data.SFFirebaseMessage$DisplayNotificationInfo -> com.sf.sdk.data.SFFirebaseMessage$DisplayNotificationInfo:
# {"id":"sourceFile","fileName":"SFFirebaseMessage.java"}
    1:4:void <init>(int,java.lang.String,androidx.core.app.NotificationCompat$Builder):153:156 -> <init>
    1:1:int getId():160:160 -> getId
    1:1:androidx.core.app.NotificationCompat$Builder getNotificationBuilder():168:168 -> getNotificationBuilder
    1:1:java.lang.String getTag():164:164 -> getTag
com.sf.sdk.data.SFFirebaseMessage$MessagePriority -> com.sf.sdk.data.SFFirebaseMessage$MessagePriority:
# {"id":"sourceFile","fileName":"SFFirebaseMessage.java"}
com.sf.sdk.data.SFGameSnapshot -> com.sf.sdk.data.SFGameSnapshot:
# {"id":"sourceFile","fileName":"SFGameSnapshot.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:java.lang.String getDescription():52:52 -> getDescription
    1:1:java.lang.String getDeviceName():44:44 -> getDeviceName
    1:1:long getLastModifiedTimestamp():84:84 -> getLastModifiedTimestamp
    1:1:long getPlayedTime():68:68 -> getPlayedTime
    1:1:java.lang.String getPlayerName():20:20 -> getPlayerName
    1:1:long getProgressValue():76:76 -> getProgressValue
    1:1:byte[] getSnapshotData():60:60 -> getSnapshotData
    1:1:java.lang.String getSnapshotId():28:28 -> getSnapshotId
    1:1:java.lang.String getUniqueName():36:36 -> getUniqueName
    1:1:boolean hasChangePending():92:92 -> hasChangePending
    1:1:void setDescription(java.lang.String):56:56 -> setDescription
    1:1:void setDeviceName(java.lang.String):48:48 -> setDeviceName
    1:1:void setHasChangePending(boolean):96:96 -> setHasChangePending
    1:1:void setLastModifiedTimestamp(long):88:88 -> setLastModifiedTimestamp
    1:1:void setPlayedTime(long):72:72 -> setPlayedTime
    1:1:void setPlayerName(java.lang.String):24:24 -> setPlayerName
    1:1:void setProgressValue(long):80:80 -> setProgressValue
    1:1:void setSnapshotData(byte[]):64:64 -> setSnapshotData
    1:1:void setSnapshotId(java.lang.String):32:32 -> setSnapshotId
    1:1:void setUniqueName(java.lang.String):40:40 -> setUniqueName
com.sf.sdk.data.SFInitParams -> com.sf.sdk.data.SFInitParams:
# {"id":"sourceFile","fileName":"SFInitParams.java"}
    1:4:void <init>(java.lang.String,java.lang.String,int):14:17 -> <init>
    1:1:java.lang.String getAppID():21:21 -> getAppID
    1:1:java.lang.String getAppKey():25:25 -> getAppKey
    1:1:int getOrientation():29:29 -> getOrientation
com.sf.sdk.data.SFInitParams$Builder -> com.sf.sdk.data.SFInitParams$Builder:
# {"id":"sourceFile","fileName":"SFInitParams.java"}
    1:5:void <init>():32:36 -> <init>
    1:1:com.sf.sdk.data.SFInitParams build():55:55 -> build
    1:1:com.sf.sdk.data.SFInitParams$Builder setAppID(java.lang.String):39:39 -> setAppID
    1:1:com.sf.sdk.data.SFInitParams$Builder setAppKey(java.lang.String):44:44 -> setAppKey
    1:1:com.sf.sdk.data.SFInitParams$Builder setOrientation(int):50:50 -> setOrientation
com.sf.sdk.data.SFLeaderboard -> com.sf.sdk.data.SFLeaderboard:
# {"id":"sourceFile","fileName":"SFLeaderboard.java"}
    1:10:void <init>(com.sf.sdk.data.SFLeaderboard$Builder):18:27 -> <init>
    1:1:java.lang.String getExtra():51:51 -> getExtra
    1:1:java.lang.String getGroupId():43:43 -> getGroupId
    1:1:long getLastScore():63:63 -> getLastScore
    1:1:java.lang.String getLeaderboardId():47:47 -> getLeaderboardId
    1:1:java.lang.String getPictureUrl():39:39 -> getPictureUrl
    1:1:java.lang.String getPlayerId():31:31 -> getPlayerId
    1:1:java.lang.String getPlayerName():35:35 -> getPlayerName
    1:1:long getRank():55:55 -> getRank
    1:1:long getScore():59:59 -> getScore
    1:10:com.sf.sdk.data.SFLeaderboard$Builder newBuilder():67:76 -> newBuilder
com.sf.sdk.data.SFLeaderboard$Builder -> com.sf.sdk.data.SFLeaderboard$Builder:
# {"id":"sourceFile","fileName":"SFLeaderboard.java"}
    1:1:void <init>():79:79 -> <init>
    1:1:com.sf.sdk.data.SFLeaderboard build():137:137 -> build
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setExtra(java.lang.String):117:117 -> setExtra
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setGroupId(java.lang.String):107:107 -> setGroupId
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setLastScore(long):132:132 -> setLastScore
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setLeaderboardId(java.lang.String):112:112 -> setLeaderboardId
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setPictureUrl(java.lang.String):102:102 -> setPictureUrl
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setPlayerId(java.lang.String):92:92 -> setPlayerId
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setPlayerName(java.lang.String):97:97 -> setPlayerName
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setRank(long):122:122 -> setRank
    1:1:com.sf.sdk.data.SFLeaderboard$Builder setScore(long):127:127 -> setScore
com.sf.sdk.data.SFMailData -> com.sf.sdk.data.SFMailData:
# {"id":"sourceFile","fileName":"SFMailData.java"}
    1:6:void <init>(com.sf.sdk.data.SFMailData$Builder):17:22 -> <init>
    1:1:java.lang.String getContent():38:38 -> getContent
    1:1:java.util.List getGifts():42:42 -> getGifts
    1:1:java.lang.String getMailId():30:30 -> getMailId
    1:1:java.lang.String getTitle():34:34 -> getTitle
    1:1:int getType():26:26 -> getType
    1:1:boolean isPersonalMail():46:46 -> isPersonalMail
com.sf.sdk.data.SFMailData$Builder -> com.sf.sdk.data.SFMailData$Builder:
# {"id":"sourceFile","fileName":"SFMailData.java"}
    1:1:void <init>():49:49 -> <init>
    1:4:com.sf.sdk.data.SFMailData$Builder addGift(com.sf.sdk.data.SFMailData$SFMailGift):83:86 -> addGift
    1:1:com.sf.sdk.data.SFMailData build():91:91 -> build
    1:1:com.sf.sdk.data.SFMailData$Builder setContent(java.lang.String):73:73 -> setContent
    1:1:com.sf.sdk.data.SFMailData$Builder setGifts(java.util.List):78:78 -> setGifts
    1:1:com.sf.sdk.data.SFMailData$Builder setMailId(java.lang.String):63:63 -> setMailId
    1:1:com.sf.sdk.data.SFMailData$Builder setTitle(java.lang.String):68:68 -> setTitle
    1:1:com.sf.sdk.data.SFMailData$Builder setType(int):58:58 -> setType
com.sf.sdk.data.SFMailData$SFMailGift -> com.sf.sdk.data.SFMailData$SFMailGift:
# {"id":"sourceFile","fileName":"SFMailData.java"}
    1:3:void <init>(com.sf.sdk.data.SFMailData$SFMailGift$Builder):104:106 -> <init>
    1:1:java.lang.String getGiftId():110:110 -> getGiftId
    1:1:int getGiftNum():114:114 -> getGiftNum
com.sf.sdk.data.SFMailData$SFMailGift$Builder -> com.sf.sdk.data.SFMailData$SFMailGift$Builder:
# {"id":"sourceFile","fileName":"SFMailData.java"}
    1:1:void <init>():117:117 -> <init>
    1:1:com.sf.sdk.data.SFMailData$SFMailGift build():133:133 -> build
    1:1:com.sf.sdk.data.SFMailData$SFMailGift$Builder setGiftId(java.lang.String):123:123 -> setGiftId
    1:1:com.sf.sdk.data.SFMailData$SFMailGift$Builder setGiftNum(int):128:128 -> setGiftNum
com.sf.sdk.data.SFOrder -> com.sf.sdk.data.SFOrder:
# {"id":"sourceFile","fileName":"SFOrder.java"}
    1:1:void <init>():43:43 -> <init>
    2:8:void <init>():17:23 -> <init>
    9:9:void <init>(org.json.JSONObject):46:46 -> <init>
    10:61:void <init>(org.json.JSONObject):17:68 -> <init>
    1:1:double formatPrice():249:249 -> formatPrice
    1:1:java.lang.String getCpOrderID():193:193 -> getCpOrderID
    1:1:java.lang.String getCurrency():137:137 -> getCurrency
    1:1:java.lang.String getExtra():209:209 -> getExtra
    1:1:java.lang.String getLanguage():217:217 -> getLanguage
    1:1:com.sf.sdk.data.SFOrderResult getOrderResult():241:241 -> getOrderResult
    1:1:long getOrderTime():225:225 -> getOrderTime
    1:1:int getOrderType():81:81 -> getOrderType
    1:1:java.lang.String getPayNotifyUrl():201:201 -> getPayNotifyUrl
    1:1:int getPayType():73:73 -> getPayType
    1:1:long getPrice():121:121 -> getPrice
    1:1:java.lang.String getProductDesc():105:105 -> getProductDesc
    1:1:java.lang.String getProductID():89:89 -> getProductID
    1:1:java.lang.String getProductName():97:97 -> getProductName
    1:1:int getQuantity():113:113 -> getQuantity
    1:1:java.lang.String getRoleID():145:145 -> getRoleID
    1:1:java.lang.String getRoleLevel():161:161 -> getRoleLevel
    1:1:java.lang.String getRoleName():153:153 -> getRoleName
    1:1:java.lang.String getServerID():169:169 -> getServerID
    1:1:java.lang.String getServerName():177:177 -> getServerName
    1:1:java.lang.String getVipLevel():185:185 -> getVipLevel
    1:1:boolean isSandbox():233:233 -> isSandbox
    1:1:void setCpOrderID(java.lang.String):197:197 -> setCpOrderID
    1:1:void setCurrency(java.lang.String):141:141 -> setCurrency
    1:1:void setExtra(java.lang.String):213:213 -> setExtra
    1:1:void setLanguage(java.lang.String):221:221 -> setLanguage
    1:1:void setOrderResult(com.sf.sdk.data.SFOrderResult):245:245 -> setOrderResult
    1:1:void setOrderTime(long):229:229 -> setOrderTime
    1:1:void setOrderType(int):85:85 -> setOrderType
    1:1:void setPayNotifyUrl(java.lang.String):205:205 -> setPayNotifyUrl
    1:1:void setPayType(int):77:77 -> setPayType
    1:1:void setPrice(long):125:125 -> setPrice
    2:4:void setPrice(java.lang.String):130:132 -> setPrice
    1:1:void setProductDesc(java.lang.String):109:109 -> setProductDesc
    1:1:void setProductID(java.lang.String):93:93 -> setProductID
    1:1:void setProductName(java.lang.String):101:101 -> setProductName
    1:1:void setQuantity(int):117:117 -> setQuantity
    1:1:void setRoleID(java.lang.String):149:149 -> setRoleID
    1:1:void setRoleLevel(java.lang.String):165:165 -> setRoleLevel
    1:1:void setRoleName(java.lang.String):157:157 -> setRoleName
    1:1:void setSandbox(boolean):237:237 -> setSandbox
    1:1:void setServerID(java.lang.String):173:173 -> setServerID
    1:1:void setServerName(java.lang.String):181:181 -> setServerName
    1:1:void setVipLevel(java.lang.String):189:189 -> setVipLevel
    1:26:org.json.JSONObject toJSONObject():253:278 -> toJSONObject
com.sf.sdk.data.SFOrderRecord -> com.sf.sdk.data.SFOrderRecord:
# {"id":"sourceFile","fileName":"SFOrderRecord.java"}
    1:1:void <init>():33:33 -> <init>
    2:18:void <init>(org.json.JSONObject):36:52 -> <init>
    1:1:java.lang.String getCpOrderID():104:104 -> getCpOrderID
    1:1:java.lang.String getCreateTime():120:120 -> getCreateTime
    1:1:int getErrorCode():184:184 -> getErrorCode
    1:1:java.lang.String getErrorMessage():192:192 -> getErrorMessage
    1:1:java.lang.String getFinishTime():128:128 -> getFinishTime
    1:1:java.lang.String getOrderID():56:56 -> getOrderID
    1:1:java.lang.String getPlatformOrderID():112:112 -> getPlatformOrderID
    1:1:java.lang.String getPrice():96:96 -> getPrice
    1:1:java.lang.String getProductDesc():80:80 -> getProductDesc
    1:1:java.lang.String getProductID():64:64 -> getProductID
    1:1:java.lang.String getProductName():72:72 -> getProductName
    1:1:int getProductType():88:88 -> getProductType
    1:1:java.lang.String getRoleID():144:144 -> getRoleID
    1:1:java.lang.String getRoleLevel():160:160 -> getRoleLevel
    1:1:java.lang.String getRoleName():152:152 -> getRoleName
    1:1:java.lang.String getServerID():168:168 -> getServerID
    1:1:java.lang.String getServerName():176:176 -> getServerName
    1:1:int getStatus():136:136 -> getStatus
    1:1:void setCpOrderID(java.lang.String):108:108 -> setCpOrderID
    1:1:void setCreateTime(java.lang.String):124:124 -> setCreateTime
    1:1:void setErrorCode(int):188:188 -> setErrorCode
    1:1:void setErrorMessage(java.lang.String):196:196 -> setErrorMessage
    1:1:void setFinishTime(java.lang.String):132:132 -> setFinishTime
    1:1:void setOrderID(java.lang.String):60:60 -> setOrderID
    1:1:void setPlatformOrderID(java.lang.String):116:116 -> setPlatformOrderID
    1:1:void setPrice(java.lang.String):100:100 -> setPrice
    1:1:void setProductDesc(java.lang.String):84:84 -> setProductDesc
    1:1:void setProductID(java.lang.String):68:68 -> setProductID
    1:1:void setProductName(java.lang.String):76:76 -> setProductName
    1:1:void setProductType(int):92:92 -> setProductType
    1:1:void setRoleID(java.lang.String):148:148 -> setRoleID
    1:1:void setRoleLevel(java.lang.String):164:164 -> setRoleLevel
    1:1:void setRoleName(java.lang.String):156:156 -> setRoleName
    1:1:void setServerID(java.lang.String):172:172 -> setServerID
    1:1:void setServerName(java.lang.String):180:180 -> setServerName
    1:1:void setStatus(int):140:140 -> setStatus
com.sf.sdk.data.SFOrderResult -> com.sf.sdk.data.SFOrderResult:
# {"id":"sourceFile","fileName":"SFOrderResult.java"}
    1:1:void <init>():23:23 -> <init>
    2:2:void <init>():8:8 -> <init>
    3:3:void <init>(org.json.JSONObject):26:26 -> <init>
    4:47:void <init>(org.json.JSONObject):8:51 -> <init>
    1:1:java.lang.String getOrderID():72:72 -> getOrderID
    1:1:java.lang.String getOrderResult():96:96 -> getOrderResult
    1:1:int getOrderType():56:56 -> getOrderType
    1:1:java.lang.String getPlatformCurrency():120:120 -> getPlatformCurrency
    1:1:java.lang.String getPlatformDiscountCurrency():152:152 -> getPlatformDiscountCurrency
    1:1:java.lang.Integer getPlatformDiscountPercentage():160:160 -> getPlatformDiscountPercentage
    1:1:java.lang.Double getPlatformDiscountPrice():144:144 -> getPlatformDiscountPrice
    1:1:java.lang.Double getPlatformFullPrice():104:104 -> getPlatformFullPrice
    1:1:java.lang.String getPlatformOrderId():128:128 -> getPlatformOrderId
    1:1:java.lang.Double getPlatformPrice():112:112 -> getPlatformPrice
    1:1:java.lang.String getPlatformProductId():136:136 -> getPlatformProductId
    1:1:java.lang.String getProductID():80:80 -> getProductID
    1:1:int getProductType():64:64 -> getProductType
    1:1:java.lang.String getRealProductID():88:88 -> getRealProductID
    1:1:void setOrderID(java.lang.String):76:76 -> setOrderID
    1:1:void setOrderResult(java.lang.String):100:100 -> setOrderResult
    1:1:void setOrderType(int):60:60 -> setOrderType
    1:1:void setPlatformCurrency(java.lang.String):124:124 -> setPlatformCurrency
    1:1:void setPlatformDiscountCurrency(java.lang.String):156:156 -> setPlatformDiscountCurrency
    1:1:void setPlatformDiscountPercentage(java.lang.Integer):164:164 -> setPlatformDiscountPercentage
    1:1:void setPlatformDiscountPrice(java.lang.Double):148:148 -> setPlatformDiscountPrice
    1:1:void setPlatformFullPrice(java.lang.Double):108:108 -> setPlatformFullPrice
    1:1:void setPlatformOrderId(java.lang.String):132:132 -> setPlatformOrderId
    1:1:void setPlatformPrice(java.lang.Double):116:116 -> setPlatformPrice
    1:1:void setPlatformProductId(java.lang.String):140:140 -> setPlatformProductId
    1:1:void setProductID(java.lang.String):84:84 -> setProductID
    1:1:void setProductType(int):68:68 -> setProductType
    1:1:void setRealProductID(java.lang.String):92:92 -> setRealProductID
    1:15:org.json.JSONObject toJSONObject():168:182 -> toJSONObject
com.sf.sdk.data.SFProductDetails -> com.sf.sdk.data.SFProductDetails:
# {"id":"sourceFile","fileName":"SFProductDetails.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:java.lang.String getCurrency():59:59 -> getCurrency
    1:1:java.lang.String getDescription():51:51 -> getDescription
    1:1:java.lang.String getFormattedPrice():83:83 -> getFormattedPrice
    1:1:double getFullPrice():75:75 -> getFullPrice
    1:1:java.lang.String getName():35:35 -> getName
    1:1:double getPrice():67:67 -> getPrice
    1:1:java.lang.String getProductId():19:19 -> getProductId
    1:1:java.lang.String getProductType():27:27 -> getProductType
    1:1:java.lang.String getTitle():43:43 -> getTitle
    1:1:void setCurrency(java.lang.String):63:63 -> setCurrency
    1:1:void setDescription(java.lang.String):55:55 -> setDescription
    1:1:void setFormattedPrice(java.lang.String):87:87 -> setFormattedPrice
    1:1:void setFullPrice(double):79:79 -> setFullPrice
    1:1:void setName(java.lang.String):39:39 -> setName
    1:1:void setPrice(double):71:71 -> setPrice
    1:1:void setProductId(java.lang.String):23:23 -> setProductId
    1:1:void setProductType(java.lang.String):31:31 -> setProductType
    1:1:void setTitle(java.lang.String):47:47 -> setTitle
com.sf.sdk.data.SFProfile -> com.sf.sdk.data.SFProfile:
# {"id":"sourceFile","fileName":"SFProfile.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:java.lang.String getAccountId():24:24 -> getAccountId
    1:1:int getAccountType():16:16 -> getAccountType
    1:1:java.lang.String getEmail():40:40 -> getEmail
    1:1:java.lang.String getName():32:32 -> getName
    1:1:java.lang.String getPicture():48:48 -> getPicture
    1:1:com.sf.sdk.data.SFSize getPictureSize():56:56 -> getPictureSize
    1:1:void setAccountId(java.lang.String):28:28 -> setAccountId
    1:1:void setAccountType(int):20:20 -> setAccountType
    1:1:void setEmail(java.lang.String):44:44 -> setEmail
    1:1:void setName(java.lang.String):36:36 -> setName
    1:1:void setPicture(java.lang.String):52:52 -> setPicture
    1:1:void setPictureSize(com.sf.sdk.data.SFSize):60:60 -> setPictureSize
com.sf.sdk.data.SFRefund -> com.sf.sdk.data.SFRefund:
# {"id":"sourceFile","fileName":"SFRefund.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:double getAmount():12:12 -> getAmount
    1:1:java.lang.String getMessage():20:20 -> getMessage
    1:1:void setAmount(double):16:16 -> setAmount
    1:1:void setMessage(java.lang.String):24:24 -> setMessage
com.sf.sdk.data.SFRemoteConfigValue -> com.sf.sdk.data.SFRemoteConfigValue:
# {"id":"sourceFile","fileName":"SFRemoteConfigValue.java"}
com.sf.sdk.data.SFRoleData -> com.sf.sdk.data.SFRoleData:
# {"id":"sourceFile","fileName":"SFRoleData.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:int getChannelID():86:86 -> getChannelID
    1:1:long getCreateTime():94:94 -> getCreateTime
    1:1:java.lang.String getExtraData():110:110 -> getExtraData
    1:1:long getLastLevelUpTime():102:102 -> getLastLevelUpTime
    1:1:java.lang.String getRoleID():54:54 -> getRoleID
    1:1:java.lang.String getRoleLevel():70:70 -> getRoleLevel
    1:1:java.lang.String getRoleName():62:62 -> getRoleName
    1:1:java.lang.String getServerID():38:38 -> getServerID
    1:1:java.lang.String getServerName():46:46 -> getServerName
    1:1:java.lang.Integer getType():22:22 -> getType
    1:1:java.lang.String getUid():30:30 -> getUid
    1:1:java.lang.String getVipLevel():78:78 -> getVipLevel
    1:1:void setChannelID(int):90:90 -> setChannelID
    1:1:void setCreateTime(long):98:98 -> setCreateTime
    1:1:void setExtraData(java.lang.String):114:114 -> setExtraData
    1:1:void setLastLevelUpTime(long):106:106 -> setLastLevelUpTime
    1:1:void setRoleID(java.lang.String):58:58 -> setRoleID
    1:1:void setRoleLevel(java.lang.String):74:74 -> setRoleLevel
    1:1:void setRoleName(java.lang.String):66:66 -> setRoleName
    1:1:void setServerID(java.lang.String):42:42 -> setServerID
    1:1:void setServerName(java.lang.String):50:50 -> setServerName
    1:1:void setType(java.lang.Integer):26:26 -> setType
    1:1:void setUid(java.lang.String):34:34 -> setUid
    1:1:void setVipLevel(java.lang.String):82:82 -> setVipLevel
com.sf.sdk.data.SFSensitiveWords -> com.sf.sdk.data.SFSensitiveWords:
# {"id":"sourceFile","fileName":"SFSensitiveWords.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:boolean containsSensitiveWords():37:37 -> containsSensitiveWords
    1:1:java.lang.String getOriginalText():21:21 -> getOriginalText
    1:1:java.lang.String getResultText():29:29 -> getResultText
    1:1:int getStatus():13:13 -> getStatus
    1:1:void setOriginalText(java.lang.String):25:25 -> setOriginalText
    1:1:void setResultText(java.lang.String):33:33 -> setResultText
    1:1:void setStatus(int):17:17 -> setStatus
com.sf.sdk.data.SFShareContent -> com.sf.sdk.data.SFShareContent:
# {"id":"sourceFile","fileName":"SFShareContent.java"}
    1:10:void <init>(com.sf.sdk.data.SFShareContent$Builder):57:66 -> <init>
    1:1:java.lang.String getPageId():98:98 -> getPageId
    1:1:java.lang.String getPlaceId():94:94 -> getPlaceId
    1:1:java.lang.String getShareContent():74:74 -> getShareContent
    1:1:java.lang.String getShareHashtag():102:102 -> getShareHashtag
    1:1:java.lang.String getSharePlatform():90:90 -> getSharePlatform
    1:1:java.lang.String getShareTitle():70:70 -> getShareTitle
    1:1:java.lang.String getShareType():86:86 -> getShareType
    1:1:java.util.List getShareUris():82:82 -> getShareUris
    1:1:java.lang.String getShareUrl():78:78 -> getShareUrl
com.sf.sdk.data.SFShareContent$Builder -> com.sf.sdk.data.SFShareContent$Builder:
# {"id":"sourceFile","fileName":"SFShareContent.java"}
    1:11:void <init>():105:115 -> <init>
    1:1:com.sf.sdk.data.SFShareContent$Builder addShareUri(android.net.Uri):133:133 -> addShareUri
    1:1:com.sf.sdk.data.SFShareContent build():163:163 -> build
    1:1:com.sf.sdk.data.SFShareContent$Builder setPageId(java.lang.String):148:148 -> setPageId
    1:1:com.sf.sdk.data.SFShareContent$Builder setPlaceId(java.lang.String):153:153 -> setPlaceId
    1:1:com.sf.sdk.data.SFShareContent$Builder setShareContent(java.lang.String):123:123 -> setShareContent
    1:1:com.sf.sdk.data.SFShareContent$Builder setShareHashtag(java.lang.String):158:158 -> setShareHashtag
    1:1:com.sf.sdk.data.SFShareContent$Builder setSharePlatform(java.lang.String):143:143 -> setSharePlatform
    1:1:com.sf.sdk.data.SFShareContent$Builder setShareTitle(java.lang.String):118:118 -> setShareTitle
    1:1:com.sf.sdk.data.SFShareContent$Builder setShareType(java.lang.String):138:138 -> setShareType
    1:1:com.sf.sdk.data.SFShareContent$Builder setShareUrl(java.lang.String):128:128 -> setShareUrl
com.sf.sdk.data.SFShareContent$SharePlatform -> com.sf.sdk.data.SFShareContent$SharePlatform:
# {"id":"sourceFile","fileName":"SFShareContent.java"}
com.sf.sdk.data.SFShareContent$ShareType -> com.sf.sdk.data.SFShareContent$ShareType:
# {"id":"sourceFile","fileName":"SFShareContent.java"}
com.sf.sdk.data.SFSize -> com.sf.sdk.data.SFSize:
# {"id":"sourceFile","fileName":"SFSize.java"}
    1:3:void <init>(int,int):11:13 -> <init>
    1:1:int getHeight():21:21 -> getHeight
    1:1:int getWidth():17:17 -> getWidth
com.sf.sdk.data.SFSnapshotMetadata -> com.sf.sdk.data.SFSnapshotMetadata:
# {"id":"sourceFile","fileName":"SFSnapshotMetadata.java"}
    1:5:void <init>(java.lang.String,android.graphics.Bitmap,long,long):17:21 -> <init>
    1:1:android.graphics.Bitmap getCoverImage():29:29 -> getCoverImage
    1:1:java.lang.String getDescription():25:25 -> getDescription
    1:1:long getPlayedTimeMillis():37:37 -> getPlayedTimeMillis
    1:1:long getProgressValue():33:33 -> getProgressValue
com.sf.sdk.data.SFSnapshotMetadata$Builder -> com.sf.sdk.data.SFSnapshotMetadata$Builder:
# {"id":"sourceFile","fileName":"SFSnapshotMetadata.java"}
    1:1:void <init>():40:40 -> <init>
    1:1:com.sf.sdk.data.SFSnapshotMetadata build():68:68 -> build
    1:1:com.sf.sdk.data.SFSnapshotMetadata$Builder setCoverImage(android.graphics.Bitmap):53:53 -> setCoverImage
    1:1:com.sf.sdk.data.SFSnapshotMetadata$Builder setDescription(java.lang.String):48:48 -> setDescription
    1:1:com.sf.sdk.data.SFSnapshotMetadata$Builder setPlayedTimeMillis(long):63:63 -> setPlayedTimeMillis
    1:1:com.sf.sdk.data.SFSnapshotMetadata$Builder setProgressValue(long):58:58 -> setProgressValue
com.sf.sdk.data.SFThinkingData -> com.sf.sdk.data.SFThinkingData:
# {"id":"sourceFile","fileName":"SFThinkingData.java"}
    1:1:void <init>():11:11 -> <init>
    1:1:java.lang.String getDeviceId():29:29 -> getDeviceId
    1:1:java.lang.String getDistinctId():37:37 -> getDistinctId
    1:1:java.lang.String getLocalRegion():45:45 -> getLocalRegion
    1:1:org.json.JSONObject getPresetProperties():61:61 -> getPresetProperties
    1:1:java.lang.String getSdkVersion():21:21 -> getSdkVersion
    1:1:org.json.JSONObject getSuperProperties():53:53 -> getSuperProperties
    1:1:void setDeviceId(java.lang.String):33:33 -> setDeviceId
    1:1:void setDistinctId(java.lang.String):41:41 -> setDistinctId
    1:1:void setLocalRegion(java.lang.String):49:49 -> setLocalRegion
    1:1:void setPresetProperties(org.json.JSONObject):65:65 -> setPresetProperties
    1:1:void setSdkVersion(java.lang.String):25:25 -> setSdkVersion
    1:1:void setSuperProperties(org.json.JSONObject):57:57 -> setSuperProperties
    1:12:java.lang.String toJson():70:81 -> toJson
com.sf.sdk.data.SFTranslateText -> com.sf.sdk.data.SFTranslateText:
# {"id":"sourceFile","fileName":"SFTranslateText.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:java.lang.String getOriginalText():13:13 -> getOriginalText
    1:1:java.lang.String getResultText():21:21 -> getResultText
    1:1:java.lang.String getTargetLanguageCode():29:29 -> getTargetLanguageCode
    1:1:void setOriginalText(java.lang.String):17:17 -> setOriginalText
    1:1:void setResultText(java.lang.String):25:25 -> setResultText
    1:1:void setTargetLanguageCode(java.lang.String):33:33 -> setTargetLanguageCode
com.sf.sdk.data.SFUser -> com.sf.sdk.data.SFUser:
# {"id":"sourceFile","fileName":"SFUser.java"}
    1:1:void <init>():6:6 -> <init>
    1:1:int getAccountType():86:86 -> getAccountType
    1:1:double getCostValue():102:102 -> getCostValue
    1:1:java.lang.String getCountryCode():54:54 -> getCountryCode
    1:1:int getDisplayType():94:94 -> getDisplayType
    1:1:long getExpiredTime():62:62 -> getExpiredTime
    1:1:java.lang.String getLoginName():38:38 -> getLoginName
    1:1:long getLoginTime():70:70 -> getLoginTime
    1:1:java.lang.String getName():30:30 -> getName
    1:1:long getRegisterTime():78:78 -> getRegisterTime
    1:1:java.lang.String getToken():46:46 -> getToken
    1:1:java.lang.String getUid():22:22 -> getUid
    1:1:boolean isNewAccount():110:110 -> isNewAccount
    1:1:void setAccountType(int):90:90 -> setAccountType
    1:1:void setCostValue(double):106:106 -> setCostValue
    1:1:void setCountryCode(java.lang.String):58:58 -> setCountryCode
    1:1:void setDisplayType(int):98:98 -> setDisplayType
    1:1:void setExpiredTime(long):66:66 -> setExpiredTime
    1:1:void setLoginName(java.lang.String):42:42 -> setLoginName
    1:1:void setLoginTime(long):74:74 -> setLoginTime
    1:1:void setName(java.lang.String):34:34 -> setName
    1:1:void setNewAccount(int):114:114 -> setNewAccount
    1:1:void setRegisterTime(long):82:82 -> setRegisterTime
    1:1:void setToken(java.lang.String):50:50 -> setToken
    1:1:void setUid(java.lang.String):26:26 -> setUid
com.sf.sdk.data.internal.GooglePurchase -> com.sf.sdk.u.a:
# {"id":"sourceFile","fileName":"GooglePurchase.java"}
    int purchaseState -> j
    java.lang.String obfuscatedAccountId -> k
    java.lang.String obfuscatedProfileId -> l
    java.lang.String developerPayload -> m
    boolean acknowledged -> n
    boolean autoRenewing -> o
    1:19:void <init>(com.android.billingclient.api.Purchase):23:41 -> <init>
    20:34:void <init>(org.json.JSONObject):45:59 -> <init>
    1:1:void setObfuscatedAccountId(java.lang.String):105:105 -> a
    1:1:void setObfuscatedProfileId(java.lang.String):113:113 -> b
    1:14:boolean equals(java.lang.Object):151:164 -> equals
    1:1:java.lang.String getSdkOrderId():89:89 -> h
    1:1:int hashCode():169:169 -> hashCode
    1:1:java.lang.String getSdkUserId():84:84 -> i
    1:15:org.json.JSONObject toJSONObject():64:78 -> j
com.sf.sdk.data.internal.SFCancelState -> com.sf.sdk.u.b:
# {"id":"sourceFile","fileName":"SFCancelState.java"}
    long createTime -> a
    long cancelTime -> b
    1:1:void <init>():6:6 -> <init>
    1:1:long getCancelTime():20:20 -> a
    2:2:void setCancelTime(long):24:24 -> a
    1:1:long getCreateTime():12:12 -> b
    2:2:void setCreateTime(long):16:16 -> b
com.sf.sdk.data.internal.SFDomain -> com.sf.sdk.u.c:
# {"id":"sourceFile","fileName":"SFDomain.java"}
    java.lang.String apiUrl -> a
    java.lang.String imgUrl -> b
    java.lang.String fileUrl -> c
    java.lang.String customerUrl -> d
    java.lang.String gameStaticUrl -> e
    java.lang.String gameServerUrl -> f
    1:7:void <init>(org.json.JSONObject):70:76 -> <init>
    1:1:java.lang.String getApiUrl():23:23 -> a
    1:1:java.lang.String getCustomerUrl():47:47 -> b
    1:1:java.lang.String getFileUrl():39:39 -> c
    1:1:java.lang.String getGameServerUrl():63:63 -> d
    1:1:java.lang.String getGameStaticUrl():55:55 -> e
    1:1:boolean isAvailable():91:91 -> f
    1:7:org.json.JSONObject toJSONObject():80:86 -> g
com.sf.sdk.data.internal.SFDomainConfig -> com.sf.sdk.u.d:
# {"id":"sourceFile","fileName":"SFDomainConfig.java"}
    java.lang.String id -> a
    java.lang.String url -> b
    java.lang.String currentId -> c
    java.util.List gameServerIps -> d
    java.util.List gameStaticUrls -> e
    java.util.List gameServerUrls -> f
    java.util.Map domains -> g
    1:3:void <init>(java.lang.String,java.lang.String):112:114 -> <init>
    4:24:void <init>(org.json.JSONObject):117:137 -> <init>
    1:1:void setCurrentId(java.lang.String):54:54 -> a
    2:20:void setDomains(java.util.Map):62:80 -> a
    21:28:com.sf.sdk.data.internal.SFDomain getDomain():101:108 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/u/c;"}
    1:1:java.util.Map getDomains():58:58 -> b
    1:1:java.util.List getGameServerIps():85:85 -> c
    1:1:java.util.List getGameServerUrls():93:93 -> d
    1:1:java.util.List getGameStaticUrls():89:89 -> e
    1:1:java.lang.String getId():34:34 -> f
    1:1:java.lang.String getUrl():42:42 -> g
    1:1:boolean hasDomain():97:97 -> h
    1:14:org.json.JSONObject toJSONObject():144:157 -> i
com.sf.sdk.data.internal.SFEventTimer -> com.sf.sdk.u.e:
# {"id":"sourceFile","fileName":"SFEventTimer.java"}
    long startTime -> a
    1:1:void <init>():8:8 -> <init>
    1:1:long getDuration():25:25 -> a
    1:1:boolean isStarted():21:21 -> b
    1:1:void reset():17:17 -> c
    1:1:void start():13:13 -> d
com.sf.sdk.data.internal.SFLoginPlatform -> com.sf.sdk.u.f:
# {"id":"sourceFile","fileName":"SFLoginPlatform.java"}
    int accountType -> a
    java.lang.String accountID -> b
    java.lang.String loginName -> c
    java.lang.String email -> d
    java.lang.String picture -> e
    com.sf.sdk.data.SFSize pictureSize -> f
    java.lang.String extraData -> g
    1:1:void <init>():8:8 -> <init>
    1:1:void setAccountType(int):23:23 -> a
    2:2:java.lang.String getAccountID():27:27 -> a
    3:3:void setAccountID(java.lang.String):31:31 -> a
    4:4:void setPictureSize(com.sf.sdk.data.SFSize):63:63 -> a
    1:1:int getAccountType():19:19 -> b
    2:2:void setEmail(java.lang.String):47:47 -> b
    1:1:java.lang.String getEmail():43:43 -> c
    2:2:void setExtraData(java.lang.String):71:71 -> c
    1:1:void setLoginName(java.lang.String):39:39 -> d
    2:2:java.lang.String getExtraData():67:67 -> d
    1:1:java.lang.String getLoginName():35:35 -> e
    2:2:void setPicture(java.lang.String):55:55 -> e
    1:1:java.lang.String getPicture():51:51 -> f
    1:1:com.sf.sdk.data.SFSize getPictureSize():59:59 -> g
com.sf.sdk.data.internal.SFOperationLog -> com.sf.sdk.u.g:
# {"id":"sourceFile","fileName":"SFOperationLog.java"}
    java.lang.String uid -> a
    long time -> b
    1:1:void <init>():6:6 -> <init>
    1:1:void setUid(java.lang.String):16:16 -> a
    2:2:long getTime():20:20 -> a
    3:3:long duration(long):28:28 -> a
    1:1:java.lang.String getUid():12:12 -> b
    2:2:void setTime(long):24:24 -> b
com.sf.sdk.data.internal.SFOrderState -> com.sf.sdk.u.h:
# {"id":"sourceFile","fileName":"SFOrderState.java"}
    int checkState -> a
    int sandboxState -> b
    1:1:void <init>():6:6 -> <init>
    1:1:int getCheckState():23:23 -> a
    2:2:void setCheckState(int):27:27 -> a
    1:1:int getSandboxState():31:31 -> b
    2:2:void setSandboxState(int):35:35 -> b
    1:1:boolean isSandbox():39:39 -> c
com.sf.sdk.data.internal.SFPaymentError -> com.sf.sdk.u.i:
# {"id":"sourceFile","fileName":"SFPaymentError.java"}
    java.lang.String step -> a
    int errorCode -> b
    java.lang.String errorMessage -> c
    1:10:void <init>(java.lang.String,com.android.billingclient.api.BillingResult):14:23 -> <init>
    11:14:void <init>(java.lang.String,int,java.lang.String):26:29 -> <init>
    1:1:int getErrorCode():41:41 -> a
    1:1:java.lang.String getErrorMessage():49:49 -> b
    1:1:java.lang.String getStep():33:33 -> c
com.sf.sdk.data.internal.SFPurchase -> com.sf.sdk.u.j:
# {"id":"sourceFile","fileName":"SFPurchase.java"}
    int version -> a
    java.lang.String orderId -> b
    int orderState -> c
    java.lang.String productId -> d
    java.lang.String productName -> e
    java.lang.String packageName -> f
    java.lang.String purchaseToken -> g
    long purchaseTime -> h
    int quantity -> i
    1:1:void <init>():26:26 -> <init>
    2:2:void <init>(org.json.JSONObject):29:29 -> <init>
    1:1:void setOrderState(int):45:45 -> a
    2:7:void putOpt(org.json.JSONObject,java.lang.String,java.lang.Object):105:110 -> a
    8:8:boolean canNotifyDelivery():115:115 -> a
    1:1:java.lang.String getOrderId():33:33 -> b
    1:1:int getOrderState():41:41 -> c
    1:1:java.lang.String getProductId():49:49 -> d
    1:1:java.lang.String getProductName():57:57 -> e
    1:1:long getPurchaseTime():81:81 -> f
    1:1:java.lang.String getPurchaseToken():73:73 -> g
    java.lang.String getSdkOrderId() -> h
    java.lang.String getSdkUserId() -> i
    org.json.JSONObject toJSONObject() -> j
    1:1:java.lang.String toJson():97:97 -> k
com.sf.sdk.data.internal.SFServerTime -> com.sf.sdk.u.k:
# {"id":"sourceFile","fileName":"SFServerTime.java"}
    long timeConsuming -> a
    long serverTime -> b
    long serverTimestamp -> c
    long elapsedRealtime -> d
    1:1:void <init>(long,long):15:15 -> <init>
    2:8:void <init>(long,long):10:16 -> <init>
    1:8:void update(long,long):20:27 -> a
    9:9:void setServerTime(long):41:41 -> a
    10:10:com.sf.sdk.data.internal.SFServerTime create():52:52 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/u/k;"}
    1:4:long getCurrentTime():45:48 -> b
com.sf.sdk.domain.DomainRouter -> com.sf.sdk.v.a:
# {"id":"sourceFile","fileName":"DomainRouter.java"}
    int routedDomainCount -> a
    int routedDomainTotal -> b
    boolean routedDomain -> c
    long routedDomainConfigTime -> d
    int routedDomainConfigCount -> e
    int routedDomainConfigTotal -> f
    boolean routedDomainConfig -> g
    boolean routingDomainConfig -> h
    com.sf.sdk.SFConsumer domainConfigConsumer -> i
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>():31:31 -> <init>
    1:1:void domainCheck(java.lang.String,com.sf.sdk.data.internal.SFDomain):65:65 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/u/c;)V"}
    2:18:void handleDomain(java.lang.String,com.sf.sdk.data.internal.SFDomain,boolean):82:98 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/u/c;Z)V"}
    19:20:void checkDomainConfig():131:132 -> a
    21:37:void requestDomainConfig(com.sf.sdk.SFConsumer):140:156 -> a
    38:54:void handleDomainConfig(com.sf.sdk.data.internal.SFDomainConfig):182:198 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/d;)V"}
    55:64:void trackDomainConfig(java.lang.String,java.lang.String,boolean):203:212 -> a
    1:9:void routeDomain():48:56 -> b
    10:23:void trackDomainRoute(java.lang.String,java.lang.String,boolean):103:116 -> b
    24:24:void requestDomainConfig(com.sf.sdk.data.internal.SFDomainConfig):164:164 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/d;)V"}
com.sf.sdk.domain.DomainRouter$1 -> com.sf.sdk.v.a$a:
# {"id":"sourceFile","fileName":"DomainRouter.java"}
    java.lang.String val$key -> a
    com.sf.sdk.data.internal.SFDomain val$domain -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/c;"}
    1:1:void <init>(java.lang.String,com.sf.sdk.data.internal.SFDomain):65:65 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/u/c;)V"}
    1:1:void onSuccess(org.json.JSONObject):68:68 -> a
    1:1:void onFailed(int,java.lang.String):73:73 -> onFailed
    1:1:void onSuccess(java.lang.Object):65:65 -> onSuccess
com.sf.sdk.domain.DomainRouter$2 -> com.sf.sdk.v.a$b:
# {"id":"sourceFile","fileName":"DomainRouter.java"}
    java.lang.String val$url -> a
    1:1:void <init>(java.lang.String):109:109 -> <init>
    1:1:void run():112:112 -> run
com.sf.sdk.domain.DomainRouter$3 -> com.sf.sdk.v.a$c:
# {"id":"sourceFile","fileName":"DomainRouter.java"}
    com.sf.sdk.data.internal.SFDomainConfig val$domainConfig -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/d;"}
    1:1:void <init>(com.sf.sdk.data.internal.SFDomainConfig):164:164 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/d;)V"}
    1:2:void onSuccess(java.util.Map):167:168 -> a
    1:1:void onFailed(int,java.lang.String):173:173 -> onFailed
    1:1:void onSuccess(java.lang.Object):164:164 -> onSuccess
com.sf.sdk.domain.dns.Checker -> com.sf.sdk.w.a:
# {"id":"sourceFile","fileName":"Checker.java"}
    java.util.HashMap ipCheckResult -> a
    java.util.HashMap hostCheckResult -> b
    1:2:void <clinit>():15:16 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    1:12:boolean checkIsAHost(java.lang.String):43:54 -> a
    1:6:boolean isAHost(java.lang.String):29:34 -> b
    1:6:boolean isAnIP(java.lang.String):19:24 -> c
com.sf.sdk.domain.dns.GoogleDns -> com.sf.sdk.w.b:
# {"id":"sourceFile","fileName":"GoogleDns.java"}
    java.lang.String json -> a
    int status -> b
    boolean ad -> c
    boolean cd -> d
    boolean ra -> e
    boolean rd -> f
    boolean tc -> g
    java.util.List questions -> h
    java.util.List answers -> i
    java.lang.String host -> j
    java.lang.String comment -> k
    java.lang.String ednsClientSubnet -> l
    1:43:void <init>(java.lang.String,org.json.JSONObject):34:76 -> <init>
    1:1:java.util.List getAnswers():144:144 -> a
    1:1:java.lang.String getJson():80:80 -> b
    1:1:boolean isAnswersEmpty():180:180 -> c
    1:1:boolean isSuccessful():176:176 -> d
com.sf.sdk.domain.dns.GoogleDns$Answer -> com.sf.sdk.w.b$a:
# {"id":"sourceFile","fileName":"GoogleDns.java"}
    int type -> a
    long ttl -> b
    java.lang.String data -> c
    java.lang.String name -> d
    long queryTime -> e
    1:1:void <init>():206:206 -> <init>
    1:4:java.lang.String getAvailableData():255:258 -> a
    1:1:java.lang.String getData():231:231 -> b
    1:1:boolean isExpired():262:262 -> c
com.sf.sdk.domain.dns.GoogleDns$Question -> com.sf.sdk.w.b$b:
# {"id":"sourceFile","fileName":"GoogleDns.java"}
    int type -> a
    java.lang.String name -> b
    1:1:void <init>():183:183 -> <init>
com.sf.sdk.domain.dns.HttpDnsManager -> com.sf.sdk.w.c:
# {"id":"sourceFile","fileName":"HttpDnsManager.java"}
    java.lang.Object lock -> a
    java.util.Map hostsTime -> b
    java.util.Map hostsCache -> c
    java.util.Map hostLatchs -> d
    java.lang.Long REQUEST_INTERVAL -> e
    1:1:void <clinit>():28:28 -> <clinit>
    1:8:void <init>():26:33 -> <init>
    1:1:com.sf.sdk.domain.dns.HttpDnsManager getInstance():36:36 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/w/c;"}
    2:13:com.sf.sdk.domain.dns.GoogleDns$Answer getAnswer(java.lang.String):122:133 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/w/b$a;"}
    14:15:com.sf.sdk.domain.dns.GoogleDns$Answer getAnswer(java.lang.String):130:131 -> a
    16:24:com.sf.sdk.domain.dns.GoogleDns$Answer getAnswer(java.lang.String):125:133 -> a
    25:28:void trackHttpDnsStart(boolean,java.lang.String):180:183 -> a
    29:33:void trackHttpDnsEnd(boolean,java.lang.String,java.lang.String):187:191 -> a
    1:27:java.lang.String getIpByHostAsync(java.lang.String):90:116 -> b
    1:2:boolean isRequestFrequent(java.lang.String):155:156 -> c
    1:2:void removeHost(java.lang.String):150:151 -> d
com.sf.sdk.domain.dns.HttpDnsManager$3 -> com.sf.sdk.w.c$a:
# {"id":"sourceFile","fileName":"HttpDnsManager.java"}
    java.lang.String val$host -> a
    com.sf.sdk.domain.dns.HttpDnsManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/w/c;"}
    1:1:void <init>(com.sf.sdk.domain.dns.HttpDnsManager,java.lang.String):100:100 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/w/c;Ljava/lang/String;)V"}
    1:4:void onSuccess(com.sf.sdk.domain.dns.GoogleDns):103:106 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/w/b;)V"}
    1:1:void onFailed(int,java.lang.String):111:111 -> onFailed
    1:1:void onSuccess(java.lang.Object):100:100 -> onSuccess
com.sf.sdk.domain.dns.HttpDnsManager$Singleton -> com.sf.sdk.w.c$b:
# {"id":"sourceFile","fileName":"HttpDnsManager.java"}
    com.sf.sdk.domain.dns.HttpDnsManager INSTANCE -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/w/c;"}
    1:1:void <clinit>():196:196 -> <clinit>
com.sf.sdk.internal.AdRevenueManager -> com.sf.sdk.x.a:
# {"id":"sourceFile","fileName":"AdRevenueManager.java"}
    long firstLaunchTime -> a
    android.content.Context context -> b
    android.content.SharedPreferences preferences -> c
    java.lang.Object revenueLock -> d
    com.sf.sdk.internal.AdRevenueManager sInstance -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/x/a;"}
    1:1:void <init>():81:81 -> <init>
    2:18:void <init>():68:84 -> <init>
    1:4:void trackAdImpressionRevenue(com.sf.sdk.data.SFAdRevenue):134:137 -> a
    5:23:void trackTotalAdsRevenueTopX(java.lang.String,com.sf.sdk.data.SFAdRevenue):189:207 -> a
    24:35:android.os.Bundle buildFirebaseParams(com.sf.sdk.data.SFAdRevenue,double):212:223 -> a
    36:51:void checkLaunchDate():239:254 -> a
    52:52:double fromMicros(long):275:275 -> a
    53:53:boolean isValidValue(double):279:279 -> a
    54:54:java.lang.String getTotalAdsRevenueKey(java.lang.String):284:284 -> a
    1:3:void ensureFirstLaunchTime():88:90 -> b
    4:35:void trackAdRevenue(com.sf.sdk.data.SFAdRevenue):95:126 -> b
    36:51:void trackTotalAdsRevenueX1_5(java.lang.String,com.sf.sdk.data.SFAdRevenue):167:182 -> b
    52:58:boolean isWithinTimeWindow(double):229:235 -> b
    59:61:double getValidVariantThreshold(java.lang.String):259:261 -> b
    1:8:com.sf.sdk.internal.AdRevenueManager getInstance():71:78 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/x/a;"}
    9:22:void trackTotalAdsRevenue001(com.sf.sdk.data.SFAdRevenue):146:159 -> c
    23:26:long toMicros(double):268:271 -> c
com.sf.sdk.internal.SFInternalProvider -> com.sf.sdk.internal.SFInternalProvider:
# {"id":"sourceFile","fileName":"SFInternalProvider.java"}
    1:1:void <init>():39:39 -> <init>
    1:1:java.lang.String decrypt(java.lang.String):99:99 -> decrypt
    1:5:java.lang.String getAdMobApplicationId():69:73 -> getAdMobApplicationId
    1:1:java.lang.String getApplovinSdkKey():64:64 -> getApplovinSdkKey
    1:1:android.app.Activity getCurrentActivity():52:52 -> getCurrentActivity
    1:1:com.sf.sdk.data.SFRoleData getRoleData():56:56 -> getRoleData
    1:1:java.lang.String getString(java.lang.String,java.lang.String):44:44 -> getString
    1:1:java.lang.String getUserIdentifier():60:60 -> getUserIdentifier
    1:6:boolean isWebViewDataDirSuffixEnabled():80:85 -> isWebViewDataDirSuffixEnabled
    1:1:void manualInvokeProviders(android.content.Context):95:95 -> manualInvokeProviders
    1:1:void putString(java.lang.String,java.lang.String):48:48 -> putString
    1:16:void trackAdRevenueForAppsFlyer(com.sf.sdk.data.SFAdRevenue):121:136 -> trackAdRevenueForAppsFlyer
    1:14:void trackAdRevenueForFirebase(com.sf.sdk.data.SFAdRevenue):145:158 -> trackAdRevenueForFirebase
    1:4:void trackAdRevenueForSofish(com.sf.sdk.data.SFAdRevenue):110:113 -> trackAdRevenueForSofish
    1:18:void trackAdRevenueForThinkingData(com.sf.sdk.data.SFAdRevenue):167:184 -> trackAdRevenueForThinkingData
    1:1:void trackEvent(java.lang.String,java.util.Map):103:103 -> trackEvent
    1:1:void warmUpWebView(android.content.Context):91:91 -> warmUpWebView
com.sf.sdk.internal.SFPreconditions -> com.sf.sdk.internal.SFPreconditions:
# {"id":"sourceFile","fileName":"SFPreconditions.java"}
    1:1:void <init>():136:136 -> <init>
    1:1:void checkArgument(boolean):13:13 -> checkArgument
    2:2:void checkArgument(boolean,java.lang.Object):27:27 -> checkArgument
    1:1:int checkArgumentInRange(int,int,int,java.lang.String):131:131 -> checkArgumentInRange
    2:2:int checkArgumentInRange(int,int,int,java.lang.String):129:129 -> checkArgumentInRange
    1:1:int checkArgumentNonnegative(int,java.lang.String):98:98 -> checkArgumentNonnegative
    2:2:int checkArgumentNonnegative(int):112:112 -> checkArgumentNonnegative
    1:1:java.lang.Object checkNotNull(java.lang.Object):41:41 -> checkNotNull
    2:2:java.lang.Object checkNotNull(java.lang.Object,java.lang.Object):58:58 -> checkNotNull
    1:1:void checkState(boolean,java.lang.String):73:73 -> checkState
    2:2:void checkState(boolean):85:85 -> checkState
com.sf.sdk.internal.appsflyer.AppsFlyerUtils -> com.sf.sdk.y.a:
# {"id":"sourceFile","fileName":"AppsFlyerUtils.java"}
    java.lang.String appsFlyerUID -> a
    java.util.List interruptMediaSources -> b
    1:1:void <clinit>():52:52 -> <clinit>
    1:1:void <init>():49:49 -> <init>
    1:6:com.sf.sdk.data.SFAppsFlyerData generateAppsFlyer():59:64 -> a
    7:12:java.lang.String getAppsFlyerUID(android.content.Context):70:75 -> a
    13:15:void updateServerUninstallToken(android.content.Context,java.lang.String):82:84 -> a
    16:16:void subscribeForDeepLink(com.sf.sdk.SFResultListener):89:89 -> a
    17:51:void setAppsflyerConversionData(org.json.JSONObject):115:149 -> a
    52:52:void setAppsflyerConversionData(org.json.JSONObject):145:145 -> a
    53:91:com.appsflyer.MediationNetwork getMediationNetwork(java.lang.String):261:299 -> a
    92:92:com.appsflyer.MediationNetwork getMediationNetwork(java.lang.String):277:277 -> a
    93:93:com.appsflyer.MediationNetwork getMediationNetwork(java.lang.String):275:275 -> a
    1:2:boolean shouldInterruptGameEvents():154:155 -> b
com.sf.sdk.internal.appsflyer.AppsFlyerUtils$1 -> com.sf.sdk.y.a$a:
# {"id":"sourceFile","fileName":"AppsFlyerUtils.java"}
    com.sf.sdk.SFResultListener val$listener -> a
    1:1:void <init>(com.sf.sdk.SFResultListener):89:89 -> <init>
    1:8:void onDeepLinking(com.appsflyer.deeplink.DeepLinkResult):92:99 -> onDeepLinking
com.sf.sdk.internal.appsflyer.AppsFlyerUtils$1$1 -> com.sf.sdk.y.a$a$a:
# {"id":"sourceFile","fileName":"AppsFlyerUtils.java"}
    java.lang.String val$link -> a
    org.json.JSONObject val$clickEvent -> b
    com.sf.sdk.internal.appsflyer.AppsFlyerUtils$1 this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/y/a$a;"}
    1:1:void <init>(com.sf.sdk.internal.appsflyer.AppsFlyerUtils$1,java.lang.String,org.json.JSONObject):99:99 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/y/a$a;Ljava/lang/String;Lorg/json/JSONObject;)V"}
    1:4:void run():102:105 -> run
com.sf.sdk.internal.facebook.FacebookUtils -> com.sf.sdk.z.a:
# {"id":"sourceFile","fileName":"FacebookUtils.java"}
    java.util.concurrent.atomic.AtomicBoolean FACEBOOK_INIT -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:7:void initialize():23:29 -> a
com.sf.sdk.internal.facebook.FacebookUtils$1 -> com.sf.sdk.z.a$a:
# {"id":"sourceFile","fileName":"FacebookUtils.java"}
    long val$timeMillis -> a
    android.app.Application val$application -> b
    1:1:void <init>(long,android.app.Application):29:29 -> <init>
    1:3:void onInitialized():32:34 -> onInitialized
com.sf.sdk.internal.firebase.FirebaseManager -> com.sf.sdk.a0.a:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    boolean sIsRemoteConfigLoaded -> a
    boolean sIsRemoteConfigLoading -> b
    boolean sIsRemoteConfigListenerAdded -> c
    boolean sIsFirebaseAppInitialized -> d
    java.lang.String sAppInstanceId -> e
    java.lang.String sInstallationId -> f
    com.sf.sdk.data.SFFirebaseInstallationToken sInstallationToken -> g
    com.google.firebase.remoteconfig.FirebaseRemoteConfig sFirebaseRemoteConfig -> h
    java.util.concurrent.atomic.AtomicBoolean FIREBASE_APP -> i
    java.util.Queue sFirebasePendingTasks -> j
    java.util.Set sRemoteConfigListeners -> k
    1:3:void <clinit>():81:83 -> <clinit>
    1:1:void <init>():66:66 -> <init>
    1:4:void lambda$flushFirebasePendingTasks$0(java.lang.Runnable):126:129 -> a
    5:5:void initializeCrashlytics(android.content.Context):134:134 -> a
    6:9:void lambda$setUserProperty$4(java.lang.String,java.lang.String):173:176 -> a
    10:10:void initializeRemoteConfig(android.content.Context,boolean):232:232 -> a
    11:76:void checkFetchAndActivate(boolean):243:308 -> a
    77:112:void addOnConfigUpdateListener():313:348 -> a
    113:115:void addRemoteConfigListener(com.sf.sdk.SFFirebaseRemoteConfigListener):356:358 -> a
    116:147:com.sf.sdk.data.SFAppUpdateInfo getAppUpdateInfo(java.lang.String):428:459 -> a
    148:187:void getAppInstanceId(android.content.Context,com.sf.sdk.SFRequestResultListener):545:584 -> a
    188:227:void getInstallationId(com.sf.sdk.SFRequestResultListener):590:629 -> a
    228:271:void getInstallationToken(boolean,com.sf.sdk.SFRequestResultListener):635:678 -> a
    1:5:void runAfterInit(java.lang.Runnable):112:116 -> b
    6:10:void flushFirebasePendingTasks():120:124 -> b
    11:11:void initializeMessaging(android.content.Context):144:144 -> b
    12:12:void setUserProperty(java.lang.String,java.lang.String):171:171 -> b
    13:15:void lambda$initializeRemoteConfig$5(boolean):234:236 -> b
    16:16:boolean getBooleanRemoteConfig(java.lang.String):396:396 -> b
    17:48:void getSessionId(android.content.Context,com.sf.sdk.SFRequestResultListener):508:539 -> b
    1:1:void initializeRemoteConfig(android.content.Context):228:228 -> c
    2:2:double getDoubleRemoteConfig(java.lang.String):388:388 -> c
    3:27:com.sf.sdk.data.SFFirebaseData generateFirebase():467:491 -> c
    1:1:float getFloatRemoteConfig(java.lang.String):380:380 -> d
    2:13:java.util.Map getAllRemoteConfig():412:423 -> d
    1:35:com.google.firebase.remoteconfig.FirebaseRemoteConfig getFirebaseRemoteConfig():190:224 -> e
    36:36:int getIntRemoteConfig(java.lang.String):364:364 -> e
    1:21:void initialize():87:107 -> f
    22:22:long getLongRemoteConfig(java.lang.String):372:372 -> f
    1:1:boolean isFirebaseAppInitialized():182:182 -> g
    2:4:java.lang.String getStringRemoteConfig(java.lang.String):404:406 -> g
    1:3:void lambda$setUserId$3(java.lang.String):163:165 -> h
    4:4:boolean isRemoteConfigLoaded():186:186 -> h
    1:3:void lambda$initializeCrashlytics$1():136:138 -> i
    4:4:void setUserId(java.lang.String):161:161 -> i
    1:9:void lambda$initializeMessaging$2():146:154 -> j
com.sf.sdk.internal.firebase.FirebaseManager$1 -> com.sf.sdk.a0.a$c:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    1:1:void <init>():146:146 -> <init>
    1:2:void onSuccess(java.lang.String):149:150 -> a
    1:1:void onSuccess(java.lang.Object):146:146 -> onSuccess
com.sf.sdk.internal.firebase.FirebaseManager$10 -> com.sf.sdk.a0.a$a:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    1:1:void <init>(com.sf.sdk.SFRequestResultListener):598:598 -> <init>
    1:22:void onComplete(com.google.android.gms.tasks.Task):601:622 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$11 -> com.sf.sdk.a0.a$b:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    1:1:void <init>(com.sf.sdk.SFRequestResultListener):643:643 -> <init>
    1:26:void onComplete(com.google.android.gms.tasks.Task):646:671 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$2 -> com.sf.sdk.a0.a$d:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    long val$startTime -> a
    1:1:void <init>(long):204:204 -> <init>
    1:14:void onComplete(com.google.android.gms.tasks.Task):207:220 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$3 -> com.sf.sdk.a0.a$e:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    long val$startTime -> a
    java.lang.String val$media_source -> b
    1:1:void <init>(long,java.lang.String):258:258 -> <init>
    1:1:void lambda$onComplete$0():268:268 -> a
    1:1:void lambda$onComplete$1():283:283 -> b
    1:40:void onComplete(com.google.android.gms.tasks.Task):262:301 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$4 -> com.sf.sdk.a0.a$f:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    1:1:void <init>():317:317 -> <init>
    1:1:void onError(com.google.firebase.remoteconfig.FirebaseRemoteConfigException):342:342 -> onError
    1:3:void onUpdate(com.google.firebase.remoteconfig.ConfigUpdate):320:322 -> onUpdate
com.sf.sdk.internal.firebase.FirebaseManager$4$1 -> com.sf.sdk.a0.a$f$a:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    java.util.Set val$updatedKeys -> a
    com.sf.sdk.internal.firebase.FirebaseManager$4 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/a0/a$f;"}
    1:1:void <init>(com.sf.sdk.internal.firebase.FirebaseManager$4,java.util.Set):322:322 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/a0/a$f;Ljava/util/Set;)V"}
    1:8:void onComplete(com.google.android.gms.tasks.Task):325:332 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$5 -> com.sf.sdk.a0.a$g:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.data.SFFirebaseData val$firebaseData -> a
    1:1:void <init>(com.sf.sdk.data.SFFirebaseData):469:469 -> <init>
    1:1:void onFailed(int,java.lang.String):478:478 -> onFailed
    1:1:void onSuccess(java.lang.Object):469:469 -> onSuccess
    2:2:void onSuccess(java.lang.String):472:472 -> onSuccess
com.sf.sdk.internal.firebase.FirebaseManager$6 -> com.sf.sdk.a0.a$h:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.data.SFFirebaseData val$firebaseData -> a
    1:1:void <init>(com.sf.sdk.data.SFFirebaseData):480:480 -> <init>
    1:1:void onFailed(int,java.lang.String):489:489 -> onFailed
    1:1:void onSuccess(java.lang.Object):480:480 -> onSuccess
    2:2:void onSuccess(java.lang.Long):483:483 -> onSuccess
com.sf.sdk.internal.firebase.FirebaseManager$7 -> com.sf.sdk.a0.a$i:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.data.SFFirebaseData val$firebaseData -> a
    1:1:void <init>(com.sf.sdk.data.SFFirebaseData):491:491 -> <init>
    1:1:void onFailed(int,java.lang.String):501:501 -> onFailed
    1:1:void onSuccess(java.lang.Object):491:491 -> onSuccess
    2:3:void onSuccess(java.lang.String):494:495 -> onSuccess
com.sf.sdk.internal.firebase.FirebaseManager$8 -> com.sf.sdk.a0.a$j:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    1:1:void <init>(com.sf.sdk.SFRequestResultListener):509:509 -> <init>
    1:21:void onComplete(com.google.android.gms.tasks.Task):512:532 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$9 -> com.sf.sdk.a0.a$k:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    1:1:void <init>(com.sf.sdk.SFRequestResultListener):553:553 -> <init>
    1:22:void onComplete(com.google.android.gms.tasks.Task):556:577 -> onComplete
com.sf.sdk.internal.firebase.FirebaseManager$SFFIRRemoteConfigValue -> com.sf.sdk.a0.a$l:
# {"id":"sourceFile","fileName":"FirebaseManager.java"}
    com.google.firebase.remoteconfig.FirebaseRemoteConfigValue value -> a
    1:2:void <init>(com.google.firebase.remoteconfig.FirebaseRemoteConfigValue):687:688 -> <init>
    1:1:boolean asBoolean():715:715 -> asBoolean
    1:1:byte[] asByteArray():710:710 -> asByteArray
    1:1:double asDouble():698:698 -> asDouble
    1:1:long asLong():693:693 -> asLong
    1:1:java.lang.String asString():704:704 -> asString
    1:1:int getSource():720:720 -> getSource
com.sf.sdk.internal.firebase.MessageHandler -> com.sf.sdk.a0.b:
# {"id":"sourceFile","fileName":"MessageHandler.java"}
    java.util.concurrent.atomic.AtomicInteger requestCodeProvider -> a
    1:1:void <clinit>():52:52 -> <clinit>
    1:1:void <init>():49:49 -> <init>
    1:18:com.sf.sdk.data.SFFirebaseMessage handleFirebaseMessage(android.content.Context,com.google.firebase.messaging.RemoteMessage):55:72 -> a
    19:31:java.lang.String getOrCreateChannel(android.content.Context,java.lang.String):159:171 -> a
    32:55:int getSmallIcon(android.content.pm.PackageManager,android.content.res.Resources,java.lang.String,java.lang.String,android.os.Bundle):178:201 -> a
    56:68:boolean isValidIcon(android.content.res.Resources,int):212:224 -> a
    69:81:java.lang.Integer getColor(android.content.Context,java.lang.String,android.os.Bundle):230:242 -> a
    82:96:android.net.Uri getSound(java.lang.String,java.lang.String,android.content.res.Resources):251:265 -> a
    97:115:android.app.PendingIntent createContentIntent(android.content.Context,com.google.firebase.messaging.RemoteMessage$Notification,java.util.Map):272:290 -> a
    116:134:android.content.Intent createTargetIntent(java.lang.String,android.content.pm.PackageManager,com.google.firebase.messaging.RemoteMessage$Notification):294:312 -> a
    135:135:int generatePendingIntentRequestCode():318:318 -> a
    136:142:int getConsolidatedDefaults(com.google.firebase.messaging.RemoteMessage$Notification):323:329 -> a
    143:145:com.google.firebase.messaging.ImageDownload startImageDownloadInBackground(android.net.Uri):336:338 -> a
    146:166:void waitForAndApplyImageDownload(androidx.core.app.NotificationCompat$Builder,com.google.firebase.messaging.ImageDownload):354:374 -> a
    167:169:void waitForAndApplyImageDownload(androidx.core.app.NotificationCompat$Builder,com.google.firebase.messaging.ImageDownload):369:371 -> a
    170:170:void waitForAndApplyImageDownload(androidx.core.app.NotificationCompat$Builder,com.google.firebase.messaging.ImageDownload):367:367 -> a
    1:78:com.sf.sdk.data.SFFirebaseMessage$DisplayNotificationInfo createNotificationInfo(android.content.Context,com.google.firebase.messaging.RemoteMessage$Notification,java.util.Map):77:154 -> b
com.sf.sdk.internal.google.GoogleGameService -> com.sf.sdk.b0.a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    android.app.Activity activity -> a
    java.util.concurrent.Executor mainExecutor -> b
    java.util.concurrent.Executor workExecutor -> c
    boolean isAuthenticated -> d
    com.google.android.gms.games.SnapshotsClient snapshotsClient -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():50:50 -> <clinit>
    1:4:void <init>(android.app.Activity):64:67 -> <init>
    1:8:void writeSnapshotByServer(java.lang.String,byte[],com.sf.sdk.SFRequestResultListener):184:191 -> a
    9:9:void getLeaderboardsByServer(java.lang.String,java.lang.String,int,long,com.sf.sdk.SFRequestResultListener):298:298 -> a
    10:26:void submitPlayerScoreByServer(com.sf.sdk.data.SFLeaderboard,int,com.sf.sdk.SFRequestResultListener):328:344 -> a
    27:27:void submitPlayerScoreByServer(com.sf.sdk.data.SFLeaderboard,int,com.sf.sdk.SFRequestResultListener):330:330 -> a
    28:35:void getPlayerMailsByServer(com.sf.sdk.SFRequestResultListener):375:382 -> a
    36:53:void checkAuthenticated():416:433 -> a
    54:98:void writeSnapshotByGoogle(java.lang.String,byte[],com.sf.sdk.data.SFSnapshotMetadata,com.sf.sdk.SFRequestResultListener):491:535 -> a
    99:128:void deleteSnapshotByGoogle(java.lang.String,com.sf.sdk.SFRequestResultListener):556:585 -> a
    129:147:com.google.android.gms.tasks.Task processSnapshotOpenResult(com.google.android.gms.games.SnapshotsClient$DataOrConflict,int):610:628 -> a
    148:156:java.lang.String getErrorMessage(java.lang.Exception):645:653 -> a
    157:167:com.sf.sdk.data.SFGameSnapshot getGameSnapshot(com.google.android.gms.games.snapshot.SnapshotMetadata):657:667 -> a
    1:8:void deleteSnapshotByServer(java.lang.String,com.sf.sdk.SFRequestResultListener):224:231 -> b
    9:10:void ensureSnapshotsClient():604:605 -> b
    1:1:void setAuthenticated():71:71 -> c
    2:9:void getLeaderboardByServer(java.lang.String,com.sf.sdk.SFRequestResultListener):261:268 -> c
    1:29:void readSnapshotsByGoogle(java.lang.String,com.sf.sdk.SFRequestResultListener):443:471 -> d
    1:4:void deleteSnapshot(java.lang.String,boolean,com.sf.sdk.SFRequestResultListener):105:108 -> deleteSnapshot
    1:8:void readSnapshotsByServer(java.lang.String,com.sf.sdk.SFRequestResultListener):144:151 -> e
    1:1:android.app.Activity getActivity():76:76 -> getActivity
    1:1:void getLeaderboard(java.lang.String,com.sf.sdk.SFRequestResultListener):113:113 -> getLeaderboard
    1:1:void getLeaderboards(java.lang.String,int,long,com.sf.sdk.SFRequestResultListener):118:118 -> getLeaderboards
    2:2:void getLeaderboards(java.lang.String,java.lang.String,int,long,com.sf.sdk.SFRequestResultListener):123:123 -> getLeaderboards
    1:1:void getPlayerMails(com.sf.sdk.SFRequestResultListener):138:138 -> getPlayerMails
    1:4:void readSnapshots(java.lang.String,boolean,com.sf.sdk.SFRequestResultListener):82:85 -> readSnapshots
    1:1:void submitPlayerScore(com.sf.sdk.data.SFLeaderboard,com.sf.sdk.SFRequestResultListener):128:128 -> submitPlayerScore
    2:2:void submitPlayerScore(com.sf.sdk.data.SFLeaderboard,int,com.sf.sdk.SFRequestResultListener):133:133 -> submitPlayerScore
    1:1:void writeSnapshot(java.lang.String,byte[],boolean,com.sf.sdk.SFRequestResultListener):90:90 -> writeSnapshot
    2:5:void writeSnapshot(java.lang.String,byte[],com.sf.sdk.data.SFSnapshotMetadata,boolean,com.sf.sdk.SFRequestResultListener):96:99 -> writeSnapshot
com.sf.sdk.internal.google.GoogleGameService$1 -> com.sf.sdk.b0.a$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    java.lang.String val$fileName -> b
    com.sf.sdk.internal.google.GoogleGameService this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener,java.lang.String):151:151 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;Ljava/lang/String;)V"}
    1:2:void onSuccess(java.lang.String):154:155 -> a
    1:2:void onFailed(int,java.lang.String):170:171 -> onFailed
    1:1:void onSuccess(java.lang.Object):151:151 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$1$1 -> com.sf.sdk.b0.a$a$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    java.lang.String val$data -> a
    com.sf.sdk.internal.google.GoogleGameService$1 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$1,java.lang.String):155:155 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$a;Ljava/lang/String;)V"}
    1:5:void run():158:162 -> run
com.sf.sdk.internal.google.GoogleGameService$1$2 -> com.sf.sdk.b0.a$a$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$1 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$1,int,java.lang.String):171:171 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$a;ILjava/lang/String;)V"}
    1:2:void run():174:175 -> run
com.sf.sdk.internal.google.GoogleGameService$10 -> com.sf.sdk.b0.a$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener):471:471 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:11:void onComplete(com.google.android.gms.tasks.Task):474:484 -> onComplete
com.sf.sdk.internal.google.GoogleGameService$11 -> com.sf.sdk.b0.a$c:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):458:458 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:5:com.sf.sdk.data.SFGameSnapshot then(com.google.android.gms.tasks.Task):461:465 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):458:458 -> then
com.sf.sdk.internal.google.GoogleGameService$12 -> com.sf.sdk.b0.a$d:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):452:452 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:1:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):455:455 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):452:452 -> then
com.sf.sdk.internal.google.GoogleGameService$13 -> com.sf.sdk.b0.a$e:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):446:446 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:1:void onFailure(java.lang.Exception):449:449 -> onFailure
com.sf.sdk.internal.google.GoogleGameService$14 -> com.sf.sdk.b0.a$f:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    byte[] val$data -> b
    com.sf.sdk.internal.google.GoogleGameService this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener,byte[]):535:535 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;[B)V"}
    1:12:void onComplete(com.google.android.gms.tasks.Task):538:549 -> onComplete
com.sf.sdk.internal.google.GoogleGameService$15 -> com.sf.sdk.b0.a$g:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    byte[] val$data -> a
    com.sf.sdk.data.SFSnapshotMetadata val$metadata -> b
    com.sf.sdk.internal.google.GoogleGameService this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,byte[],com.sf.sdk.data.SFSnapshotMetadata):505:505 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;[BLcom/sf/sdk/data/SFSnapshotMetadata;)V"}
    1:25:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):508:532 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):505:505 -> then
com.sf.sdk.internal.google.GoogleGameService$16 -> com.sf.sdk.b0.a$h:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):499:499 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:1:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):502:502 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):499:499 -> then
com.sf.sdk.internal.google.GoogleGameService$17 -> com.sf.sdk.b0.a$i:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):493:493 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:1:void onFailure(java.lang.Exception):496:496 -> onFailure
com.sf.sdk.internal.google.GoogleGameService$18 -> com.sf.sdk.b0.a$j:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener):585:585 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:10:void onComplete(com.google.android.gms.tasks.Task):588:597 -> onComplete
com.sf.sdk.internal.google.GoogleGameService$19 -> com.sf.sdk.b0.a$k:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):570:570 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:10:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):573:582 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):570:570 -> then
com.sf.sdk.internal.google.GoogleGameService$2 -> com.sf.sdk.b0.a$l:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    java.lang.String val$fileName -> b
    byte[] val$data -> c
    com.sf.sdk.internal.google.GoogleGameService this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener,java.lang.String,byte[]):191:191 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;Ljava/lang/String;[B)V"}
    1:2:void onSuccess(java.lang.Void):194:195 -> a
    1:2:void onFailed(int,java.lang.String):210:211 -> onFailed
    1:1:void onSuccess(java.lang.Object):191:191 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$2$1 -> com.sf.sdk.b0.a$l$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService$2 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$l;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$2):195:195 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$l;)V"}
    1:5:void run():198:202 -> run
com.sf.sdk.internal.google.GoogleGameService$2$2 -> com.sf.sdk.b0.a$l$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$2 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$l;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$2,int,java.lang.String):211:211 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$l;ILjava/lang/String;)V"}
    1:2:void run():214:215 -> run
com.sf.sdk.internal.google.GoogleGameService$20 -> com.sf.sdk.b0.a$m:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):564:564 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:1:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):567:567 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):564:564 -> then
com.sf.sdk.internal.google.GoogleGameService$21 -> com.sf.sdk.b0.a$n:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):558:558 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:1:void onFailure(java.lang.Exception):561:561 -> onFailure
com.sf.sdk.internal.google.GoogleGameService$22 -> com.sf.sdk.b0.a$o:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$retryCount -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,int):628:628 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;I)V"}
    1:4:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):632:635 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):628:628 -> then
com.sf.sdk.internal.google.GoogleGameService$3 -> com.sf.sdk.b0.a$p:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener):231:231 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(java.lang.String):234:235 -> a
    1:2:void onFailed(int,java.lang.String):247:248 -> onFailed
    1:1:void onSuccess(java.lang.Object):231:231 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$3$1 -> com.sf.sdk.b0.a$p$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    java.lang.String val$data -> a
    com.sf.sdk.internal.google.GoogleGameService$3 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$p;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$3,java.lang.String):235:235 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$p;Ljava/lang/String;)V"}
    1:2:void run():238:239 -> run
com.sf.sdk.internal.google.GoogleGameService$3$2 -> com.sf.sdk.b0.a$p$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$3 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$p;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$3,int,java.lang.String):248:248 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$p;ILjava/lang/String;)V"}
    1:2:void run():251:252 -> run
com.sf.sdk.internal.google.GoogleGameService$4 -> com.sf.sdk.b0.a$q:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener):268:268 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(com.sf.sdk.data.SFLeaderboard):271:272 -> a
    1:2:void onFailed(int,java.lang.String):284:285 -> onFailed
    1:1:void onSuccess(java.lang.Object):268:268 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$4$1 -> com.sf.sdk.b0.a$q$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.data.SFLeaderboard val$data -> a
    com.sf.sdk.internal.google.GoogleGameService$4 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$q;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$4,com.sf.sdk.data.SFLeaderboard):272:272 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$q;Lcom/sf/sdk/data/SFLeaderboard;)V"}
    1:2:void run():275:276 -> run
com.sf.sdk.internal.google.GoogleGameService$4$2 -> com.sf.sdk.b0.a$q$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$4 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$q;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$4,int,java.lang.String):285:285 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$q;ILjava/lang/String;)V"}
    1:2:void run():288:289 -> run
com.sf.sdk.internal.google.GoogleGameService$5 -> com.sf.sdk.b0.a$r:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener):298:298 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(java.util.List):301:302 -> a
    1:2:void onFailed(int,java.lang.String):314:315 -> onFailed
    1:1:void onSuccess(java.lang.Object):298:298 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$5$1 -> com.sf.sdk.b0.a$r$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    java.util.List val$data -> a
    com.sf.sdk.internal.google.GoogleGameService$5 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$r;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$5,java.util.List):302:302 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$r;Ljava/util/List;)V"}
    1:2:void run():305:306 -> run
com.sf.sdk.internal.google.GoogleGameService$5$2 -> com.sf.sdk.b0.a$r$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$5 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$r;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$5,int,java.lang.String):315:315 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$r;ILjava/lang/String;)V"}
    1:2:void run():318:319 -> run
com.sf.sdk.internal.google.GoogleGameService$6 -> com.sf.sdk.b0.a$s:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$groupCount -> a
    com.sf.sdk.SFRequestResultListener val$listener -> b
    com.sf.sdk.internal.google.GoogleGameService this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,int,com.sf.sdk.SFRequestResultListener):344:344 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;ILcom/sf/sdk/SFRequestResultListener;)V"}
    1:3:void onSuccess(com.sf.sdk.data.SFLeaderboard):347:349 -> a
    1:2:void onFailed(int,java.lang.String):361:362 -> onFailed
    1:1:void onSuccess(java.lang.Object):344:344 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$6$1 -> com.sf.sdk.b0.a$s$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.data.SFLeaderboard val$data -> a
    com.sf.sdk.internal.google.GoogleGameService$6 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$s;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$6,com.sf.sdk.data.SFLeaderboard):349:349 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$s;Lcom/sf/sdk/data/SFLeaderboard;)V"}
    1:2:void run():352:353 -> run
com.sf.sdk.internal.google.GoogleGameService$6$2 -> com.sf.sdk.b0.a$s$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$6 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$s;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$6,int,java.lang.String):362:362 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$s;ILjava/lang/String;)V"}
    1:2:void run():365:366 -> run
com.sf.sdk.internal.google.GoogleGameService$7 -> com.sf.sdk.b0.a$t:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.sf.sdk.SFRequestResultListener):382:382 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(java.util.List):385:386 -> a
    1:2:void onFailed(int,java.lang.String):398:399 -> onFailed
    1:1:void onSuccess(java.lang.Object):382:382 -> onSuccess
com.sf.sdk.internal.google.GoogleGameService$7$1 -> com.sf.sdk.b0.a$t$a:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    java.util.List val$data -> a
    com.sf.sdk.internal.google.GoogleGameService$7 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$t;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$7,java.util.List):386:386 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$t;Ljava/util/List;)V"}
    1:2:void run():389:390 -> run
com.sf.sdk.internal.google.GoogleGameService$7$2 -> com.sf.sdk.b0.a$t$b:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.internal.google.GoogleGameService$7 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a$t;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService$7,int,java.lang.String):399:399 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a$t;ILjava/lang/String;)V"}
    1:2:void run():402:403 -> run
com.sf.sdk.internal.google.GoogleGameService$8 -> com.sf.sdk.b0.a$u:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.sf.sdk.internal.google.GoogleGameService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService):433:433 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;)V"}
    1:2:void onComplete(com.google.android.gms.tasks.Task):436:437 -> onComplete
com.sf.sdk.internal.google.GoogleGameService$9 -> com.sf.sdk.b0.a$v:
# {"id":"sourceFile","fileName":"GoogleGameService.java"}
    com.google.android.gms.games.GamesSignInClient val$gamesSignInClient -> a
    com.sf.sdk.internal.google.GoogleGameService this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/b0/a;"}
    1:1:void <init>(com.sf.sdk.internal.google.GoogleGameService,com.google.android.gms.games.GamesSignInClient):422:422 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/b0/a;Lcom/google/android/gms/games/GamesSignInClient;)V"}
    1:6:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):425:430 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):422:422 -> then
com.sf.sdk.internal.google.GoogleStatusCodes -> com.sf.sdk.b0.b:
# {"id":"sourceFile","fileName":"GoogleStatusCodes.java"}
    java.util.Map ERROR_MESSAGES -> a
    1:46:void <clinit>():12:57 -> <clinit>
    1:1:void <init>():10:10 -> <init>
    1:1:java.lang.String getStatusCodeMessage(int):61:61 -> a
    1:1:boolean isCancelledByUser(int):69:69 -> b
    1:1:boolean isDeveloperError(int):65:65 -> c
com.sf.sdk.internal.google.GoogleUtil -> com.sf.sdk.b0.c:
# {"id":"sourceFile","fileName":"GoogleUtil.java"}
    1:1:void <init>():19:19 -> <init>
    1:7:boolean checkGooglePlayServicesAvailable(android.content.Context):23:29 -> a
    8:13:boolean checkGooglePlayServices(android.app.Activity):39:44 -> a
    1:1:boolean isGooglePlayServicesAvailable(android.content.Context):35:35 -> b
com.sf.sdk.internal.google.GoogleUtil$1 -> com.sf.sdk.b0.c$a:
# {"id":"sourceFile","fileName":"GoogleUtil.java"}
    android.app.Activity val$activity -> a
    int val$code -> b
    1:1:void <init>(android.app.Activity,int):44:44 -> <init>
    1:5:void run():47:51 -> run
com.sf.sdk.internal.thinking.ThinkingUtil -> com.sf.sdk.c0.a:
# {"id":"sourceFile","fileName":"ThinkingUtil.java"}
    boolean initialized -> a
    java.util.List tasks -> b
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():16:16 -> <init>
    1:5:void setInitialized(boolean):22:26 -> a
com.sf.sdk.plugin.IPlugin -> com.sf.sdk.d0.a:
# {"id":"sourceFile","fileName":"IPlugin.java"}
    void init(android.content.Context,java.lang.String) -> a
    boolean isAvailable() -> f
    boolean isInstalled() -> g
com.sf.sdk.plugin.PluginInfo -> com.sf.sdk.d0.b:
# {"id":"sourceFile","fileName":"PluginInfo.java"}
    java.lang.String type -> a
    java.lang.String name -> b
    java.lang.Class clazz -> c
    com.sf.sdk.plugin.IPlugin plugin -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/d0/a;"}
    1:1:void <init>():13:13 -> <init>
    2:5:void <init>(java.lang.String,java.lang.String,java.lang.Class):16:19 -> <init>
    1:1:java.lang.Class getClazz():39:39 -> a
    2:2:void setPlugin(com.sf.sdk.plugin.IPlugin):51:51 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/d0/a;)V"}
    3:3:com.sf.sdk.plugin.PluginInfo analytics(java.lang.String,java.lang.Class):59:59 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/Class;)Lcom/sf/sdk/d0/b;"}
    1:1:java.lang.String getName():31:31 -> b
    2:2:com.sf.sdk.plugin.PluginInfo login(java.lang.String,java.lang.Class):55:55 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/Class;)Lcom/sf/sdk/d0/b;"}
    1:1:com.sf.sdk.plugin.IPlugin getPlugin():47:47 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/d0/a;"}
    2:2:com.sf.sdk.plugin.PluginInfo payment(java.lang.String,java.lang.Class):63:63 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/Class;)Lcom/sf/sdk/d0/b;"}
    1:1:java.lang.String getType():23:23 -> d
com.sf.sdk.plugin.PluginsManager -> com.sf.sdk.d0.c:
# {"id":"sourceFile","fileName":"PluginsManager.java"}
    com.sf.sdk.plugin.login.LoginManager loginManager -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/c;"}
    com.sf.sdk.plugin.payment.PaymentManager paymentManager -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    com.sf.sdk.plugin.analytics.AnalyticsManager analyticsManager -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e0/a;"}
    boolean loginPluginsInitialized -> d
    boolean paymentPluginsInitialized -> e
    boolean analyticsPluginsInitialized -> f
    java.util.List loginPlugins -> g
    java.util.List paymentPlugins -> h
    java.util.List analyticsPlugins -> i
    1:1:void <init>():49:49 -> <init>
    2:16:void <init>():36:50 -> <init>
    1:4:com.sf.sdk.plugin.analytics.AnalyticsManager getAnalyticsManager():72:75 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/e0/a;"}
    5:11:void ensureAnalyticsPlugins(android.content.Context):139:145 -> a
    12:20:void initAnalyticsPlugin(android.content.Context,java.lang.String):179:187 -> a
    21:47:void initPlugins(android.content.Context,java.util.List):196:222 -> a
    48:57:void registerPlugin(com.sf.sdk.plugin.PluginInfo):229:238 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/d0/b;)V"}
    58:62:com.sf.sdk.plugin.PluginInfo findPlugin(java.lang.String,java.util.List):247:251 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/util/List;)Lcom/sf/sdk/d0/b;"}
    63:73:void initPlugin(android.content.Context,com.sf.sdk.plugin.PluginInfo):259:269 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Lcom/sf/sdk/d0/b;)V"}
    1:1:com.sf.sdk.plugin.PluginsManager getInstance():54:54 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/d0/c;"}
    2:5:void ensureLoginPlugins(android.content.Context):117:120 -> b
    1:4:com.sf.sdk.plugin.login.LoginManager getLoginManager():58:61 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/j0/c;"}
    5:8:void ensurePaymentPlugins(android.content.Context):128:131 -> c
    1:4:com.sf.sdk.plugin.payment.PaymentManager getPaymentManager():65:68 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/n0/e;"}
    1:10:void initCommonPlugins():79:88 -> e
    1:13:void initPlatformServicePlugins():92:104 -> f
    1:1:boolean isAnalyticsPluginsInitialized():110:110 -> g
com.sf.sdk.plugin.PluginsManager$Singleton -> com.sf.sdk.d0.c$a:
# {"id":"sourceFile","fileName":"PluginsManager.java"}
    com.sf.sdk.plugin.PluginsManager instance -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/d0/c;"}
    1:1:void <clinit>():46:46 -> <clinit>
com.sf.sdk.plugin.analytics.AnalyticsManager -> com.sf.sdk.e0.a:
# {"id":"sourceFile","fileName":"AnalyticsManager.java"}
    boolean containsAppsFlyer -> a
    java.util.List pendingTasks -> b
    java.util.Map analyticPlugins -> c
    java.util.Map analyticTasks -> d
    long startTimeInit -> e
    long startTimeLogin -> f
    java.util.List sdkEventsFirebase -> g
    java.util.List sdkEventsAppsFlyer -> h
    java.util.regex.Pattern EVENT_PATTERN -> i
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>():52:52 -> <init>
    2:115:void <init>():48:161 -> <init>
    116:116:void <init>():53:53 -> <init>
    1:15:void registerPlugin(com.sf.sdk.plugin.PluginInfo):65:79 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/d0/b;)V"}
    16:16:void registerPlugin(com.sf.sdk.plugin.PluginInfo):66:66 -> a
    17:27:void addAnalyticsTask(java.lang.String,java.lang.Runnable):114:124 -> a
    28:29:void executeTasks():128:129 -> a
    30:35:void setDebugMode(boolean):134:139 -> a
    36:40:void onInitFailed(int,java.lang.String):190:194 -> a
    41:41:void onRefreshToken(java.lang.String,com.sf.sdk.data.SFUser):210:210 -> a
    42:58:void onRefreshToken(java.lang.String,com.sf.sdk.data.SFUser,int,java.lang.String):214:230 -> a
    59:62:void onLoginBegin(int):234:237 -> a
    63:63:void onLoginSuccess(com.sf.sdk.data.SFUser):241:241 -> a
    64:81:void onLoginSuccess(com.sf.sdk.data.SFUser,boolean):245:262 -> a
    82:87:void onLinkBegin(int,com.sf.sdk.data.SFUser):275:280 -> a
    88:88:void onAuthorizationFailed(int,int,java.lang.String):311:311 -> a
    89:96:void onAuthorizationFailed(int,int,java.lang.String,java.util.Map):315:322 -> a
    97:97:void onPaymentEvent(java.lang.String,com.sf.sdk.data.SFOrder):326:326 -> a
    98:149:void onPaymentEvent(java.lang.String,com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPaymentError):330:381 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/u/i;)V"}
    150:156:void onPreRegistration(com.sf.sdk.data.internal.SFPurchase):385:391 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;)V"}
    157:168:void onRoleEvent(java.lang.String,com.sf.sdk.data.SFRoleData):395:406 -> a
    169:173:void onDeleted(com.sf.sdk.data.internal.SFCancelState):417:421 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/b;)V"}
    174:178:void onCompleteTutorial(java.lang.String,java.lang.String):425:429 -> a
    179:183:void onGameServerError(java.lang.String,java.lang.String,java.lang.String):433:437 -> a
    184:187:void onGameCustomReview(float,java.lang.String):441:444 -> a
    188:201:void onSubmitPlayerScore(com.sf.sdk.data.SFLeaderboard,int):448:461 -> a
    202:202:void lambda$onSdkTrackEvent$1(com.sf.sdk.plugin.analytics.IAnalytics,java.lang.String,java.util.Map):502:502 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/e0/c;Ljava/lang/String;Ljava/util/Map;)V"}
    203:203:void lambda$onTrackEvent$2(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):516:516 -> a
    204:204:void onTrackEventSingle(java.lang.String,java.lang.String,java.util.Map):541:541 -> a
    205:205:void lambda$onTrackEventSingle$3(java.lang.String,java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):547:547 -> a
    206:206:com.sf.sdk.plugin.analytics.IAnalytics findPlugin(java.lang.String):568:568 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcom/sf/sdk/e0/c;"}
    207:233:boolean checkEventValid(java.lang.String,java.util.Map):573:599 -> a
    234:249:java.util.Map generateEventParams(java.util.Map):605:620 -> a
    1:1:com.sf.sdk.plugin.analytics.AnalyticsManager getInstance():57:57 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/e0/a;"}
    2:11:void unregisterPlugin(com.sf.sdk.plugin.PluginInfo):89:98 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/d0/b;)V"}
    12:12:java.util.List getAnalyticTasks(java.lang.String):110:110 -> b
    13:21:void onRegister(com.sf.sdk.data.SFUser):198:206 -> b
    22:29:void onLinkSuccess(int,com.sf.sdk.data.SFUser):284:291 -> b
    30:34:void onLinkFailed(int,int,java.lang.String):295:299 -> b
    35:39:void onEmailVerify(java.lang.String,java.lang.String):303:307 -> b
    40:44:void onSdkParseError(java.lang.String,java.lang.String,java.lang.String):471:475 -> b
    45:45:void lambda$onSdkTrackEvent$0(java.lang.String,java.util.Map):480:480 -> b
    46:65:void onTrackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):515:534 -> b
    66:83:void onTrackEventSingle(java.lang.String,java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):545:562 -> b
    1:2:java.util.List getPendingTasks():104:105 -> c
    3:8:void onLoginFailed(int,int,java.lang.String):266:271 -> c
    9:11:void onSdkInternalError(java.lang.String):465:467 -> c
    12:39:void onSdkTrackEvent(java.lang.String,java.util.Map):479:506 -> c
    1:6:void setUserId(java.lang.String):145:150 -> d
    7:11:void initSdkEvents():165:169 -> d
    1:3:void onInitStart():173:175 -> e
    1:8:void onInitSuccess():179:186 -> f
    1:4:void onLogout():410:413 -> g
com.sf.sdk.plugin.analytics.BaseAnalytics -> com.sf.sdk.e0.b:
# {"id":"sourceFile","fileName":"BaseAnalytics.java"}
    java.lang.String name -> a
    java.lang.String userId -> b
    android.content.Context context -> c
    boolean debugMode -> d
    boolean available -> e
    boolean initialized -> f
    1:10:void <init>():20:29 -> <init>
    1:2:void init(android.content.Context,java.lang.String):33:34 -> a
    3:3:void setDebugMode(boolean):59:59 -> a
    4:4:void setUserId(java.lang.String):64:64 -> a
    5:14:boolean isSandboxEvent(java.util.Map):94:103 -> a
    15:15:void onTrackEvent(java.lang.String,java.util.Map):110:110 -> a
    16:23:void onTrackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):115:122 -> a
    1:1:void setName(java.lang.String):39:39 -> b
    2:2:void addAnalyticsTask(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):132:132 -> b
    void trackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener) -> c
    1:1:boolean isNeedTrackEvent(java.lang.String):128:128 -> c
    1:4:boolean isRevenueEvent(java.lang.String):86:89 -> d
    1:1:boolean isAvailable():49:49 -> f
    1:12:void executeTasks():70:81 -> h
    1:1:boolean isInitialized():54:54 -> i
com.sf.sdk.plugin.analytics.BaseAnalytics$1 -> com.sf.sdk.e0.b$a:
# {"id":"sourceFile","fileName":"BaseAnalytics.java"}
    java.lang.String val$eventName -> a
    java.util.Map val$params -> b
    com.sf.sdk.SFRequestListener val$listener -> c
    com.sf.sdk.plugin.analytics.BaseAnalytics this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/e0/b;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.BaseAnalytics,java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):132:132 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/e0/b;Ljava/lang/String;Ljava/util/Map;Lcom/sf/sdk/SFRequestListener;)V"}
    1:2:void run():135:136 -> run
com.sf.sdk.plugin.analytics.IAnalytics -> com.sf.sdk.e0.c:
# {"id":"sourceFile","fileName":"IAnalytics.java"}
    void onTrackEvent(java.lang.String,java.util.Map) -> a
    void onTrackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener) -> a
    void setDebugMode(boolean) -> a
    void setUserId(java.lang.String) -> a
    void setName(java.lang.String) -> b
    void executeTasks() -> h
    boolean isInitialized() -> i
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics -> com.sf.sdk.f0.a:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    long startTime -> g
    java.lang.String conversionData -> h
    java.lang.String appsflyerDevKey -> i
    boolean shouldInterruptGameEvents -> j
    com.sf.sdk.common.lifecycle.ActivityLifecycleCallbacks activityLifecycleCallbacks -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p/a;"}
    1:1:void <init>():54:54 -> <init>
    1:1:boolean access$000(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics):46:46 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;)Z"}
    2:72:void init(android.content.Context,java.lang.String):59:129 -> a
    73:74:void setDebugMode(boolean):171:172 -> a
    75:76:void setUserId(java.lang.String):177:178 -> a
    77:88:void saveCostValue(java.lang.Object):291:302 -> a
    1:1:java.lang.String access$100(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics):46:46 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;)Ljava/lang/String;"}
    2:2:void startAppsFlyer(android.app.Activity):140:140 -> b
    3:29:void saveConversionData(java.util.Map):261:287 -> b
    1:1:boolean access$200(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics):46:46 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;)Z"}
    2:5:boolean isNeedTrackEvent(java.lang.String):183:186 -> c
    6:9:void trackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):191:194 -> c
    10:39:void setRevenue(java.util.Map):226:255 -> c
    1:1:boolean isInstalled():166:166 -> g
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$1 -> com.sf.sdk.f0.a$a:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics):76:76 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;)V"}
    1:1:void onAppOpenAttribution(java.util.Map):98:98 -> onAppOpenAttribution
    1:1:void onAttributionFailure(java.lang.String):103:103 -> onAttributionFailure
    1:1:void onConversionDataFail(java.lang.String):93:93 -> onConversionDataFail
    1:8:void onConversionDataSuccess(java.util.Map):80:87 -> onConversionDataSuccess
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$2 -> com.sf.sdk.f0.a$b:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    android.app.Application val$application -> a
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics,android.app.Application):110:110 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;Landroid/app/Application;)V"}
    1:3:void onActivityCreated(android.app.Activity,android.os.Bundle):113:115 -> onActivityCreated
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$3 -> com.sf.sdk.f0.a$c:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):129:129 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:3:void task():132:134 -> d
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$4 -> com.sf.sdk.f0.a$d:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics):140:140 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;)V"}
    1:6:void onError(int,java.lang.String):154:159 -> onError
    1:7:void onSuccess():143:149 -> onSuccess
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5 -> com.sf.sdk.f0.a$e:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    java.lang.String val$eventName -> a
    com.sf.sdk.SFRequestListener val$listener -> b
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics,java.lang.String,com.sf.sdk.SFRequestListener):194:194 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a;Ljava/lang/String;Lcom/sf/sdk/SFRequestListener;)V"}
    1:2:void onError(int,java.lang.String):210:211 -> onError
    1:2:void onSuccess():197:198 -> onSuccess
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5$1 -> com.sf.sdk.f0.a$e$a:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a$e;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5):198:198 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a$e;)V"}
    1:2:void run():201:202 -> run
com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5$2 -> com.sf.sdk.f0.a$e$b:
# {"id":"sourceFile","fileName":"AppsFlyerAnalytics.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/f0/a$e;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.appsflyer.AppsFlyerAnalytics$5,int,java.lang.String):211:211 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/f0/a$e;ILjava/lang/String;)V"}
    1:2:void run():214:215 -> run
com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics -> com.sf.sdk.g0.a:
# {"id":"sourceFile","fileName":"FirebaseAnalytics.java"}
    com.google.firebase.analytics.FirebaseAnalytics firebaseAnalytics -> g
    1:1:void <init>():36:36 -> <init>
    1:30:void init(android.content.Context,java.lang.String):41:70 -> a
    31:32:void setUserId(java.lang.String):87:88 -> a
    1:9:void trackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):94:102 -> c
    1:1:boolean isInstalled():82:82 -> g
    1:4:com.google.firebase.analytics.FirebaseAnalytics getFirebaseAnalytics():108:111 -> j
com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics$1 -> com.sf.sdk.g0.a$a:
# {"id":"sourceFile","fileName":"FirebaseAnalytics.java"}
    android.content.Context val$context -> a
    com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics,android.content.Context):46:46 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g0/a;Landroid/content/Context;)V"}
    1:1:void lambda$run$0(android.os.Bundle):54:54 -> a
    1:6:void run():49:54 -> run
com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics$2 -> com.sf.sdk.g0.a$b:
# {"id":"sourceFile","fileName":"FirebaseAnalytics.java"}
    com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.analytics.firebase.FirebaseAnalytics,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):70:70 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/g0/a;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:3:void task():73:75 -> d
com.sf.sdk.plugin.analytics.sofish.SofishAnalytics -> com.sf.sdk.h0.a:
# {"id":"sourceFile","fileName":"SofishAnalytics.java"}
    java.util.List SPECIFIED_EVENTS -> g
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:void <init>():31:31 -> <init>
    1:37:void init(android.content.Context,java.lang.String):43:79 -> a
    38:39:void init(android.content.Context,java.lang.String):49:50 -> a
    40:44:void setUserId(java.lang.String):89:93 -> a
    1:4:boolean isNeedTrackEvent(java.lang.String):99:102 -> c
    5:14:void trackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):108:117 -> c
    1:1:boolean isInstalled():84:84 -> g
com.sf.sdk.plugin.analytics.sofish.SofishAnalytics$1 -> com.sf.sdk.h0.a$a:
# {"id":"sourceFile","fileName":"SofishAnalytics.java"}
    1:5:void <init>():33:37 -> <init>
com.sf.sdk.plugin.analytics.thinking.ThinkingDataAnalytics -> com.sf.sdk.i0.a:
# {"id":"sourceFile","fileName":"ThinkingDataAnalytics.java"}
    java.util.List SPECIFIED_EVENTS -> g
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>():49:49 -> <init>
    1:61:void init(android.content.Context,java.lang.String):54:114 -> a
    62:63:void init(android.content.Context,java.lang.String):65:66 -> a
    64:65:void setDebugMode(boolean):124:125 -> a
    66:70:void setUserId(java.lang.String):130:134 -> a
    1:4:boolean isNeedTrackEvent(java.lang.String):140:143 -> c
    5:14:void trackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):149:158 -> c
    1:1:boolean isInstalled():119:119 -> g
    1:7:com.sf.sdk.data.SFThinkingData generateThinkingData():164:170 -> j
com.sf.sdk.plugin.analytics.thinking.ThinkingDataAnalytics$1 -> com.sf.sdk.i0.a$a:
# {"id":"sourceFile","fileName":"ThinkingDataAnalytics.java"}
    1:5:void <init>():41:45 -> <init>
com.sf.sdk.plugin.login.BaseLogin -> com.sf.sdk.j0.a:
# {"id":"sourceFile","fileName":"BaseLogin.java"}
    java.lang.String name -> a
    android.content.Context context -> b
    int accountType -> c
    com.sf.sdk.ui.widget.dialog.LoadingDialog loadingDialog -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    java.lang.ref.WeakReference fragmentReference -> e
    boolean initialized -> f
    1:9:void <init>():20:28 -> <init>
    1:2:void init(android.content.Context,java.lang.String):32:33 -> a
    3:3:void onLoginSuccess(com.sf.sdk.data.internal.SFLoginPlatform):87:87 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;)V"}
    4:4:void onLoginFailed(int,java.lang.String):98:98 -> a
    1:5:void updateFragmentHolder(com.sf.sdk.ui.base.FragmentHolder):53:57 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    1:1:int getAccountType():43:43 -> c
    1:1:boolean isAvailable():48:48 -> f
    1:1:void dismissLoadingDialog():78:78 -> j
    1:2:android.app.Activity getActivity():61:62 -> l
    1:4:void showLoadingDialog():66:69 -> m
com.sf.sdk.plugin.login.BaseLogin$1 -> com.sf.sdk.j0.a$a:
# {"id":"sourceFile","fileName":"BaseLogin.java"}
    com.sf.sdk.plugin.login.BaseLogin this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.BaseLogin):69:69 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/j0/a;)V"}
    1:1:void run():72:72 -> run
com.sf.sdk.plugin.login.BaseLogin$2 -> com.sf.sdk.j0.a$b:
# {"id":"sourceFile","fileName":"BaseLogin.java"}
    com.sf.sdk.plugin.login.BaseLogin this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.BaseLogin):78:78 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/j0/a;)V"}
    1:1:void run():81:81 -> run
com.sf.sdk.plugin.login.BaseLogin$3 -> com.sf.sdk.j0.a$c:
# {"id":"sourceFile","fileName":"BaseLogin.java"}
    com.sf.sdk.data.internal.SFLoginPlatform val$platform -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/f;"}
    com.sf.sdk.plugin.login.BaseLogin this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.BaseLogin,com.sf.sdk.data.internal.SFLoginPlatform):87:87 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/j0/a;Lcom/sf/sdk/u/f;)V"}
    1:3:void run():90:92 -> run
com.sf.sdk.plugin.login.BaseLogin$4 -> com.sf.sdk.j0.a$d:
# {"id":"sourceFile","fileName":"BaseLogin.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.login.BaseLogin this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.BaseLogin,int,java.lang.String):98:98 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/j0/a;ILjava/lang/String;)V"}
    1:2:void run():101:102 -> run
com.sf.sdk.plugin.login.ILogin -> com.sf.sdk.j0.b:
# {"id":"sourceFile","fileName":"ILogin.java"}
    void login(com.sf.sdk.ui.base.FragmentHolder) -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    void release() -> a
    void logout() -> b
    int getAccountType() -> c
com.sf.sdk.plugin.login.LoginManager -> com.sf.sdk.j0.c:
# {"id":"sourceFile","fileName":"LoginManager.java"}
    int accountType -> a
    long lastTimeStamp -> b
    boolean isAuthorizing -> c
    com.sf.sdk.SFRequestResultListener loginResultListener -> d
    java.util.Map loginComponents -> e
    1:12:void <init>():21:32 -> <init>
    1:1:com.sf.sdk.plugin.login.LoginManager getInstance():35:35 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/j0/c;"}
    2:5:void registerPlugin(com.sf.sdk.plugin.PluginInfo):43:46 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/d0/b;)V"}
    6:27:void link(com.sf.sdk.ui.base.FragmentHolder,int,com.sf.sdk.SFRequestResultListener):76:97 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;ILcom/sf/sdk/SFRequestResultListener;)V"}
    28:28:void onLoginSuccess(int,com.sf.sdk.data.internal.SFLoginPlatform):136:136 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(ILcom/sf/sdk/u/f;)V"}
    29:29:void onLoginFailed(int,int,java.lang.String):152:152 -> a
    1:22:void login(com.sf.sdk.ui.base.FragmentHolder,int,com.sf.sdk.SFRequestResultListener):51:72 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;ILcom/sf/sdk/SFRequestResultListener;)V"}
    23:25:void logout():126:128 -> b
com.sf.sdk.plugin.login.LoginManager$1 -> com.sf.sdk.j0.c$a:
# {"id":"sourceFile","fileName":"LoginManager.java"}
    com.sf.sdk.data.internal.SFLoginPlatform val$platform -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/f;"}
    com.sf.sdk.plugin.login.LoginManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/c;"}
    1:1:void <init>(com.sf.sdk.plugin.login.LoginManager,com.sf.sdk.data.internal.SFLoginPlatform):136:136 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/j0/c;Lcom/sf/sdk/u/f;)V"}
    1:5:void run():139:143 -> run
com.sf.sdk.plugin.login.LoginManager$2 -> com.sf.sdk.j0.c$b:
# {"id":"sourceFile","fileName":"LoginManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.login.LoginManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/j0/c;"}
    1:1:void <init>(com.sf.sdk.plugin.login.LoginManager,int,java.lang.String):152:152 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/j0/c;ILjava/lang/String;)V"}
    1:5:void run():155:159 -> run
com.sf.sdk.plugin.login.facebook.FacebookLogin -> com.sf.sdk.k0.a:
# {"id":"sourceFile","fileName":"FacebookLogin.java"}
    com.facebook.CallbackManager callbackManager -> g
    com.facebook.login.LoginManager loginManager -> h
    com.sf.sdk.ui.base.IActivityListener activityListener -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/f;"}
    java.util.List FACEBOOK_PERMISSIONS -> j
    1:1:void <clinit>():51:51 -> <clinit>
    1:1:void <init>():72:72 -> <init>
    2:18:void <init>():57:73 -> <init>
    1:1:void access$000(com.sf.sdk.plugin.login.facebook.FacebookLogin,int,java.lang.String):48:48 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k0/a;ILjava/lang/String;)V"}
    2:65:void login(com.sf.sdk.ui.base.FragmentHolder):108:171 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    66:73:void release():190:197 -> a
    74:85:void requestProfile(com.facebook.AccessToken):214:225 -> a
    86:115:void handlePlatform(com.facebook.AccessToken,org.json.JSONObject):232:261 -> a
    1:1:void access$100(com.sf.sdk.plugin.login.facebook.FacebookLogin,int,java.lang.String):48:48 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k0/a;ILjava/lang/String;)V"}
    2:9:void logout():177:184 -> b
    1:1:boolean isInstalled():79:79 -> g
    1:6:void ensureLoginManager():201:206 -> n
    1:14:void init():89:102 -> o
com.sf.sdk.plugin.login.facebook.FacebookLogin$1 -> com.sf.sdk.k0.a$a:
# {"id":"sourceFile","fileName":"FacebookLogin.java"}
    com.sf.sdk.plugin.login.facebook.FacebookLogin this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.facebook.FacebookLogin):57:57 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k0/a;)V"}
    1:1:void onDestroy():68:68 -> c
    1:3:void onActivityResult(int,int,android.content.Intent):60:62 -> onActivityResult
com.sf.sdk.plugin.login.facebook.FacebookLogin$2 -> com.sf.sdk.k0.a$b:
# {"id":"sourceFile","fileName":"FacebookLogin.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.plugin.login.facebook.FacebookLogin this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.facebook.FacebookLogin,android.app.Activity):138:138 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k0/a;Landroid/app/Activity;)V"}
    1:2:void onSuccess(com.facebook.login.LoginResult):141:142 -> a
    1:3:void onCancel():147:149 -> onCancel
    1:4:void onError(com.facebook.FacebookException):154:157 -> onError
    1:1:void onSuccess(java.lang.Object):138:138 -> onSuccess
com.sf.sdk.plugin.login.facebook.FacebookLogin$3 -> com.sf.sdk.k0.a$c:
# {"id":"sourceFile","fileName":"FacebookLogin.java"}
    com.facebook.AccessToken val$accessToken -> a
    com.sf.sdk.plugin.login.facebook.FacebookLogin this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/k0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.facebook.FacebookLogin,com.facebook.AccessToken):217:217 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/k0/a;Lcom/facebook/AccessToken;)V"}
    1:1:void onCompleted(org.json.JSONObject,com.facebook.GraphResponse):220:220 -> onCompleted
com.sf.sdk.plugin.login.google.GoogleGamesLogin -> com.sf.sdk.l0.a:
# {"id":"sourceFile","fileName":"GoogleGamesLogin.java"}
    com.google.android.gms.games.GamesSignInClient gamesSignInClient -> g
    1:2:void <init>():49:50 -> <init>
    1:26:void login(com.sf.sdk.ui.base.FragmentHolder):86:111 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    27:28:void release():122:123 -> a
    29:32:void requestServerSideAccess(android.app.Activity,com.google.android.gms.games.Player):180:183 -> a
    33:39:void handlePlatform(com.google.android.gms.games.Player,java.lang.String):200:206 -> a
    40:53:void onLoginFailed(android.app.Activity,java.lang.Exception):210:223 -> a
    1:1:void logout():118:118 -> b
    2:4:void getCurrentPlayer(android.app.Activity):163:165 -> b
    1:13:void signIn(android.app.Activity):128:140 -> c
    1:1:boolean isInstalled():56:56 -> g
    1:15:void init():66:80 -> n
com.sf.sdk.plugin.login.google.GoogleGamesLogin$1 -> com.sf.sdk.l0.a$a:
# {"id":"sourceFile","fileName":"GoogleGamesLogin.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.plugin.login.google.GoogleGamesLogin this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.google.GoogleGamesLogin,android.app.Activity):140:140 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/l0/a;Landroid/app/Activity;)V"}
    1:14:void onComplete(com.google.android.gms.tasks.Task):143:156 -> onComplete
com.sf.sdk.plugin.login.google.GoogleGamesLogin$2 -> com.sf.sdk.l0.a$b:
# {"id":"sourceFile","fileName":"GoogleGamesLogin.java"}
    com.sf.sdk.plugin.login.google.GoogleGamesLogin this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.google.GoogleGamesLogin):129:129 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/l0/a;)V"}
    1:6:com.google.android.gms.tasks.Task then(com.google.android.gms.tasks.Task):132:137 -> a
    1:1:java.lang.Object then(com.google.android.gms.tasks.Task):129:129 -> then
com.sf.sdk.plugin.login.google.GoogleGamesLogin$3 -> com.sf.sdk.l0.a$c:
# {"id":"sourceFile","fileName":"GoogleGamesLogin.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.plugin.login.google.GoogleGamesLogin this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.google.GoogleGamesLogin,android.app.Activity):165:165 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/l0/a;Landroid/app/Activity;)V"}
    1:6:void onComplete(com.google.android.gms.tasks.Task):168:173 -> onComplete
com.sf.sdk.plugin.login.google.GoogleGamesLogin$4 -> com.sf.sdk.l0.a$d:
# {"id":"sourceFile","fileName":"GoogleGamesLogin.java"}
    com.google.android.gms.games.Player val$player -> a
    android.app.Activity val$activity -> b
    com.sf.sdk.plugin.login.google.GoogleGamesLogin this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.login.google.GoogleGamesLogin,com.google.android.gms.games.Player,android.app.Activity):183:183 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/l0/a;Lcom/google/android/gms/games/Player;Landroid/app/Activity;)V"}
    1:7:void onComplete(com.google.android.gms.tasks.Task):186:192 -> onComplete
com.sf.sdk.plugin.login.google.GoogleLogin -> com.sf.sdk.l0.b:
# {"id":"sourceFile","fileName":"GoogleLogin.java"}
    com.google.android.gms.auth.api.signin.GoogleSignInClient mGoogleSignInClient -> g
    com.sf.sdk.ui.base.IActivityListener activityListener -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/f;"}
    1:1:void <init>():61:61 -> <init>
    2:18:void <init>():46:62 -> <init>
    1:37:void login(com.sf.sdk.ui.base.FragmentHolder):97:133 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    38:43:void release():158:163 -> a
    44:79:void handleLoginResult(android.content.Intent):190:225 -> a
    80:88:void handlePlatform(com.google.android.gms.auth.api.signin.GoogleSignInAccount):233:241 -> a
    1:14:void logout():139:152 -> b
    1:1:boolean isInstalled():68:68 -> g
    1:15:void ensureGoogleSignInClient():168:182 -> n
    1:14:void init():78:91 -> o
com.sf.sdk.plugin.login.google.GoogleLogin$1 -> com.sf.sdk.l0.b$a:
# {"id":"sourceFile","fileName":"GoogleLogin.java"}
    com.sf.sdk.plugin.login.google.GoogleLogin this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l0/b;"}
    1:1:void <init>(com.sf.sdk.plugin.login.google.GoogleLogin):46:46 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/l0/b;)V"}
    1:2:void onDestroy():56:57 -> c
    1:1:void onActivityResult(int,int,android.content.Intent):50:50 -> onActivityResult
com.sf.sdk.plugin.login.google.GoogleLogin$2 -> com.sf.sdk.l0.b$b:
# {"id":"sourceFile","fileName":"GoogleLogin.java"}
    com.sf.sdk.plugin.login.google.GoogleLogin this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/l0/b;"}
    1:1:void <init>(com.sf.sdk.plugin.login.google.GoogleLogin):144:144 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/l0/b;)V"}
    1:1:void onComplete(com.google.android.gms.tasks.Task):147:147 -> onComplete
com.sf.sdk.plugin.login.visitor.VisitorLogin -> com.sf.sdk.m0.a:
# {"id":"sourceFile","fileName":"VisitorLogin.java"}
    java.lang.String uid -> g
    1:2:void <init>():19:20 -> <init>
    1:9:void login(com.sf.sdk.ui.base.FragmentHolder):38:46 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    10:10:void release():57:57 -> a
    1:1:void logout():52:52 -> b
    1:4:void handlePlatform(java.lang.String):63:66 -> c
    1:1:boolean isInstalled():25:25 -> g
    1:3:void init():30:32 -> n
com.sf.sdk.plugin.payment.BasePayment -> com.sf.sdk.n0.a:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    java.lang.Runnable resetPayingTask -> A
    java.lang.Runnable resetCheckingTask -> B
    java.lang.String name -> a
    android.content.Context context -> b
    com.sf.sdk.data.SFOrder processingOrder -> c
    com.sf.sdk.ui.widget.dialog.LoadingDialog loadingDialog -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    java.lang.ref.WeakReference payActivity -> e
    boolean isOrderPaying -> f
    boolean isOrderChecking -> g
    boolean isOrderRestoring -> h
    boolean isPurchasesProcessing -> i
    boolean payAfterConnected -> j
    boolean queryAfterConnected -> k
    boolean restoreAfterConnected -> l
    boolean enableClientDelivery -> m
    java.util.List productIds -> n
    java.util.concurrent.atomic.AtomicInteger remainingCount -> o
    java.util.List restoreSuccess -> p
    java.util.List restoreFailure -> q
    java.lang.Object restoreLock -> r
    java.lang.Object validateLock -> s
    java.util.List paymentEvents -> t
    java.util.List purchaseEvents -> u
    java.util.List failedOrderIds -> v
    java.util.List validatedOrderIds -> w
    java.util.Set validatingOrderIds -> x
    java.util.concurrent.ConcurrentHashMap cacheOrders -> y
    java.util.concurrent.ConcurrentHashMap cachePurchases -> z
    1:56:void <init>():54:109 -> <init>
    1:3:void init(android.content.Context,java.lang.String):121:123 -> a
    4:25:void pay(android.app.Activity,com.sf.sdk.data.SFOrder):138:159 -> a
    26:52:boolean notifyServerDeliverySuccess(com.sf.sdk.data.SFOrder):214:240 -> a
    53:54:boolean notifyServerDeliverySuccess(com.sf.sdk.data.SFOrder):220:221 -> a
    55:55:void createOrderPlatform(java.lang.String,java.lang.String,com.sf.sdk.SFResultListener):272:272 -> a
    56:66:void completeOrder(com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.data.SFOrder,com.sf.sdk.plugin.payment.OnPaymentListener):300:310 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/n0/c;)V"}
    67:68:void completeOrder(com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.data.SFOrder,com.sf.sdk.plugin.payment.OnPaymentListener):303:304 -> a
    69:70:void resubmitOrder(com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.data.SFOrder,java.lang.String):510:511 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;Lcom/sf/sdk/data/SFOrder;Ljava/lang/String;)V"}
    71:71:void updateOrderInfo(com.sf.sdk.data.SFOrderResult):526:526 -> a
    72:72:void restorePurchase(com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.SFResultListener):541:541 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;Lcom/sf/sdk/SFResultListener;)V"}
    73:73:void restorePurchase(com.sf.sdk.data.internal.SFPurchase,int,com.sf.sdk.SFResultListener):545:545 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;ILcom/sf/sdk/SFResultListener;)V"}
    74:85:void checkCachePurchases(com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPurchase):768:779 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/u/j;)V"}
    86:86:void checkCachePurchases(com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPurchase):770:770 -> a
    87:87:void checkCachePurchases(com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPurchase):765:765 -> a
    88:93:void onPaymentFailed(com.sf.sdk.data.internal.SFPaymentError):818:823 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    94:101:void onPaymentSuccess(com.sf.sdk.data.SFOrder,boolean):830:837 -> a
    102:102:boolean shouldNotifyDelivery(com.sf.sdk.data.internal.SFPurchase):849:849 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;)Z"}
    103:103:java.lang.String getString(int):901:901 -> a
    1:8:void updateActivity(android.app.Activity):193:200 -> b
    9:9:void queryOrderDetails(java.lang.String,java.lang.String,com.sf.sdk.SFResultListener):250:250 -> b
    10:12:void completeOrderCheck(com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.data.SFOrder,com.sf.sdk.plugin.payment.OnPaymentListener):368:370 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/j;Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/n0/c;)V"}
    13:26:void finishPayment(com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPurchase):853:866 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/u/j;)V"}
    1:1:void notifyServerDelivery(com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPurchase):454:454 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/u/j;)V"}
    2:7:void savePayingOrder(com.sf.sdk.data.SFOrder):626:631 -> c
    8:13:com.sf.sdk.data.SFOrder getOrderByPurchaseOrderId(java.lang.String):784:789 -> c
    1:11:void trackPaymentSuccess(com.sf.sdk.data.SFOrder):871:881 -> d
    1:1:void destroy():164:164 -> destroy
    1:1:boolean isPaying():169:169 -> e
    2:12:void trackPurchaseSuccess(com.sf.sdk.data.SFOrder):886:896 -> e
    1:1:boolean isAvailable():133:133 -> f
    1:5:void enableClientDeliveryNotification():205:209 -> k
    1:20:void checkCacheOrders():637:656 -> l
    1:34:void checkCachePurchases():702:735 -> m
    1:10:void checkRestoredPurchases():601:610 -> n
    1:12:void dismissLoadingDialog():925:936 -> o
    1:6:android.app.Activity getActivity():181:186 -> p
    1:2:java.lang.String getUid():174:175 -> q
    1:1:void initOrderEvents():740:740 -> r
    1:7:void noRestoredPurchases():615:621 -> s
    1:1:void saveCacheOrders():662:662 -> t
    1:1:void saveCachePurchases():682:682 -> u
    1:12:void showLoadingDialog():905:916 -> v
com.sf.sdk.plugin.payment.BasePayment$1 -> com.sf.sdk.n0.a$h:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):99:99 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:4:void run():102:105 -> run
com.sf.sdk.plugin.payment.BasePayment$10 -> com.sf.sdk.n0.a$a:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.SFResultListener val$listener -> a
    int val$retryCount -> b
    com.sf.sdk.data.internal.SFPurchase val$purchase -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/j;"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.SFResultListener,int,com.sf.sdk.data.internal.SFPurchase):545:545 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/SFResultListener;ILcom/sf/sdk/u/j;)V"}
    1:16:void onSuccess(com.sf.sdk.data.SFOrderRecord):548:563 -> a
    1:26:void onFailed(int,java.lang.String):569:594 -> onFailed
    1:1:void onSuccess(java.lang.Object):545:545 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$10$1 -> com.sf.sdk.n0.a$a$a:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    int val$nextRetryCount -> a
    com.sf.sdk.plugin.payment.BasePayment$10 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a$a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment$10,int):572:572 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a$a;I)V"}
    1:1:void run():575:575 -> run
com.sf.sdk.plugin.payment.BasePayment$11 -> com.sf.sdk.n0.a$b:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):662:662 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:9:void run():666:674 -> run
com.sf.sdk.plugin.payment.BasePayment$12 -> com.sf.sdk.n0.a$c:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):682:682 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:8:void run():686:693 -> run
com.sf.sdk.plugin.payment.BasePayment$13 -> com.sf.sdk.n0.a$d:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.internal.SFPurchase val$purchase -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/j;"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.data.internal.SFPurchase):725:725 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/u/j;)V"}
    1:1:void onResult(java.lang.Object):725:725 -> onResult
    2:2:void onResult(com.sf.sdk.data.SFOrder):729:729 -> onResult
com.sf.sdk.plugin.payment.BasePayment$14 -> com.sf.sdk.n0.a$e:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):740:740 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:15:void run():743:757 -> run
com.sf.sdk.plugin.payment.BasePayment$15 -> com.sf.sdk.n0.a$f:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):916:916 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:1:void run():919:919 -> run
com.sf.sdk.plugin.payment.BasePayment$16 -> com.sf.sdk.n0.a$g:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):936:936 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:1:void run():939:939 -> run
com.sf.sdk.plugin.payment.BasePayment$2 -> com.sf.sdk.n0.a$i:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment):109:109 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;)V"}
    1:3:void run():112:114 -> run
com.sf.sdk.plugin.payment.BasePayment$3 -> com.sf.sdk.n0.a$j:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    java.lang.String val$orderId -> a
    com.sf.sdk.SFResultListener val$listener -> b
    com.sf.sdk.plugin.payment.BasePayment this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,java.lang.String,com.sf.sdk.SFResultListener):250:250 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Ljava/lang/String;Lcom/sf/sdk/SFResultListener;)V"}
    1:4:void onSuccess(com.sf.sdk.data.SFOrder):254:257 -> a
    1:2:void onFailed(int,java.lang.String):263:264 -> onFailed
    1:1:void onSuccess(java.lang.Object):250:250 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$4 -> com.sf.sdk.n0.a$k:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.SFResultListener val$listener -> a
    com.sf.sdk.plugin.payment.BasePayment this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.SFResultListener):272:272 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/SFResultListener;)V"}
    1:7:void onSuccess(com.sf.sdk.data.SFOrder):276:282 -> a
    1:2:void onFailed(int,java.lang.String):288:289 -> onFailed
    1:1:void onSuccess(java.lang.Object):272:272 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$5 -> com.sf.sdk.n0.a$l:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    java.lang.String val$orderId -> b
    com.sf.sdk.data.internal.SFPurchase val$purchase -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/j;"}
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.data.SFOrder,java.lang.String,com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.plugin.payment.OnPaymentListener):310:310 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/data/SFOrder;Ljava/lang/String;Lcom/sf/sdk/u/j;Lcom/sf/sdk/n0/c;)V"}
    1:1:void onSuccess(com.sf.sdk.data.internal.SFOrderState):313:313 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/h;)V"}
    1:8:void onFailed(int,java.lang.String):351:358 -> onFailed
    1:1:void onSuccess(java.lang.Object):310:310 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$5$1 -> com.sf.sdk.n0.a$l$a:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.internal.SFOrderState val$data -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/h;"}
    com.sf.sdk.plugin.payment.BasePayment$5 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a$l;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment$5,com.sf.sdk.data.internal.SFOrderState):313:313 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a$l;Lcom/sf/sdk/u/h;)V"}
    1:28:void run():316:343 -> run
    29:39:void run():320:330 -> run
com.sf.sdk.plugin.payment.BasePayment$6 -> com.sf.sdk.n0.a$m:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    java.lang.String val$orderId -> b
    com.sf.sdk.data.internal.SFPurchase val$purchase -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/j;"}
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.data.SFOrder,java.lang.String,com.sf.sdk.data.internal.SFPurchase,com.sf.sdk.plugin.payment.OnPaymentListener):370:370 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/data/SFOrder;Ljava/lang/String;Lcom/sf/sdk/u/j;Lcom/sf/sdk/n0/c;)V"}
    1:4:void onSuccess(com.sf.sdk.data.internal.SFOrderState):373:376 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/h;)V"}
    1:21:void onFailed(int,java.lang.String):417:437 -> onFailed
    1:1:void onSuccess(java.lang.Object):370:370 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$6$1 -> com.sf.sdk.n0.a$m$a:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    int val$checkState -> a
    com.sf.sdk.data.internal.SFOrderState val$data -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/h;"}
    com.sf.sdk.plugin.payment.BasePayment$6 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a$m;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment$6,int,com.sf.sdk.data.internal.SFOrderState):376:376 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a$m;ILcom/sf/sdk/u/h;)V"}
    1:31:void run():379:409 -> run
    32:43:void run():380:391 -> run
com.sf.sdk.plugin.payment.BasePayment$6$2 -> com.sf.sdk.n0.a$m$b:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.payment.BasePayment$6 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a$m;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment$6,int,java.lang.String):418:418 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a$m;ILjava/lang/String;)V"}
    1:1:void run():421:421 -> run
com.sf.sdk.plugin.payment.BasePayment$6$3 -> com.sf.sdk.n0.a$m$c:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment$6 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a$m;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment$6):437:437 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a$m;)V"}
    1:2:void run():440:441 -> run
com.sf.sdk.plugin.payment.BasePayment$7 -> com.sf.sdk.n0.a$n:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    com.sf.sdk.data.internal.SFPurchase val$purchase -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/j;"}
    com.sf.sdk.plugin.payment.BasePayment this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.SFPurchase):454:454 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/u/j;)V"}
    1:1:void run():457:457 -> run
com.sf.sdk.plugin.payment.BasePayment$7$1 -> com.sf.sdk.n0.a$n$a:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.plugin.payment.BasePayment$7 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a$n;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment$7):457:457 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a$n;)V"}
    1:19:void onSuccess(com.sf.sdk.data.internal.SFOrderState):460:478 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/h;)V"}
    1:12:void onFailed(int,java.lang.String):485:496 -> onFailed
    1:1:void onSuccess(java.lang.Object):457:457 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$8 -> com.sf.sdk.n0.a$o:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    com.sf.sdk.plugin.payment.BasePayment this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.data.SFOrder):511:511 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/data/SFOrder;)V"}
    1:1:void onSuccess(com.sf.sdk.data.internal.SFOrderState):514:514 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/h;)V"}
    2:2:void onFailed(com.sf.sdk.data.internal.SFPaymentError):519:519 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):511:511 -> onSuccess
com.sf.sdk.plugin.payment.BasePayment$9 -> com.sf.sdk.n0.a$p:
# {"id":"sourceFile","fileName":"BasePayment.java"}
    com.sf.sdk.data.SFOrderResult val$orderResult -> a
    com.sf.sdk.plugin.payment.BasePayment this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.BasePayment,com.sf.sdk.data.SFOrderResult):526:526 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/a;Lcom/sf/sdk/data/SFOrderResult;)V"}
    1:1:void onSuccess(java.lang.Void):529:529 -> a
    1:1:void onFailed(int,java.lang.String):534:534 -> onFailed
    1:1:void onSuccess(java.lang.Object):526:526 -> onSuccess
com.sf.sdk.plugin.payment.IPayment -> com.sf.sdk.n0.b:
# {"id":"sourceFile","fileName":"IPayment.java"}
    void checkFailedOrder(android.app.Activity) -> a
    com.sf.sdk.data.internal.SFPurchase createPurchase(org.json.JSONObject) -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lorg/json/JSONObject;)Lcom/sf/sdk/u/j;"}
    boolean notifyServerDeliverySuccess(com.sf.sdk.data.SFOrder) -> a
    void pay(android.app.Activity,com.sf.sdk.data.SFOrder) -> a
    void preRegistration(android.app.Activity,com.sf.sdk.SFRequestResultListener) -> a
    void queryProductDetails(java.util.List) -> a
    void release() -> a
    void pay(com.sf.sdk.data.SFOrder) -> b
    void restoreCompletedPurchases() -> d
    void destroy() -> destroy
    boolean isPaying() -> e
    void enableClientDeliveryNotification() -> k
com.sf.sdk.plugin.payment.OnPaymentListener -> com.sf.sdk.n0.c:
# {"id":"sourceFile","fileName":"OnPaymentListener.java"}
    void onFailed(com.sf.sdk.data.internal.SFPaymentError) -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    void onSuccess(java.lang.Object) -> onSuccess
com.sf.sdk.plugin.payment.OrderCache -> com.sf.sdk.n0.d:
# {"id":"sourceFile","fileName":"OrderCache.java"}
    1:1:void <init>():26:26 -> <init>
    1:3:java.util.Set getOrderIds(java.lang.String):37:39 -> a
    4:16:void saveOrderIds(java.lang.String,java.util.List):45:57 -> a
    17:33:void writeCacheFile(java.lang.String,java.lang.String,java.lang.String):84:100 -> a
    34:37:void writeCacheFile(java.lang.String,java.lang.String,java.lang.String):98:101 -> a
    38:43:java.io.File getCacheFile(java.lang.String,java.lang.String):105:110 -> a
    44:50:void releaseCloseable(java.io.Closeable[]):117:123 -> a
    1:18:java.lang.String readCacheFile(java.lang.String,java.lang.String):61:78 -> b
    19:22:java.lang.String readCacheFile(java.lang.String,java.lang.String):76:79 -> b
com.sf.sdk.plugin.payment.PaymentManager -> com.sf.sdk.n0.e:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    boolean orderCreating -> a
    com.sf.sdk.plugin.payment.IPayment payComponent -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/b;"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog loadingDialog -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    1:1:void <init>():38:38 -> <init>
    1:10:void registerPlugin(com.sf.sdk.plugin.PluginInfo):61:70 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/d0/b;)V"}
    11:11:void registerPlugin(com.sf.sdk.plugin.PluginInfo):62:62 -> a
    12:18:boolean notifyServerDeliverySuccess(com.sf.sdk.data.SFOrder):93:99 -> a
    19:31:void pay(android.app.Activity,com.sf.sdk.data.SFOrder,com.sf.sdk.data.SFUser):109:121 -> a
    32:78:void pay(android.app.Activity,com.sf.sdk.data.SFOrder,com.sf.sdk.data.SFUser):114:160 -> a
    79:86:void restoreCompletedPurchase(java.lang.String,java.lang.String,com.sf.sdk.SFRequestResultListener):172:179 -> a
    87:96:void preRegistration(android.app.Activity,com.sf.sdk.SFRequestResultListener):234:243 -> a
    97:103:void checkFailedOrders(android.app.Activity):252:258 -> a
    104:111:void queryProductDetails(java.util.List):269:276 -> a
    112:113:void onPaymentFailed(int,java.lang.String):325:326 -> a
    114:115:void onRestoreSuccess(java.util.List,java.util.List):335:336 -> a
    116:119:void dismissLoadingDialog():363:366 -> a
    1:7:void enableClientDeliveryNotification():78:84 -> b
    8:13:void onPaymentSuccess(com.sf.sdk.data.SFOrder):311:316 -> b
    14:15:void onRestoreFailed(int,java.lang.String):345:346 -> b
    16:18:void showLoadingDialog(android.app.Activity):355:357 -> b
    1:1:com.sf.sdk.plugin.payment.PaymentManager getInstance():53:53 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/n0/e;"}
    1:7:void onDestroy():300:306 -> d
    1:7:void release():285:291 -> e
    1:11:void restoreCompletedPurchases():212:222 -> f
com.sf.sdk.plugin.payment.PaymentManager$1 -> com.sf.sdk.n0.e$a:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    android.app.Activity val$activity -> b
    com.sf.sdk.plugin.payment.PaymentManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager,com.sf.sdk.data.SFOrder,android.app.Activity):121:121 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e;Lcom/sf/sdk/data/SFOrder;Landroid/app/Activity;)V"}
    1:2:void onSuccess(com.sf.sdk.data.SFOrderResult):124:125 -> a
    1:3:void onFailed(int,java.lang.String):145:147 -> onFailed
    1:1:void onSuccess(java.lang.Object):121:121 -> onSuccess
com.sf.sdk.plugin.payment.PaymentManager$1$1 -> com.sf.sdk.n0.e$a$a:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    com.sf.sdk.data.SFOrderResult val$orderResult -> a
    com.sf.sdk.plugin.payment.PaymentManager$1 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e$a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager$1,com.sf.sdk.data.SFOrderResult):125:125 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e$a;Lcom/sf/sdk/data/SFOrderResult;)V"}
    1:11:void run():128:138 -> run
com.sf.sdk.plugin.payment.PaymentManager$1$2 -> com.sf.sdk.n0.e$a$b:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.payment.PaymentManager$1 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e$a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager$1,int,java.lang.String):147:147 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e$a;ILjava/lang/String;)V"}
    1:2:void run():150:151 -> run
com.sf.sdk.plugin.payment.PaymentManager$2 -> com.sf.sdk.n0.e$b:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.plugin.payment.PaymentManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager,com.sf.sdk.SFRequestResultListener):179:179 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(com.sf.sdk.data.SFOrderRecord):182:183 -> a
    1:2:void onFailed(int,java.lang.String):195:196 -> onFailed
    1:1:void onSuccess(java.lang.Object):179:179 -> onSuccess
com.sf.sdk.plugin.payment.PaymentManager$2$1 -> com.sf.sdk.n0.e$b$a:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    com.sf.sdk.data.SFOrderRecord val$data -> a
    com.sf.sdk.plugin.payment.PaymentManager$2 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e$b;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager$2,com.sf.sdk.data.SFOrderRecord):183:183 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e$b;Lcom/sf/sdk/data/SFOrderRecord;)V"}
    1:2:void run():186:187 -> run
com.sf.sdk.plugin.payment.PaymentManager$2$2 -> com.sf.sdk.n0.e$b$b:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.payment.PaymentManager$2 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e$b;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager$2,int,java.lang.String):196:196 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e$b;ILjava/lang/String;)V"}
    1:2:void run():199:200 -> run
com.sf.sdk.plugin.payment.PaymentManager$3 -> com.sf.sdk.n0.e$c:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    com.sf.sdk.plugin.payment.PaymentManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager,com.sf.sdk.data.SFOrder):316:316 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e;Lcom/sf/sdk/data/SFOrder;)V"}
    1:1:void run():319:319 -> run
com.sf.sdk.plugin.payment.PaymentManager$4 -> com.sf.sdk.n0.e$d:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.payment.PaymentManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager,int,java.lang.String):326:326 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e;ILjava/lang/String;)V"}
    1:1:void run():329:329 -> run
com.sf.sdk.plugin.payment.PaymentManager$5 -> com.sf.sdk.n0.e$e:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    java.util.List val$success -> a
    java.util.List val$failure -> b
    com.sf.sdk.plugin.payment.PaymentManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager,java.util.List,java.util.List):336:336 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e;Ljava/util/List;Ljava/util/List;)V"}
    1:1:void run():339:339 -> run
com.sf.sdk.plugin.payment.PaymentManager$6 -> com.sf.sdk.n0.e$f:
# {"id":"sourceFile","fileName":"PaymentManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.plugin.payment.PaymentManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/e;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.PaymentManager,int,java.lang.String):346:346 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/e;ILjava/lang/String;)V"}
    1:1:void run():349:349 -> run
com.sf.sdk.plugin.payment.google.GooglePay -> com.sf.sdk.o0.a:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.api.GBClient client -> C
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/c;"}
    1:5:void <init>():64:68 -> <init>
    1:1:com.sf.sdk.data.SFOrder access$000(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)Lcom/sf/sdk/data/SFOrder;"}
    2:2:java.util.List access$1002(com.sf.sdk.plugin.payment.google.GooglePay,java.util.List):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/util/List;)Ljava/util/List;"}
    3:3:boolean access$102(com.sf.sdk.plugin.payment.google.GooglePay,boolean):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Z)Z"}
    4:4:java.util.concurrent.atomic.AtomicInteger access$1302(com.sf.sdk.plugin.payment.google.GooglePay,java.util.concurrent.atomic.AtomicInteger):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/util/concurrent/atomic/AtomicInteger;)Ljava/util/concurrent/atomic/AtomicInteger;"}
    5:5:java.lang.String access$1900(com.sf.sdk.plugin.payment.google.GooglePay,int):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;I)Ljava/lang/String;"}
    6:6:com.sf.sdk.data.SFOrder access$202(com.sf.sdk.plugin.payment.google.GooglePay,com.sf.sdk.data.SFOrder):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Lcom/sf/sdk/data/SFOrder;)Lcom/sf/sdk/data/SFOrder;"}
    7:8:void init(android.content.Context,java.lang.String):74:75 -> a
    9:24:void onBillingServiceConnectSuccess(com.android.billingclient.api.BillingClient):91:106 -> a
    25:27:void queryProductDetails(android.app.Activity,java.lang.String,com.sf.sdk.data.SFOrder):198:200 -> a
    28:65:void handleProductDetail(java.lang.Object,com.sf.sdk.data.SFOrder):237:274 -> a
    66:96:void processUnFinishedPurchase(android.app.Activity,com.android.billingclient.api.Purchase):335:365 -> a
    97:137:void checkFailedOrder(android.app.Activity):370:410 -> a
    138:139:void preRegistration(android.app.Activity,com.sf.sdk.SFRequestResultListener):415:416 -> a
    140:150:void queryProductDetails(java.util.List):482:492 -> a
    151:151:void release():623:623 -> a
    152:160:void processPurchases(java.util.List,com.sf.sdk.data.SFOrder):638:646 -> a
    161:210:void processPurchase(com.android.billingclient.api.Purchase,com.sf.sdk.data.SFOrder):651:700 -> a
    211:221:void handlePaymentPurchase(com.sf.sdk.data.SFOrder,com.android.billingclient.api.Purchase):707:717 -> a
    222:267:void handlePaymentPurchase(com.android.billingclient.api.Purchase,com.sf.sdk.data.SFOrder,com.sf.sdk.plugin.payment.OnPaymentListener):783:828 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/Purchase;Lcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/n0/c;)V"}
    268:268:com.sf.sdk.data.internal.SFPurchase createPurchase(org.json.JSONObject):834:834 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lorg/json/JSONObject;)Lcom/sf/sdk/u/j;"}
    269:270:java.lang.String getOrderIdByPurchase(com.android.billingclient.api.Purchase):838:839 -> a
    1:1:java.util.List access$1102(com.sf.sdk.plugin.payment.google.GooglePay,java.util.List):60:60 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/util/List;)Ljava/util/List;"}
    2:2:boolean access$1402(com.sf.sdk.plugin.payment.google.GooglePay,boolean):60:60 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Z)Z"}
    3:3:java.lang.Runnable access$1700(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)Ljava/lang/Runnable;"}
    4:4:java.util.concurrent.atomic.AtomicInteger access$802(com.sf.sdk.plugin.payment.google.GooglePay,java.util.concurrent.atomic.AtomicInteger):60:60 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/util/concurrent/atomic/AtomicInteger;)Ljava/util/concurrent/atomic/AtomicInteger;"}
    5:20:void pay(com.sf.sdk.data.SFOrder):128:143 -> b
    21:38:void checkBeforePay(android.app.Activity,com.sf.sdk.data.SFOrder):150:167 -> b
    39:39:void logOnPurchasesUpdatedBillingIssue(int):614:614 -> b
    40:40:void logOnPurchasesUpdatedBillingIssue(int):611:611 -> b
    41:41:void logOnPurchasesUpdatedBillingIssue(int):608:608 -> b
    42:42:void logOnPurchasesUpdatedBillingIssue(int):605:605 -> b
    43:43:void logOnPurchasesUpdatedBillingIssue(int):602:602 -> b
    44:44:void logOnPurchasesUpdatedBillingIssue(int):599:599 -> b
    45:45:void logOnPurchasesUpdatedBillingIssue(int):596:596 -> b
    46:46:void logOnPurchasesUpdatedBillingIssue(int):593:593 -> b
    47:47:void logOnPurchasesUpdatedBillingIssue(int):590:590 -> b
    48:48:void logOnPurchasesUpdatedBillingIssue(int):587:587 -> b
    49:49:void logOnPurchasesUpdatedBillingIssue(int):584:584 -> b
    50:50:void logOnPurchasesUpdatedBillingIssue(int):581:581 -> b
    51:51:void logOnPurchasesUpdatedBillingIssue(int):578:578 -> b
    1:1:java.util.List access$1202(com.sf.sdk.plugin.payment.google.GooglePay,java.util.List):60:60 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/util/List;)Ljava/util/List;"}
    2:2:boolean access$1502(com.sf.sdk.plugin.payment.google.GooglePay,boolean):60:60 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Z)Z"}
    3:3:void access$1800(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:boolean access$1602(com.sf.sdk.plugin.payment.google.GooglePay,boolean):60:60 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Z)Z"}
    2:2:void access$2000(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    3:3:java.util.List access$902(com.sf.sdk.plugin.payment.google.GooglePay,java.util.List):60:60 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/util/List;)Ljava/util/List;"}
    4:17:void restoreCompletedPurchases():279:292 -> d
    1:2:void destroy():627:628 -> destroy
    1:1:void access$2100(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:void access$2200(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:void access$300(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    2:2:boolean isInstalled():81:81 -> g
    1:1:void access$3000(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:void access$400(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:void access$500(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> j
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    2:8:void onBillingServiceConnectFailed():112:118 -> j
    1:1:void access$600(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:void access$700(com.sf.sdk.plugin.payment.google.GooglePay):60:60 -> l
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:17:void onPurchasesUpdated(com.android.billingclient.api.BillingResult,java.util.List):551:567 -> onPurchasesUpdated
com.sf.sdk.plugin.payment.google.GooglePay$1 -> com.sf.sdk.o0.a$e:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay):93:93 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:1:void run():96:96 -> run
com.sf.sdk.plugin.payment.google.GooglePay$10 -> com.sf.sdk.o0.a$a:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.android.billingclient.api.Purchase val$purchase -> a
    java.lang.String val$productId -> b
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,com.android.billingclient.api.Purchase,java.lang.String):667:667 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Lcom/android/billingclient/api/Purchase;Ljava/lang/String;)V"}
    1:1:void onResult(java.lang.Object):667:667 -> onResult
    2:4:void onResult(com.sf.sdk.data.SFOrder):671:673 -> onResult
com.sf.sdk.plugin.payment.google.GooglePay$11 -> com.sf.sdk.o0.a$b:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.android.billingclient.api.Purchase val$purchase -> a
    java.lang.String val$productId -> b
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,com.android.billingclient.api.Purchase,java.lang.String):679:679 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Lcom/android/billingclient/api/Purchase;Ljava/lang/String;)V"}
    1:1:void onResult(java.lang.Object):679:679 -> onResult
    2:4:void onResult(com.sf.sdk.data.SFOrder):683:685 -> onResult
com.sf.sdk.plugin.payment.google.GooglePay$12 -> com.sf.sdk.o0.a$c:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.data.SFOrder val$order -> a
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,com.sf.sdk.data.SFOrder):717:717 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Lcom/sf/sdk/data/SFOrder;)V"}
    1:1:void onSuccess(com.sf.sdk.data.internal.SFOrderState):720:720 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/h;)V"}
    2:2:void onFailed(com.sf.sdk.data.internal.SFPaymentError):726:726 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):717:717 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$14 -> com.sf.sdk.o0.a$d:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    int val$productType -> a
    com.sf.sdk.data.SFOrder val$order -> b
    com.sf.sdk.data.internal.GooglePurchase val$googlePurchase -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/a;"}
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,int,com.sf.sdk.data.SFOrder,com.sf.sdk.data.internal.GooglePurchase,com.sf.sdk.plugin.payment.OnPaymentListener):796:796 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;ILcom/sf/sdk/data/SFOrder;Lcom/sf/sdk/u/a;Lcom/sf/sdk/n0/c;)V"}
    1:1:void onSuccess(java.lang.String):799:799 -> a
    2:2:void onFailed(com.sf.sdk.data.internal.SFPaymentError):814:814 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):796:796 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$14$1 -> com.sf.sdk.o0.a$d$a:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay$14 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$d;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$14):799:799 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$d;)V"}
    1:6:void run():802:807 -> run
com.sf.sdk.plugin.payment.google.GooglePay$14$2 -> com.sf.sdk.o0.a$d$b:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.data.internal.SFPaymentError val$error -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/i;"}
    com.sf.sdk.plugin.payment.google.GooglePay$14 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$d;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$14,com.sf.sdk.data.internal.SFPaymentError):814:814 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$d;Lcom/sf/sdk/u/i;)V"}
    1:2:void run():817:818 -> run
com.sf.sdk.plugin.payment.google.GooglePay$2 -> com.sf.sdk.o0.a$f:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    java.lang.String val$productId -> a
    android.app.Activity val$activity -> b
    com.sf.sdk.data.SFOrder val$order -> c
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,java.lang.String,android.app.Activity,com.sf.sdk.data.SFOrder):167:167 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Ljava/lang/String;Landroid/app/Activity;Lcom/sf/sdk/data/SFOrder;)V"}
    1:16:void onSuccess(java.util.List):171:186 -> a
    17:18:void onFailed(com.sf.sdk.data.internal.SFPaymentError):191:192 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):167:167 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$2$1 -> com.sf.sdk.o0.a$f$a:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    java.util.List val$unFinishedPurchases -> a
    com.sf.sdk.plugin.payment.google.GooglePay$2 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$f;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$2,java.util.List):175:175 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$f;Ljava/util/List;)V"}
    1:3:void run():178:180 -> run
com.sf.sdk.plugin.payment.google.GooglePay$3 -> com.sf.sdk.o0.a$g:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.data.SFOrder val$order -> b
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,android.app.Activity,com.sf.sdk.data.SFOrder):200:200 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Landroid/app/Activity;Lcom/sf/sdk/data/SFOrder;)V"}
    1:21:void onSuccess(java.util.List):203:223 -> a
    22:23:void onFailed(com.sf.sdk.data.internal.SFPaymentError):229:230 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):200:200 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$4 -> com.sf.sdk.o0.a$h:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay):292:292 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:25:void onSuccess(java.util.List):295:319 -> a
    26:26:void onSuccess(java.util.List):296:296 -> a
    27:31:void onFailed(com.sf.sdk.data.internal.SFPaymentError):325:329 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):292:292 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$5 -> com.sf.sdk.o0.a$i:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.android.billingclient.api.Purchase val$purchase -> a
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,com.android.billingclient.api.Purchase):353:353 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Lcom/android/billingclient/api/Purchase;)V"}
    1:1:void onConfirm():357:357 -> a
    1:1:void onCancel():362:362 -> onCancel
com.sf.sdk.plugin.payment.google.GooglePay$6 -> com.sf.sdk.o0.a$j:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay):384:384 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:2:void run():387:388 -> run
com.sf.sdk.plugin.payment.google.GooglePay$7 -> com.sf.sdk.o0.a$k:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay):391:391 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;)V"}
    1:6:void onSuccess(java.util.List):394:399 -> a
    7:9:void onFailed(com.sf.sdk.data.internal.SFPaymentError):405:407 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):391:391 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$8 -> com.sf.sdk.o0.a$l:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,com.sf.sdk.SFRequestResultListener):416:416 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:15:void onSuccess(java.util.List):419:433 -> a
    16:16:void onFailed(com.sf.sdk.data.internal.SFPaymentError):467:467 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):416:416 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$8$1 -> com.sf.sdk.o0.a$l$a:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay$8 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$l;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$8):422:422 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$l;)V"}
    1:3:void run():425:427 -> run
com.sf.sdk.plugin.payment.google.GooglePay$8$2 -> com.sf.sdk.o0.a$l$b:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.android.billingclient.api.Purchase val$purchase -> a
    com.sf.sdk.plugin.payment.google.GooglePay$8 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$l;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$8,com.android.billingclient.api.Purchase):433:433 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$l;Lcom/android/billingclient/api/Purchase;)V"}
    1:1:void onSuccess(java.lang.String):436:436 -> a
    2:2:void onFailed(com.sf.sdk.data.internal.SFPaymentError):452:452 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):433:433 -> onSuccess
com.sf.sdk.plugin.payment.google.GooglePay$8$2$1 -> com.sf.sdk.o0.a$l$b$a:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.plugin.payment.google.GooglePay$8$2 this$2 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$l$b;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$8$2):436:436 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$l$b;)V"}
    1:6:void run():439:444 -> run
com.sf.sdk.plugin.payment.google.GooglePay$8$2$2 -> com.sf.sdk.o0.a$l$b$b:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.data.internal.SFPaymentError val$error -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/i;"}
    com.sf.sdk.plugin.payment.google.GooglePay$8$2 this$2 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$l$b;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$8$2,com.sf.sdk.data.internal.SFPaymentError):452:452 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$l$b;Lcom/sf/sdk/u/i;)V"}
    1:3:void run():455:457 -> run
com.sf.sdk.plugin.payment.google.GooglePay$8$3 -> com.sf.sdk.o0.a$l$c:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    com.sf.sdk.data.internal.SFPaymentError val$error -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/i;"}
    com.sf.sdk.plugin.payment.google.GooglePay$8 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a$l;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay$8,com.sf.sdk.data.internal.SFPaymentError):467:467 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a$l;Lcom/sf/sdk/u/i;)V"}
    1:3:void run():470:472 -> run
com.sf.sdk.plugin.payment.google.GooglePay$9 -> com.sf.sdk.o0.a$m:
# {"id":"sourceFile","fileName":"GooglePay.java"}
    long val$elapsedRealtime -> a
    com.sf.sdk.plugin.payment.google.GooglePay this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/o0/a;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.GooglePay,long):492:492 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/o0/a;J)V"}
    1:43:void onSuccess(java.util.List):496:538 -> a
    44:44:void onFailed(com.sf.sdk.data.internal.SFPaymentError):543:543 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):492:492 -> onSuccess
com.sf.sdk.plugin.payment.google.api.BillingClientListener -> com.sf.sdk.p0.a:
# {"id":"sourceFile","fileName":"BillingClientListener.java"}
    void onBillingServiceConnectSuccess(com.android.billingclient.api.BillingClient) -> a
    void onBillingServiceConnectFailed() -> j
com.sf.sdk.plugin.payment.google.api.GBApi -> com.sf.sdk.p0.b:
# {"id":"sourceFile","fileName":"GBApi.java"}
    java.util.List RETRY_CODES -> a
    java.util.List NETWORK_CODES -> b
    java.util.Map ERROR_CODES -> c
    java.util.Map ERROR_MESSAGES -> d
    java.util.Set PROCESSING_PURCHASE_TOKEN -> e
    1:46:void <clinit>():50:95 -> <clinit>
    1:1:void <init>():46:46 -> <init>
    1:2:int getBillingResponseCode(int):107:108 -> a
    3:7:void queryPurchases(com.android.billingclient.api.BillingClient,java.lang.String,com.sf.sdk.plugin.payment.OnPaymentListener):119:123 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Ljava/lang/String;Lcom/sf/sdk/n0/c;)V"}
    8:20:java.util.List findPreRegistrationPurchases(java.util.List):153:165 -> a
    21:21:java.util.List findPreRegistrationPurchases(java.util.List):154:154 -> a
    22:30:java.util.List findUnFinishedPurchases(java.util.List,java.lang.String):175:183 -> a
    31:31:java.util.List findUnFinishedPurchases(java.util.List,java.lang.String):176:176 -> a
    32:32:void queryProductDetails(com.android.billingclient.api.BillingClient,java.util.List,com.sf.sdk.plugin.payment.OnPaymentListener):207:207 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Ljava/util/List;Lcom/sf/sdk/n0/c;)V"}
    33:45:void queryProductDetails(com.android.billingclient.api.BillingClient,java.util.List,com.sf.sdk.plugin.payment.OnPaymentListener,int):211:223 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Ljava/util/List;Lcom/sf/sdk/n0/c;I)V"}
    46:52:com.android.billingclient.api.ProductDetails$OneTimePurchaseOfferDetails getBestOneTimePurchaseOfferDetails(com.android.billingclient.api.ProductDetails):270:276 -> a
    53:53:com.android.billingclient.api.ProductDetails$OneTimePurchaseOfferDetails getBestOneTimePurchaseOfferDetails(com.android.billingclient.api.ProductDetails):272:272 -> a
    54:71:com.android.billingclient.api.BillingResult launchBillingFlow(com.android.billingclient.api.BillingClient,android.app.Activity,java.lang.String,java.lang.String,com.android.billingclient.api.ProductDetails):328:345 -> a
    72:77:void acknowledgePurchase(com.android.billingclient.api.BillingClient,com.android.billingclient.api.Purchase,com.sf.sdk.plugin.payment.OnPaymentListener):460:465 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Lcom/android/billingclient/api/Purchase;Lcom/sf/sdk/n0/c;)V"}
    78:85:void acknowledgePurchase(com.android.billingclient.api.BillingClient,com.android.billingclient.api.Purchase,int,com.sf.sdk.plugin.payment.OnPaymentListener):488:495 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Lcom/android/billingclient/api/Purchase;ILcom/sf/sdk/n0/c;)V"}
    1:1:java.lang.String getBillingResponseMessage(int):112:112 -> b
    2:15:com.android.billingclient.api.ProductDetails$SubscriptionOfferDetails getBestSubscriptionOfferDetails(com.android.billingclient.api.ProductDetails):287:300 -> b
    16:21:void consumePurchase(com.android.billingclient.api.BillingClient,com.android.billingclient.api.Purchase,com.sf.sdk.plugin.payment.OnPaymentListener):352:357 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Lcom/android/billingclient/api/Purchase;Lcom/sf/sdk/n0/c;)V"}
    22:28:void consumePurchase(com.android.billingclient.api.BillingClient,com.android.billingclient.api.Purchase,int,com.sf.sdk.plugin.payment.OnPaymentListener):380:386 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/android/billingclient/api/BillingClient;Lcom/android/billingclient/api/Purchase;ILcom/sf/sdk/n0/c;)V"}
    1:1:boolean isNetworkError(int):99:99 -> c
    2:8:java.lang.String getOfferToken(com.android.billingclient.api.ProductDetails):313:319 -> c
    1:1:boolean isPossibleRetry(int):103:103 -> d
com.sf.sdk.plugin.payment.google.api.GBApi$1 -> com.sf.sdk.p0.b$a:
# {"id":"sourceFile","fileName":"GBApi.java"}
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.OnPaymentListener):123:123 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/c;)V"}
    1:18:void onQueryPurchasesResponse(com.android.billingclient.api.BillingResult,java.util.List):126:143 -> onQueryPurchasesResponse
com.sf.sdk.plugin.payment.google.api.GBApi$2 -> com.sf.sdk.p0.b$b:
# {"id":"sourceFile","fileName":"GBApi.java"}
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    int val$retryAttempt -> b
    com.android.billingclient.api.BillingClient val$billingClient -> c
    java.util.List val$productIds -> d
    1:1:void <init>(com.sf.sdk.plugin.payment.OnPaymentListener,int,com.android.billingclient.api.BillingClient,java.util.List):223:223 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/n0/c;ILcom/android/billingclient/api/BillingClient;Ljava/util/List;)V"}
    1:16:void onProductDetailsResponse(com.android.billingclient.api.BillingResult,com.android.billingclient.api.QueryProductDetailsResult):226:241 -> onProductDetailsResponse
    17:46:void onProductDetailsResponse(com.android.billingclient.api.BillingResult,com.android.billingclient.api.QueryProductDetailsResult):230:259 -> onProductDetailsResponse
com.sf.sdk.plugin.payment.google.api.GBApi$3 -> com.sf.sdk.p0.b$c:
# {"id":"sourceFile","fileName":"GBApi.java"}
    java.lang.String val$purchaseToken -> a
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    1:1:void <init>(java.lang.String,com.sf.sdk.plugin.payment.OnPaymentListener):357:357 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/n0/c;)V"}
    1:3:void onSuccess(java.lang.String):360:362 -> a
    4:6:void onFailed(com.sf.sdk.data.internal.SFPaymentError):368:370 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):357:357 -> onSuccess
com.sf.sdk.plugin.payment.google.api.GBApi$4 -> com.sf.sdk.p0.b$d:
# {"id":"sourceFile","fileName":"GBApi.java"}
    java.lang.String val$productId -> a
    java.lang.String val$orderId -> b
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    int val$retryAttempt -> d
    com.android.billingclient.api.BillingClient val$billingClient -> e
    com.android.billingclient.api.Purchase val$purchase -> f
    1:1:void <init>(java.lang.String,java.lang.String,com.sf.sdk.plugin.payment.OnPaymentListener,int,com.android.billingclient.api.BillingClient,com.android.billingclient.api.Purchase):386:386 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/n0/c;ILcom/android/billingclient/api/BillingClient;Lcom/android/billingclient/api/Purchase;)V"}
    1:61:void onConsumeResponse(com.android.billingclient.api.BillingResult,java.lang.String):389:449 -> onConsumeResponse
    62:62:void onConsumeResponse(com.android.billingclient.api.BillingResult,java.lang.String):403:403 -> onConsumeResponse
com.sf.sdk.plugin.payment.google.api.GBApi$4$1 -> com.sf.sdk.p0.b$d$a:
# {"id":"sourceFile","fileName":"GBApi.java"}
    boolean val$canRetry -> a
    int val$nextRetryCount -> b
    com.android.billingclient.api.BillingResult val$billingResult -> c
    java.lang.String val$purchaseToken -> d
    com.sf.sdk.plugin.payment.google.api.GBApi$4 this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/b$d;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.api.GBApi$4,boolean,int,com.android.billingclient.api.BillingResult,java.lang.String):403:403 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p0/b$d;ZILcom/android/billingclient/api/BillingResult;Ljava/lang/String;)V"}
    1:19:void onSuccess(java.util.List):406:424 -> a
    20:21:void onFailed(com.sf.sdk.data.internal.SFPaymentError):431:432 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):403:403 -> onSuccess
com.sf.sdk.plugin.payment.google.api.GBApi$4$2 -> com.sf.sdk.p0.b$d$b:
# {"id":"sourceFile","fileName":"GBApi.java"}
    int val$nextRetryCount -> a
    com.sf.sdk.plugin.payment.google.api.GBApi$4 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/b$d;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.api.GBApi$4,int):440:440 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p0/b$d;I)V"}
    1:1:void run():443:443 -> run
com.sf.sdk.plugin.payment.google.api.GBApi$5 -> com.sf.sdk.p0.b$e:
# {"id":"sourceFile","fileName":"GBApi.java"}
    java.lang.String val$purchaseToken -> a
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    1:1:void <init>(java.lang.String,com.sf.sdk.plugin.payment.OnPaymentListener):465:465 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcom/sf/sdk/n0/c;)V"}
    1:3:void onSuccess(java.lang.String):468:470 -> a
    4:6:void onFailed(com.sf.sdk.data.internal.SFPaymentError):476:478 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):465:465 -> onSuccess
com.sf.sdk.plugin.payment.google.api.GBApi$6 -> com.sf.sdk.p0.b$f:
# {"id":"sourceFile","fileName":"GBApi.java"}
    java.lang.String val$purchaseToken -> a
    java.lang.String val$productId -> b
    java.lang.String val$orderId -> c
    com.sf.sdk.plugin.payment.OnPaymentListener val$listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/n0/c;"}
    int val$retryAttempt -> e
    com.android.billingclient.api.BillingClient val$billingClient -> f
    com.android.billingclient.api.Purchase val$purchase -> g
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.String,com.sf.sdk.plugin.payment.OnPaymentListener,int,com.android.billingclient.api.BillingClient,com.android.billingclient.api.Purchase):495:495 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/n0/c;ILcom/android/billingclient/api/BillingClient;Lcom/android/billingclient/api/Purchase;)V"}
    1:62:void onAcknowledgePurchaseResponse(com.android.billingclient.api.BillingResult):498:559 -> onAcknowledgePurchaseResponse
    63:63:void onAcknowledgePurchaseResponse(com.android.billingclient.api.BillingResult):512:512 -> onAcknowledgePurchaseResponse
com.sf.sdk.plugin.payment.google.api.GBApi$6$1 -> com.sf.sdk.p0.b$f$a:
# {"id":"sourceFile","fileName":"GBApi.java"}
    com.android.billingclient.api.BillingResult val$billingResult -> a
    boolean val$canRetry -> b
    int val$nextRetryCount -> c
    com.sf.sdk.plugin.payment.google.api.GBApi$6 this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/b$f;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.api.GBApi$6,com.android.billingclient.api.BillingResult,boolean,int):512:512 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p0/b$f;Lcom/android/billingclient/api/BillingResult;ZI)V"}
    1:21:void onSuccess(java.util.List):515:535 -> a
    22:23:void onFailed(com.sf.sdk.data.internal.SFPaymentError):541:542 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/i;)V"}
    1:1:void onSuccess(java.lang.Object):512:512 -> onSuccess
com.sf.sdk.plugin.payment.google.api.GBApi$6$2 -> com.sf.sdk.p0.b$f$b:
# {"id":"sourceFile","fileName":"GBApi.java"}
    int val$nextRetryCount -> a
    com.sf.sdk.plugin.payment.google.api.GBApi$6 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/b$f;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.api.GBApi$6,int):550:550 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p0/b$f;I)V"}
    1:1:void run():553:553 -> run
com.sf.sdk.plugin.payment.google.api.GBClient -> com.sf.sdk.p0.c:
# {"id":"sourceFile","fileName":"GBClient.java"}
    int retryAttempt -> a
    com.android.billingclient.api.BillingClient billingClient -> b
    com.sf.sdk.plugin.payment.google.api.BillingClientListener clientListener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/a;"}
    com.android.billingclient.api.PurchasesUpdatedListener updatedListener -> d
    android.content.Context context -> e
    boolean connecting -> f
    java.lang.Runnable connectTask -> g
    1:13:void <init>():18:30 -> <init>
    1:25:void connectBillingClient(android.content.Context,com.sf.sdk.plugin.payment.google.api.BillingClientListener,com.android.billingclient.api.PurchasesUpdatedListener):49:73 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Lcom/sf/sdk/p0/a;Lcom/android/billingclient/api/PurchasesUpdatedListener;)V"}
    26:40:void billingSetupFinished(com.android.billingclient.api.BillingResult):125:139 -> a
    41:42:void billingServiceDisconnected():146:147 -> a
    1:6:void checkBillingClient():78:83 -> b
    7:14:void checkBillingClient():80:87 -> b
    1:7:void disconnectBillingClient():114:120 -> c
    1:1:com.android.billingclient.api.BillingClient getBillingClient():38:38 -> d
    1:1:boolean isClientConnected():42:42 -> e
    1:6:void retryBillingServiceConnection():151:156 -> f
    1:14:void startConnection():93:106 -> g
com.sf.sdk.plugin.payment.google.api.GBClient$1 -> com.sf.sdk.p0.c$a:
# {"id":"sourceFile","fileName":"GBClient.java"}
    com.sf.sdk.plugin.payment.google.api.GBClient this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/c;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.api.GBClient):30:30 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p0/c;)V"}
    1:1:void run():33:33 -> run
com.sf.sdk.plugin.payment.google.api.GBClient$2 -> com.sf.sdk.p0.c$b:
# {"id":"sourceFile","fileName":"GBClient.java"}
    com.sf.sdk.plugin.payment.google.api.GBClient this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p0/c;"}
    1:1:void <init>(com.sf.sdk.plugin.payment.google.api.GBClient):94:94 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/p0/c;)V"}
    1:1:void onBillingServiceDisconnected():102:102 -> onBillingServiceDisconnected
    1:1:void onBillingSetupFinished(com.android.billingclient.api.BillingResult):97:97 -> onBillingSetupFinished
com.sf.sdk.service.AbstractInstallReferrer -> com.sf.sdk.q0.a:
# {"id":"sourceFile","fileName":"AbstractInstallReferrer.java"}
    int retryCount -> a
    1:8:void <init>():26:33 -> <init>
    void endConnection() -> a
    1:3:void request(android.content.Context):40:42 -> a
    4:11:void saveInstallReferrer(org.json.JSONObject):103:110 -> a
    12:35:java.util.Map parseInstallReferrer(java.lang.String):181:204 -> a
    org.json.JSONObject getInstallReferrer() -> b
    1:5:void retryConnect(android.content.Context):60:64 -> b
    6:13:void parseMediaSource(java.lang.String):117:124 -> b
    14:52:void parseMediaSource(java.lang.String):120:158 -> b
    53:87:void parseMediaSource(java.lang.String):138:172 -> b
    88:96:void parseMediaSource(java.lang.String):168:176 -> b
    void startConnection(android.content.Context) -> c
    1:1:void handleInstallReferrer():77:77 -> c
com.sf.sdk.service.AbstractInstallReferrer$1 -> com.sf.sdk.q0.a$a:
# {"id":"sourceFile","fileName":"AbstractInstallReferrer.java"}
    android.content.Context val$context -> a
    com.sf.sdk.service.AbstractInstallReferrer this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/a;"}
    1:1:void <init>(com.sf.sdk.service.AbstractInstallReferrer,android.content.Context):64:64 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/a;Landroid/content/Context;)V"}
    1:1:void run():67:67 -> run
com.sf.sdk.service.AbstractInstallReferrer$2 -> com.sf.sdk.q0.a$b:
# {"id":"sourceFile","fileName":"AbstractInstallReferrer.java"}
    com.sf.sdk.service.AbstractInstallReferrer this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/a;"}
    1:1:void <init>(com.sf.sdk.service.AbstractInstallReferrer):77:77 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/a;)V"}
    1:8:void run():81:88 -> run
    9:12:void run():86:89 -> run
com.sf.sdk.service.AppExecutors -> com.sf.sdk.service.AppExecutors:
# {"id":"sourceFile","fileName":"AppExecutors.java"}
    com.sf.sdk.service.AppExecutors$MainThreadExecutor mMainThread -> mMainThread
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/AppExecutors$a;"}
    1:9:void <clinit>():23:31 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    1:1:java.util.concurrent.ScheduledExecutorService diskIO():41:41 -> diskIO
    1:1:java.util.concurrent.ScheduledFuture executeDelayedOnDiskIO(java.lang.Runnable,long,java.util.concurrent.TimeUnit):66:66 -> executeDelayedOnDiskIO
    1:1:void executeOnDiskIO(java.lang.Runnable):56:56 -> executeOnDiskIO
    1:4:void executeOnMainThread(java.lang.Runnable):94:97 -> executeOnMainThread
    1:1:void executeOnWorkerThread(java.lang.Runnable):84:84 -> executeOnWorkerThread
    1:1:java.util.concurrent.ScheduledFuture executePeriodicOnDiskIO(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit):77:77 -> executePeriodicOnDiskIO
    1:1:boolean isMainThread():126:126 -> isMainThread
    1:1:com.sf.sdk.service.AppExecutors$MainThreadExecutor mainThread():49:49 -> mainThread
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/service/AppExecutors$a;"}
    1:1:void postDelayedToMainThread(java.lang.Runnable,long):112:112 -> postDelayedToMainThread
    1:1:void postToMainThread(java.lang.Runnable):105:105 -> postToMainThread
    1:1:void removeCallbacks(java.lang.Runnable):119:119 -> removeCallbacks
    1:1:java.util.concurrent.ExecutorService workerThread():45:45 -> workerThread
com.sf.sdk.service.AppExecutors$MainThreadExecutor -> com.sf.sdk.service.AppExecutors$a:
# {"id":"sourceFile","fileName":"AppExecutors.java"}
    android.os.Handler mMainThreadHandler -> a
    1:3:void <init>():129:131 -> <init>
    1:1:void executeDelayed(java.lang.Runnable,long):139:139 -> a
    2:2:void removeCallbacks(java.lang.Runnable):143:143 -> a
    1:1:void execute(java.lang.Runnable):135:135 -> execute
com.sf.sdk.service.GoogleInstallReferrer -> com.sf.sdk.q0.b:
# {"id":"sourceFile","fileName":"GoogleInstallReferrer.java"}
    com.android.installreferrer.api.InstallReferrerClient referrerClient -> b
    1:1:void <init>():15:15 -> <init>
    1:6:void endConnection():74:79 -> a
    1:9:org.json.JSONObject getInstallReferrer():85:93 -> b
    1:3:void startConnection(android.content.Context):25:27 -> c
    1:1:com.sf.sdk.service.GoogleInstallReferrer get():20:20 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/q0/b;"}
com.sf.sdk.service.GoogleInstallReferrer$1 -> com.sf.sdk.q0.b$a:
# {"id":"sourceFile","fileName":"GoogleInstallReferrer.java"}
    android.content.Context val$context -> a
    com.sf.sdk.service.GoogleInstallReferrer this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/b;"}
    1:1:void <init>(com.sf.sdk.service.GoogleInstallReferrer,android.content.Context):27:27 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/b;Landroid/content/Context;)V"}
    1:1:void onInstallReferrerServiceDisconnected():66:66 -> onInstallReferrerServiceDisconnected
    1:1:void onInstallReferrerSetupFinished(int):59:59 -> onInstallReferrerSetupFinished
    2:2:void onInstallReferrerSetupFinished(int):56:56 -> onInstallReferrerSetupFinished
    3:3:void onInstallReferrerSetupFinished(int):53:53 -> onInstallReferrerSetupFinished
    4:4:void onInstallReferrerSetupFinished(int):50:50 -> onInstallReferrerSetupFinished
    5:6:void onInstallReferrerSetupFinished(int):43:44 -> onInstallReferrerSetupFinished
    7:21:void onInstallReferrerSetupFinished(int):33:47 -> onInstallReferrerSetupFinished
com.sf.sdk.service.GooglePlatformService -> com.sf.sdk.q0.c:
# {"id":"sourceFile","fileName":"GooglePlatformService.java"}
    1:1:void <init>():29:29 -> <init>
    1:1:void setUserId(java.lang.String):41:41 -> a
    2:2:java.lang.String getPlatform():46:46 -> a
    3:21:boolean openAppMarket(android.content.Context,java.lang.String):57:75 -> a
    22:22:void requestInstallReferrer(android.content.Context):87:87 -> a
    23:56:void requestReview(android.app.Activity,com.sf.sdk.SFResultListener):93:126 -> a
    1:1:java.util.List getPlugins():51:51 -> b
    2:2:java.lang.String getAdvertisingId(android.content.Context):82:82 -> b
    1:1:void init(android.content.Context):33:33 -> c
    2:2:void initPlatform():37:37 -> c
com.sf.sdk.service.GooglePlatformService$1 -> com.sf.sdk.q0.c$a:
# {"id":"sourceFile","fileName":"GooglePlatformService.java"}
    com.google.android.play.core.review.ReviewManager val$manager -> a
    android.app.Activity val$activity -> b
    com.sf.sdk.SFResultListener val$listener -> c
    com.sf.sdk.service.GooglePlatformService this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/c;"}
    1:1:void <init>(com.sf.sdk.service.GooglePlatformService,com.google.android.play.core.review.ReviewManager,android.app.Activity,com.sf.sdk.SFResultListener):94:94 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/c;Lcom/google/android/play/core/review/ReviewManager;Landroid/app/Activity;Lcom/sf/sdk/SFResultListener;)V"}
    1:18:void onComplete(com.google.android.gms.tasks.Task):97:114 -> onComplete
com.sf.sdk.service.GooglePlatformService$1$1 -> com.sf.sdk.q0.c$a$a:
# {"id":"sourceFile","fileName":"GooglePlatformService.java"}
    com.sf.sdk.service.GooglePlatformService$1 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/c$a;"}
    1:1:void <init>(com.sf.sdk.service.GooglePlatformService$1):99:99 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/c$a;)V"}
    1:2:void onComplete(com.google.android.gms.tasks.Task):102:103 -> onComplete
com.sf.sdk.service.GooglePlatformService$1$1$1 -> com.sf.sdk.q0.c$a$a$a:
# {"id":"sourceFile","fileName":"GooglePlatformService.java"}
    com.google.android.gms.tasks.Task val$task -> a
    com.sf.sdk.service.GooglePlatformService$1$1 this$2 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/c$a$a;"}
    1:1:void <init>(com.sf.sdk.service.GooglePlatformService$1$1,com.google.android.gms.tasks.Task):103:103 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/c$a$a;Lcom/google/android/gms/tasks/Task;)V"}
    1:1:void run():106:106 -> run
com.sf.sdk.service.GooglePlatformService$1$2 -> com.sf.sdk.q0.c$a$b:
# {"id":"sourceFile","fileName":"GooglePlatformService.java"}
    com.google.android.gms.tasks.Task val$task -> a
    com.sf.sdk.service.GooglePlatformService$1 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/c$a;"}
    1:1:void <init>(com.sf.sdk.service.GooglePlatformService$1,com.google.android.gms.tasks.Task):114:114 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/c$a;Lcom/google/android/gms/tasks/Task;)V"}
    1:1:void run():117:117 -> run
com.sf.sdk.service.InAppUpdateManager -> com.sf.sdk.service.a:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    android.app.Activity activity -> a
    com.google.android.play.core.appupdate.AppUpdateManager appUpdateManager -> b
    com.google.android.play.core.install.InstallStateUpdatedListener updatedListener -> c
    com.sf.sdk.ui.base.IActivityListener activityListener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/f;"}
    boolean isDestroyed -> e
    boolean installPromptShown -> f
    int updateType -> g
    com.sf.sdk.ui.base.FragmentHolder fragmentHolder -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/e;"}
    com.sf.sdk.service.InAppUpdateManager$OnUpdateStateListener updateStateListener -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a$f;"}
    1:1:void <init>(android.app.Activity):76:76 -> <init>
    2:41:void <init>(android.app.Activity):41:80 -> <init>
    1:9:void checkAndStartUpdate(boolean,com.sf.sdk.service.InAppUpdateManager$OnUpdateStateListener):84:92 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(ZLcom/sf/sdk/service/a$f;)V"}
    10:10:void checkAndStartUpdate(boolean,com.sf.sdk.service.InAppUpdateManager$OnUpdateStateListener):88:88 -> a
    11:28:void lambda$onResumeCheck$0(android.app.Activity,com.google.android.play.core.appupdate.AppUpdateInfo):142:159 -> a
    29:29:void lambda$onResumeCheck$0(android.app.Activity,com.google.android.play.core.appupdate.AppUpdateInfo):151:151 -> a
    30:38:com.sf.sdk.ui.base.FragmentHolder getFragmentHolder(android.app.Activity):178:186 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;)Lcom/sf/sdk/s0/e;"}
    39:45:void startUpdateFlow(com.google.android.play.core.appupdate.AppUpdateInfo,int):192:198 -> a
    46:47:void notifyFailure(int,java.lang.String):203:204 -> a
    48:49:void completeUpdate():230:231 -> a
    1:1:boolean isSupportInAppUpdate():73:73 -> b
    2:5:void onResumeCheck(android.app.Activity):138:141 -> b
    1:5:void onDestroy():170:174 -> c
    1:8:void shouldShowAppInstallPrompt():209:216 -> d
com.sf.sdk.service.InAppUpdateManager$1 -> com.sf.sdk.service.a$a:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    com.sf.sdk.service.InAppUpdateManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a;"}
    1:1:void <init>(com.sf.sdk.service.InAppUpdateManager):41:41 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/a;)V"}
    1:3:void onStateUpdate(com.google.android.play.core.install.InstallState):44:46 -> a
    1:1:void onStateUpdate(java.lang.Object):41:41 -> onStateUpdate
com.sf.sdk.service.InAppUpdateManager$2 -> com.sf.sdk.service.a$b:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    com.sf.sdk.service.InAppUpdateManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a;"}
    1:1:void <init>(com.sf.sdk.service.InAppUpdateManager):50:50 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/a;)V"}
    1:9:void onActivityResult(int,int,android.content.Intent):53:61 -> onActivityResult
com.sf.sdk.service.InAppUpdateManager$3 -> com.sf.sdk.service.a$c:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    com.sf.sdk.service.InAppUpdateManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a;"}
    1:1:void <init>(com.sf.sdk.service.InAppUpdateManager):92:92 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/a;)V"}
    1:7:void onComplete(com.google.android.gms.tasks.Task):96:102 -> onComplete
    8:33:void onComplete(com.google.android.gms.tasks.Task):102:127 -> onComplete
com.sf.sdk.service.InAppUpdateManager$4 -> com.sf.sdk.service.a$d:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    com.sf.sdk.service.InAppUpdateManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a;"}
    1:1:void <init>(com.sf.sdk.service.InAppUpdateManager):216:216 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/a;)V"}
    1:1:void accept(java.lang.Object):216:216 -> accept
    2:5:void accept(java.lang.Boolean):219:222 -> accept
com.sf.sdk.service.InAppUpdateManager$5 -> com.sf.sdk.service.a$e:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    com.sf.sdk.service.InAppUpdateManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a;"}
    1:1:void <init>(com.sf.sdk.service.InAppUpdateManager):231:231 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/a;)V"}
    1:8:void onComplete(com.google.android.gms.tasks.Task):234:241 -> onComplete
com.sf.sdk.service.InAppUpdateManager$OnUpdateStateListener -> com.sf.sdk.service.a$f:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    void onUpdateDownloaded(com.sf.sdk.SFConsumer) -> a
    void onUpdateFailure(int,java.lang.String) -> a
    void onUpdateFlowAccepted(boolean) -> a
    void onUpdateStarted() -> a
    void onUpdateFlowFinished() -> b
com.sf.sdk.service.InAppUpdateManager$UpdateSenderForResultStarter -> com.sf.sdk.service.a$g:
# {"id":"sourceFile","fileName":"InAppUpdateManager.java"}
    com.sf.sdk.ui.base.FragmentHolder fragmentHolder -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/e;"}
    1:2:void <init>(com.sf.sdk.ui.base.FragmentHolder):251:252 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/e;)V"}
    1:1:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle):259:259 -> startIntentSenderForResult
com.sf.sdk.service.NetworkMonitor -> com.sf.sdk.service.b:
# {"id":"sourceFile","fileName":"NetworkMonitor.java"}
    android.content.Context context -> a
    android.net.ConnectivityManager connectivityManager -> b
    java.util.List networkChangeObservers -> c
    boolean monitoring -> d
    java.lang.String networkType -> e
    boolean networkAvailable -> f
    com.sf.sdk.service.NetworkMonitor$NetworkCallback networkCallback -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/b$b;"}
    com.sf.sdk.service.NetworkMonitor$NetworkReceiver networkReceiver -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/b$c;"}
    1:1:void <init>():50:50 -> <init>
    2:23:void <init>():33:54 -> <init>
    1:1:com.sf.sdk.service.NetworkMonitor getInstance():47:47 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/service/b;"}
    2:4:void register(com.sf.sdk.service.NetworkMonitor$NetworkStateChangedObserver):115:117 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/b$d;)V"}
    5:16:void onNetworkStateChanged(boolean):127:138 -> a
    17:77:java.lang.String getNetworkType(android.net.ConnectivityManager):207:267 -> a
    78:78:java.lang.String getNetworkType(android.net.ConnectivityManager):257:257 -> a
    79:79:java.lang.String getNetworkType(android.net.ConnectivityManager):255:255 -> a
    80:80:java.lang.String getNetworkType(android.net.ConnectivityManager):251:251 -> a
    81:81:java.lang.String getNetworkType(android.net.ConnectivityManager):241:241 -> a
    82:125:java.lang.String getNetworkType(android.net.ConnectivityManager):228:271 -> a
    1:1:java.lang.String getNetworkType():104:104 -> b
    2:2:void unregister(com.sf.sdk.service.NetworkMonitor$NetworkStateChangedObserver):122:122 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/b$d;)V"}
    3:18:boolean isNetworkAvailable(android.net.ConnectivityManager):176:191 -> b
    1:1:boolean isMonitoring():97:97 -> c
    1:1:boolean isNetworkAvailable():111:111 -> d
    1:4:void observerNetworkState():142:145 -> e
    1:15:void startMonitor():61:75 -> f
com.sf.sdk.service.NetworkMonitor$1 -> com.sf.sdk.service.b$a:
# {"id":"sourceFile","fileName":"NetworkMonitor.java"}
    com.sf.sdk.service.NetworkMonitor this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/b;"}
    1:1:void <init>(com.sf.sdk.service.NetworkMonitor):145:145 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/b;)V"}
    1:2:void run():148:149 -> run
com.sf.sdk.service.NetworkMonitor$NetworkCallback -> com.sf.sdk.service.b$b:
# {"id":"sourceFile","fileName":"NetworkMonitor.java"}
    1:1:void <init>():294:294 -> <init>
    1:2:void onAvailable(android.net.Network):298:299 -> onAvailable
    1:2:void onLost(android.net.Network):304:305 -> onLost
com.sf.sdk.service.NetworkMonitor$NetworkReceiver -> com.sf.sdk.service.b$c:
# {"id":"sourceFile","fileName":"NetworkMonitor.java"}
    1:1:void <init>():310:310 -> <init>
    1:2:void onReceive(android.content.Context,android.content.Intent):313:314 -> onReceive
com.sf.sdk.service.NetworkMonitor$NetworkStateChangedObserver -> com.sf.sdk.service.b$d:
# {"id":"sourceFile","fileName":"NetworkMonitor.java"}
com.sf.sdk.service.NetworkMonitor$Singleton -> com.sf.sdk.service.b$e:
# {"id":"sourceFile","fileName":"NetworkMonitor.java"}
    com.sf.sdk.service.NetworkMonitor instance -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/b;"}
    1:1:void <clinit>():43:43 -> <clinit>
com.sf.sdk.service.PlatformService -> com.sf.sdk.q0.d:
# {"id":"sourceFile","fileName":"PlatformService.java"}
    java.lang.String getPlatform() -> a
    boolean openAppMarket(android.content.Context,java.lang.String) -> a
    void requestInstallReferrer(android.content.Context) -> a
    void requestReview(android.app.Activity,com.sf.sdk.SFResultListener) -> a
    void setUserId(java.lang.String) -> a
    java.lang.String getAdvertisingId(android.content.Context) -> b
    java.util.List getPlugins() -> b
    void init(android.content.Context) -> c
    void initPlatform() -> c
com.sf.sdk.service.SDKManager -> com.sf.sdk.service.c:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    boolean initialized -> A
    boolean initializing -> B
    boolean loginLoading -> C
    boolean loginAfterInit -> D
    boolean showLoginLoading -> E
    boolean hasLoadInitLog -> F
    boolean hasLoadInitConfig -> G
    boolean autoLoginWaitForNetwork -> H
    boolean refreshTokenWaitForNetwork -> I
    boolean loginCallbackWaitForNetwork -> J
    java.util.Map linkedAccountTypes -> K
    java.util.List networkStateListeners -> L
    java.util.List conversionDataListeners -> M
    java.util.List authenticationStatusListeners -> N
    com.sf.sdk.common.lifecycle.SFActivityLifecycleCallbacks activityLifecycleCallback -> O
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/p/b;"}
    com.sf.sdk.service.NetworkMonitor$NetworkStateChangedObserver networkStateChangedObserver -> P
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/b$d;"}
    android.content.Context context -> a
    com.sf.sdk.data.SFUser currentLoginUser -> b
    com.sf.sdk.data.SFUser failedLoginUser -> c
    com.sf.sdk.data.SFRoleData roleData -> d
    java.lang.String firebaseUserPseudoId -> e
    java.lang.String firebaseMessagingToken -> f
    com.sf.sdk.service.ShareService shareService -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/j;"}
    com.sf.sdk.SFUIService uiService -> h
    com.sf.sdk.SFTDService tdService -> i
    com.sf.sdk.SFSofishService sofishService -> j
    com.sf.sdk.SFGameService gameService -> k
    com.sf.sdk.SFFirebaseService firebaseService -> l
    com.sf.sdk.SFAppsFlyerService appsFlyerService -> m
    com.sf.sdk.service.PlatformService platformService -> n
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/d;"}
    com.sf.sdk.SFSDKListener listener -> o
    org.json.JSONObject installReferrer -> p
    com.sf.sdk.data.SFConversionData conversionData -> q
    com.sf.sdk.service.InAppUpdateManager appUpdateManager -> r
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/a;"}
    com.sf.sdk.SFAppUpdateListener appUpdateListener -> s
    java.util.List productPrices -> t
    com.sf.sdk.SFLocaleCurrencyListener localeCurrencyListener -> u
    com.sf.sdk.SFFirebaseMessagingListener firebaseMessagingListener -> v
    long checkOrdersTime -> w
    long queryProductsTime -> x
    boolean testMode -> y
    boolean debugMode -> z
    1:1:void <init>():247:247 -> <init>
    2:99:void <init>():151:248 -> <init>
    1:1:void autoLoginWaitForNetwork():268:268 -> a
    2:3:void setInstallReferrer(org.json.JSONObject):276:277 -> a
    4:20:void initSdk(android.app.Activity,com.sf.sdk.data.internal.SFDomain):402:418 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;Lcom/sf/sdk/u/c;)V"}
    21:23:void updateSFAnalytics(com.sf.sdk.data.internal.SFDomain):432:434 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/c;)V"}
    24:26:void checkAndStartInAppUpdate(android.app.Activity,com.sf.sdk.data.SFAppUpdateInfo,com.sf.sdk.SFConsumer):1646:1648 -> a
    27:35:void checkFailedOrders(android.app.Activity):2042:2050 -> a
    36:40:void onInitFailed(int,java.lang.String):2063:2067 -> a
    41:41:void onLoginSuccess(com.sf.sdk.data.SFUser):2075:2075 -> a
    42:97:void onLoginSuccess(com.sf.sdk.data.SFUser,boolean):2079:2134 -> a
    98:110:void onLinkSuccess(int,com.sf.sdk.data.SFUser):2186:2198 -> a
    111:115:void onLinkFailed(int,int,java.lang.String):2209:2213 -> a
    116:117:void onPaymentSuccess(com.sf.sdk.data.SFOrder):2221:2222 -> a
    118:121:void onRestoreSuccess(java.util.List,java.util.List):2241:2244 -> a
    122:122:void queryLinkDetail(androidx.core.util.Consumer):2301:2301 -> a
    123:139:void linkDetails(com.sf.sdk.SFRequestResultListener):2319:2335 -> a
    140:143:void linkDetails(com.sf.sdk.SFRequestResultListener):2320:2323 -> a
    144:146:void attachApplication(android.app.Application):2396:2398 -> a
    147:151:void setLocaleProductDetails(java.util.List):2402:2406 -> a
    152:165:void setConversionData(com.sf.sdk.data.SFConversionData):2415:2428 -> a
    166:168:void setFirebaseUserPseudoId(java.lang.String):2438:2440 -> a
    169:170:void setFirebaseMessageReceived(com.sf.sdk.data.SFFirebaseMessage):2456:2457 -> a
    1:1:void addAppStateChangedListener(com.sf.sdk.SFAppStateChangedListener):1705:1705 -> addAppStateChangedListener
    1:2:void addAuthenticationStatusListener(com.sf.sdk.SFAuthenticationStatusListener):1763:1764 -> addAuthenticationStatusListener
    1:8:void addConversionDataListener(com.sf.sdk.SFConversionDataListener):1732:1739 -> addConversionDataListener
    1:2:void addNetworkStateListener(com.sf.sdk.SFNetworkStateListener):1715:1716 -> addNetworkStateListener
    1:36:void initSdkLog(android.app.Activity):443:478 -> b
    37:37:void checkLoginRecords():2016:2016 -> b
    38:38:void setFailedLoginUser(com.sf.sdk.data.SFUser):2059:2059 -> b
    39:70:void onLoginFailed(int,int,java.lang.String):2147:2178 -> b
    71:71:void onLinkFailed(int,java.lang.String):2205:2205 -> b
    72:75:void updateLinkedAccountTypes(java.util.List):2364:2367 -> b
    76:83:void updateFirebaseMessagingToken(java.lang.String):2445:2452 -> b
    1:45:void initSuccess(android.app.Activity):521:565 -> c
    46:47:void updateUserInfo(com.sf.sdk.data.SFUser):2054:2055 -> c
    48:48:void onLoginFailed(int,java.lang.String):2143:2143 -> c
    49:67:void checkThread():2500:2518 -> c
    1:1:void checkPendingPurchases(android.app.Activity):2038:2038 -> checkPendingPurchases
    1:1:void checkRefund(android.app.Activity):739:739 -> checkRefund
    2:22:void checkRefund(android.app.Activity,com.sf.sdk.SFResultListener):752:772 -> checkRefund
    1:7:void checkSensitiveWords(java.lang.String,com.sf.sdk.SFRequestResultListener):1429:1435 -> checkSensitiveWords
    1:20:void community(java.lang.String,com.sf.sdk.SFRequestListener):902:921 -> community
    1:1:void completeTutorial(java.lang.String,java.lang.String):1300:1300 -> completeTutorial
    1:4:void onPaymentFailed(int,java.lang.String):2230:2233 -> d
    5:14:void onLogout(android.app.Activity):2270:2279 -> d
    15:23:void clearUserInfo():2380:2388 -> d
    1:31:void deleteAccount(android.app.Activity):704:734 -> deleteAccount
    1:11:void destroy():1828:1838 -> destroy
    1:2:void queryCancelState(android.app.Activity):1934:1935 -> e
    3:16:void ensureGlobalConfig():1997:2010 -> e
    17:18:void onRestoreFailed(int,java.lang.String):2252:2253 -> e
    1:2:void enableClientDeliveryNotification():1036:1037 -> enableClientDeliveryNotification
    1:1:void querySdkConfig(android.app.Activity):493:493 -> f
    2:12:void ensureInit():1976:1986 -> f
    1:15:void trackNetworkError(android.app.Activity):383:397 -> g
    16:16:android.app.Activity getCurrentActivity():2467:2467 -> g
    1:1:java.lang.String getAdvertisingId():1870:1870 -> getAdvertisingId
    1:3:com.sf.sdk.data.SFAppsFlyerData getAppsFlyerData():1884:1886 -> getAppsFlyerData
    1:4:com.sf.sdk.SFAppsFlyerService getAppsFlyerService():1809:1812 -> getAppsFlyerService
    1:1:java.lang.String getDeviceID():1865:1865 -> getDeviceID
    1:3:com.sf.sdk.data.SFFirebaseData getFirebaseData():1875:1877 -> getFirebaseData
    1:4:com.sf.sdk.SFFirebaseService getFirebaseService():1801:1804 -> getFirebaseService
    1:3:java.lang.String getGameServerDomainWhenOtherError(java.lang.String):1919:1921 -> getGameServerDomainWhenOtherError
    1:3:java.util.List getGameServerIpWhenSSLError(java.lang.String):1903:1905 -> getGameServerIpWhenSSLError
    1:3:java.util.List getGameServerIpWhenUnknownHost(java.lang.String):1911:1913 -> getGameServerIpWhenUnknownHost
    1:4:com.sf.sdk.SFGameService getGameService(android.app.Activity):1817:1820 -> getGameService
    1:3:java.lang.String getGameStaticDomainWhenError(java.lang.String):1927:1929 -> getGameStaticDomainWhenError
    1:1:java.lang.String getPlatformName():1860:1860 -> getPlatformName
    1:1:java.lang.String getSdkVersion():1855:1855 -> getSdkVersion
    1:4:com.sf.sdk.SFSofishService getSofishService():1793:1796 -> getSofishService
    1:4:com.sf.sdk.SFTDService getTDService():1785:1788 -> getTDService
    1:1:com.sf.sdk.data.SFThinkingData getThinkingData():1893:1893 -> getThinkingData
    1:4:com.sf.sdk.SFUIService getUIService():1777:1780 -> getUIService
    1:1:java.lang.String getFirebaseUserPseudoId():2434:2434 -> h
    1:1:com.sf.sdk.service.SDKManager getInstance():252:252 -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/service/c;"}
    1:6:void init(android.app.Activity,com.sf.sdk.SFSDKListener):310:315 -> init
    7:62:void init(android.app.Activity,com.sf.sdk.data.SFInitParams,com.sf.sdk.SFSDKListener):323:378 -> init
    63:63:void init(android.app.Activity,com.sf.sdk.data.SFInitParams,com.sf.sdk.SFSDKListener):331:331 -> init
    64:64:void init(android.app.Activity,com.sf.sdk.data.SFInitParams,com.sf.sdk.SFSDKListener):328:328 -> init
    65:65:void init(android.app.Activity,com.sf.sdk.data.SFInitParams,com.sf.sdk.SFSDKListener):325:325 -> init
    1:1:boolean isNetworkAvailable():1898:1898 -> isNetworkAvailable
    1:1:com.sf.sdk.data.SFUser getLoginUser():288:288 -> j
    1:4:com.sf.sdk.service.PlatformService getPlatformService():299:302 -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/q0/d;"}
    1:1:com.sf.sdk.data.SFRoleData getRoleData():295:295 -> l
    1:15:void launchGameCustomReview(float,java.lang.String,com.sf.sdk.SFResultListener):1212:1226 -> launchGameCustomReview
    16:19:void launchGameCustomReview(float,java.lang.String,com.sf.sdk.SFResultListener):1214:1217 -> launchGameCustomReview
    1:10:void launchInAppReview(android.app.Activity,com.sf.sdk.SFResultListener):1232:1241 -> launchInAppReview
    11:14:void launchInAppReview(android.app.Activity,com.sf.sdk.SFResultListener):1234:1237 -> launchInAppReview
    1:18:void linkAccount(android.app.Activity,int):640:657 -> linkAccount
    1:1:void login(android.app.Activity):578:578 -> login
    2:35:void login(android.app.Activity,boolean):583:616 -> login
    1:1:void loginAccount(android.app.Activity,int):622:622 -> loginAccount
    1:6:void logout(android.app.Activity):630:635 -> logout
    1:4:com.sf.sdk.service.ShareService getShareService():2471:2474 -> m
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/q0/j;"}
    1:1:java.lang.String getUserId():281:281 -> n
    1:1:boolean notifyServerDeliverySuccess(com.sf.sdk.data.SFOrder):1042:1042 -> notifyServerDeliverySuccess
    1:5:void initPlatformService():423:427 -> o
    1:2:void openBrowser(java.lang.String):1246:1247 -> openBrowser
    1:2:boolean isAccountVisitor():2373:2374 -> p
    1:30:void pay(android.app.Activity,com.sf.sdk.data.SFOrder):950:979 -> pay
    1:16:void preRegistration(android.app.Activity,com.sf.sdk.SFRequestResultListener):1016:1031 -> preRegistration
    1:1:boolean isAppOnForeground():260:260 -> q
    1:20:void queryCompleteOrders(com.sf.sdk.SFResultListener):806:825 -> queryCompleteOrders
    1:19:void queryProfile(android.app.Activity,com.sf.sdk.SFRequestResultListener):1168:1186 -> queryProfile
    20:23:void queryProfile(android.app.Activity,com.sf.sdk.SFRequestResultListener):1170:1173 -> queryProfile
    1:20:void queryRefundOrders(com.sf.sdk.SFResultListener):854:873 -> queryRefundOrders
    1:1:boolean isDebugMode():2392:2392 -> r
    1:18:void refreshUser(com.sf.sdk.SFRequestResultListener):1119:1136 -> refreshUser
    19:22:void refreshUser(com.sf.sdk.SFRequestResultListener):1121:1124 -> refreshUser
    1:1:void removeAppStateChangedListener(com.sf.sdk.SFAppStateChangedListener):1710:1710 -> removeAppStateChangedListener
    1:2:void removeAuthenticationStatusListener(com.sf.sdk.SFAuthenticationStatusListener):1770:1771 -> removeAuthenticationStatusListener
    1:2:void removeConversionDataListener(com.sf.sdk.SFConversionDataListener):1756:1757 -> removeConversionDataListener
    1:2:void removeNetworkStateListener(com.sf.sdk.SFNetworkStateListener):1722:1723 -> removeNetworkStateListener
    1:10:void requestAppUpdate(java.lang.String,com.sf.sdk.SFAppUpdateListener):1632:1641 -> requestAppUpdate
    11:11:void requestAppUpdate(java.lang.String,com.sf.sdk.SFAppUpdateListener):1635:1635 -> requestAppUpdate
    1:31:void requestConversionData(com.sf.sdk.SFRequestResultListener):1525:1555 -> requestConversionData
    32:32:void requestConversionData(com.sf.sdk.SFRequestResultListener):1527:1527 -> requestConversionData
    1:13:void requestLatestFeedbackReply(com.sf.sdk.SFRequestResultListener):1591:1603 -> requestLatestFeedbackReply
    14:14:void requestLatestFeedbackReply(com.sf.sdk.SFRequestResultListener):1593:1593 -> requestLatestFeedbackReply
    1:1:void requestServerTime(com.sf.sdk.SFRequestResultListener):1496:1496 -> requestServerTime
    1:14:void restoreCompletedPurchase(java.lang.String,com.sf.sdk.SFRequestResultListener):984:997 -> restoreCompletedPurchase
    1:10:void restoreCompletedPurchases():1002:1011 -> restoreCompletedPurchases
    1:1:boolean isTestMode():256:256 -> s
    1:15:void service(android.app.Activity):928:942 -> service
    1:1:void setConversionDataListener(com.sf.sdk.SFConversionDataListener):1268:1268 -> setConversionDataListener
    1:3:void setDebugMode(boolean):1843:1845 -> setDebugMode
    1:1:void setDeepLinkListener(com.sf.sdk.SFResultListener):1253:1253 -> setDeepLinkListener
    1:3:void setFirebaseMessagingListener(com.sf.sdk.SFFirebaseMessagingListener):1280:1282 -> setFirebaseMessagingListener
    1:3:void setLocaleCurrencyListener(com.sf.sdk.SFLocaleCurrencyListener):1258:1260 -> setLocaleCurrencyListener
    1:1:void setTestMode(boolean):1850:1850 -> setTestMode
    1:4:void shareNative(android.app.Activity,com.sf.sdk.data.SFShareContent,com.sf.sdk.SFRequestListener):1288:1291 -> shareNative
    1:1:void submit(android.app.Activity,com.sf.sdk.data.SFRoleData):1050:1050 -> submit
    2:50:void submit(android.app.Activity,com.sf.sdk.data.SFRoleData,com.sf.sdk.SFRequestListener):1058:1106 -> submit
    51:53:void submit(android.app.Activity,com.sf.sdk.data.SFRoleData,com.sf.sdk.SFRequestListener):1068:1070 -> submit
    54:105:void submit(android.app.Activity,com.sf.sdk.data.SFRoleData,com.sf.sdk.SFRequestListener):1061:1112 -> submit
    1:2:void submitFeedback(int,float,java.lang.String,com.sf.sdk.SFRequestResultListener):1464:1465 -> submitFeedback
    1:38:void switchAccount(android.app.Activity,int):662:699 -> switchAccount
    1:2:void switchLanguage(android.app.Activity,java.lang.String,java.lang.String):1308:1309 -> switchLanguage
    3:4:void switchLanguage(android.app.Activity,java.util.Locale):1314:1315 -> switchLanguage
    1:2:void notifyConversionData():1273:1274 -> t
    1:1:void trackAdRevenue(com.sf.sdk.data.SFAdRevenue,java.lang.String[]):1352:1352 -> trackAdRevenue
    2:17:void trackAdRevenue(com.sf.sdk.data.SFAdRevenue,boolean,java.lang.String[]):1360:1375 -> trackAdRevenue
    1:1:void trackAppLaunchState(java.lang.String):1380:1380 -> trackAppLaunchState
    1:1:void trackEvent(java.lang.String,java.util.Map):1323:1323 -> trackEvent
    2:2:void trackEvent(java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):1331:1331 -> trackEvent
    3:3:void trackEvent(java.lang.String,java.lang.String,java.util.Map):1339:1339 -> trackEvent
    4:4:void trackEvent(java.lang.String,java.lang.String,java.util.Map,com.sf.sdk.SFRequestListener):1347:1347 -> trackEvent
    1:10:void translate(java.lang.String,java.lang.String,com.sf.sdk.SFRequestResultListener):1388:1397 -> translate
    1:8:void onAccountDeleted():2288:2295 -> u
    1:2:void onExitGame():2261:2262 -> v
    1:8:void queryProductDetails():2478:2485 -> w
    1:1:void refreshTokenWaitForNetwork():272:272 -> x
    1:3:void releaseAppUpdateManager():1697:1699 -> y
    1:1:boolean showLoginLoading():264:264 -> z
com.sf.sdk.service.SDKManager$1 -> com.sf.sdk.service.c$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> m
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):169:169 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:3:void onActivityResumed(android.app.Activity):185:187 -> onActivityResumed
    1:3:void onActivityStarted(android.app.Activity):172:174 -> onActivityStarted
com.sf.sdk.service.SDKManager$1$1 -> com.sf.sdk.service.c$a$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager$1 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$a;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$1,android.app.Activity):174:174 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$a;Landroid/app/Activity;)V"}
    1:1:void run():177:177 -> run
com.sf.sdk.service.SDKManager$10 -> com.sf.sdk.service.c$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> e
    com.sf.sdk.service.SDKManager this$0 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Activity):559:559 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Activity;)V"}
    1:1:void task():562:562 -> d
com.sf.sdk.service.SDKManager$11 -> com.sf.sdk.service.c$c:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> e
    com.sf.sdk.service.SDKManager this$0 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long,android.app.Activity):553:553 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;JLandroid/app/Activity;)V"}
    1:1:void task():556:556 -> d
com.sf.sdk.service.SDKManager$12 -> com.sf.sdk.service.c$d:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):547:547 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:void task():550:550 -> d
com.sf.sdk.service.SDKManager$13 -> com.sf.sdk.service.c$e:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):541:541 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:void task():544:544 -> d
com.sf.sdk.service.SDKManager$14 -> com.sf.sdk.service.c$f:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    int val$accountType -> b
    com.sf.sdk.service.SDKManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity,int):674:674 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;I)V"}
    1:1:void run():677:677 -> run
com.sf.sdk.service.SDKManager$15 -> com.sf.sdk.service.c$g:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog val$loadingDialog -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    java.lang.Runnable val$runnable -> b
    android.app.Activity val$activity -> c
    com.sf.sdk.service.SDKManager this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.ui.widget.dialog.LoadingDialog,java.lang.Runnable,android.app.Activity):683:683 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/u0/d;Ljava/lang/Runnable;Landroid/app/Activity;)V"}
    1:6:void accept(java.util.List):686:691 -> a
    1:1:void accept(java.lang.Object):683:683 -> accept
com.sf.sdk.service.SDKManager$16 -> com.sf.sdk.service.c$h:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity):724:724 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;)V"}
    1:1:void onConfirm():727:727 -> a
com.sf.sdk.service.SDKManager$17 -> com.sf.sdk.service.c$i:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity):739:739 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;)V"}
    1:1:void onResult(java.lang.Object):739:739 -> onResult
    2:4:void onResult(com.sf.sdk.data.SFRefund):742:744 -> onResult
com.sf.sdk.service.SDKManager$18 -> com.sf.sdk.service.c$j:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog val$loadingDialog -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    android.app.Activity val$activity -> b
    com.sf.sdk.SFResultListener val$listener -> c
    com.sf.sdk.service.SDKManager this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.ui.widget.dialog.LoadingDialog,android.app.Activity,com.sf.sdk.SFResultListener):772:772 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/u0/d;Landroid/app/Activity;Lcom/sf/sdk/SFResultListener;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFRefund):775:775 -> a
    1:1:void onFailed(int,java.lang.String):791:791 -> onFailed
    1:1:void onSuccess(java.lang.Object):772:772 -> onSuccess
com.sf.sdk.service.SDKManager$18$1 -> com.sf.sdk.service.c$j$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFRefund val$data -> a
    com.sf.sdk.service.SDKManager$18 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$j;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$18,com.sf.sdk.data.SFRefund):775:775 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$j;Lcom/sf/sdk/data/SFRefund;)V"}
    1:6:void run():778:783 -> run
com.sf.sdk.service.SDKManager$18$2 -> com.sf.sdk.service.c$j$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$18 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$j;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$18):791:791 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$j;)V"}
    1:3:void run():794:796 -> run
com.sf.sdk.service.SDKManager$19 -> com.sf.sdk.service.c$k:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFResultListener):825:825 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFResultListener;)V"}
    1:1:void onSuccess(java.util.List):828:828 -> a
    1:1:void onFailed(int,java.lang.String):840:840 -> onFailed
    1:1:void onSuccess(java.lang.Object):825:825 -> onSuccess
com.sf.sdk.service.SDKManager$19$1 -> com.sf.sdk.service.c$k$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    java.util.List val$data -> a
    com.sf.sdk.service.SDKManager$19 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$k;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$19,java.util.List):828:828 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$k;Ljava/util/List;)V"}
    1:2:void run():831:832 -> run
com.sf.sdk.service.SDKManager$19$2 -> com.sf.sdk.service.c$k$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$19 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$k;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$19):840:840 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$k;)V"}
    1:2:void run():843:844 -> run
com.sf.sdk.service.SDKManager$2 -> com.sf.sdk.service.c$l:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):191:191 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:43:void onNetworkStateChanged(boolean,java.lang.String):194:236 -> onNetworkStateChanged
com.sf.sdk.service.SDKManager$2$1 -> com.sf.sdk.service.c$l$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager$2 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$l;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$2,android.app.Activity):225:225 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$l;Landroid/app/Activity;)V"}
    1:1:void run():228:228 -> run
com.sf.sdk.service.SDKManager$20 -> com.sf.sdk.service.c$m:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFResultListener):873:873 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFResultListener;)V"}
    1:1:void onSuccess(java.util.List):876:876 -> a
    1:1:void onFailed(int,java.lang.String):888:888 -> onFailed
    1:1:void onSuccess(java.lang.Object):873:873 -> onSuccess
com.sf.sdk.service.SDKManager$20$1 -> com.sf.sdk.service.c$m$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    java.util.List val$data -> a
    com.sf.sdk.service.SDKManager$20 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$m;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$20,java.util.List):876:876 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$m;Ljava/util/List;)V"}
    1:2:void run():879:880 -> run
com.sf.sdk.service.SDKManager$20$2 -> com.sf.sdk.service.c$m$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$20 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$m;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$20):888:888 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$m;)V"}
    1:2:void run():891:892 -> run
com.sf.sdk.service.SDKManager$21 -> com.sf.sdk.service.c$n:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFRoleData val$roleData -> a
    com.sf.sdk.SFRequestListener val$listener -> b
    com.sf.sdk.service.SDKManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.data.SFRoleData,com.sf.sdk.SFRequestListener):1078:1078 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/data/SFRoleData;Lcom/sf/sdk/SFRequestListener;)V"}
    1:2:void onFailed(int,java.lang.String):1094:1095 -> onFailed
    1:2:void onSuccess(java.lang.Object):1081:1082 -> onSuccess
com.sf.sdk.service.SDKManager$21$1 -> com.sf.sdk.service.c$n$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$21 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$n;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$21):1082:1082 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$n;)V"}
    1:2:void run():1085:1086 -> run
com.sf.sdk.service.SDKManager$21$2 -> com.sf.sdk.service.c$n$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$21 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$n;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$21,int,java.lang.String):1095:1095 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$n;ILjava/lang/String;)V"}
    1:2:void run():1098:1099 -> run
com.sf.sdk.service.SDKManager$22 -> com.sf.sdk.service.c$o:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1136:1136 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(com.sf.sdk.data.SFUser):1139:1140 -> a
    1:2:void onFailed(int,java.lang.String):1153:1154 -> onFailed
    1:1:void onSuccess(java.lang.Object):1136:1136 -> onSuccess
com.sf.sdk.service.SDKManager$22$1 -> com.sf.sdk.service.c$o$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFUser val$data -> a
    com.sf.sdk.service.SDKManager$22 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$o;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$22,com.sf.sdk.data.SFUser):1140:1140 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$o;Lcom/sf/sdk/data/SFUser;)V"}
    1:3:void run():1143:1145 -> run
com.sf.sdk.service.SDKManager$22$2 -> com.sf.sdk.service.c$o$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$22 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$o;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$22,int,java.lang.String):1154:1154 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$o;ILjava/lang/String;)V"}
    1:2:void run():1157:1158 -> run
com.sf.sdk.service.SDKManager$23 -> com.sf.sdk.service.c$p:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1186:1186 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onFailed(int,java.lang.String):1203:1204 -> onFailed
    1:1:void onSuccess(java.lang.Object):1186:1186 -> onSuccess
    2:10:void onSuccess(com.sf.sdk.data.internal.SFLoginPlatform):1189:1197 -> onSuccess
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;)V"}
com.sf.sdk.service.SDKManager$24 -> com.sf.sdk.service.c$q:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1397:1397 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFTranslateText):1400:1400 -> a
    1:1:void onFailed(int,java.lang.String):1412:1412 -> onFailed
    1:1:void onSuccess(java.lang.Object):1397:1397 -> onSuccess
com.sf.sdk.service.SDKManager$24$1 -> com.sf.sdk.service.c$q$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFTranslateText val$data -> a
    com.sf.sdk.service.SDKManager$24 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$q;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$24,com.sf.sdk.data.SFTranslateText):1400:1400 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$q;Lcom/sf/sdk/data/SFTranslateText;)V"}
    1:2:void run():1403:1404 -> run
com.sf.sdk.service.SDKManager$24$2 -> com.sf.sdk.service.c$q$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$24 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$q;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$24,int,java.lang.String):1412:1412 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$q;ILjava/lang/String;)V"}
    1:2:void run():1415:1416 -> run
com.sf.sdk.service.SDKManager$25 -> com.sf.sdk.service.c$r:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1435:1435 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFSensitiveWords):1438:1438 -> a
    1:1:void onFailed(int,java.lang.String):1450:1450 -> onFailed
    1:1:void onSuccess(java.lang.Object):1435:1435 -> onSuccess
com.sf.sdk.service.SDKManager$25$1 -> com.sf.sdk.service.c$r$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFSensitiveWords val$data -> a
    com.sf.sdk.service.SDKManager$25 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$r;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$25,com.sf.sdk.data.SFSensitiveWords):1438:1438 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$r;Lcom/sf/sdk/data/SFSensitiveWords;)V"}
    1:2:void run():1441:1442 -> run
com.sf.sdk.service.SDKManager$25$2 -> com.sf.sdk.service.c$r$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$25 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$r;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$25,int,java.lang.String):1450:1450 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$r;ILjava/lang/String;)V"}
    1:2:void run():1453:1454 -> run
com.sf.sdk.service.SDKManager$26 -> com.sf.sdk.service.c$s:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1465:1465 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:2:void onSuccess(java.lang.Void):1468:1469 -> a
    1:2:void onFailed(int,java.lang.String):1481:1482 -> onFailed
    1:1:void onSuccess(java.lang.Object):1465:1465 -> onSuccess
com.sf.sdk.service.SDKManager$26$1 -> com.sf.sdk.service.c$s$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    java.lang.Void val$data -> a
    com.sf.sdk.service.SDKManager$26 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$s;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$26,java.lang.Void):1469:1469 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$s;Ljava/lang/Void;)V"}
    1:2:void run():1472:1473 -> run
com.sf.sdk.service.SDKManager$26$2 -> com.sf.sdk.service.c$s$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$26 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$s;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$26,int,java.lang.String):1482:1482 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$s;ILjava/lang/String;)V"}
    1:2:void run():1485:1486 -> run
com.sf.sdk.service.SDKManager$27 -> com.sf.sdk.service.c$t:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1496:1496 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:1:void onSuccess(java.lang.Long):1499:1499 -> a
    1:1:void onFailed(int,java.lang.String):1511:1511 -> onFailed
    1:1:void onSuccess(java.lang.Object):1496:1496 -> onSuccess
com.sf.sdk.service.SDKManager$27$1 -> com.sf.sdk.service.c$t$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    java.lang.Long val$data -> a
    com.sf.sdk.service.SDKManager$27 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$t;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$27,java.lang.Long):1499:1499 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$t;Ljava/lang/Long;)V"}
    1:2:void run():1502:1503 -> run
com.sf.sdk.service.SDKManager$27$2 -> com.sf.sdk.service.c$t$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$27 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$t;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$27,int,java.lang.String):1511:1511 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$t;ILjava/lang/String;)V"}
    1:2:void run():1514:1515 -> run
com.sf.sdk.service.SDKManager$28 -> com.sf.sdk.service.c$u:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1555:1555 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFConversionData):1558:1558 -> a
    1:1:void onFailed(int,java.lang.String):1577:1577 -> onFailed
    1:1:void onSuccess(java.lang.Object):1555:1555 -> onSuccess
com.sf.sdk.service.SDKManager$28$1 -> com.sf.sdk.service.c$u$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFConversionData val$data -> a
    com.sf.sdk.service.SDKManager$28 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$u;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$28,com.sf.sdk.data.SFConversionData):1558:1558 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$u;Lcom/sf/sdk/data/SFConversionData;)V"}
    1:9:void run():1561:1569 -> run
com.sf.sdk.service.SDKManager$28$2 -> com.sf.sdk.service.c$u$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$28 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$u;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$28,int,java.lang.String):1577:1577 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$u;ILjava/lang/String;)V"}
    1:2:void run():1580:1581 -> run
com.sf.sdk.service.SDKManager$29 -> com.sf.sdk.service.c$v:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):1603:1603 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFFeedbackReply):1606:1606 -> a
    1:1:void onFailed(int,java.lang.String):1618:1618 -> onFailed
    1:1:void onSuccess(java.lang.Object):1603:1603 -> onSuccess
com.sf.sdk.service.SDKManager$29$1 -> com.sf.sdk.service.c$v$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFFeedbackReply val$data -> a
    com.sf.sdk.service.SDKManager$29 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$v;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$29,com.sf.sdk.data.SFFeedbackReply):1606:1606 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$v;Lcom/sf/sdk/data/SFFeedbackReply;)V"}
    1:2:void run():1609:1610 -> run
com.sf.sdk.service.SDKManager$29$2 -> com.sf.sdk.service.c$v$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$29 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$v;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$29,int,java.lang.String):1618:1618 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$v;ILjava/lang/String;)V"}
    1:2:void run():1621:1622 -> run
com.sf.sdk.service.SDKManager$3 -> com.sf.sdk.service.c$w:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity):353:353 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;)V"}
    1:13:void run():356:368 -> run
com.sf.sdk.service.SDKManager$3$1 -> com.sf.sdk.service.c$w$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$3 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$w;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$3):368:368 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$w;)V"}
    1:1:void accept(java.lang.Object):368:368 -> accept
    2:3:void accept(com.sf.sdk.data.internal.SFDomainConfig):371:372 -> accept
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/d;)V"}
com.sf.sdk.service.SDKManager$30 -> com.sf.sdk.service.c$x:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFConsumer val$consumer -> a
    com.sf.sdk.data.SFAppUpdateInfo val$appUpdateInfo -> b
    com.sf.sdk.service.SDKManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFConsumer,com.sf.sdk.data.SFAppUpdateInfo):1648:1648 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFConsumer;Lcom/sf/sdk/data/SFAppUpdateInfo;)V"}
    1:1:void onUpdateStarted():0:0 -> a
    2:5:void onUpdateFailure(int,java.lang.String):1656:1659 -> a
    6:6:void onUpdateDownloaded(com.sf.sdk.SFConsumer):1664:1664 -> a
    7:18:void onUpdateFlowAccepted(boolean):1674:1685 -> a
    1:2:void lambda$onUpdateDownloaded$0(com.sf.sdk.SFConsumer):1665:1666 -> b
    3:3:void onUpdateFlowFinished():1691:1691 -> b
com.sf.sdk.service.SDKManager$31 -> com.sf.sdk.service.c$y:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):1739:1739 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:1:void onSuccess(java.lang.Object):1739:1739 -> onSuccess
    2:3:void onSuccess(com.sf.sdk.data.SFConversionData):1742:1743 -> onSuccess
com.sf.sdk.service.SDKManager$32 -> com.sf.sdk.service.c$z:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog val$loadingDialog -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    android.app.Activity val$activity -> b
    com.sf.sdk.service.SDKManager this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.ui.widget.dialog.LoadingDialog,android.app.Activity):1935:1935 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/u0/d;Landroid/app/Activity;)V"}
    1:1:void onSuccess(com.sf.sdk.data.internal.SFCancelState):1938:1938 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/b;)V"}
    1:1:void onFailed(int,java.lang.String):1949:1949 -> onFailed
    1:1:void onSuccess(java.lang.Object):1935:1935 -> onSuccess
com.sf.sdk.service.SDKManager$32$1 -> com.sf.sdk.service.c$z$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$32 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$z;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$32):1938:1938 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$z;)V"}
    1:2:void run():1941:1942 -> run
com.sf.sdk.service.SDKManager$32$2 -> com.sf.sdk.service.c$z$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    com.sf.sdk.service.SDKManager$32 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$z;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$32,int):1949:1949 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$z;I)V"}
    1:11:void run():1952:1962 -> run
    12:12:void run():1959:1959 -> run
    13:24:void run():1956:1967 -> run
com.sf.sdk.service.SDKManager$33 -> com.sf.sdk.service.c$a0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):1986:1986 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:1:void run():1989:1989 -> run
com.sf.sdk.service.SDKManager$34 -> com.sf.sdk.service.c$b0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):2016:2016 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:12:void run():2019:2030 -> run
com.sf.sdk.service.SDKManager$35 -> com.sf.sdk.service.c$c0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):2155:2155 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:3:void onConfirm():2158:2160 -> a
com.sf.sdk.service.SDKManager$36 -> com.sf.sdk.service.c$d0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    androidx.core.util.Consumer val$consumer -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,androidx.core.util.Consumer):2301:2301 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroidx/core/util/Consumer;)V"}
    1:2:void onFailed(int,java.lang.String):2311:2312 -> onFailed
    1:1:void onSuccess(java.lang.Object):2301:2301 -> onSuccess
    2:3:void onSuccess(java.util.List):2304:2305 -> onSuccess
com.sf.sdk.service.SDKManager$37 -> com.sf.sdk.service.c$e0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.SFRequestResultListener val$listener -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.SFRequestResultListener):2335:2335 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/SFRequestResultListener;)V"}
    1:3:void onSuccess(java.util.List):2338:2340 -> a
    1:2:void onFailed(int,java.lang.String):2351:2352 -> onFailed
    1:1:void onSuccess(java.lang.Object):2335:2335 -> onSuccess
com.sf.sdk.service.SDKManager$37$1 -> com.sf.sdk.service.c$e0$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    java.util.List val$accounts -> a
    com.sf.sdk.service.SDKManager$37 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$e0;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$37,java.util.List):2340:2340 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$e0;Ljava/util/List;)V"}
    1:1:void run():2343:2343 -> run
com.sf.sdk.service.SDKManager$37$2 -> com.sf.sdk.service.c$e0$b:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$37 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$e0;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$37,int,java.lang.String):2352:2352 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$e0;ILjava/lang/String;)V"}
    1:1:void run():2355:2355 -> run
com.sf.sdk.service.SDKManager$38 -> com.sf.sdk.service.c$f0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):2406:2406 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:1:void run():2409:2409 -> run
com.sf.sdk.service.SDKManager$39 -> com.sf.sdk.service.c$g0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):2417:2417 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:1:void run():2420:2420 -> run
com.sf.sdk.service.SDKManager$4 -> com.sf.sdk.service.c$k0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):386:386 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:1:void onConfirm():389:389 -> a
com.sf.sdk.service.SDKManager$40 -> com.sf.sdk.service.c$h0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):2446:2446 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:1:void run():2449:2449 -> run
com.sf.sdk.service.SDKManager$41 -> com.sf.sdk.service.c$i0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.data.SFFirebaseMessage val$message -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,com.sf.sdk.data.SFFirebaseMessage):2457:2457 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Lcom/sf/sdk/data/SFFirebaseMessage;)V"}
    1:1:void run():2460:2460 -> run
com.sf.sdk.service.SDKManager$42 -> com.sf.sdk.service.c$j0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager):2485:2485 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;)V"}
    1:2:void onSuccess(java.util.List):2488:2489 -> a
    1:1:void onSuccess(java.lang.Object):2485:2485 -> onSuccess
com.sf.sdk.service.SDKManager$5 -> com.sf.sdk.service.c$l0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity):443:443 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;)V"}
    1:4:void onFailed(int,java.lang.String):456:459 -> onFailed
    1:5:void onSuccess(java.lang.Object):446:450 -> onSuccess
com.sf.sdk.service.SDKManager$5$1 -> com.sf.sdk.service.c$l0$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.service.SDKManager$5 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$l0;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$5,int,java.lang.String):459:459 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$l0;ILjava/lang/String;)V"}
    1:5:void run():462:466 -> run
com.sf.sdk.service.SDKManager$6 -> com.sf.sdk.service.c$m0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    java.lang.Exception val$e -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,java.lang.Exception):478:478 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Ljava/lang/Exception;)V"}
    1:2:void run():481:482 -> run
com.sf.sdk.service.SDKManager$7 -> com.sf.sdk.service.c$n0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity):493:493 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;)V"}
    1:6:void onSuccess(com.sf.sdk.config.SFConfig):496:501 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t/a;)V"}
    1:1:void onFailed(int,java.lang.String):515:515 -> onFailed
    1:1:void onSuccess(java.lang.Object):493:493 -> onSuccess
com.sf.sdk.service.SDKManager$7$1 -> com.sf.sdk.service.c$n0$a:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager$7 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c$n0;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager$7):501:501 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c$n0;)V"}
    1:4:void run():504:507 -> run
com.sf.sdk.service.SDKManager$8 -> com.sf.sdk.service.c$o0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.service.SDKManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,android.app.Activity):523:523 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Landroid/app/Activity;)V"}
    1:12:void run():526:537 -> run
com.sf.sdk.service.SDKManager$9 -> com.sf.sdk.service.c$p0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <init>(com.sf.sdk.service.SDKManager,java.lang.String,com.sf.sdk.common.task.TaskScheduler$Mode,com.sf.sdk.common.task.TaskScheduler$Thread,long):565:565 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/c;Ljava/lang/String;Lcom/sf/sdk/r/d$a;Lcom/sf/sdk/r/d$d;J)V"}
    1:1:void task():568:568 -> d
com.sf.sdk.service.SDKManager$Singleton -> com.sf.sdk.service.c$q0:
# {"id":"sourceFile","fileName":"SDKManager.java"}
    com.sf.sdk.service.SDKManager instance -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/c;"}
    1:1:void <clinit>():244:244 -> <clinit>
com.sf.sdk.service.SDKUtils -> com.sf.sdk.service.d:
# {"id":"sourceFile","fileName":"SDKUtils.java"}
    1:1:void <init>():44:44 -> <init>
    1:22:void checkProtocol(android.app.Activity):47:68 -> a
    23:30:void checkUpdate(android.content.Context):80:87 -> a
    31:42:void showVisitorTips(android.app.Activity,java.lang.Runnable):110:121 -> a
    43:54:void trackGameRoleData(com.sf.sdk.data.SFRoleData):125:136 -> a
    55:55:void trackGameRoleData(com.sf.sdk.data.SFRoleData):133:133 -> a
    56:56:void trackGameRoleData(com.sf.sdk.data.SFRoleData):130:130 -> a
    57:57:void trackGameRoleData(com.sf.sdk.data.SFRoleData):127:127 -> a
    58:76:java.lang.String getGameServerDomainWhenOtherError(java.lang.String):162:180 -> a
    77:110:com.sf.sdk.data.internal.SFDomainConfig getCacheDomains():212:245 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/u/d;"}
    111:116:void saveCacheDomains(com.sf.sdk.data.internal.SFDomainConfig):252:257 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/d;)V"}
    117:122:void saveCacheInitConfig(com.sf.sdk.config.SFConfig):282:287 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t/a;)V"}
    1:19:java.lang.String getGameStaticDomainWhenError(java.lang.String):186:204 -> b
    20:31:com.sf.sdk.config.SFConfig getCacheInitConfig():264:275 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/t/a;"}
    1:6:java.util.List getGameServerIpWhenSSLError():144:149 -> c
    7:9:java.lang.String getHost(java.lang.String):294:296 -> c
    1:6:java.util.List getGameServerIpWhenUnknownHost():153:158 -> d
    7:10:java.lang.String getTokenSuffix(java.lang.String):302:305 -> d
    11:11:java.lang.String getTokenSuffix(java.lang.String):303:303 -> d
    1:1:void trackNetworkError():92:92 -> e
com.sf.sdk.service.SDKUtils$1 -> com.sf.sdk.service.d$a:
# {"id":"sourceFile","fileName":"SDKUtils.java"}
    1:1:void <init>():68:68 -> <init>
    1:1:void onAgreed():71:71 -> a
com.sf.sdk.service.SDKUtils$2 -> com.sf.sdk.service.d$b:
# {"id":"sourceFile","fileName":"SDKUtils.java"}
    1:1:void <init>():92:92 -> <init>
    1:5:void run():95:99 -> run
com.sf.sdk.service.SDKUtils$2$1 -> com.sf.sdk.service.d$b$a:
# {"id":"sourceFile","fileName":"SDKUtils.java"}
    java.lang.String val$pingId -> a
    com.sf.sdk.service.SDKUtils$2 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/service/d$b;"}
    1:1:void <init>(com.sf.sdk.service.SDKUtils$2,java.lang.String):99:99 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/service/d$b;Ljava/lang/String;)V"}
    1:1:void run():102:102 -> run
com.sf.sdk.service.SDKUtils$3 -> com.sf.sdk.service.d$c:
# {"id":"sourceFile","fileName":"SDKUtils.java"}
    java.lang.Runnable val$runnable -> a
    1:1:void <init>(java.lang.Runnable):111:111 -> <init>
    1:1:void onConfirm():114:114 -> a
com.sf.sdk.service.SFAppsFlyerServiceImpl -> com.sf.sdk.q0.e:
# {"id":"sourceFile","fileName":"SFAppsFlyerServiceImpl.java"}
    java.lang.String appsFlyerUID -> a
    java.lang.String attributionId -> b
    java.lang.String outOfStore -> c
    1:1:void <init>():12:12 -> <init>
    1:8:java.lang.String getAppsFlyerUID(android.content.Context):31:38 -> getAppsFlyerUID
    1:8:java.lang.String getAttributionId(android.content.Context):44:51 -> getAttributionId
    1:8:java.lang.String getOutOfStore(android.content.Context):57:64 -> getOutOfStore
    1:5:java.lang.String getSdkVersion():21:25 -> getSdkVersion
com.sf.sdk.service.SFFirebaseMessagingService -> com.sf.sdk.service.SFFirebaseMessagingService:
# {"id":"sourceFile","fileName":"SFFirebaseMessagingService.java"}
    1:1:void <init>():17:17 -> <init>
    1:2:boolean isValidMessage(com.google.firebase.messaging.RemoteMessage):48:49 -> isValidMessage
    1:6:void onMessageReceived(com.google.firebase.messaging.RemoteMessage):28:33 -> onMessageReceived
    1:2:void onMessageSent(java.lang.String):40:41 -> onMessageSent
    1:3:void onNewToken(java.lang.String):21:23 -> onNewToken
com.sf.sdk.service.SFFirebaseServiceImpl -> com.sf.sdk.q0.f:
# {"id":"sourceFile","fileName":"SFFirebaseServiceImpl.java"}
    android.content.Context context -> a
    com.google.firebase.analytics.FirebaseAnalytics firebaseAnalytics -> b
    com.google.firebase.crashlytics.FirebaseCrashlytics firebaseCrashlytics -> c
    1:3:void <init>(android.content.Context):31:33 -> <init>
    1:2:void lambda$new$0(android.content.Context):34:35 -> a
    3:3:void lambda$getAppInstanceId$2(com.sf.sdk.SFRequestResultListener):49:49 -> a
    4:8:void lambda$setDefaultEventParameters$3(android.os.Bundle):57:61 -> a
    9:13:void lambda$setAnalyticsCollectionEnabled$5(boolean):83:87 -> a
    14:18:void lambda$setSessionTimeoutDuration$6(long):96:100 -> a
    19:23:void lambda$resetAnalyticsData$7():109:113 -> a
    24:28:void lambda$recordExceptionToCrashlytics$8(java.lang.Throwable):122:126 -> a
    29:33:void lambda$setCrashlyticsCustomKey$9(java.lang.String,java.lang.String):135:139 -> a
    34:34:void lambda$getInstallationToken$12(boolean,com.sf.sdk.SFRequestResultListener):232:232 -> a
    1:1:void addRemoteConfigListener(com.sf.sdk.SFFirebaseRemoteConfigListener):184:184 -> addRemoteConfigListener
    1:5:void lambda$setUserProperty$4(java.lang.String,java.lang.String):70:74 -> b
    6:10:void lambda$setCrashlyticsCollectionEnabled$10(boolean):168:172 -> b
    11:11:void lambda$getInstallationId$11(com.sf.sdk.SFRequestResultListener):225:225 -> b
    1:1:void lambda$getSessionId$1(com.sf.sdk.SFRequestResultListener):42:42 -> c
    1:3:boolean didCrashOnPreviousExecution():147:149 -> didCrashOnPreviousExecution
    1:1:java.util.Map getAllRemoteConfigs():219:219 -> getAllRemoteConfigs
    1:1:void getAppInstanceId(com.sf.sdk.SFRequestResultListener):48:48 -> getAppInstanceId
    1:1:boolean getBooleanRemoteConfig(java.lang.String):209:209 -> getBooleanRemoteConfig
    1:1:double getDoubleRemoteConfig(java.lang.String):204:204 -> getDoubleRemoteConfig
    1:1:float getFloatRemoteConfig(java.lang.String):199:199 -> getFloatRemoteConfig
    1:1:void getInstallationId(com.sf.sdk.SFRequestResultListener):224:224 -> getInstallationId
    1:1:void getInstallationToken(boolean,com.sf.sdk.SFRequestResultListener):231:231 -> getInstallationToken
    1:1:int getIntRemoteConfig(java.lang.String):189:189 -> getIntRemoteConfig
    1:1:long getLongRemoteConfig(java.lang.String):194:194 -> getLongRemoteConfig
    1:1:void getSessionId(com.sf.sdk.SFRequestResultListener):41:41 -> getSessionId
    1:1:java.lang.String getStringRemoteConfig(java.lang.String):214:214 -> getStringRemoteConfig
    1:3:boolean isCrashlyticsCollectionEnabled():157:159 -> isCrashlyticsCollectionEnabled
    1:1:boolean isRemoteConfigLoaded():179:179 -> isRemoteConfigLoaded
    1:1:void recordExceptionToCrashlytics(java.lang.Throwable):120:120 -> recordExceptionToCrashlytics
    1:1:void resetAnalyticsData():107:107 -> resetAnalyticsData
    1:1:void setAnalyticsCollectionEnabled(boolean):81:81 -> setAnalyticsCollectionEnabled
    1:1:void setCrashlyticsCollectionEnabled(boolean):166:166 -> setCrashlyticsCollectionEnabled
    1:1:void setCrashlyticsCustomKey(java.lang.String,java.lang.String):133:133 -> setCrashlyticsCustomKey
    1:1:void setDefaultEventParameters(android.os.Bundle):55:55 -> setDefaultEventParameters
    1:1:void setSessionTimeoutDuration(long):94:94 -> setSessionTimeoutDuration
    1:1:void setUserProperty(java.lang.String,java.lang.String):68:68 -> setUserProperty
com.sf.sdk.service.SFSofishServiceImpl -> com.sf.sdk.q0.g:
# {"id":"sourceFile","fileName":"SFSofishServiceImpl.java"}
    1:1:void <init>():12:12 -> <init>
    1:3:void clearSuperProperties():49:51 -> clearSuperProperties
    1:5:java.lang.String getDistinctId():68:72 -> getDistinctId
    1:5:org.json.JSONObject getSuperProperties():58:62 -> getSuperProperties
    1:8:void setDynamicSuperProperties(com.sf.sdk.SFSofishService$SFDynamicSuperPropertiesHandler):26:33 -> setDynamicSuperProperties
    1:3:void setSuperProperties(org.json.JSONObject):17:19 -> setSuperProperties
    1:3:void unsetSuperProperty(java.lang.String):40:42 -> unsetSuperProperty
com.sf.sdk.service.SFSofishServiceImpl$1 -> com.sf.sdk.q0.g$a:
# {"id":"sourceFile","fileName":"SFSofishServiceImpl.java"}
    com.sf.sdk.SFSofishService$SFDynamicSuperPropertiesHandler val$handler -> a
    com.sf.sdk.service.SFSofishServiceImpl this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/g;"}
    1:1:void <init>(com.sf.sdk.service.SFSofishServiceImpl,com.sf.sdk.SFSofishService$SFDynamicSuperPropertiesHandler):26:26 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/g;Lcom/sf/sdk/SFSofishService$SFDynamicSuperPropertiesHandler;)V"}
    1:1:org.json.JSONObject getDynamicSuperProperties():29:29 -> getDynamicSuperProperties
com.sf.sdk.service.SFTDServiceImpl -> com.sf.sdk.q0.h:
# {"id":"sourceFile","fileName":"SFTDServiceImpl.java"}
    1:1:void <init>():14:14 -> <init>
    1:3:void clearSuperProperties():114:116 -> clearSuperProperties
    1:5:java.lang.String getDistinctId():133:137 -> getDistinctId
    1:5:org.json.JSONObject getSuperProperties():123:127 -> getSuperProperties
    1:8:void setDynamicSuperProperties(com.sf.sdk.SFTDService$SFDynamicSuperPropertiesHandler):91:98 -> setDynamicSuperProperties
    1:3:void setJsBridge(android.webkit.WebView):143:145 -> setJsBridge
    1:3:void setSuperProperties(org.json.JSONObject):82:84 -> setSuperProperties
    1:3:void unsetSuperProperty(java.lang.String):105:107 -> unsetSuperProperty
    1:3:void userAdd(org.json.JSONObject):46:48 -> userAdd
    1:3:void userAppend(org.json.JSONObject):55:57 -> userAppend
    1:3:void userDelete():73:75 -> userDelete
    1:3:void userSet(org.json.JSONObject):19:21 -> userSet
    1:3:void userSetOnce(org.json.JSONObject):28:30 -> userSetOnce
    1:3:void userUniqAppend(org.json.JSONObject):64:66 -> userUniqAppend
    1:3:void userUnset(java.lang.String[]):37:39 -> userUnset
com.sf.sdk.service.SFTDServiceImpl$1 -> com.sf.sdk.q0.h$a:
# {"id":"sourceFile","fileName":"SFTDServiceImpl.java"}
    com.sf.sdk.SFTDService$SFDynamicSuperPropertiesHandler val$handler -> a
    com.sf.sdk.service.SFTDServiceImpl this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/h;"}
    1:1:void <init>(com.sf.sdk.service.SFTDServiceImpl,com.sf.sdk.SFTDService$SFDynamicSuperPropertiesHandler):91:91 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/h;Lcom/sf/sdk/SFTDService$SFDynamicSuperPropertiesHandler;)V"}
    1:1:org.json.JSONObject getDynamicSuperProperties():94:94 -> getDynamicSuperProperties
com.sf.sdk.service.SFUIServiceImpl -> com.sf.sdk.q0.i:
# {"id":"sourceFile","fileName":"SFUIServiceImpl.java"}
    android.view.View splashScreen -> a
    1:1:void <init>():26:26 -> <init>
    1:6:android.view.View createSplashScreen(android.app.Activity,android.graphics.drawable.Drawable,int):89:94 -> a
    7:29:void hideSplashScreenWithFade(long):99:121 -> a
    30:45:void removeSplashScreen(android.view.View):129:144 -> a
    46:46:android.view.ViewGroup$LayoutParams generateLayoutParams():149:149 -> a
    1:1:void lambda$hideSplashScreen$0():85:85 -> b
    1:3:void enableEdgeToEdge(android.app.Activity):33:35 -> enableEdgeToEdge
    1:1:void hideSplashScreen():85:85 -> hideSplashScreen
    1:1:android.view.View showSplashScreen(android.app.Activity,android.graphics.drawable.Drawable,int):67:67 -> showSplashScreen
    2:10:android.view.View showSplashScreen(android.app.Activity,android.graphics.drawable.Drawable,int,long):72:80 -> showSplashScreen
    1:1:android.view.View showSplashScreenForSofish(android.app.Activity,boolean):54:54 -> showSplashScreenForSofish
    2:4:android.view.View showSplashScreenForSofish(android.app.Activity,boolean,long):60:62 -> showSplashScreenForSofish
    1:1:android.view.View showSplashScreenForSohi(android.app.Activity,boolean):41:41 -> showSplashScreenForSohi
    2:4:android.view.View showSplashScreenForSohi(android.app.Activity,boolean,long):47:49 -> showSplashScreenForSohi
com.sf.sdk.service.SFUIServiceImpl$1 -> com.sf.sdk.q0.i$a:
# {"id":"sourceFile","fileName":"SFUIServiceImpl.java"}
    android.view.View val$target -> a
    com.sf.sdk.service.SFUIServiceImpl this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/i;"}
    1:1:void <init>(com.sf.sdk.service.SFUIServiceImpl,android.view.View):108:108 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/i;Landroid/view/View;)V"}
    1:2:void onAnimationCancel(android.animation.Animator):117:118 -> onAnimationCancel
    1:2:void onAnimationEnd(android.animation.Animator):111:112 -> onAnimationEnd
com.sf.sdk.service.ShareService -> com.sf.sdk.q0.j:
# {"id":"sourceFile","fileName":"ShareService.java"}
    com.sf.sdk.SFRequestListener shareListener -> a
    com.sf.sdk.ui.base.IActivityListener activityListener -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/f;"}
    1:5:void <init>():21:25 -> <init>
    1:49:boolean shareNative(android.app.Activity,com.sf.sdk.data.SFShareContent,com.sf.sdk.SFRequestListener):39:87 -> a
    50:73:boolean shareNative(android.app.Activity,com.sf.sdk.data.SFShareContent,com.sf.sdk.SFRequestListener):68:91 -> a
com.sf.sdk.service.ShareService$1 -> com.sf.sdk.q0.j$a:
# {"id":"sourceFile","fileName":"ShareService.java"}
    com.sf.sdk.service.ShareService this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/q0/j;"}
    1:1:void <init>(com.sf.sdk.service.ShareService):25:25 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/q0/j;)V"}
    1:4:void onActivityResult(int,int,android.content.Intent):28:31 -> onActivityResult
com.sf.sdk.ui.EdgeToEdge -> com.sf.sdk.r0.a:
# {"id":"sourceFile","fileName":"EdgeToEdge.java"}
    1:1:void <init>():25:25 -> <init>
    1:37:void enableEdgeToEdge(android.app.Activity):28:64 -> a
    38:60:void setAppearanceLightNavigationBars(android.view.Window,boolean):152:174 -> a
    61:61:boolean isDarkMode(android.content.res.Resources):179:179 -> a
    1:23:void setAppearanceLightStatusBars(android.view.Window,boolean):119:141 -> b
com.sf.sdk.ui.EdgeToEdge$Function -> com.sf.sdk.r0.a$a:
# {"id":"sourceFile","fileName":"EdgeToEdge.java"}
    java.lang.Object apply(java.lang.Object) -> apply
com.sf.sdk.ui.EdgeToEdge$SystemBarStyle -> com.sf.sdk.r0.a$b:
# {"id":"sourceFile","fileName":"EdgeToEdge.java"}
    int lightScrim -> a
    int darkScrim -> b
    int nightMode -> c
    com.sf.sdk.ui.EdgeToEdge$Function detectDarkMode -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/r0/a$a;"}
    int DEFAULT_LIGHT_SCRIM -> e
    int DEFAULT_DARK_SCRIM -> f
    1:2:void <clinit>():184:185 -> <clinit>
    1:5:void <init>(int,int,int,com.sf.sdk.ui.EdgeToEdge$Function):219:223 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(IIILcom/sf/sdk/r0/a$a;)V"}
    1:1:com.sf.sdk.ui.EdgeToEdge$SystemBarStyle auto(int,int):193:193 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(II)Lcom/sf/sdk/r0/a$b;"}
    2:2:boolean detectDarkMode(android.content.res.Resources):227:227 -> a
    3:6:int getScrimWithEnforcedContrast(boolean):235:238 -> a
    1:1:java.lang.Boolean lambda$auto$0(android.content.res.Resources):197:197 -> b
com.sf.sdk.ui.base.ActivityListeners -> com.sf.sdk.s0.a:
# {"id":"sourceFile","fileName":"ActivityListeners.java"}
    java.util.List listeners -> a
    1:2:void <init>():15:16 -> <init>
    1:2:void addListener(com.sf.sdk.ui.base.IActivityListener):20:21 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/f;)V"}
    3:4:void onActivityResult(int,int,android.content.Intent):32:33 -> a
    5:8:void onDestroy():50:53 -> a
    1:2:void removeListener(com.sf.sdk.ui.base.IActivityListener):26:27 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/s0/f;)V"}
    3:4:void onPause():38:39 -> b
    1:2:void onResume():44:45 -> c
com.sf.sdk.ui.base.AndroidDispatchFragment -> com.sf.sdk.s0.b:
# {"id":"sourceFile","fileName":"AndroidDispatchFragment.java"}
    com.sf.sdk.ui.base.ActivityListeners listeners -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/a;"}
    1:1:void <init>():10:10 -> <init>
    1:4:com.sf.sdk.ui.base.ActivityListeners getListeners():46:49 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/s0/a;"}
    5:13:com.sf.sdk.ui.base.AndroidDispatchFragment injectToActivity(android.app.Activity):56:64 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;)Lcom/sf/sdk/s0/b;"}
    1:3:void onActivityResult(int,int,android.content.Intent):36:38 -> onActivityResult
    1:3:void onDestroy():29:31 -> onDestroy
    1:3:void onPause():15:17 -> onPause
    1:3:void onResume():22:24 -> onResume
com.sf.sdk.ui.base.AndroidXDispatchFragment -> com.sf.sdk.s0.c:
# {"id":"sourceFile","fileName":"AndroidXDispatchFragment.java"}
    com.sf.sdk.ui.base.ActivityListeners listeners -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/a;"}
    1:1:void <init>():13:13 -> <init>
    1:4:com.sf.sdk.ui.base.ActivityListeners getListeners():49:52 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/s0/a;"}
    5:13:com.sf.sdk.ui.base.AndroidXDispatchFragment injectToActivity(androidx.fragment.app.FragmentActivity):59:67 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroidx/fragment/app/FragmentActivity;)Lcom/sf/sdk/s0/c;"}
    1:3:void onActivityResult(int,int,android.content.Intent):39:41 -> onActivityResult
    1:3:void onDestroy():32:34 -> onDestroy
    1:3:void onPause():18:20 -> onPause
    1:3:void onResume():25:27 -> onResume
com.sf.sdk.ui.base.EmptyActivityListener -> com.sf.sdk.s0.d:
# {"id":"sourceFile","fileName":"EmptyActivityListener.java"}
    1:1:void <init>():10:10 -> <init>
    1:1:void onResume():25:25 -> a
    1:1:void onPause():20:20 -> b
    1:1:void onDestroy():35:35 -> c
    1:1:void onActivityResult(int,int,android.content.Intent):65:65 -> onActivityResult
com.sf.sdk.ui.base.FragmentHolder -> com.sf.sdk.s0.e:
# {"id":"sourceFile","fileName":"FragmentHolder.java"}
    android.app.Fragment androidFragment -> a
    androidx.fragment.app.Fragment androidXFragment -> b
    com.sf.sdk.ui.base.ActivityListeners listeners -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/s0/a;"}
    1:2:void <init>(android.app.Fragment):21:22 -> <init>
    3:4:void <init>(androidx.fragment.app.Fragment):25:26 -> <init>
    1:4:android.app.Activity getActivity():30:33 -> a
    5:8:void startActivityForResult(android.content.Intent,int):47:50 -> a
    9:12:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int):56:59 -> a
    13:16:com.sf.sdk.ui.base.FragmentHolder create(android.app.Activity):85:88 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;)Lcom/sf/sdk/s0/e;"}
    1:1:android.app.Fragment getAndroidFragment():38:38 -> b
    1:1:androidx.fragment.app.Fragment getAndroidXFragment():42:42 -> c
    1:9:com.sf.sdk.ui.base.ActivityListeners getListeners():72:80 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcom/sf/sdk/s0/a;"}
    1:4:boolean isActive():64:67 -> e
com.sf.sdk.ui.base.IActivityListener -> com.sf.sdk.s0.f:
# {"id":"sourceFile","fileName":"IActivityListener.java"}
    void onResume() -> a
    void onPause() -> b
    void onDestroy() -> c
    void onActivityResult(int,int,android.content.Intent) -> onActivityResult
com.sf.sdk.ui.utils.Checker -> com.sf.sdk.t0.a:
# {"id":"sourceFile","fileName":"Checker.java"}
    java.util.regex.Pattern PATTERN_EMAIL -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:4:boolean checkEmailValid(android.content.Context,android.widget.TextView,java.lang.String):37:40 -> a
    1:3:boolean checkEmpty(android.content.Context,android.widget.TextView,java.lang.String):28:30 -> b
com.sf.sdk.ui.utils.LoadingHelper -> com.sf.sdk.t0.b:
# {"id":"sourceFile","fileName":"LoadingHelper.java"}
    1:1:void <init>():11:11 -> <init>
    1:9:com.sf.sdk.ui.widget.dialog.LoadingDialog showLoading(android.content.Context,boolean):14:22 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Z)Lcom/sf/sdk/u0/d;"}
    10:14:void hideLoading(com.sf.sdk.ui.widget.dialog.LoadingDialog):29:33 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/d;)V"}
com.sf.sdk.ui.utils.SFLoginHelper -> com.sf.sdk.t0.c:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    1:1:void <init>():39:39 -> <init>
    1:8:void login(android.app.Activity,boolean):42:49 -> a
    9:29:void refreshToken(android.app.Activity,com.sf.sdk.data.SFUser,boolean):71:91 -> a
    30:41:void visitorLogin(android.app.Activity,java.lang.String,boolean):140:151 -> a
    42:50:void loginByPlatform(android.app.Activity,com.sf.sdk.data.internal.SFLoginPlatform,boolean,boolean,com.sf.sdk.api.IApiListener):193:201 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;Lcom/sf/sdk/u/f;ZZLcom/sf/sdk/g/c;)V"}
    51:54:void socialLink(android.app.Activity,int,boolean,com.sf.sdk.api.IApiListener):244:247 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;IZLcom/sf/sdk/g/c;)V"}
    55:57:void linkToPlatform(android.app.Activity,com.sf.sdk.data.internal.SFLoginPlatform,com.sf.sdk.data.SFUser,boolean,com.sf.sdk.api.IApiListener):270:272 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;Lcom/sf/sdk/u/f;Lcom/sf/sdk/data/SFUser;ZLcom/sf/sdk/g/c;)V"}
    58:71:void uploadLoginRecords(java.util.List):308:321 -> a
    72:80:boolean isNewAccount(com.sf.sdk.data.SFUser):339:347 -> a
    81:81:boolean checkRetryLogin(int):368:368 -> a
    1:8:void playGamesLogin(android.app.Activity,boolean):158:165 -> b
    9:11:void socialLogin(android.app.Activity,int,boolean,com.sf.sdk.api.IApiListener):172:174 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;IZLcom/sf/sdk/g/c;)V"}
    12:20:boolean isUserValid(com.sf.sdk.data.SFUser):356:364 -> b
    1:9:void silentLogin(android.app.Activity,boolean):56:64 -> c
com.sf.sdk.ui.utils.SFLoginHelper$1 -> com.sf.sdk.t0.c$a:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.data.SFUser val$user -> a
    1:1:void <init>(com.sf.sdk.data.SFUser):75:75 -> <init>
    1:1:void run():78:78 -> run
com.sf.sdk.ui.utils.SFLoginHelper$2 -> com.sf.sdk.t0.c$b:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog val$loadingDialog -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    com.sf.sdk.data.SFUser val$user -> b
    android.app.Activity val$activity -> c
    boolean val$showLoading -> d
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.LoadingDialog,com.sf.sdk.data.SFUser,android.app.Activity,boolean):91:91 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/d;Lcom/sf/sdk/data/SFUser;Landroid/app/Activity;Z)V"}
    1:2:void onSuccess(com.sf.sdk.data.SFUser):94:95 -> a
    1:2:void onFailed(int,java.lang.String):107:108 -> onFailed
    1:1:void onSuccess(java.lang.Object):91:91 -> onSuccess
com.sf.sdk.ui.utils.SFLoginHelper$2$1 -> com.sf.sdk.t0.c$b$a:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.data.SFUser val$data -> a
    com.sf.sdk.ui.utils.SFLoginHelper$2 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$b;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$2,com.sf.sdk.data.SFUser):95:95 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$b;Lcom/sf/sdk/data/SFUser;)V"}
    1:3:void run():98:100 -> run
com.sf.sdk.ui.utils.SFLoginHelper$2$2 -> com.sf.sdk.t0.c$b$b:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.ui.utils.SFLoginHelper$2 this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$b;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$2,int,java.lang.String):108:108 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$b;ILjava/lang/String;)V"}
    1:18:void run():111:128 -> run
com.sf.sdk.ui.utils.SFLoginHelper$3 -> com.sf.sdk.t0.c$c:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    android.app.Activity val$activity -> a
    boolean val$showLoading -> b
    com.sf.sdk.api.IApiListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    int val$accountType -> d
    1:1:void <init>(android.app.Activity,boolean,com.sf.sdk.api.IApiListener,int):174:174 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;ZLcom/sf/sdk/g/c;I)V"}
    1:4:void onFailed(int,java.lang.String):183:186 -> onFailed
    1:1:void onSuccess(java.lang.Object):174:174 -> onSuccess
    2:3:void onSuccess(com.sf.sdk.data.internal.SFLoginPlatform):177:178 -> onSuccess
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;)V"}
com.sf.sdk.ui.utils.SFLoginHelper$4 -> com.sf.sdk.t0.c$d:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog val$loadingDialog -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    boolean val$isNewVisitor -> b
    com.sf.sdk.data.internal.SFLoginPlatform val$platform -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/f;"}
    com.sf.sdk.api.IApiListener val$listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    int val$accountType -> e
    android.app.Activity val$activity -> f
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.LoadingDialog,boolean,com.sf.sdk.data.internal.SFLoginPlatform,com.sf.sdk.api.IApiListener,int,android.app.Activity):201:201 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/d;ZLcom/sf/sdk/u/f;Lcom/sf/sdk/g/c;ILandroid/app/Activity;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFUser):204:204 -> a
    1:2:void onFailed(int,java.lang.String):221:222 -> onFailed
    1:1:void onSuccess(java.lang.Object):201:201 -> onSuccess
com.sf.sdk.ui.utils.SFLoginHelper$4$1 -> com.sf.sdk.t0.c$d$a:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.data.SFUser val$data -> a
    com.sf.sdk.ui.utils.SFLoginHelper$4 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$d;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$4,com.sf.sdk.data.SFUser):204:204 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$d;Lcom/sf/sdk/data/SFUser;)V"}
    1:7:void run():207:213 -> run
com.sf.sdk.ui.utils.SFLoginHelper$4$2 -> com.sf.sdk.t0.c$d$b:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.ui.utils.SFLoginHelper$4 this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$d;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$4,int,java.lang.String):222:222 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$d;ILjava/lang/String;)V"}
    1:8:void run():225:232 -> run
com.sf.sdk.ui.utils.SFLoginHelper$5 -> com.sf.sdk.t0.c$e:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    android.app.Activity val$activity -> a
    com.sf.sdk.data.SFUser val$user -> b
    boolean val$showLoading -> c
    com.sf.sdk.api.IApiListener val$listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    int val$accountType -> e
    1:1:void <init>(android.app.Activity,com.sf.sdk.data.SFUser,boolean,com.sf.sdk.api.IApiListener,int):247:247 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;Lcom/sf/sdk/data/SFUser;ZLcom/sf/sdk/g/c;I)V"}
    1:2:void onFailed(int,java.lang.String):255:256 -> onFailed
    1:1:void onSuccess(java.lang.Object):247:247 -> onSuccess
    2:2:void onSuccess(com.sf.sdk.data.internal.SFLoginPlatform):250:250 -> onSuccess
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/f;)V"}
com.sf.sdk.ui.utils.SFLoginHelper$5$1 -> com.sf.sdk.t0.c$e$a:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.ui.utils.SFLoginHelper$5 this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$e;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$5,int,java.lang.String):256:256 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$e;ILjava/lang/String;)V"}
    1:3:void run():259:261 -> run
com.sf.sdk.ui.utils.SFLoginHelper$6 -> com.sf.sdk.t0.c$f:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.ui.widget.dialog.LoadingDialog val$loadingDialog -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    int val$accountType -> b
    com.sf.sdk.api.IApiListener val$listener -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/g/c;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.LoadingDialog,int,com.sf.sdk.api.IApiListener):272:272 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/d;ILcom/sf/sdk/g/c;)V"}
    1:1:void onSuccess(com.sf.sdk.data.SFUser):275:275 -> a
    1:2:void onFailed(int,java.lang.String):289:290 -> onFailed
    1:1:void onSuccess(java.lang.Object):272:272 -> onSuccess
com.sf.sdk.ui.utils.SFLoginHelper$6$1 -> com.sf.sdk.t0.c$f$a:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    com.sf.sdk.data.SFUser val$data -> a
    com.sf.sdk.ui.utils.SFLoginHelper$6 this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$f;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$6,com.sf.sdk.data.SFUser):275:275 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$f;Lcom/sf/sdk/data/SFUser;)V"}
    1:4:void run():278:281 -> run
com.sf.sdk.ui.utils.SFLoginHelper$6$2 -> com.sf.sdk.t0.c$f$b:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.ui.utils.SFLoginHelper$6 this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t0/c$f;"}
    1:1:void <init>(com.sf.sdk.ui.utils.SFLoginHelper$6,int,java.lang.String):290:290 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/t0/c$f;ILjava/lang/String;)V"}
    1:4:void run():293:296 -> run
com.sf.sdk.ui.utils.SFLoginHelper$7 -> com.sf.sdk.t0.c$g:
# {"id":"sourceFile","fileName":"SFLoginHelper.java"}
    java.util.List val$records -> a
    1:1:void <init>(java.util.List):321:321 -> <init>
    1:1:void onSuccess(java.lang.Void):324:324 -> a
    1:2:void onFailed(int,java.lang.String):329:330 -> onFailed
    1:1:void onSuccess(java.lang.Object):321:321 -> onSuccess
com.sf.sdk.ui.utils.UserStore -> com.sf.sdk.t0.d:
# {"id":"sourceFile","fileName":"UserStore.java"}
    1:10:boolean saveLoginUser(com.sf.sdk.data.SFUser):40:49 -> a
    11:14:void saveLoginRecord(java.lang.String):118:121 -> a
    15:25:void saveLoginRecords(java.util.List):128:138 -> a
    26:26:void deleteLoginRecords():145:145 -> a
    27:38:com.sf.sdk.data.SFUser jsonObject2User(org.json.JSONObject):194:205 -> a
    1:2:void deleteLoginUser():75:76 -> b
    3:9:void saveRegisterAccount(java.lang.String):163:169 -> b
    10:24:org.json.JSONObject user2JSONObject(com.sf.sdk.data.SFUser):174:188 -> b
    1:16:java.util.List getLoginRecords():92:107 -> c
    1:1:long getLoginTime():85:85 -> d
    1:11:com.sf.sdk.data.SFUser getLoginUser():59:69 -> e
    1:5:java.util.List getRegisterAccounts():152:156 -> f
    1:2:void saveLoginTime():80:81 -> g
com.sf.sdk.ui.utils.Utility -> com.sf.sdk.t0.e:
# {"id":"sourceFile","fileName":"Utility.java"}
    java.util.regex.Pattern PATTERN_IPV4 -> a
    java.lang.String appVersionName -> b
    java.lang.String sdkVersionName -> c
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>():58:58 -> <init>
    1:10:java.lang.String getAppVersion():66:75 -> a
    11:22:java.lang.String getCustomerService(java.lang.String,com.sf.sdk.data.SFUser):150:161 -> a
    23:31:java.lang.String getFacebookPageURL(android.content.Context,java.lang.String):165:173 -> a
    32:32:boolean isRoleDataTypeAvailable(java.lang.Integer):181:181 -> a
    33:99:android.os.Bundle toBundle(java.util.Map):245:311 -> a
    100:100:int getIdentifier(android.content.Context,java.lang.String,java.lang.String):356:356 -> a
    101:115:boolean isLowRamDevice(android.content.Context):408:422 -> a
    1:9:java.lang.String getSdkVersion():79:87 -> b
    10:21:boolean openWebKit(android.content.Context,java.lang.String):112:123 -> b
    22:33:void openInternetSettings(android.content.Context):134:145 -> b
    1:4:long getThreadId():432:435 -> c
com.sf.sdk.ui.utils.WindowUtils -> com.sf.sdk.t0.f:
# {"id":"sourceFile","fileName":"WindowUtils.java"}
    1:1:void <init>():9:9 -> <init>
    1:3:void fullScreenImmersive(android.view.Window):14:16 -> a
com.sf.sdk.ui.widget.LoadingView -> com.sf.sdk.ui.widget.LoadingView:
# {"id":"sourceFile","fileName":"LoadingView.java"}
    android.graphics.Paint circlePaint -> a
    android.graphics.RadialGradient radialGradient -> b
    int circleNum -> c
    android.graphics.Path[] circlePaths -> d
    double[] moveAngles -> e
    double[] halfAngle -> f
    float[] accTimes -> g
    float[] redTimes -> h
    1:1:void <init>(android.content.Context):30:30 -> <init>
    2:2:void <init>(android.content.Context,android.util.AttributeSet):34:34 -> <init>
    3:3:void <init>(android.content.Context,android.util.AttributeSet,int):38:38 -> <init>
    4:21:void <init>(android.content.Context,android.util.AttributeSet,int):22:39 -> <init>
    1:1:double getNextAngle(double,float,float):0:0 -> a
    2:25:void changeMoveAngles():82:105 -> a
    1:2:void initPaint():43:44 -> b
    1:5:void restartMove():115:119 -> c
    1:10:void onDraw(android.graphics.Canvas):66:75 -> onDraw
    1:12:void onLayout(boolean,int,int,int,int):49:60 -> onLayout
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog -> com.sf.sdk.u0.a:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    int cancelAccountStep -> a
    android.widget.TextView txtTitle -> b
    android.widget.TextView txtContent -> c
    android.widget.CheckBox checkBox -> d
    android.widget.TextView txtProtocol -> e
    android.widget.TextView tvCancel -> f
    android.widget.TextView tvConfirm -> g
    boolean isViewCreated -> h
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$ICancelAccountFlowCallback flowCallback -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a$f;"}
    1:1:void <init>(android.content.Context):45:45 -> <init>
    2:9:void <init>(android.content.Context):34:41 -> <init>
    1:1:void setFlowCallback(com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$ICancelAccountFlowCallback):58:58 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/a$f;)V"}
    2:51:void initViews(android.view.Window):65:114 -> a
    52:54:void dismiss(boolean):127:129 -> a
    55:105:void updateCancelAccountUI():134:184 -> a
    106:129:void updateCancelAccountUI():147:170 -> a
    130:148:void updateCancelAccountUI():157:175 -> a
    149:155:void updateCancelAccountUI():138:144 -> a
    1:5:void onCreate(android.os.Bundle):50:54 -> onCreate
    1:5:void show():119:123 -> show
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$1 -> com.sf.sdk.u0.a$a:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog):66:66 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/a;)V"}
    1:1:void onClick(android.view.View):69:69 -> onClick
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$2 -> com.sf.sdk.u0.a$b:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog):79:79 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/a;)V"}
    1:2:void onCheckedChanged(android.widget.CompoundButton,boolean):82:83 -> onCheckedChanged
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$3 -> com.sf.sdk.u0.a$c:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog):88:88 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/a;)V"}
    1:1:void onClick(android.view.View):91:91 -> onClick
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$4 -> com.sf.sdk.u0.a$d:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog):95:95 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/a;)V"}
    1:11:void onClick(android.view.View):98:108 -> onClick
    12:13:void onClick(android.view.View):104:105 -> onClick
    14:15:void onClick(android.view.View):100:101 -> onClick
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$5 -> com.sf.sdk.u0.a$e:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    android.content.Context val$context -> a
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog,android.content.Context):157:157 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/a;Landroid/content/Context;)V"}
    1:2:void onClick(android.view.View):166:167 -> onClick
    1:2:void updateDrawState(android.text.TextPaint):160:161 -> updateDrawState
com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog$ICancelAccountFlowCallback -> com.sf.sdk.u0.a$f:
# {"id":"sourceFile","fileName":"CancelAccountAgreementDialog.java"}
    void onCancelAccountProtocol() -> a
    void onGotoCancelAccount(boolean) -> a
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog -> com.sf.sdk.u0.b:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    android.content.Context context -> a
    android.widget.EditText edtEmail -> b
    android.widget.EditText edtVerifyCode -> c
    android.widget.TextView btnVerifySend -> d
    android.widget.CheckBox checkBox -> e
    android.widget.TextView tvProtocol -> f
    com.sf.sdk.ui.widget.dialog.LoadingDialog loadingDialog -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/d;"}
    com.sf.sdk.ui.widget.dialog.CancelAccountAgreementDialog cancelAccountAgreementDialog -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/a;"}
    android.os.CountDownTimer countDownTimer -> i
    1:1:void <init>(android.content.Context):76:76 -> <init>
    2:17:void <init>(android.content.Context):62:77 -> <init>
    1:1:java.lang.String getString(int):163:163 -> a
    2:3:void onCancelAccountProtocol():223:224 -> a
    4:4:void onGotoCancelAccount(boolean):232:232 -> a
    5:11:void onGotoEmailVerify(java.lang.String,java.lang.String):254:260 -> a
    12:36:void showCancelAccountSuccessDialog(com.sf.sdk.data.internal.SFCancelState):292:316 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/b;)V"}
    37:37:void show(android.content.Context):349:349 -> a
    1:2:void deleteSuccessfully():321:322 -> b
    1:3:void doSendEmailCode():190:192 -> c
    1:3:void finishCountDown():248:250 -> d
    1:6:void hideLoading():339:344 -> e
    1:12:void initViews():109:120 -> f
    1:5:void showCancelAccountAgreementDialog():240:244 -> g
    1:7:void showLoading():327:333 -> h
    1:2:void startCountdown():235:236 -> i
    1:17:void updateProtocol():167:183 -> j
    18:32:void updateProtocol():172:186 -> j
    1:34:void onClick(android.view.View):125:158 -> onClick
    1:17:void onCreate(android.os.Bundle):83:99 -> onCreate
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$1 -> com.sf.sdk.u0.b$a:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog,long,long):62:62 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b;JJ)V"}
    1:1:void onFinish():71:71 -> onFinish
    1:2:void onTick(long):65:66 -> onTick
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$2 -> com.sf.sdk.u0.b$b:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog):92:92 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b;)V"}
    1:1:void onDismiss(android.content.DialogInterface):95:95 -> onDismiss
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$3 -> com.sf.sdk.u0.b$c:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog):172:172 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b;)V"}
    1:1:void onClick(android.view.View):181:181 -> onClick
    1:2:void updateDrawState(android.text.TextPaint):175:176 -> updateDrawState
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4 -> com.sf.sdk.u0.b$d:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    java.lang.String val$email -> a
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog,java.lang.String):192:192 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b;Ljava/lang/String;)V"}
    1:2:void onFailed(int,java.lang.String):209:210 -> onFailed
    1:2:void onSuccess(java.lang.Object):195:196 -> onSuccess
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4$1 -> com.sf.sdk.u0.b$d$a:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4 this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b$d;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4):196:196 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b$d;)V"}
    1:4:void run():199:202 -> run
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4$2 -> com.sf.sdk.u0.b$d$b:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b$d;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$4,int,java.lang.String):210:210 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b$d;ILjava/lang/String;)V"}
    1:2:void run():213:214 -> run
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5 -> com.sf.sdk.u0.b$e:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog):260:260 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b;)V"}
    1:1:void onSuccess(com.sf.sdk.data.internal.SFCancelState):263:263 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u/b;)V"}
    1:1:void onFailed(int,java.lang.String):275:275 -> onFailed
    1:1:void onSuccess(java.lang.Object):260:260 -> onSuccess
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5$1 -> com.sf.sdk.u0.b$e$a:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.data.internal.SFCancelState val$data -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u/b;"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5 this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b$e;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5,com.sf.sdk.data.internal.SFCancelState):263:263 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b$e;Lcom/sf/sdk/u/b;)V"}
    1:3:void run():266:268 -> run
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5$2 -> com.sf.sdk.u0.b$e$b:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    int val$code -> a
    java.lang.String val$message -> b
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5 this$1 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b$e;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$5,int,java.lang.String):275:275 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b$e;ILjava/lang/String;)V"}
    1:3:void run():278:280 -> run
com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog$6 -> com.sf.sdk.u0.b$f:
# {"id":"sourceFile","fileName":"CancelAccountVerifyDialog.java"}
    com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/b;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.CancelAccountVerifyDialog):307:307 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/b;)V"}
    1:1:void onDismiss(android.content.DialogInterface):310:310 -> onDismiss
com.sf.sdk.ui.widget.dialog.ConfirmDialog -> com.sf.sdk.u0.c:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    java.lang.CharSequence title -> a
    java.lang.CharSequence content -> b
    java.lang.CharSequence cancelText -> c
    java.lang.CharSequence confirmText -> d
    boolean cancelable -> e
    boolean autoClose -> f
    com.sf.sdk.ui.widget.dialog.ConfirmDialog$IConfirmListener listener -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/c$f;"}
    1:1:void <init>(android.content.Context,java.lang.CharSequence):35:35 -> <init>
    2:4:void <init>(android.content.Context,java.lang.CharSequence,java.lang.CharSequence):39:41 -> <init>
    1:1:void setConfirmText(java.lang.CharSequence):143:143 -> a
    2:2:void setListener(com.sf.sdk.ui.widget.dialog.ConfirmDialog$IConfirmListener):147:147 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/c$f;)V"}
    3:8:void show(boolean,boolean):155:160 -> a
    1:3:void dismiss():165:167 -> dismiss
    1:80:void onCreate(android.os.Bundle):46:125 -> onCreate
    1:1:void show():151:151 -> show
com.sf.sdk.ui.widget.dialog.ConfirmDialog$1 -> com.sf.sdk.u0.c$a:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    com.sf.sdk.ui.widget.dialog.ConfirmDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/c;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ConfirmDialog):55:55 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/c;)V"}
    1:2:void onCancel(android.content.DialogInterface):58:59 -> onCancel
com.sf.sdk.ui.widget.dialog.ConfirmDialog$2 -> com.sf.sdk.u0.c$b:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    android.widget.TextView val$tvContent -> a
    android.view.ViewGroup val$contentParent -> b
    com.sf.sdk.ui.widget.dialog.ConfirmDialog this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/c;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ConfirmDialog,android.widget.TextView,android.view.ViewGroup):70:70 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/c;Landroid/widget/TextView;Landroid/view/ViewGroup;)V"}
    1:12:void onGlobalLayout():73:84 -> onGlobalLayout
com.sf.sdk.ui.widget.dialog.ConfirmDialog$3 -> com.sf.sdk.u0.c$c:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    com.sf.sdk.ui.widget.dialog.ConfirmDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/c;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ConfirmDialog):88:88 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/c;)V"}
    1:3:void onClick(android.view.View):91:93 -> onClick
com.sf.sdk.ui.widget.dialog.ConfirmDialog$4 -> com.sf.sdk.u0.c$d:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    com.sf.sdk.ui.widget.dialog.ConfirmDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/c;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ConfirmDialog):113:113 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/c;)V"}
    1:5:void onClick(android.view.View):116:120 -> onClick
com.sf.sdk.ui.widget.dialog.ConfirmDialog$5 -> com.sf.sdk.u0.c$e:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    com.sf.sdk.ui.widget.dialog.ConfirmDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/c;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ConfirmDialog):125:125 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/c;)V"}
    1:5:void onClick(android.view.View):128:132 -> onClick
com.sf.sdk.ui.widget.dialog.ConfirmDialog$IConfirmListener -> com.sf.sdk.u0.c$f:
# {"id":"sourceFile","fileName":"ConfirmDialog.java"}
    void onConfirm() -> a
    void onCancel() -> onCancel
com.sf.sdk.ui.widget.dialog.LoadingDialog -> com.sf.sdk.u0.d:
# {"id":"sourceFile","fileName":"LoadingDialog.java"}
    1:1:void <init>(android.content.Context):15:15 -> <init>
    2:2:void <init>(android.content.Context,boolean):19:19 -> <init>
    1:2:void onCreate(android.os.Bundle):23:24 -> onCreate
com.sf.sdk.ui.widget.dialog.ProtocolDialog -> com.sf.sdk.u0.e:
# {"id":"sourceFile","fileName":"ProtocolDialog.java"}
    android.content.Context context -> a
    java.lang.String userUrl -> b
    java.lang.String privacyUrl -> c
    com.sf.sdk.ui.widget.dialog.ProtocolDialog$IProtocolListener listener -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/e$e;"}
    1:2:void <init>(android.content.Context):35:36 -> <init>
    1:20:void initView(android.view.Window):54:73 -> a
    21:45:void initView(android.view.Window):62:86 -> a
    46:81:void initView(android.view.Window):75:110 -> a
    82:84:void onAgree():114:116 -> a
    85:92:void showDialog(android.app.Activity,java.lang.String,java.lang.String,com.sf.sdk.ui.widget.dialog.ProtocolDialog$IProtocolListener):121:128 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;Lcom/sf/sdk/u0/e$e;)V"}
    1:6:void onCreate(android.os.Bundle):41:46 -> onCreate
com.sf.sdk.ui.widget.dialog.ProtocolDialog$1 -> com.sf.sdk.u0.e$a:
# {"id":"sourceFile","fileName":"ProtocolDialog.java"}
    int val$linkColor -> a
    com.sf.sdk.ui.widget.dialog.ProtocolDialog this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/e;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ProtocolDialog,int):62:62 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/e;I)V"}
    1:1:void onClick(android.view.View):71:71 -> onClick
    1:2:void updateDrawState(android.text.TextPaint):65:66 -> updateDrawState
com.sf.sdk.ui.widget.dialog.ProtocolDialog$2 -> com.sf.sdk.u0.e$b:
# {"id":"sourceFile","fileName":"ProtocolDialog.java"}
    int val$linkColor -> a
    com.sf.sdk.ui.widget.dialog.ProtocolDialog this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/e;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ProtocolDialog,int):75:75 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/e;I)V"}
    1:1:void onClick(android.view.View):84:84 -> onClick
    1:2:void updateDrawState(android.text.TextPaint):78:79 -> updateDrawState
com.sf.sdk.ui.widget.dialog.ProtocolDialog$3 -> com.sf.sdk.u0.e$c:
# {"id":"sourceFile","fileName":"ProtocolDialog.java"}
    com.sf.sdk.ui.widget.dialog.ProtocolDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/e;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ProtocolDialog):92:92 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/e;)V"}
    1:1:void onClick(android.view.View):95:95 -> onClick
com.sf.sdk.ui.widget.dialog.ProtocolDialog$4 -> com.sf.sdk.u0.e$d:
# {"id":"sourceFile","fileName":"ProtocolDialog.java"}
    com.sf.sdk.ui.widget.dialog.ProtocolDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/e;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.ProtocolDialog):100:100 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/e;)V"}
    1:4:void onClick(android.view.View):103:106 -> onClick
com.sf.sdk.ui.widget.dialog.ProtocolDialog$IProtocolListener -> com.sf.sdk.u0.e$e:
# {"id":"sourceFile","fileName":"ProtocolDialog.java"}
    void onAgreed() -> a
com.sf.sdk.ui.widget.dialog.UpdateDialog -> com.sf.sdk.u0.f:
# {"id":"sourceFile","fileName":"UpdateDialog.java"}
    com.sf.sdk.config.SFConfig$Version version -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/t/a$b;"}
    1:2:void <init>(android.content.Context,com.sf.sdk.config.SFConfig$Version):32:33 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Lcom/sf/sdk/t/a$b;)V"}
    1:55:void initViews(android.view.Window):50:104 -> a
    56:57:void show(android.content.Context,com.sf.sdk.config.SFConfig$Version):108:109 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Lcom/sf/sdk/t/a$b;)V"}
    58:63:void gotoUrl():113:118 -> a
    1:6:void onCreate(android.os.Bundle):38:43 -> onCreate
com.sf.sdk.ui.widget.dialog.UpdateDialog$1 -> com.sf.sdk.u0.f$a:
# {"id":"sourceFile","fileName":"UpdateDialog.java"}
    android.widget.TextView val$tvContent -> a
    android.view.ViewGroup val$contentParent -> b
    com.sf.sdk.ui.widget.dialog.UpdateDialog this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/f;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.UpdateDialog,android.widget.TextView,android.view.ViewGroup):63:63 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/f;Landroid/widget/TextView;Landroid/view/ViewGroup;)V"}
    1:12:void onGlobalLayout():66:77 -> onGlobalLayout
com.sf.sdk.ui.widget.dialog.UpdateDialog$2 -> com.sf.sdk.u0.f$b:
# {"id":"sourceFile","fileName":"UpdateDialog.java"}
    com.sf.sdk.ui.widget.dialog.UpdateDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/f;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.UpdateDialog):90:90 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/f;)V"}
    1:1:void onClick(android.view.View):93:93 -> onClick
com.sf.sdk.ui.widget.dialog.UpdateDialog$3 -> com.sf.sdk.u0.f$c:
# {"id":"sourceFile","fileName":"UpdateDialog.java"}
    com.sf.sdk.ui.widget.dialog.UpdateDialog this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcom/sf/sdk/u0/f;"}
    1:1:void <init>(com.sf.sdk.ui.widget.dialog.UpdateDialog):97:97 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcom/sf/sdk/u0/f;)V"}
    1:1:void onClick(android.view.View):100:100 -> onClick
