@onairos/react-native 3.4.1 → 3.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -13
- package/lib/commonjs/api/index.js +9 -145
- package/lib/commonjs/assets/animations/loaderani.json +1 -0
- package/lib/commonjs/assets/animations/persona-animation.json +1 -0
- package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
- package/lib/commonjs/assets/icons/Gmail.png +0 -0
- package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
- package/lib/commonjs/assets/icons/Redditicon.png +0 -0
- package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
- package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
- package/lib/commonjs/assets/icons/chatgpt.png +0 -0
- package/lib/commonjs/assets/icons/claude.png +0 -0
- package/lib/commonjs/assets/icons/gemini.png +0 -0
- package/lib/commonjs/assets/icons/grok.png +0 -0
- package/lib/commonjs/assets/images/Checkbox.svg +3 -0
- package/lib/commonjs/assets/images/EnochE.svg +19 -0
- package/lib/commonjs/assets/images/Enochicon1.png +0 -0
- package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
- package/lib/commonjs/assets/images/Facebookicon.png +0 -0
- package/lib/commonjs/assets/images/Gmail.png +0 -0
- package/lib/commonjs/assets/images/Googlelogo.png +0 -0
- package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
- package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
- package/lib/commonjs/assets/images/Personalityprofile.svg +3 -0
- package/lib/commonjs/assets/images/Personalitytraits.svg +3 -0
- package/lib/commonjs/assets/images/Redditicon.png +0 -0
- package/lib/commonjs/assets/images/Userpreferences.svg +3 -0
- package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
- package/lib/commonjs/assets/images/arrow.svg +20 -0
- package/lib/commonjs/assets/images/basicproficon.svg +43 -0
- package/lib/commonjs/assets/images/basicprofile.svg +3 -0
- package/lib/commonjs/assets/images/chatgpt.png +0 -0
- package/lib/commonjs/assets/images/checkmark.svg +4 -0
- package/lib/commonjs/assets/images/claude.png +0 -0
- package/lib/commonjs/assets/images/contentanalysis.svg +3 -0
- package/lib/commonjs/assets/images/contenticon.svg +23 -0
- package/lib/commonjs/assets/images/gemini.png +0 -0
- package/lib/commonjs/assets/images/grok.png +0 -0
- package/lib/commonjs/assets/images/persona1.png +0 -0
- package/lib/commonjs/assets/images/persona2.png +0 -0
- package/lib/commonjs/assets/images/persona3.png +0 -0
- package/lib/commonjs/assets/images/persona4.png +0 -0
- package/lib/commonjs/assets/images/persona5.png +0 -0
- package/lib/commonjs/assets/images/personalityicon.svg +18 -0
- package/lib/commonjs/assets/images/x-close.svg +3 -0
- package/lib/commonjs/components/BodyText.js +9 -0
- package/lib/commonjs/components/BrandMark.js +10 -0
- package/lib/commonjs/components/CodeInput.js +9 -0
- package/lib/commonjs/components/EmailInput.js +8 -0
- package/lib/commonjs/components/GoogleButton.js +9 -0
- package/lib/commonjs/components/HeadingGroup.js +9 -0
- package/lib/commonjs/components/LLMDataInputModal.js +14 -0
- package/lib/commonjs/components/ModalHeader.js +9 -0
- package/lib/commonjs/components/ModalSheet.js +9 -0
- package/lib/commonjs/components/Onairos.js +14 -374
- package/lib/commonjs/components/OnairosButton.js +13 -309
- package/lib/commonjs/components/OnairosSignInButton.js +12 -0
- package/lib/commonjs/components/Overlay.js +13 -483
- package/lib/commonjs/components/PersonaImage.js +10 -0
- package/lib/commonjs/components/PersonaLoadingScreen.js +12 -0
- package/lib/commonjs/components/PersonalizationConsentScreen.js +13 -0
- package/lib/commonjs/components/PinCreationScreen.js +12 -0
- package/lib/commonjs/components/PinInput.js +9 -302
- package/lib/commonjs/components/PlatformConnectorsStep.js +22 -0
- package/lib/commonjs/components/PlatformList.js +10 -137
- package/lib/commonjs/components/PlatformToggle.js +9 -0
- package/lib/commonjs/components/PrimaryButton.js +10 -0
- package/lib/commonjs/components/SignInMatchAnimation.js +9 -0
- package/lib/commonjs/components/SignInStep.js +12 -0
- package/lib/commonjs/components/UniversalOnboarding.js +29 -1702
- package/lib/commonjs/components/VerificationStep.js +11 -0
- package/lib/commonjs/components/WelcomeScreen.js +21 -0
- package/lib/commonjs/components/icons/Basicproficon.js +8 -0
- package/lib/commonjs/components/icons/Basicprofile.js +8 -0
- package/lib/commonjs/components/icons/Checkbox.js +8 -0
- package/lib/commonjs/components/icons/Checkmark.js +8 -0
- package/lib/commonjs/components/icons/Contentanalysis.js +8 -0
- package/lib/commonjs/components/icons/Contenticon.js +8 -0
- package/lib/commonjs/components/icons/EnochE.js +8 -0
- package/lib/commonjs/components/icons/Personalityicon.js +8 -0
- package/lib/commonjs/components/icons/Personalityprofile.js +8 -0
- package/lib/commonjs/components/icons/Personalitytraits.js +8 -0
- package/lib/commonjs/components/icons/Userpreferences.js +8 -0
- package/lib/commonjs/components/icons/index.js +17 -0
- package/lib/commonjs/components/onboarding/OAuthWebView.js +14 -827
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +10 -74
- package/lib/commonjs/components/onboarding/PinInput.js +10 -283
- package/lib/commonjs/components/onboarding/PlatformConnector.js +11 -249
- package/lib/commonjs/config/api.js +7 -0
- package/lib/commonjs/constants/index.js +7 -83
- package/lib/commonjs/context/AuthContext.js +10 -0
- package/lib/commonjs/hooks/useConnectedAccounts.js +9 -0
- package/lib/commonjs/hooks/useConnections.js +8 -159
- package/lib/commonjs/hooks/useCredentials.js +10 -177
- package/lib/commonjs/hooks/useUserConnections.js +10 -0
- package/lib/commonjs/index.js +35 -106
- package/lib/commonjs/services/apiClient.js +8 -0
- package/lib/commonjs/services/apiKeyService.js +9 -952
- package/lib/commonjs/services/authService.js +10 -0
- package/lib/commonjs/services/biometricPinService.js +8 -0
- package/lib/commonjs/services/chatGPTConversationExtractor.js +8 -0
- package/lib/commonjs/services/chatGPTConversationService.js +9 -0
- package/lib/commonjs/services/claudeConversationExtractor.js +8 -0
- package/lib/commonjs/services/claudeConversationService.js +9 -0
- package/lib/commonjs/services/connectedAccountsService.js +10 -0
- package/lib/commonjs/services/googleAuthService.js +11 -0
- package/lib/commonjs/services/imageCompressionService.js +7 -0
- package/lib/commonjs/services/jwtStorageService.js +7 -0
- package/lib/commonjs/services/linkedinDOMExtractor.js +7 -0
- package/lib/commonjs/services/linkedinProfileService.js +9 -0
- package/lib/commonjs/services/linkedinScrapingService.js +8 -0
- package/lib/commonjs/services/llmDataStorage.js +8 -0
- package/lib/commonjs/services/mobileTrainingService.js +8 -0
- package/lib/commonjs/services/oauthService.js +11 -390
- package/lib/commonjs/services/pinEncryptionService.js +8 -0
- package/lib/commonjs/services/pinStorageUtils.js +7 -0
- package/lib/commonjs/services/platformAuthService.js +12 -1067
- package/lib/commonjs/services/storageService.js +8 -0
- package/lib/commonjs/services/trainingApiHelpers.js +7 -0
- package/lib/commonjs/services/userConnectionsService.js +10 -0
- package/lib/commonjs/services/youtubeMigrationService.js +10 -0
- package/lib/commonjs/theme/index.js +7 -0
- package/lib/commonjs/types/ambient.d.js +1 -2
- package/lib/commonjs/types/declarations.d.js +1 -2
- package/lib/commonjs/types/index.js +1 -6
- package/lib/commonjs/types/node-fix.d.js +1 -2
- package/lib/commonjs/types/node-override.d.js +1 -2
- package/lib/commonjs/types/opacity.d.js +1 -2
- package/lib/commonjs/types.js +1 -14
- package/lib/commonjs/utils/Portal.js +8 -98
- package/lib/commonjs/utils/api.js +9 -129
- package/lib/commonjs/utils/assetRegistry.js +33 -0
- package/lib/commonjs/utils/auth.js +9 -111
- package/lib/commonjs/utils/crypto.js +8 -62
- package/lib/commonjs/utils/debugHelper.js +1 -64
- package/lib/commonjs/utils/encryption.js +7 -76
- package/lib/commonjs/utils/eventUtils.js +1 -0
- package/lib/commonjs/utils/haptics.js +9 -0
- package/lib/commonjs/utils/imagePreloader.js +1 -0
- package/lib/commonjs/utils/networkDiagnostics.js +8 -0
- package/lib/commonjs/utils/onairosApi.js +9 -350
- package/lib/commonjs/utils/programmaticFlow.js +9 -117
- package/lib/commonjs/utils/retryHelper.js +1 -220
- package/lib/commonjs/utils/secureStorage.js +10 -349
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +1 -0
- package/lib/commonjs/utils/webviewScripts/claude.js +1 -0
- package/lib/commonjs/utils/webviewScripts/index.js +9 -0
- package/lib/commonjs/utils/webviewScripts/linkedin.js +1 -0
- package/lib/module/api/index.js +1 -139
- package/lib/module/assets/animations/loaderani.json +1 -0
- package/lib/module/assets/animations/persona-animation.json +1 -0
- package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/lib/module/assets/icons/Facebookicon.png +0 -0
- package/lib/module/assets/icons/Gmail.png +0 -0
- package/lib/module/assets/icons/Linkedinicon.png +0 -0
- package/lib/module/assets/icons/Redditicon.png +0 -0
- package/lib/module/assets/icons/YouTubeicon2.png +0 -0
- package/lib/module/assets/icons/YouTubeicon3.png +0 -0
- package/lib/module/assets/icons/chatgpt.png +0 -0
- package/lib/module/assets/icons/claude.png +0 -0
- package/lib/module/assets/icons/farcaster.png +0 -0
- package/lib/module/assets/icons/gemini.png +0 -0
- package/lib/module/assets/icons/grok.png +0 -0
- package/lib/module/assets/icons/instagram.png +0 -0
- package/lib/module/assets/icons/pinterest.png +0 -0
- package/lib/module/assets/icons/swerv_logo.png +0 -0
- package/lib/module/assets/icons/twitter.jpg +0 -0
- package/lib/module/assets/images/Checkbox.svg +3 -0
- package/lib/module/assets/images/EnochE.svg +19 -0
- package/lib/module/assets/images/Enochicon1.png +0 -0
- package/lib/module/assets/images/Face_ID_logo.png +0 -0
- package/lib/module/assets/images/Facebookicon.png +0 -0
- package/lib/module/assets/images/Gmail.png +0 -0
- package/lib/module/assets/images/Googlelogo.png +0 -0
- package/lib/module/assets/images/Linkedinicon.png +0 -0
- package/lib/module/assets/images/Onairoslogo.png +0 -0
- package/lib/module/assets/images/Personalityprofile.svg +3 -0
- package/lib/module/assets/images/Personalitytraits.svg +3 -0
- package/lib/module/assets/images/Redditicon.png +0 -0
- package/lib/module/assets/images/Userpreferences.svg +3 -0
- package/lib/module/assets/images/YouTubeicon3.png +0 -0
- package/lib/module/assets/images/arrow.svg +20 -0
- package/lib/module/assets/images/basicproficon.svg +43 -0
- package/lib/module/assets/images/basicprofile.svg +3 -0
- package/lib/module/assets/images/chatgpt.png +0 -0
- package/lib/module/assets/images/checkmark.svg +4 -0
- package/lib/module/assets/images/claude.png +0 -0
- package/lib/module/assets/images/contentanalysis.svg +3 -0
- package/lib/module/assets/images/contenticon.svg +23 -0
- package/lib/module/assets/images/gemini.png +0 -0
- package/lib/module/assets/images/grok.png +0 -0
- package/lib/module/assets/images/persona1.png +0 -0
- package/lib/module/assets/images/persona2.png +0 -0
- package/lib/module/assets/images/persona3.png +0 -0
- package/lib/module/assets/images/persona4.png +0 -0
- package/lib/module/assets/images/persona5.png +0 -0
- package/lib/module/assets/images/personalityicon.svg +18 -0
- package/lib/module/assets/images/x-close.svg +3 -0
- package/lib/module/components/BodyText.js +1 -0
- package/lib/module/components/BrandMark.js +1 -0
- package/lib/module/components/CodeInput.js +1 -0
- package/lib/module/components/EmailInput.js +1 -0
- package/lib/module/components/GoogleButton.js +1 -0
- package/lib/module/components/HeadingGroup.js +1 -0
- package/lib/module/components/LLMDataInputModal.js +8 -0
- package/lib/module/components/ModalHeader.js +1 -0
- package/lib/module/components/ModalSheet.js +1 -0
- package/lib/module/components/Onairos.js +1 -367
- package/lib/module/components/OnairosButton.js +1 -302
- package/lib/module/components/OnairosSignInButton.js +1 -0
- package/lib/module/components/Overlay.js +1 -474
- package/lib/module/components/PersonaImage.js +1 -0
- package/lib/module/components/PersonaLoadingScreen.js +1 -0
- package/lib/module/components/PersonalizationConsentScreen.js +1 -0
- package/lib/module/components/PinCreationScreen.js +1 -0
- package/lib/module/components/PinInput.js +1 -293
- package/lib/module/components/PlatformConnectorsStep.js +1 -0
- package/lib/module/components/PlatformList.js +1 -129
- package/lib/module/components/PlatformToggle.js +1 -0
- package/lib/module/components/PrimaryButton.js +1 -0
- package/lib/module/components/SignInMatchAnimation.js +1 -0
- package/lib/module/components/SignInStep.js +1 -0
- package/lib/module/components/UniversalOnboarding.js +1 -1693
- package/lib/module/components/VerificationStep.js +1 -0
- package/lib/module/components/WelcomeScreen.js +1 -0
- package/lib/module/components/icons/Basicproficon.js +1 -0
- package/lib/module/components/icons/Basicprofile.js +1 -0
- package/lib/module/components/icons/Checkbox.js +1 -0
- package/lib/module/components/icons/Checkmark.js +1 -0
- package/lib/module/components/icons/Contentanalysis.js +1 -0
- package/lib/module/components/icons/Contenticon.js +1 -0
- package/lib/module/components/icons/EnochE.js +1 -0
- package/lib/module/components/icons/Personalityicon.js +1 -0
- package/lib/module/components/icons/Personalityprofile.js +1 -0
- package/lib/module/components/icons/Personalitytraits.js +1 -0
- package/lib/module/components/icons/Userpreferences.js +1 -0
- package/lib/module/components/icons/index.js +1 -0
- package/lib/module/components/onboarding/OAuthWebView.js +1 -818
- package/lib/module/components/onboarding/OnboardingHeader.js +1 -66
- package/lib/module/components/onboarding/PinInput.js +1 -274
- package/lib/module/components/onboarding/PlatformConnector.js +1 -240
- package/lib/module/config/api.js +1 -0
- package/lib/module/constants/index.js +1 -77
- package/lib/module/context/AuthContext.js +1 -0
- package/lib/module/hooks/useConnectedAccounts.js +1 -0
- package/lib/module/hooks/useConnections.js +1 -152
- package/lib/module/hooks/useCredentials.js +6 -169
- package/lib/module/hooks/useUserConnections.js +1 -0
- package/lib/module/index.js +1 -32
- package/lib/module/services/apiClient.js +1 -0
- package/lib/module/services/apiKeyService.js +1 -925
- package/lib/module/services/authService.js +1 -0
- package/lib/module/services/biometricPinService.js +1 -0
- package/lib/module/services/chatGPTConversationExtractor.js +1 -0
- package/lib/module/services/chatGPTConversationService.js +1 -0
- package/lib/module/services/claudeConversationExtractor.js +1 -0
- package/lib/module/services/claudeConversationService.js +1 -0
- package/lib/module/services/connectedAccountsService.js +1 -0
- package/lib/module/services/googleAuthService.js +1 -0
- package/lib/module/services/imageCompressionService.js +1 -0
- package/lib/module/services/jwtStorageService.js +1 -0
- package/lib/module/services/linkedinDOMExtractor.js +1 -0
- package/lib/module/services/linkedinProfileService.js +1 -0
- package/lib/module/services/linkedinScrapingService.js +1 -0
- package/lib/module/services/llmDataStorage.js +1 -0
- package/lib/module/services/mobileTrainingService.js +1 -0
- package/lib/module/services/oauthService.js +1 -380
- package/lib/module/services/pinEncryptionService.js +7 -0
- package/lib/module/services/pinStorageUtils.js +1 -0
- package/lib/module/services/platformAuthService.js +1 -1041
- package/lib/module/services/storageService.js +1 -0
- package/lib/module/services/trainingApiHelpers.js +1 -0
- package/lib/module/services/userConnectionsService.js +1 -0
- package/lib/module/services/youtubeMigrationService.js +1 -0
- package/lib/module/theme/index.js +1 -0
- package/lib/module/types.js +1 -10
- package/lib/module/utils/Portal.js +1 -90
- package/lib/module/utils/api.js +1 -117
- package/lib/module/utils/assetRegistry.js +33 -0
- package/lib/module/utils/auth.js +1 -99
- package/lib/module/utils/crypto.js +1 -54
- package/lib/module/utils/debugHelper.js +1 -54
- package/lib/module/utils/encryption.js +1 -67
- package/lib/module/utils/eventUtils.js +1 -0
- package/lib/module/utils/haptics.js +8 -0
- package/lib/module/utils/imagePreloader.js +1 -0
- package/lib/module/utils/networkDiagnostics.js +1 -0
- package/lib/module/utils/onairosApi.js +1 -333
- package/lib/module/utils/programmaticFlow.js +1 -111
- package/lib/module/utils/retryHelper.js +1 -211
- package/lib/module/utils/secureStorage.js +6 -330
- package/lib/module/utils/webviewScripts/chatgpt.js +1 -0
- package/lib/module/utils/webviewScripts/claude.js +1 -0
- package/lib/module/utils/webviewScripts/index.js +1 -0
- package/lib/module/utils/webviewScripts/linkedin.js +1 -0
- package/package.json +62 -39
- package/lib/commonjs/api/index.js.map +0 -1
- package/lib/commonjs/assets/images/email.png +0 -0
- package/lib/commonjs/assets/images/linkedin.png +0 -0
- package/lib/commonjs/assets/images/reddit.png +0 -0
- package/lib/commonjs/assets/images/youtube.png +0 -0
- package/lib/commonjs/components/DataRequestModal.js +0 -228
- package/lib/commonjs/components/DataRequestModal.js.map +0 -1
- package/lib/commonjs/components/DataRequestScreen.js +0 -329
- package/lib/commonjs/components/DataRequestScreen.js.map +0 -1
- package/lib/commonjs/components/EmailVerificationModal.js +0 -320
- package/lib/commonjs/components/EmailVerificationModal.js.map +0 -1
- package/lib/commonjs/components/Onairos.js.map +0 -1
- package/lib/commonjs/components/OnairosButton.js.map +0 -1
- package/lib/commonjs/components/Overlay.js.map +0 -1
- package/lib/commonjs/components/PinInput.js.map +0 -1
- package/lib/commonjs/components/PlatformList.js.map +0 -1
- package/lib/commonjs/components/TrainingModal.js +0 -717
- package/lib/commonjs/components/TrainingModal.js.map +0 -1
- package/lib/commonjs/components/UniversalOnboarding.js.map +0 -1
- package/lib/commonjs/components/UniversalOnboarding.tsx.new +0 -455
- package/lib/commonjs/components/onboarding/OAuthWebView.js.map +0 -1
- package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +0 -1
- package/lib/commonjs/components/onboarding/PinInput.js.map +0 -1
- package/lib/commonjs/components/onboarding/PlatformConnector.js.map +0 -1
- package/lib/commonjs/components/screens/ConnectorScreen.js +0 -146
- package/lib/commonjs/components/screens/ConnectorScreen.js.map +0 -1
- package/lib/commonjs/components/screens/LoadingScreen.js +0 -91
- package/lib/commonjs/components/screens/LoadingScreen.js.map +0 -1
- package/lib/commonjs/components/screens/PinCreationScreen.js +0 -61
- package/lib/commonjs/components/screens/PinCreationScreen.js.map +0 -1
- package/lib/commonjs/constants/index.js.map +0 -1
- package/lib/commonjs/hooks/useConnections.js.map +0 -1
- package/lib/commonjs/hooks/useCredentials.js.map +0 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/services/apiKeyService.js.map +0 -1
- package/lib/commonjs/services/oauthService.js.map +0 -1
- package/lib/commonjs/services/platformAuthService.js.map +0 -1
- package/lib/commonjs/types/ambient.d.js.map +0 -1
- package/lib/commonjs/types/declarations.d.js.map +0 -1
- package/lib/commonjs/types/index.d.js.map +0 -1
- package/lib/commonjs/types/index.js.map +0 -1
- package/lib/commonjs/types/node-fix.d.js.map +0 -1
- package/lib/commonjs/types/node-override.d.js.map +0 -1
- package/lib/commonjs/types/opacity.d.js.map +0 -1
- package/lib/commonjs/types/types.d.js.map +0 -1
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/utils/Portal.js.map +0 -1
- package/lib/commonjs/utils/api.js.map +0 -1
- package/lib/commonjs/utils/auth.js.map +0 -1
- package/lib/commonjs/utils/crypto.js.map +0 -1
- package/lib/commonjs/utils/debugHelper.js.map +0 -1
- package/lib/commonjs/utils/encryption.js.map +0 -1
- package/lib/commonjs/utils/onairosApi.js.map +0 -1
- package/lib/commonjs/utils/programmaticFlow.js.map +0 -1
- package/lib/commonjs/utils/retryHelper.js.map +0 -1
- package/lib/commonjs/utils/secureStorage.js.map +0 -1
- package/lib/module/api/index.js.map +0 -1
- package/lib/module/assets/images/email.png +0 -0
- package/lib/module/assets/images/linkedin.png +0 -0
- package/lib/module/assets/images/reddit.png +0 -0
- package/lib/module/assets/images/youtube.png +0 -0
- package/lib/module/components/DataRequestModal.js +0 -220
- package/lib/module/components/DataRequestModal.js.map +0 -1
- package/lib/module/components/DataRequestScreen.js +0 -321
- package/lib/module/components/DataRequestScreen.js.map +0 -1
- package/lib/module/components/EmailVerificationModal.js +0 -311
- package/lib/module/components/EmailVerificationModal.js.map +0 -1
- package/lib/module/components/Onairos.js.map +0 -1
- package/lib/module/components/OnairosButton.js.map +0 -1
- package/lib/module/components/Overlay.js.map +0 -1
- package/lib/module/components/PinInput.js.map +0 -1
- package/lib/module/components/PlatformList.js.map +0 -1
- package/lib/module/components/TrainingModal.js +0 -708
- package/lib/module/components/TrainingModal.js.map +0 -1
- package/lib/module/components/UniversalOnboarding.js.map +0 -1
- package/lib/module/components/UniversalOnboarding.tsx.new +0 -455
- package/lib/module/components/onboarding/OAuthWebView.js.map +0 -1
- package/lib/module/components/onboarding/OnboardingHeader.js.map +0 -1
- package/lib/module/components/onboarding/PinInput.js.map +0 -1
- package/lib/module/components/onboarding/PlatformConnector.js.map +0 -1
- package/lib/module/components/screens/ConnectorScreen.js +0 -138
- package/lib/module/components/screens/ConnectorScreen.js.map +0 -1
- package/lib/module/components/screens/LoadingScreen.js +0 -83
- package/lib/module/components/screens/LoadingScreen.js.map +0 -1
- package/lib/module/components/screens/PinCreationScreen.js +0 -53
- package/lib/module/components/screens/PinCreationScreen.js.map +0 -1
- package/lib/module/constants/index.js.map +0 -1
- package/lib/module/hooks/useConnections.js.map +0 -1
- package/lib/module/hooks/useCredentials.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/services/apiKeyService.js.map +0 -1
- package/lib/module/services/oauthService.js.map +0 -1
- package/lib/module/services/platformAuthService.js.map +0 -1
- package/lib/module/types/ambient.d.js.map +0 -1
- package/lib/module/types/declarations.d.js.map +0 -1
- package/lib/module/types/index.d.js.map +0 -1
- package/lib/module/types/index.js.map +0 -1
- package/lib/module/types/node-fix.d.js.map +0 -1
- package/lib/module/types/node-override.d.js.map +0 -1
- package/lib/module/types/opacity.d.js.map +0 -1
- package/lib/module/types/types.d.js.map +0 -1
- package/lib/module/types.js.map +0 -1
- package/lib/module/utils/Portal.js.map +0 -1
- package/lib/module/utils/api.js.map +0 -1
- package/lib/module/utils/auth.js.map +0 -1
- package/lib/module/utils/crypto.js.map +0 -1
- package/lib/module/utils/debugHelper.js.map +0 -1
- package/lib/module/utils/encryption.js.map +0 -1
- package/lib/module/utils/onairosApi.js.map +0 -1
- package/lib/module/utils/programmaticFlow.js.map +0 -1
- package/lib/module/utils/retryHelper.js.map +0 -1
- package/lib/module/utils/secureStorage.js.map +0 -1
- package/lib/typescript/api/index.d.ts +0 -8
- package/lib/typescript/api/index.d.ts.map +0 -1
- package/lib/typescript/components/DataRequestModal.d.ts +0 -11
- package/lib/typescript/components/DataRequestModal.d.ts.map +0 -1
- package/lib/typescript/components/DataRequestScreen.d.ts +0 -11
- package/lib/typescript/components/DataRequestScreen.d.ts.map +0 -1
- package/lib/typescript/components/EmailVerificationModal.d.ts +0 -11
- package/lib/typescript/components/EmailVerificationModal.d.ts.map +0 -1
- package/lib/typescript/components/Onairos.d.ts +0 -4
- package/lib/typescript/components/Onairos.d.ts.map +0 -1
- package/lib/typescript/components/OnairosButton.d.ts +0 -12
- package/lib/typescript/components/OnairosButton.d.ts.map +0 -1
- package/lib/typescript/components/Overlay.d.ts +0 -4
- package/lib/typescript/components/Overlay.d.ts.map +0 -1
- package/lib/typescript/components/PinInput.d.ts +0 -4
- package/lib/typescript/components/PinInput.d.ts.map +0 -1
- package/lib/typescript/components/PlatformList.d.ts +0 -4
- package/lib/typescript/components/PlatformList.d.ts.map +0 -1
- package/lib/typescript/components/TrainingModal.d.ts +0 -4
- package/lib/typescript/components/TrainingModal.d.ts.map +0 -1
- package/lib/typescript/components/UniversalOnboarding.d.ts +0 -4
- package/lib/typescript/components/UniversalOnboarding.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts +0 -10
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts +0 -11
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/PinInput.d.ts +0 -4
- package/lib/typescript/components/onboarding/PinInput.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts +0 -13
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts.map +0 -1
- package/lib/typescript/components/screens/ConnectorScreen.d.ts +0 -9
- package/lib/typescript/components/screens/ConnectorScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/LoadingScreen.d.ts +0 -9
- package/lib/typescript/components/screens/LoadingScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/PinCreationScreen.d.ts +0 -10
- package/lib/typescript/components/screens/PinCreationScreen.d.ts.map +0 -1
- package/lib/typescript/constants/index.d.ts +0 -53
- package/lib/typescript/constants/index.d.ts.map +0 -1
- package/lib/typescript/hooks/useConnections.d.ts +0 -9
- package/lib/typescript/hooks/useConnections.d.ts.map +0 -1
- package/lib/typescript/hooks/useCredentials.d.ts +0 -9
- package/lib/typescript/hooks/useCredentials.d.ts.map +0 -1
- package/lib/typescript/index.d.ts +0 -18
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/services/apiKeyService.d.ts +0 -132
- package/lib/typescript/services/apiKeyService.d.ts.map +0 -1
- package/lib/typescript/services/oauthService.d.ts +0 -50
- package/lib/typescript/services/oauthService.d.ts.map +0 -1
- package/lib/typescript/services/platformAuthService.d.ts +0 -144
- package/lib/typescript/services/platformAuthService.d.ts.map +0 -1
- package/lib/typescript/types/index.d.ts +0 -231
- package/lib/typescript/types/index.d.ts.map +0 -1
- package/lib/typescript/types.d.ts +0 -270
- package/lib/typescript/types.d.ts.map +0 -1
- package/lib/typescript/utils/Portal.d.ts +0 -14
- package/lib/typescript/utils/Portal.d.ts.map +0 -1
- package/lib/typescript/utils/api.d.ts +0 -6
- package/lib/typescript/utils/api.d.ts.map +0 -1
- package/lib/typescript/utils/auth.d.ts +0 -6
- package/lib/typescript/utils/auth.d.ts.map +0 -1
- package/lib/typescript/utils/crypto.d.ts +0 -4
- package/lib/typescript/utils/crypto.d.ts.map +0 -1
- package/lib/typescript/utils/debugHelper.d.ts +0 -29
- package/lib/typescript/utils/debugHelper.d.ts.map +0 -1
- package/lib/typescript/utils/encryption.d.ts +0 -19
- package/lib/typescript/utils/encryption.d.ts.map +0 -1
- package/lib/typescript/utils/onairosApi.d.ts +0 -87
- package/lib/typescript/utils/onairosApi.d.ts.map +0 -1
- package/lib/typescript/utils/programmaticFlow.d.ts +0 -23
- package/lib/typescript/utils/programmaticFlow.d.ts.map +0 -1
- package/lib/typescript/utils/retryHelper.d.ts +0 -69
- package/lib/typescript/utils/retryHelper.d.ts.map +0 -1
- package/lib/typescript/utils/secureStorage.d.ts +0 -94
- package/lib/typescript/utils/secureStorage.d.ts.map +0 -1
- package/src/api/index.ts +0 -111
- package/src/assets/images/email.png +0 -0
- package/src/assets/images/linkedin.png +0 -0
- package/src/assets/images/onairos_logo.png +0 -0
- package/src/assets/images/reddit.png +0 -0
- package/src/assets/images/youtube.png +0 -0
- package/src/components/DataRequestModal.tsx +0 -227
- package/src/components/DataRequestScreen.tsx +0 -356
- package/src/components/EmailVerificationModal.tsx +0 -364
- package/src/components/Onairos.tsx +0 -425
- package/src/components/OnairosButton.tsx +0 -359
- package/src/components/Overlay.tsx +0 -506
- package/src/components/PinInput.tsx +0 -343
- package/src/components/PlatformList.tsx +0 -145
- package/src/components/TrainingModal.tsx +0 -737
- package/src/components/UniversalOnboarding.tsx +0 -1839
- package/src/components/UniversalOnboarding.tsx.new +0 -455
- package/src/components/onboarding/OAuthWebView.tsx +0 -838
- package/src/components/onboarding/OnboardingHeader.tsx +0 -70
- package/src/components/onboarding/PinInput.tsx +0 -356
- package/src/components/onboarding/PlatformConnector.tsx +0 -302
- package/src/components/screens/ConnectorScreen.tsx +0 -153
- package/src/components/screens/LoadingScreen.tsx +0 -100
- package/src/components/screens/PinCreationScreen.tsx +0 -67
- package/src/constants/index.ts +0 -83
- package/src/hooks/useConnections.ts +0 -163
- package/src/hooks/useCredentials.ts +0 -175
- package/src/index.js +0 -14
- package/src/index.ts +0 -50
- package/src/services/SDK_API_KEY_VALIDATION.md +0 -421
- package/src/services/apiKeyService.ts +0 -984
- package/src/services/oauthService.ts +0 -412
- package/src/services/platformAuthService.ts +0 -1113
- package/src/types/ambient.d.ts +0 -29
- package/src/types/declarations.d.ts +0 -26
- package/src/types/index.d.ts +0 -274
- package/src/types/index.ts +0 -244
- package/src/types/node-fix.d.ts +0 -19
- package/src/types/node-override.d.ts +0 -24
- package/src/types/opacity.d.ts +0 -16
- package/src/types/types.d.ts +0 -18
- package/src/types.ts +0 -298
- package/src/utils/Portal.tsx +0 -83
- package/src/utils/api.js +0 -112
- package/src/utils/auth.js +0 -104
- package/src/utils/crypto.js +0 -60
- package/src/utils/debugHelper.ts +0 -53
- package/src/utils/encryption.ts +0 -69
- package/src/utils/onairosApi.ts +0 -391
- package/src/utils/programmaticFlow.ts +0 -113
- package/src/utils/retryHelper.ts +0 -275
- package/src/utils/secureStorage.ts +0 -361
- package/types/index.d.ts +0 -218
- package/types/node-env.d.ts +0 -15
- /package/{src/assets/images → lib/commonjs/assets/icons}/farcaster.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/instagram.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/pinterest.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/swerv_logo.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/twitter.jpg +0 -0
|
@@ -1,818 +1 @@
|
|
|
1
|
-
import React, { useState, useRef } from 'react';
|
|
2
|
-
import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator, SafeAreaView, Dimensions, Linking } from 'react-native';
|
|
3
|
-
import { WebView } from 'react-native-webview';
|
|
4
|
-
import Icon from 'react-native-vector-icons/MaterialIcons';
|
|
5
|
-
import { COLORS } from '../../constants';
|
|
6
|
-
const {
|
|
7
|
-
width,
|
|
8
|
-
height
|
|
9
|
-
} = Dimensions.get('window');
|
|
10
|
-
export const OAuthWebView = ({
|
|
11
|
-
url,
|
|
12
|
-
onClose,
|
|
13
|
-
onSuccess,
|
|
14
|
-
platform = 'platform',
|
|
15
|
-
onComplete
|
|
16
|
-
}) => {
|
|
17
|
-
var _url$split$, _url$split$2;
|
|
18
|
-
const [isLoading, setIsLoading] = useState(true);
|
|
19
|
-
const [error, setError] = useState(null);
|
|
20
|
-
const [errorMessage, setErrorMessage] = useState('');
|
|
21
|
-
const [isRetryable, setIsRetryable] = useState(true);
|
|
22
|
-
const [retryCount, setRetryCount] = useState(0);
|
|
23
|
-
const webViewRef = useRef(null);
|
|
24
|
-
const timeoutRef = useRef(null);
|
|
25
|
-
console.log('🌐 Opening OAuth WebView with URL:', url);
|
|
26
|
-
console.log('🔗 Platform:', platform);
|
|
27
|
-
console.log('📱 URL Components:', {
|
|
28
|
-
protocol: url.split('://')[0],
|
|
29
|
-
domain: (_url$split$ = url.split('://')[1]) === null || _url$split$ === void 0 ? void 0 : _url$split$.split('/')[0],
|
|
30
|
-
path: (_url$split$2 = url.split('://')[1]) === null || _url$split$2 === void 0 ? void 0 : _url$split$2.split('/').slice(1).join('/')
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
// Set up timeout for OAuth flow
|
|
34
|
-
React.useEffect(() => {
|
|
35
|
-
// Clear any existing timeout
|
|
36
|
-
if (timeoutRef.current) {
|
|
37
|
-
clearTimeout(timeoutRef.current);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Set a 60-second timeout for OAuth completion
|
|
41
|
-
timeoutRef.current = setTimeout(() => {
|
|
42
|
-
console.log('OAuth flow timeout - no completion detected');
|
|
43
|
-
setError('OAuth flow is taking too long. Please try again or use the browser option.');
|
|
44
|
-
setIsLoading(false);
|
|
45
|
-
}, 60000);
|
|
46
|
-
return () => {
|
|
47
|
-
if (timeoutRef.current) {
|
|
48
|
-
clearTimeout(timeoutRef.current);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}, [url]);
|
|
52
|
-
|
|
53
|
-
// Clear timeout when component unmounts or OAuth completes
|
|
54
|
-
React.useEffect(() => {
|
|
55
|
-
return () => {
|
|
56
|
-
if (timeoutRef.current) {
|
|
57
|
-
clearTimeout(timeoutRef.current);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
}, []);
|
|
61
|
-
const onNavigationStateChange = navState => {
|
|
62
|
-
const currentUrl = navState.url;
|
|
63
|
-
console.log('🌐 Navigation state changed:', {
|
|
64
|
-
url: currentUrl,
|
|
65
|
-
canGoBack: navState.canGoBack,
|
|
66
|
-
canGoForward: navState.canGoForward,
|
|
67
|
-
loading: navState.loading,
|
|
68
|
-
title: navState.title
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
// Don't process if still loading
|
|
72
|
-
if (navState.loading) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Check if this URL indicates OAuth completion
|
|
77
|
-
if (isOAuthComplete(currentUrl)) {
|
|
78
|
-
console.log('🎉 OAuth completion detected!');
|
|
79
|
-
|
|
80
|
-
// Extract the result
|
|
81
|
-
const result = extractOAuthResult(currentUrl);
|
|
82
|
-
if (result.success) {
|
|
83
|
-
console.log('✅ OAuth completed successfully:', result);
|
|
84
|
-
|
|
85
|
-
// Clear timeout
|
|
86
|
-
if (timeoutRef.current) {
|
|
87
|
-
clearTimeout(timeoutRef.current);
|
|
88
|
-
timeoutRef.current = null;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Call success callback
|
|
92
|
-
if (onSuccess && result.code) {
|
|
93
|
-
onSuccess(result.code);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Close the WebView
|
|
97
|
-
if (onComplete) {
|
|
98
|
-
onComplete();
|
|
99
|
-
}
|
|
100
|
-
} else {
|
|
101
|
-
console.error('❌ OAuth failed:', result.error);
|
|
102
|
-
|
|
103
|
-
// Clear timeout
|
|
104
|
-
if (timeoutRef.current) {
|
|
105
|
-
clearTimeout(timeoutRef.current);
|
|
106
|
-
timeoutRef.current = null;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// Set error state
|
|
110
|
-
setError('OAuth authentication failed');
|
|
111
|
-
setErrorMessage(result.error || 'Authentication failed');
|
|
112
|
-
setIsRetryable(true);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Additional check for Gmail specific patterns
|
|
117
|
-
if (platform === 'email' || platform === 'gmail') {
|
|
118
|
-
const gmailPatterns = ['onairos.uk/Home', 'onairos.uk/home', 'https://onairos.uk/Home', 'https://onairos.uk/home'];
|
|
119
|
-
for (const pattern of gmailPatterns) {
|
|
120
|
-
if (currentUrl.includes(pattern)) {
|
|
121
|
-
console.log('✅ Gmail OAuth success detected via home page redirect');
|
|
122
|
-
|
|
123
|
-
// Clear timeout
|
|
124
|
-
if (timeoutRef.current) {
|
|
125
|
-
clearTimeout(timeoutRef.current);
|
|
126
|
-
timeoutRef.current = null;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// Call success callback with Gmail-specific code
|
|
130
|
-
if (onSuccess) {
|
|
131
|
-
onSuccess('gmail_success');
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Close the WebView
|
|
135
|
-
if (onComplete) {
|
|
136
|
-
onComplete();
|
|
137
|
-
}
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// Check for error URLs
|
|
144
|
-
const errorPatterns = ['error=', 'error_description=', 'access_denied', 'user_cancelled', 'cancelled', 'denied'];
|
|
145
|
-
for (const pattern of errorPatterns) {
|
|
146
|
-
if (currentUrl.includes(pattern)) {
|
|
147
|
-
console.log('❌ OAuth error detected in URL:', pattern);
|
|
148
|
-
|
|
149
|
-
// Clear timeout
|
|
150
|
-
if (timeoutRef.current) {
|
|
151
|
-
clearTimeout(timeoutRef.current);
|
|
152
|
-
timeoutRef.current = null;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// Parse error details
|
|
156
|
-
try {
|
|
157
|
-
const urlObj = new URL(currentUrl);
|
|
158
|
-
const params = new URLSearchParams(urlObj.search);
|
|
159
|
-
const errorDescription = params.get('error_description') || params.get('error') || 'Authentication failed';
|
|
160
|
-
setError('OAuth authentication failed');
|
|
161
|
-
setErrorMessage(errorDescription);
|
|
162
|
-
setIsRetryable(true);
|
|
163
|
-
} catch (parseError) {
|
|
164
|
-
setError('OAuth authentication failed');
|
|
165
|
-
setErrorMessage('Authentication failed');
|
|
166
|
-
setIsRetryable(true);
|
|
167
|
-
}
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
const handleLoadEnd = () => {
|
|
173
|
-
setIsLoading(false);
|
|
174
|
-
setError(null);
|
|
175
|
-
setErrorMessage('');
|
|
176
|
-
};
|
|
177
|
-
const handleError = syntheticEvent => {
|
|
178
|
-
const {
|
|
179
|
-
nativeEvent
|
|
180
|
-
} = syntheticEvent;
|
|
181
|
-
console.error('🚨 WebView error details:', {
|
|
182
|
-
description: nativeEvent.description,
|
|
183
|
-
code: nativeEvent.code,
|
|
184
|
-
domain: nativeEvent.domain,
|
|
185
|
-
url: nativeEvent.url,
|
|
186
|
-
canGoBack: nativeEvent.canGoBack,
|
|
187
|
-
canGoForward: nativeEvent.canGoForward,
|
|
188
|
-
loading: nativeEvent.loading,
|
|
189
|
-
target: nativeEvent.target,
|
|
190
|
-
title: nativeEvent.title
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
// Check for specific NSURLErrorDomain codes
|
|
194
|
-
let errorMessage = 'Failed to load OAuth page.';
|
|
195
|
-
let isRetryable = true;
|
|
196
|
-
if (nativeEvent.domain === 'NSURLErrorDomain') {
|
|
197
|
-
switch (nativeEvent.code) {
|
|
198
|
-
case -1009:
|
|
199
|
-
// NSURLErrorNotConnectedToInternet
|
|
200
|
-
errorMessage = 'No internet connection. Please check your network and try again.';
|
|
201
|
-
isRetryable = true;
|
|
202
|
-
break;
|
|
203
|
-
case -1003:
|
|
204
|
-
// NSURLErrorCannotFindHost
|
|
205
|
-
errorMessage = 'Cannot reach authentication server. Please check your internet connection.';
|
|
206
|
-
isRetryable = true;
|
|
207
|
-
break;
|
|
208
|
-
case -1001:
|
|
209
|
-
// NSURLErrorTimedOut
|
|
210
|
-
errorMessage = 'Connection timed out. Please try again.';
|
|
211
|
-
isRetryable = true;
|
|
212
|
-
break;
|
|
213
|
-
case -1200:
|
|
214
|
-
// NSURLErrorSecureConnectionFailed
|
|
215
|
-
errorMessage = 'Secure connection failed. Please try again.';
|
|
216
|
-
isRetryable = true;
|
|
217
|
-
break;
|
|
218
|
-
case -1022:
|
|
219
|
-
// NSURLErrorAppTransportSecurityRequiresSecureConnection
|
|
220
|
-
errorMessage = 'App Transport Security error. Connection must be secure.';
|
|
221
|
-
isRetryable = false;
|
|
222
|
-
break;
|
|
223
|
-
case -1004:
|
|
224
|
-
// NSURLErrorCannotConnectToHost
|
|
225
|
-
errorMessage = 'Cannot connect to authentication server. Please try again later.';
|
|
226
|
-
isRetryable = true;
|
|
227
|
-
break;
|
|
228
|
-
case -1005:
|
|
229
|
-
// NSURLErrorNetworkConnectionLost
|
|
230
|
-
errorMessage = 'Network connection lost. Please check your connection and try again.';
|
|
231
|
-
isRetryable = true;
|
|
232
|
-
break;
|
|
233
|
-
case -1020:
|
|
234
|
-
// NSURLErrorDataNotAllowed
|
|
235
|
-
errorMessage = 'Data not allowed. Please check your cellular data settings.';
|
|
236
|
-
isRetryable = true;
|
|
237
|
-
break;
|
|
238
|
-
default:
|
|
239
|
-
errorMessage = `Network error (${nativeEvent.code}): ${nativeEvent.description || 'Please check your connection and try again.'}`;
|
|
240
|
-
isRetryable = true;
|
|
241
|
-
}
|
|
242
|
-
} else if (nativeEvent.domain === 'WebKitErrorDomain') {
|
|
243
|
-
switch (nativeEvent.code) {
|
|
244
|
-
case 102:
|
|
245
|
-
// WebKitErrorFrameLoadInterruptedByPolicyChange
|
|
246
|
-
errorMessage = 'Page load was interrupted. Please try again.';
|
|
247
|
-
isRetryable = true;
|
|
248
|
-
break;
|
|
249
|
-
case 204:
|
|
250
|
-
// WebKitErrorPlugInLoadFailed
|
|
251
|
-
errorMessage = 'Plugin failed to load. Please try again.';
|
|
252
|
-
isRetryable = true;
|
|
253
|
-
break;
|
|
254
|
-
default:
|
|
255
|
-
errorMessage = `WebKit error (${nativeEvent.code}): ${nativeEvent.description || 'Please try again.'}`;
|
|
256
|
-
isRetryable = true;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
console.error('🔴 OAuth WebView Error:', errorMessage);
|
|
260
|
-
|
|
261
|
-
// Implement smart retry logic
|
|
262
|
-
if (isRetryable && retryCount < 3) {
|
|
263
|
-
console.log(`🔄 Auto-retrying OAuth load (attempt ${retryCount + 1}/3) in 3 seconds...`);
|
|
264
|
-
setRetryCount(prev => prev + 1);
|
|
265
|
-
setIsLoading(true);
|
|
266
|
-
setError(null);
|
|
267
|
-
|
|
268
|
-
// Retry after a delay with exponential backoff
|
|
269
|
-
const retryDelay = 3000 * Math.pow(2, retryCount); // 3s, 6s, 12s
|
|
270
|
-
setTimeout(() => {
|
|
271
|
-
if (webViewRef.current) {
|
|
272
|
-
console.log(`🔄 Attempting retry ${retryCount + 1}...`);
|
|
273
|
-
webViewRef.current.reload();
|
|
274
|
-
}
|
|
275
|
-
}, retryDelay);
|
|
276
|
-
} else {
|
|
277
|
-
setError(errorMessage);
|
|
278
|
-
setIsLoading(false);
|
|
279
|
-
|
|
280
|
-
// Show additional help for persistent errors
|
|
281
|
-
if (retryCount >= 3) {
|
|
282
|
-
console.log('❌ Maximum retries reached, showing error to user');
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
};
|
|
286
|
-
const handleOpenInBrowser = () => {
|
|
287
|
-
console.log('Opening OAuth URL in external browser:', url);
|
|
288
|
-
Linking.openURL(url).catch(err => {
|
|
289
|
-
console.error('Failed to open URL in browser:', err);
|
|
290
|
-
setError('Unable to open browser. Please check your device settings.');
|
|
291
|
-
});
|
|
292
|
-
};
|
|
293
|
-
const handleRetry = () => {
|
|
294
|
-
console.log('Manual retry requested');
|
|
295
|
-
setError(null);
|
|
296
|
-
setErrorMessage('');
|
|
297
|
-
setIsRetryable(true);
|
|
298
|
-
setIsLoading(true);
|
|
299
|
-
setRetryCount(0);
|
|
300
|
-
if (webViewRef.current) {
|
|
301
|
-
webViewRef.current.reload();
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Get platform-specific icon
|
|
307
|
-
*/
|
|
308
|
-
const getPlatformIcon = platform => {
|
|
309
|
-
switch (platform) {
|
|
310
|
-
case 'instagram':
|
|
311
|
-
return 'photo-camera';
|
|
312
|
-
case 'youtube':
|
|
313
|
-
return 'smart-display';
|
|
314
|
-
case 'pinterest':
|
|
315
|
-
return 'push-pin';
|
|
316
|
-
case 'reddit':
|
|
317
|
-
return 'forum';
|
|
318
|
-
case 'email':
|
|
319
|
-
return 'email';
|
|
320
|
-
default:
|
|
321
|
-
return 'link';
|
|
322
|
-
}
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Get platform-specific color
|
|
327
|
-
*/
|
|
328
|
-
const getPlatformColor = platform => {
|
|
329
|
-
switch (platform) {
|
|
330
|
-
case 'instagram':
|
|
331
|
-
return '#E1306C';
|
|
332
|
-
case 'youtube':
|
|
333
|
-
return '#FF0000';
|
|
334
|
-
case 'pinterest':
|
|
335
|
-
return '#E60023';
|
|
336
|
-
case 'reddit':
|
|
337
|
-
return '#FF4500';
|
|
338
|
-
case 'email':
|
|
339
|
-
return '#4285F4';
|
|
340
|
-
default:
|
|
341
|
-
return COLORS.primary;
|
|
342
|
-
}
|
|
343
|
-
};
|
|
344
|
-
|
|
345
|
-
// Check if URL indicates OAuth completion
|
|
346
|
-
const isOAuthComplete = url => {
|
|
347
|
-
// Gmail OAuth completion patterns
|
|
348
|
-
const gmailSuccessPatterns = ['https://onairos.uk/Home', 'https://onairos.uk/home', 'onairos.uk/Home', 'onairos.uk/home', process.env.APP_HOME_URL].filter(Boolean);
|
|
349
|
-
|
|
350
|
-
// Check for success redirect patterns
|
|
351
|
-
for (const pattern of gmailSuccessPatterns) {
|
|
352
|
-
if (url.includes(pattern)) {
|
|
353
|
-
console.log('✅ OAuth success detected via redirect to:', pattern);
|
|
354
|
-
return true;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
// Check for traditional OAuth callback patterns (more specific)
|
|
359
|
-
// Only match actual query parameters, not just any occurrence in the URL
|
|
360
|
-
const callbackPatterns = ['code=', 'access_token=', 'oauth_token=', 'authorization_code=', 'auth_code=', 'token='];
|
|
361
|
-
for (const pattern of callbackPatterns) {
|
|
362
|
-
if (url.includes(pattern)) {
|
|
363
|
-
console.log('✅ OAuth success detected via callback parameter:', pattern);
|
|
364
|
-
return true;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
// Check for specific callback URLs (more targeted than generic words)
|
|
369
|
-
const callbackUrlPatterns = ['/callback', '/oauth/callback', '/auth/callback', 'redirect_uri', 'onairos.uk/callback', 'onairos.uk/oauth'];
|
|
370
|
-
for (const pattern of callbackUrlPatterns) {
|
|
371
|
-
if (url.includes(pattern)) {
|
|
372
|
-
console.log('✅ OAuth success detected via callback URL pattern:', pattern);
|
|
373
|
-
return true;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
// Check for error patterns
|
|
378
|
-
const errorPatterns = ['error=', 'error_description=', 'oauth_error=', 'auth_error=', 'access_denied', 'user_cancelled', 'cancelled', 'denied'];
|
|
379
|
-
for (const pattern of errorPatterns) {
|
|
380
|
-
if (url.includes(pattern)) {
|
|
381
|
-
console.log('❌ OAuth error detected via pattern:', pattern);
|
|
382
|
-
return false;
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
return false;
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
// Extract OAuth result from URL
|
|
389
|
-
const extractOAuthResult = url => {
|
|
390
|
-
try {
|
|
391
|
-
const urlObj = new URL(url);
|
|
392
|
-
const params = new URLSearchParams(urlObj.search);
|
|
393
|
-
|
|
394
|
-
// Check for error first
|
|
395
|
-
const error = params.get('error') || params.get('error_description') || params.get('oauth_error');
|
|
396
|
-
if (error) {
|
|
397
|
-
return {
|
|
398
|
-
success: false,
|
|
399
|
-
error
|
|
400
|
-
};
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
// Check for success indicators
|
|
404
|
-
const code = params.get('code') || params.get('authorization_code') || params.get('auth_code');
|
|
405
|
-
const accessToken = params.get('access_token') || params.get('oauth_token') || params.get('token');
|
|
406
|
-
if (code || accessToken) {
|
|
407
|
-
return {
|
|
408
|
-
success: true,
|
|
409
|
-
code: code || accessToken
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
// Check for success redirect to home page (Gmail pattern)
|
|
414
|
-
const gmailSuccessPatterns = ['https://onairos.uk/Home', 'https://onairos.uk/home', 'onairos.uk/Home', 'onairos.uk/home'];
|
|
415
|
-
for (const pattern of gmailSuccessPatterns) {
|
|
416
|
-
if (url.includes(pattern)) {
|
|
417
|
-
console.log('✅ Gmail OAuth success detected via home page redirect');
|
|
418
|
-
return {
|
|
419
|
-
success: true,
|
|
420
|
-
code: 'gmail_home_redirect'
|
|
421
|
-
};
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
// If we reached here and isOAuthComplete returned true, assume success
|
|
426
|
-
if (isOAuthComplete(url)) {
|
|
427
|
-
return {
|
|
428
|
-
success: true,
|
|
429
|
-
code: 'oauth_complete'
|
|
430
|
-
};
|
|
431
|
-
}
|
|
432
|
-
return {
|
|
433
|
-
success: false,
|
|
434
|
-
error: 'OAuth completion not detected'
|
|
435
|
-
};
|
|
436
|
-
} catch (error) {
|
|
437
|
-
console.error('Error parsing OAuth URL:', error);
|
|
438
|
-
return {
|
|
439
|
-
success: false,
|
|
440
|
-
error: 'Invalid OAuth callback URL'
|
|
441
|
-
};
|
|
442
|
-
}
|
|
443
|
-
};
|
|
444
|
-
if (error) {
|
|
445
|
-
return /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
446
|
-
style: styles.container
|
|
447
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
448
|
-
style: styles.header
|
|
449
|
-
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
450
|
-
onPress: onClose,
|
|
451
|
-
style: styles.closeButton
|
|
452
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
453
|
-
name: "close",
|
|
454
|
-
size: 24,
|
|
455
|
-
color: "#000"
|
|
456
|
-
})), /*#__PURE__*/React.createElement(View, {
|
|
457
|
-
style: styles.titleContainer
|
|
458
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
459
|
-
name: getPlatformIcon(platform),
|
|
460
|
-
size: 20,
|
|
461
|
-
color: getPlatformColor(platform)
|
|
462
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
463
|
-
style: styles.titleText
|
|
464
|
-
}, platform.charAt(0).toUpperCase() + platform.slice(1), " OAuth"))), /*#__PURE__*/React.createElement(View, {
|
|
465
|
-
style: styles.errorContainer
|
|
466
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
467
|
-
name: "error-outline",
|
|
468
|
-
size: 48,
|
|
469
|
-
color: "#FF6B6B"
|
|
470
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
471
|
-
style: styles.errorTitle
|
|
472
|
-
}, "Connection Error"), /*#__PURE__*/React.createElement(Text, {
|
|
473
|
-
style: styles.errorMessage
|
|
474
|
-
}, errorMessage || error), error.includes('internet') || error.includes('network') ? /*#__PURE__*/React.createElement(View, {
|
|
475
|
-
style: styles.helpContainer
|
|
476
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
477
|
-
style: styles.helpTitle
|
|
478
|
-
}, "\uD83D\uDCA1 Troubleshooting Steps:"), /*#__PURE__*/React.createElement(Text, {
|
|
479
|
-
style: styles.helpText
|
|
480
|
-
}, "\u2022 Check your Wi-Fi or cellular connection"), /*#__PURE__*/React.createElement(Text, {
|
|
481
|
-
style: styles.helpText
|
|
482
|
-
}, "\u2022 Try switching between Wi-Fi and cellular"), /*#__PURE__*/React.createElement(Text, {
|
|
483
|
-
style: styles.helpText
|
|
484
|
-
}, "\u2022 Ensure you're not using a VPN that blocks OAuth"), /*#__PURE__*/React.createElement(Text, {
|
|
485
|
-
style: styles.helpText
|
|
486
|
-
}, "\u2022 Close other apps that might be using bandwidth")) : error.includes('timeout') ? /*#__PURE__*/React.createElement(View, {
|
|
487
|
-
style: styles.helpContainer
|
|
488
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
489
|
-
style: styles.helpTitle
|
|
490
|
-
}, "\u23F1\uFE0F Connection Timeout:"), /*#__PURE__*/React.createElement(Text, {
|
|
491
|
-
style: styles.helpText
|
|
492
|
-
}, "\u2022 Your connection might be slow"), /*#__PURE__*/React.createElement(Text, {
|
|
493
|
-
style: styles.helpText
|
|
494
|
-
}, "\u2022 Try again when you have a stronger signal"), /*#__PURE__*/React.createElement(Text, {
|
|
495
|
-
style: styles.helpText
|
|
496
|
-
}, "\u2022 Use \"Open in Browser\" for better reliability")) : error.includes('secure') || error.includes('SSL') ? /*#__PURE__*/React.createElement(View, {
|
|
497
|
-
style: styles.helpContainer
|
|
498
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
499
|
-
style: styles.helpTitle
|
|
500
|
-
}, "\uD83D\uDD12 Security Error:"), /*#__PURE__*/React.createElement(Text, {
|
|
501
|
-
style: styles.helpText
|
|
502
|
-
}, "\u2022 Check your device's date and time settings"), /*#__PURE__*/React.createElement(Text, {
|
|
503
|
-
style: styles.helpText
|
|
504
|
-
}, "\u2022 Update your device's operating system"), /*#__PURE__*/React.createElement(Text, {
|
|
505
|
-
style: styles.helpText
|
|
506
|
-
}, "\u2022 Try \"Open in Browser\" as an alternative")) : /*#__PURE__*/React.createElement(View, {
|
|
507
|
-
style: styles.helpContainer
|
|
508
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
509
|
-
style: styles.helpTitle
|
|
510
|
-
}, "\uD83D\uDD27 General Solutions:"), /*#__PURE__*/React.createElement(Text, {
|
|
511
|
-
style: styles.helpText
|
|
512
|
-
}, "\u2022 Close and reopen the app"), /*#__PURE__*/React.createElement(Text, {
|
|
513
|
-
style: styles.helpText
|
|
514
|
-
}, "\u2022 Check your internet connection"), /*#__PURE__*/React.createElement(Text, {
|
|
515
|
-
style: styles.helpText
|
|
516
|
-
}, "\u2022 Use \"Open in Browser\" for better reliability")), /*#__PURE__*/React.createElement(View, {
|
|
517
|
-
style: styles.buttonContainer
|
|
518
|
-
}, isRetryable && /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
519
|
-
style: styles.retryButton,
|
|
520
|
-
onPress: handleRetry
|
|
521
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
522
|
-
name: "refresh",
|
|
523
|
-
size: 20,
|
|
524
|
-
color: "#fff",
|
|
525
|
-
style: styles.buttonIcon
|
|
526
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
527
|
-
style: styles.retryButtonText
|
|
528
|
-
}, "Retry")), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
529
|
-
style: styles.browserButton,
|
|
530
|
-
onPress: handleOpenInBrowser
|
|
531
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
532
|
-
name: "open-in-browser",
|
|
533
|
-
size: 20,
|
|
534
|
-
color: "#666",
|
|
535
|
-
style: styles.buttonIcon
|
|
536
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
537
|
-
style: styles.browserButtonText
|
|
538
|
-
}, "Open in Browser"))), retryCount >= 3 && /*#__PURE__*/React.createElement(View, {
|
|
539
|
-
style: styles.persistentErrorContainer
|
|
540
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
541
|
-
style: styles.persistentErrorText
|
|
542
|
-
}, "Still having trouble? Try these steps:"), /*#__PURE__*/React.createElement(Text, {
|
|
543
|
-
style: styles.persistentErrorStep
|
|
544
|
-
}, "1. Use \"Open in Browser\" for more reliable authentication"), /*#__PURE__*/React.createElement(Text, {
|
|
545
|
-
style: styles.persistentErrorStep
|
|
546
|
-
}, "2. Check if other apps can access the internet"), /*#__PURE__*/React.createElement(Text, {
|
|
547
|
-
style: styles.persistentErrorStep
|
|
548
|
-
}, "3. Restart your device if the problem persists"))));
|
|
549
|
-
}
|
|
550
|
-
return /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
551
|
-
style: styles.container
|
|
552
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
553
|
-
style: styles.header
|
|
554
|
-
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
555
|
-
onPress: onClose,
|
|
556
|
-
style: styles.closeButton
|
|
557
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
558
|
-
name: "close",
|
|
559
|
-
size: 24,
|
|
560
|
-
color: "#000"
|
|
561
|
-
})), /*#__PURE__*/React.createElement(View, {
|
|
562
|
-
style: styles.titleContainer
|
|
563
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
564
|
-
name: getPlatformIcon(platform),
|
|
565
|
-
size: 20,
|
|
566
|
-
color: getPlatformColor(platform)
|
|
567
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
568
|
-
style: styles.titleText
|
|
569
|
-
}, platform.charAt(0).toUpperCase() + platform.slice(1), " OAuth")), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
570
|
-
onPress: handleOpenInBrowser,
|
|
571
|
-
style: styles.browserButton
|
|
572
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
573
|
-
name: "open-in-browser",
|
|
574
|
-
size: 20,
|
|
575
|
-
color: "#666"
|
|
576
|
-
}))), /*#__PURE__*/React.createElement(WebView, {
|
|
577
|
-
ref: webViewRef,
|
|
578
|
-
source: {
|
|
579
|
-
uri: url
|
|
580
|
-
},
|
|
581
|
-
onNavigationStateChange: onNavigationStateChange,
|
|
582
|
-
onLoadEnd: handleLoadEnd,
|
|
583
|
-
onError: handleError,
|
|
584
|
-
onHttpError: syntheticEvent => {
|
|
585
|
-
const {
|
|
586
|
-
nativeEvent
|
|
587
|
-
} = syntheticEvent;
|
|
588
|
-
console.error('WebView HTTP error:', nativeEvent);
|
|
589
|
-
setError('Failed to load OAuth page. Please check your internet connection.');
|
|
590
|
-
setIsLoading(false);
|
|
591
|
-
},
|
|
592
|
-
style: styles.webView,
|
|
593
|
-
javaScriptEnabled: true,
|
|
594
|
-
domStorageEnabled: true,
|
|
595
|
-
startInLoadingState: true,
|
|
596
|
-
scalesPageToFit: true,
|
|
597
|
-
allowsInlineMediaPlayback: true,
|
|
598
|
-
mediaPlaybackRequiresUserAction: false,
|
|
599
|
-
mixedContentMode: "compatibility",
|
|
600
|
-
thirdPartyCookiesEnabled: true,
|
|
601
|
-
sharedCookiesEnabled: true,
|
|
602
|
-
cacheEnabled: true,
|
|
603
|
-
allowsBackForwardNavigationGestures: true,
|
|
604
|
-
allowsLinkPreview: false,
|
|
605
|
-
userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
|
|
606
|
-
onShouldStartLoadWithRequest: request => {
|
|
607
|
-
console.log('WebView attempting to load:', request.url);
|
|
608
|
-
|
|
609
|
-
// Block about:srcdoc and other problematic URLs
|
|
610
|
-
if (request.url.startsWith('about:') || request.url.startsWith('data:') || request.url === 'about:blank') {
|
|
611
|
-
console.log('Blocking problematic URL:', request.url);
|
|
612
|
-
return false;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
// Allow all other requests
|
|
616
|
-
return true;
|
|
617
|
-
},
|
|
618
|
-
onLoadStart: syntheticEvent => {
|
|
619
|
-
const {
|
|
620
|
-
nativeEvent
|
|
621
|
-
} = syntheticEvent;
|
|
622
|
-
console.log('WebView load started:', nativeEvent.url);
|
|
623
|
-
setIsLoading(true);
|
|
624
|
-
},
|
|
625
|
-
onLoadProgress: syntheticEvent => {
|
|
626
|
-
const {
|
|
627
|
-
nativeEvent
|
|
628
|
-
} = syntheticEvent;
|
|
629
|
-
console.log('WebView load progress:', nativeEvent.progress);
|
|
630
|
-
},
|
|
631
|
-
renderError: errorName => /*#__PURE__*/React.createElement(View, {
|
|
632
|
-
style: styles.errorContainer
|
|
633
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
634
|
-
name: "error-outline",
|
|
635
|
-
size: 48,
|
|
636
|
-
color: "#FF6B6B"
|
|
637
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
638
|
-
style: styles.errorTitle
|
|
639
|
-
}, "WebView Error"), /*#__PURE__*/React.createElement(Text, {
|
|
640
|
-
style: styles.errorMessage
|
|
641
|
-
}, "Failed to load the authentication page. Error: ", errorName), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
642
|
-
style: styles.retryButton,
|
|
643
|
-
onPress: handleRetry
|
|
644
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
645
|
-
style: styles.retryButtonText
|
|
646
|
-
}, "Retry"))),
|
|
647
|
-
renderLoading: () => /*#__PURE__*/React.createElement(View, {
|
|
648
|
-
style: styles.loadingContainer
|
|
649
|
-
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
650
|
-
size: "large",
|
|
651
|
-
color: COLORS.primary
|
|
652
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
653
|
-
style: styles.loadingText
|
|
654
|
-
}, "Loading ", platform, "...")),
|
|
655
|
-
injectedJavaScript: `
|
|
656
|
-
// Prevent white screen issues
|
|
657
|
-
window.addEventListener('error', function(e) {
|
|
658
|
-
console.log('JavaScript error:', e.message);
|
|
659
|
-
});
|
|
660
|
-
|
|
661
|
-
// Handle OAuth redirects
|
|
662
|
-
window.addEventListener('beforeunload', function(e) {
|
|
663
|
-
console.log('Page unloading:', window.location.href);
|
|
664
|
-
});
|
|
665
|
-
|
|
666
|
-
// Monitor for OAuth completion
|
|
667
|
-
setInterval(function() {
|
|
668
|
-
if (window.location.href.includes('code=') ||
|
|
669
|
-
window.location.href.includes('access_token=') ||
|
|
670
|
-
window.location.href.includes('oauth_token=') ||
|
|
671
|
-
window.location.href.includes('api2.onairos.uk')) {
|
|
672
|
-
console.log('OAuth completion detected:', window.location.href);
|
|
673
|
-
}
|
|
674
|
-
}, 1000);
|
|
675
|
-
|
|
676
|
-
true; // Required for injected JavaScript
|
|
677
|
-
`
|
|
678
|
-
}));
|
|
679
|
-
};
|
|
680
|
-
const styles = StyleSheet.create({
|
|
681
|
-
container: {
|
|
682
|
-
flex: 1,
|
|
683
|
-
backgroundColor: '#fff'
|
|
684
|
-
},
|
|
685
|
-
header: {
|
|
686
|
-
flexDirection: 'row',
|
|
687
|
-
alignItems: 'center',
|
|
688
|
-
height: 56,
|
|
689
|
-
backgroundColor: '#f8f8f8',
|
|
690
|
-
borderBottomWidth: 1,
|
|
691
|
-
borderBottomColor: '#e0e0e0',
|
|
692
|
-
paddingHorizontal: 16
|
|
693
|
-
},
|
|
694
|
-
titleContainer: {
|
|
695
|
-
flex: 1,
|
|
696
|
-
flexDirection: 'row',
|
|
697
|
-
alignItems: 'center',
|
|
698
|
-
justifyContent: 'center'
|
|
699
|
-
},
|
|
700
|
-
titleText: {
|
|
701
|
-
marginLeft: 8,
|
|
702
|
-
fontSize: 16,
|
|
703
|
-
fontWeight: '500',
|
|
704
|
-
color: '#000'
|
|
705
|
-
},
|
|
706
|
-
closeButton: {
|
|
707
|
-
padding: 8,
|
|
708
|
-
position: 'absolute',
|
|
709
|
-
left: 16,
|
|
710
|
-
zIndex: 10
|
|
711
|
-
},
|
|
712
|
-
browserButton: {
|
|
713
|
-
backgroundColor: 'transparent',
|
|
714
|
-
borderWidth: 1,
|
|
715
|
-
borderColor: '#666',
|
|
716
|
-
paddingHorizontal: 24,
|
|
717
|
-
paddingVertical: 12,
|
|
718
|
-
borderRadius: 8,
|
|
719
|
-
flexDirection: 'row',
|
|
720
|
-
alignItems: 'center',
|
|
721
|
-
justifyContent: 'center'
|
|
722
|
-
},
|
|
723
|
-
webView: {
|
|
724
|
-
flex: 1
|
|
725
|
-
},
|
|
726
|
-
loadingContainer: {
|
|
727
|
-
...StyleSheet.absoluteFillObject,
|
|
728
|
-
backgroundColor: 'rgba(255, 255, 255, 0.8)',
|
|
729
|
-
alignItems: 'center',
|
|
730
|
-
justifyContent: 'center'
|
|
731
|
-
},
|
|
732
|
-
loadingText: {
|
|
733
|
-
marginTop: 10,
|
|
734
|
-
fontSize: 16,
|
|
735
|
-
color: '#666'
|
|
736
|
-
},
|
|
737
|
-
errorContainer: {
|
|
738
|
-
flex: 1,
|
|
739
|
-
alignItems: 'center',
|
|
740
|
-
justifyContent: 'center',
|
|
741
|
-
padding: 20
|
|
742
|
-
},
|
|
743
|
-
errorTitle: {
|
|
744
|
-
fontSize: 18,
|
|
745
|
-
fontWeight: '600',
|
|
746
|
-
color: '#333',
|
|
747
|
-
marginTop: 16,
|
|
748
|
-
marginBottom: 8
|
|
749
|
-
},
|
|
750
|
-
errorMessage: {
|
|
751
|
-
fontSize: 14,
|
|
752
|
-
color: '#666',
|
|
753
|
-
textAlign: 'center',
|
|
754
|
-
marginBottom: 20
|
|
755
|
-
},
|
|
756
|
-
retryButton: {
|
|
757
|
-
backgroundColor: COLORS.primary,
|
|
758
|
-
paddingHorizontal: 24,
|
|
759
|
-
paddingVertical: 12,
|
|
760
|
-
borderRadius: 8,
|
|
761
|
-
marginRight: 10,
|
|
762
|
-
flexDirection: 'row',
|
|
763
|
-
alignItems: 'center',
|
|
764
|
-
justifyContent: 'center'
|
|
765
|
-
},
|
|
766
|
-
retryButtonText: {
|
|
767
|
-
color: '#fff',
|
|
768
|
-
fontSize: 16,
|
|
769
|
-
fontWeight: '600'
|
|
770
|
-
},
|
|
771
|
-
buttonContainer: {
|
|
772
|
-
flexDirection: 'row',
|
|
773
|
-
justifyContent: 'center',
|
|
774
|
-
alignItems: 'center',
|
|
775
|
-
marginTop: 10
|
|
776
|
-
},
|
|
777
|
-
browserButtonText: {
|
|
778
|
-
color: '#666',
|
|
779
|
-
fontSize: 16,
|
|
780
|
-
fontWeight: '600'
|
|
781
|
-
},
|
|
782
|
-
helpContainer: {
|
|
783
|
-
marginBottom: 20
|
|
784
|
-
},
|
|
785
|
-
helpTitle: {
|
|
786
|
-
fontSize: 18,
|
|
787
|
-
fontWeight: '600',
|
|
788
|
-
color: '#333',
|
|
789
|
-
marginBottom: 8
|
|
790
|
-
},
|
|
791
|
-
helpText: {
|
|
792
|
-
fontSize: 14,
|
|
793
|
-
color: '#666',
|
|
794
|
-
textAlign: 'center'
|
|
795
|
-
},
|
|
796
|
-
buttonIcon: {
|
|
797
|
-
marginRight: 10
|
|
798
|
-
},
|
|
799
|
-
persistentErrorContainer: {
|
|
800
|
-
marginTop: 20,
|
|
801
|
-
padding: 20,
|
|
802
|
-
backgroundColor: '#f8f8f8',
|
|
803
|
-
borderRadius: 8
|
|
804
|
-
},
|
|
805
|
-
persistentErrorText: {
|
|
806
|
-
fontSize: 16,
|
|
807
|
-
fontWeight: '600',
|
|
808
|
-
color: '#333',
|
|
809
|
-
marginBottom: 10
|
|
810
|
-
},
|
|
811
|
-
persistentErrorStep: {
|
|
812
|
-
fontSize: 14,
|
|
813
|
-
color: '#666',
|
|
814
|
-
textAlign: 'center',
|
|
815
|
-
marginBottom: 5
|
|
816
|
-
}
|
|
817
|
-
});
|
|
818
|
-
//# sourceMappingURL=OAuthWebView.js.map
|
|
1
|
+
import React,{useState,useRef,useCallback}from'react';import{View,Text,StyleSheet,TouchableOpacity,ActivityIndicator,SafeAreaView,Dimensions,Alert,Animated}from'react-native';import{WebView}from'react-native-webview';import{CHATGPT_EXPORT_SCRIPT,CLAUDE_EXPORT_SCRIPT,LINKEDIN_PROFILE_EXTRACTOR_SCRIPT,LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT,LINKEDIN_PROFILE_SCRAPER_SCRIPT,getAntiDetectionScript,getPlatformUserAgent,isLLMPlatform,isLoggedInUrl,isLinkedInPlatform,isLinkedInProfilePage,isLinkedInLoginPage,isLinkedInOAuthCallback}from'../../utils/webviewScripts';import{initiateProfileScraping}from'../../services/linkedinDOMExtractor';import{useChatGPTConversationExtractor}from'../../services/chatGPTConversationExtractor';function _0x4ec7(){const _0x58b2c2=['get','window','platform','LLM','💼\x20[LINKEDIN]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','MYCrI','kkoVb','🤖\x20[CHATGPT]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','🧠\x20[CLAUDE]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','4|6|5|1|3|2|0','🚀\x20[CLAUDE]\x20Triggering\x20export\x20script...','2|0|1|3|4','🚀\x20[LINKEDIN]\x20Triggering\x20profile\x20DOM\x20scraping...','1|4|3|6|5|0|2','Extracting\x20profile...','🔍\x20[LINKEDIN]\x20Executing\x20profile\x20DOM\x20scraping...','success','🚀\x20[LINKEDIN]\x20User\x20logged\x20in!\x20Immediately\x20navigating\x20to\x20profile...','dSPDu','Connecting','TOoQV','Connected!','HTTP\x20error\x20on\x20onairos.uk\x20domain\x20-\x20treating\x20as\x20potential\x20success','📊\x20[LINKEDIN]\x20Scrape\x20progress:','HebEI','items','VBkke','💼\x20[LINKEDIN]\x20On\x20OAuth\x20callback\x20URL\x20-\x20connection\x20successful!','✅\x20[LINKEDIN]\x20OAuth\x20callback\x20detected\x20-\x20showing\x20success\x20animation','lRGho','fKDZh','wuPGq','⛔\x20[LINKEDIN]\x20User\x20denied\x20profile\x20consent','Connection\x20Cancelled','You\x20denied\x20access\x20to\x20your\x20LinkedIn\x20profile\x20data.','nPdvE','LINKEDIN_PROFILE_EXPORT_COMPLETE','Storing\x20profile\x20data...','📤\x20[LINKEDIN]\x20Storing\x20profile\x20data...','LINKEDIN_PROFILE_EXPORT_ERROR','4|0|1|5|2|6|3|7','Retry','❌\x20[LINKEDIN]\x20Profile\x20extraction\x20error:','ucPus','unknown_user','error','⚠️\x20[LINKEDIN]\x20Profile\x20URL\x20extraction\x20failed:','vATwN','MEMORIES_DATA','JJKkq','zXQzx','🧠\x20[CHATGPT]\x20Received\x20memories\x20data\x20from\x20WebView,\x20storing...','ktrXI','YaQDi','📤\x20[CHATGPT]\x20Storing\x20conversations\x20to\x20backend...','📤\x20[CLAUDE]\x20Storing\x20conversations\x20to\x20backend...','CONVERSATION_EXPORT_ERROR','3|0|4|2|1','Export\x20Failed','CHATGPT_CONSENT','yggmr','lkUbY','MEMORIES_FETCH_ERROR','YPrIb','💉\x20[LINKEDIN]\x20Auto-injecting\x20profile\x20extraction\x20script...','✅\x20[LINKEDIN]\x20On\x20profile\x20page','🚀\x20[LINKEDIN]\x20Auto-triggering\x20profile\x20URL\x20extraction...','LKUbW','/auth/login','/api/auth/','chatgpt.com','/api/','🔐\x20[CHATGPT]\x20On\x20auth/login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','/auth','/signin','claude.ai','🔐\x20[CLAUDE]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','✅\x20[CLAUDE]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','1|0|4|2|3','cOnFj','xsZSk','code','onairos.uk/Home','onairos.uk/success','https://onairos.uk/Home','oauth-callback.html','success=true','YLnGd','UIxdz','linkedin://','linkedinapp://','linkedinssl://','linkedin-mobile://','🚫\x20[LINKEDIN]\x20Blocked\x20app\x20deep\x20link:','intent://','linkedin','🚫\x20[LINKEDIN]\x20Blocked\x20intent://\x20deep\x20link:','http://','https://','oXOCG','EGknF','about:','🚫\x20[LINKEDIN]\x20Blocked\x20non-HTTP\x20scheme:','QeSPh','#10A37F','#FF4500','#FF0000','#E60023','#EA4335','#4285F4','cNWdA','aVVAu','DLGeU','tunJg','lMUWb','chatgpt','openai','OAuth','Connect\x20','Taking\x20longer\x20than\x20expected...','Extracting\x20Data','100%','Loading\x20','...','https://*','http://*','bMWzK','iSAOU','lSOPz','LUCLn','hPFmQ','JOmvO','ewEsG','MhNSh','EzNAm','jFzoq','SbhuR','ypzqR','Value','sNAoK','oJEKq','khnoY','current','YQWtv','HdDZd','ZJiEU','PBUra','fawMI','toLowerCase','ioWWs','nlLJI','PulKe','xmStz','UTtRF','mGIZM','claude','ueCrL','rNabn','anthropic','log','Opening\x20','wBGbL','LinkedIn','jElcr','\x20WebView\x20with\x20URL:','useEffect','DIdtP','VrLTh','OhgYr','MHLhP','\x20timeout\x20reached\x20for\x20','\x20after\x202\x20minutes','XjjQQ','pbzft','YPCod','PbcUy','jCDBC','RgDsK','synVg','xkvYu','oxclc','HcYem','FFVXZ','SmhFn','YTADf','loop','sequence','timing','setValue','lMmlw','xOfnS','split','injectJavaScript','hiVxS','CyLNe','WckYx','aQlgj','FJPLq','LPUTr','ncJWX','wKPSi','asXyC','GzUrV','kJgEn','fhBnr','VhCie','OYlEf','dTzVg','wKtMS','💼\x20[LINKEDIN]\x20Navigating\x20to\x20profile\x20page...','QvscD','FUmWW','KTcHc','RLLPz','Rymup','EDnxe','Starting\x20extraction...','cwPcw','aKoOj','FfomP','TJuLg','ptLka','EdwQl','parse','nativeEvent','data','📩\x20[','toUpperCase','type','status','VACPF','LINKEDIN_PROFILE_CONSENT','LifIv','denied','ZWbMU','alert','YORyy','ZvjNY','nqPNP','IPmRo','❌\x20[',']\x20Error\x20parsing\x20WebView\x20message:','qJQCx','VKBKf','fSJLo','progress','📊\x20[LINKEDIN]\x20Profile\x20extraction\x20progress:\x20','message','Extracting...\x20','ZUZMd','KOnNv','aDVwx','fullName','jhyNC','headline','substring','experience','length','GlVtn','YKQDW','education','Bplnu','hKcnF','skills','bXTnn','gnMoC','jpItr','RVRlB','Paxuo','TYCiY','leTKY','Extraction\x20Failed','Failed\x20to\x20extract\x20LinkedIn\x20profile:\x20','PAmQt','Close','GScsJ','tkZBa','IaYOn','dpOMI','LzYaZ','NdQGq','phQVY','✅\x20[LINKEDIN]\x20Profile\x20URL\x20extracted:','TSlMN','NhCQX','SOQHn','VnQSQ','QXFax','waiQb','KjebI','vuTjG','PeRBr','✅\x20[LINKEDIN]\x20Profile\x20scraping\x20complete!','bYIaV','VgdCz','bzCvi','Tygqh','GmbOO','Wgufy','Axaax','CNQhg','LilkA','QfAcR','yotWT','❌\x20[LINKEDIN]\x20Scraping\x20failed\x20(attempt\x20','okqEV','yseua','FgHcZ','OHkkS','KJmDk','KCigg','dBkFR','uNZRY','ZJBXD','UimUF','ugrTE','OKoxU','vPzgz','FCdid','🚀\x20[LINKEDIN]\x20Navigating\x20directly\x20to\x20/me...','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.location.href\x20=\x20\x27https://www.linkedin.com/me\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20','WcUUE','kJLUR','start','afngZ','ysVEw','wecAC','mouCL','mTqoE','DTiRa','Baagb','LJOjF','hjyhy','warn','sIwMb','ofEwk','iByLY','Gmwpb','⚠️\x20[CHATGPT]\x20Memories\x20storage\x20returned\x20false','gnKmd','MOrvH','🔍\x20[','lBGTr','fzNOT','wLIKv','gcqJa','mmkUV','memoriesData','✅\x20[CHATGPT]\x20Memories\x20stored\x20successfully!','TdLUv','xuwTa','🧠\x20[','itemsCount','pLbLm','❌\x20[CHATGPT]\x20Memories\x20storage\x20error:','MWsaA','zKqgn','FSLAb','oJBcI','EJMbc','avcRk','NwFnd','%\x20-\x20','AGvQJ','rRYBy','📊\x20[CLAUDE]\x20Export\x20progress:\x20','hJuWx','Extracting\x20data...\x20','CONVERSATION_EXPORT_COMPLETE','total_conversations','total_messages','✅\x20[CHATGPT]\x20Export\x20complete:\x20','IGGhT','conversations','vtMxZ','xlqxB','OOYWC','mJVes','YcZeu','HuTyP','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.location.href\x20=\x20\x27https://www.linkedin.com/me\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','KTEBl','📤\x20[CHATGPT]\x20Backend\x20storage\x20result:','pPqiJ','CVckw','kTted','BYQmg','aiECh','vEoIV','fsPRc','kmAxu','✅\x20[CLAUDE]\x20Export\x20complete:\x20','\x20conversations,\x20','\x20messages','lpaVG','BwebX','uDMHs','UAaoN','zybCr','✅\x20Imported\x20','VMkBF','deBWS','ilvnc','VbaJx',']\x20Export\x20error:','UTZWZ','tXeLr','AbaZB','eqKSH','WwcqI','hPzCb','cancel','sapla','Iogkt','LWWfx','sXHem','4|1|0|6|2|3|5','PtDIR','yDmVc','⛔\x20[',']\x20User\x20denied\x20consent','You\x20denied\x20access\x20to\x20your\x20','\x20conversations.','nwMMA','allowed','✅\x20[',']\x20User\x20allowed\x20consent','emxHj','jvMiO',']\x20Memories\x20fetch\x20complete:','BAppy','GsGcQ','IBHoz','KvhiS','LnKdZ','EqFXz','llZTe','⚠️\x20[','mZBfT','NRDjZ','url','ljJmH','sGqrr','wHtha','vdNUV','FAWJp','oseGO','loading','NeaNJ','luuqF','lFhqn','lfYUI','includes','eCkta','kdtlm','GhAXs','AoKRQ','🔍\x20[CHATGPT]\x20Navigation:\x20',',\x20loading=',',\x20isLoadEnd=','🔍\x20[CHATGPT]\x20State:\x20loggedIn=',',\x20exporting=',',\x20started=','bVpma','/signup','EWfav','wEEmc','chat.openai.com','VHAfB','SWqhS','TxiKC','nYVkB','eoKpY','qifAP','EOged','fZWzy','jxUyh','JOvUm','bsXBs','FsgHz','ZNwqM','wkQlS','rMUtg','Navigation\x20state\x20changed\x20for\x20','searchParams','qVhxO','has','access_token','UThtG','DCmEr','ceyRM','DnDsj','hfMXi','CGMDD','yHiCK','stop','OvOuv','sfsDo','ZOgNn','MCXNd','zlBzJ','enhfQ','onairos.uk/home','oVyme','startsWith','kGIKU','https://onairos.uk/home','RkdrC','sLjES','YzCrA','BgBcL','\x20OAuth\x20completed\x20-\x20backend\x20callback\x20finished,\x20URL:\x20','yRTUJ','bWrrl','ZyEWB','aoXqR','qMzSF','Gukmd','ncTGv','nFdRe','CeyBT','dbJIF','egrKb','DGfPj','DzuWd','ZbOKm','gUYPO','rLWeA','rrFYO','kosAX','MOgCt','SORof','WebView\x20error\x20for\x20','NEjnH','zmVJk','IWhhn','aSnVR','#D97706','LZDJD','Plhfc','SDcCb','immtk','javjI','uXKTf',']\x20Debug:','ybGOF','qORRB','uDRMY','spring','createElement','container','header','ZZzNQ','charAt','timeoutText','RjFdm','closeButton','linkedinProgressContainer','linkedinProgressTrack','View','linkedinProgressIndicator','interpolate','linkedinProgressText','HSbNb','exportProgressContainer','progressBarContainer','progressBar','Exporting...\x20','claudeExtractionOverlay','extractionContent','WFYpn','claudeExtractionTitle','pDbEQ','claudeExtractionSubtitle','claudeExtractionProgressFill','UGLNC','claudeExtractionProgressText','round','successOverlay','successCheckmark','successCheckmarkIcon','Text','successText','webViewContainer','loadingContainer','Oqlqg','loadingHint','wnzsR','hdktc','YYYBS','CsWfe','GeiKd','WebView\x20HTTP\x20error\x20for\x20','statusCode','asdoA','QjEUb','gezYf','EJDTN','anxvM','mBhXt','woxRG','Failed\x20to\x20export\x20','\x20conversations:\x20','mNoEb','byFAY','create','absolute','hidden','row','center','space-between','#E5E5E5','#fff','#333','absoluteFillObject','rgba(255,\x20255,\x20255,\x200.9)','#666','#999','#FF6B6B','#FAFBFC','#E1E9EE','#0077B5','500','IBM\x20Plex\x20Sans','#E5E7EB','#6B7280','#FFFFFF','bold','#1a1a1a','700','600'];_0x4ec7=function(){return _0x58b2c2;};return _0x4ec7();}import{useClaudeConversationExtractor}from'../../services/claudeConversationExtractor';function _0x2f61(_0x4ec7ea,_0x2f61bf){_0x4ec7ea=_0x4ec7ea-0x0;const _0x12e723=_0x4ec7();let _0x406151=_0x12e723[_0x4ec7ea];return _0x406151;}import{storeLinkedInProfile}from'../../services/linkedinProfileService';const {width,height}=Dimensions[_0x2f61(0x0)](_0x2f61(0x1));export const OAuthWebView=({url:_0x9e250d,onClose:_0x57fb05,onSuccess:_0xf66af4,platform:platform=_0x2f61(0x2),onComplete:_0x5065d1,username:_0x2ee981})=>{const _0x462523={'wBGbL':_0x2f61(0x3),'DIdtP':function(_0x46bcb6,_0x7a5572){return _0x46bcb6(_0x7a5572);},'VhCie':function(_0x2fee56,_0x2e556a,_0x1963a3){return _0x2fee56(_0x2e556a,_0x1963a3);},'pbzft':function(_0x218c74,_0x5f0440){return _0x218c74(_0x5f0440);},'YPCod':function(_0xe7a398,_0xc7427a){return _0xe7a398===_0xc7427a;},'FUsiu':_0x2f61(0x4),'oJEKq':function(_0xa5162a,_0xc147f){return _0xa5162a(_0xc147f);},'synVg':function(_0x3cd926){return _0x3cd926();},'xkvYu':function(_0x205f4d,_0x3800aa){return _0x205f4d===_0x3800aa;},'oxclc':_0x2f61(0x5),'HcYem':_0x2f61(0x6),'SmhFn':_0x2f61(0x7),'yRTUJ':_0x2f61(0x8),'xOfnS':_0x2f61(0x9),'ewEsG':function(_0x1a549e,_0x338fb8){return _0x1a549e(_0x338fb8);},'BGHGt':'🚀\x20[CHATGPT]\x20Triggering\x20export\x20script...','RLLPz':_0x2f61(0xa),'VnQSQ':function(_0x2a505a,_0x141e69){return _0x2a505a(_0x141e69);},'TJuLg':function(_0x29428f,_0x1b86e2){return _0x29428f(_0x1b86e2);},'hiVxS':'Starting\x20extraction...','CyLNe':_0x2f61(0xb),'WckYx':_0x2f61(0xc),'TSlMN':function(_0x751494,_0x128d8a){return _0x751494(_0x128d8a);},'pLMUo':_0x2f61(0xd),'FJPLq':_0x2f61(0xe),'LPUTr':function(_0x3b707b,_0x2e5068){return _0x3b707b(_0x2e5068);},'ncJWX':_0x2f61(0xf),'EdwQl':function(_0x5a7ff4,_0x52bf5b){return _0x5a7ff4(_0x52bf5b);},'TYCiY':function(_0x2ca239){return _0x2ca239();},'NdQGq':_0x2f61(0x10),'QXFax':function(_0x430ce4){return _0x430ce4();},'waiQb':_0x2f61(0x11),'oseGO':function(_0x585d95,_0x29e4ea){return _0x585d95(_0x29e4ea);},'fhBnr':function(_0x3bcc22,_0xca5cb9){return _0x3bcc22+_0xca5cb9;},'twdAl':_0x2f61(0x12),'KjebI':function(_0x1c5c12,_0x1c01f9){return _0x1c5c12(_0x1c01f9);},'QvscD':_0x2f61(0x13),'wFZJm':_0x2f61(0x14),'afngZ':function(_0xd852a4,_0x495958){return _0xd852a4<_0x495958;},'ysVEw':function(_0x57d146,_0x33bfe9){return _0x57d146-_0x33bfe9;},'wecAC':function(_0x167933,_0x4bcd6b,_0x146597){return _0x167933(_0x4bcd6b,_0x146597);},'DTiRa':function(_0x5df722,_0x337ed5,_0x39fb49){return _0x5df722(_0x337ed5,_0x39fb49);},'LJOjF':function(_0x306b87,_0x578f31){return _0x306b87(_0x578f31);},'OYlEf':function(_0x479311,_0x5570cc){return _0x479311(_0x5570cc);},'asXyC':_0x2f61(0x15),'lBGTr':_0x2f61(0x16),'FUmWW':function(_0x15d727,_0x3a7988){return _0x15d727(_0x3a7988);},'wKPSi':_0x2f61(0x17),'Paxuo':function(_0x16d1bb,_0x3abbf5){return _0x16d1bb(_0x3abbf5);},'NcVHl':function(_0x5e4ff4,_0x53ffe6){return _0x5e4ff4===_0x53ffe6;},'GzUrV':_0x2f61(0x18),'cwPcw':function(_0x5c5e9a,_0x4990c7){return _0x5c5e9a!==_0x4990c7;},'FAWJp':function(_0x2d0f9e){return _0x2d0f9e();},'dTzVg':function(_0x15a883,_0xc0434c){return _0x15a883(_0xc0434c);},'wKtMS':_0x2f61(0x19),'KTcHc':'0|1|5|7|3|2|4|8|6','Rymup':function(_0x22f28e,_0x560e15){return _0x22f28e(_0x560e15);},'EDnxe':function(_0x3d27c6,_0x17c8b0){return _0x3d27c6(_0x17c8b0);},'RYOrh':_0x2f61(0x1a),'aKoOj':function(_0x49b5d2){return _0x49b5d2();},'ljJmH':_0x2f61(0x1b),'woxRG':function(_0x2a8cb6,_0x4b143b){return _0x2a8cb6(_0x4b143b);},'FfomP':_0x2f61(0x1c),'ptLka':function(_0x5081b7,_0x551e03){return _0x5081b7!==_0x551e03;},'ruoqr':_0x2f61(0x1d),'VACPF':_0x2f61(0x1e),'oJBcI':function(_0x1a7b8c,_0x10ae53){return _0x1a7b8c===_0x10ae53;},'LifIv':_0x2f61(0x1f),'ZWbMU':_0x2f61(0x20),'YORyy':_0x2f61(0x21),'ZvjNY':_0x2f61(0x22),'adYtp':'allowed','IPmRo':_0x2f61(0x23),'qJQCx':'✅\x20[LINKEDIN]\x20User\x20allowed\x20profile\x20consent\x20-\x20starting\x20extraction','VKBKf':function(_0x57702e,_0x2b0afe){return _0x57702e===_0x2b0afe;},'fSJLo':'LINKEDIN_PROFILE_PROGRESS','LUCLn':function(_0x58a8fe,_0x29b270){return _0x58a8fe(_0x29b270);},'ZUZMd':function(_0x1ca0a7,_0x2a015e){return _0x1ca0a7===_0x2a015e;},'KOnNv':_0x2f61(0x24),'aDVwx':'✅\x20[LINKEDIN]\x20Profile\x20DOM\x20extraction\x20complete!','AiiVO':'📊\x20[LINKEDIN]\x20Extracted\x20profile:','leTKY':function(_0x44b419,_0x3f83c7){return _0x44b419===_0x3f83c7;},'jhyNC':function(_0x52de37,_0x19bdd8){return _0x52de37===_0x19bdd8;},'FMFBM':function(_0x129c9d,_0x2c14ac){return _0x129c9d===_0x2c14ac;},'emxHj':function(_0x39274c,_0x647e15){return _0x39274c===_0x647e15;},'GlVtn':function(_0x52339d,_0x172da0){return _0x52339d===_0x172da0;},'YKQDW':function(_0x553092,_0x2109cb){return _0x553092===_0x2109cb;},'Bplnu':function(_0x12937a,_0x274207){return _0x12937a===_0x274207;},'hKcnF':function(_0x7cc066,_0x59a423){return _0x7cc066===_0x59a423;},'SbhuR':function(_0x512178,_0x18ca0b){return _0x512178(_0x18ca0b);},'bXTnn':_0x2f61(0x25),'gnMoC':function(_0x224090,_0x5056e0){return _0x224090&&_0x5056e0;},'AySXO':_0x2f61(0x26),'jpItr':function(_0x222a23,_0x4bcdf3){return _0x222a23(_0x4bcdf3);},'RVRlB':function(_0x476dbc,_0x40f93f){return _0x476dbc(_0x40f93f);},'YQWtv':function(_0x52d751,_0x216e19){return _0x52d751(_0x216e19);},'WWKTV':_0x2f61(0x27),'CfVTg':_0x2f61(0x28),'yygUy':function(_0x2db799,_0x477013){return _0x2db799(_0x477013);},'PAmQt':_0x2f61(0x29),'GScsJ':'cancel','tkZBa':_0x2f61(0x2a),'IaYOn':function(_0x4e876e,_0x5a2ae6){return _0x4e876e(_0x5a2ae6);},'dpOMI':function(_0x5c2a58,_0x3ab2bd){return _0x5c2a58(_0x3ab2bd);},'LzYaZ':function(_0x34ce7d,_0x3898a0){return _0x34ce7d===_0x3898a0;},'zIAXK':'ZYtZD','phQVY':_0x2f61(0x2b),'NhCQX':function(_0x4ebe92,_0x5188e7){return _0x4ebe92||_0x5188e7;},'SOQHn':_0x2f61(0x2c),'hjyhy':_0x2f61(0x2d),'hPFmQ':function(_0x66a48c,_0x2cbaaa){return _0x66a48c(_0x2cbaaa);},'iYHtR':function(_0x48398c,_0x585fed){return _0x48398c(_0x585fed);},'sIwMb':_0x2f61(0x2e),'iByLY':function(_0x1f6935,_0x11f571){return _0x1f6935(_0x11f571);},'Gmwpb':function(_0x341bae,_0x454643){return _0x341bae(_0x454643);},'JWAxe':'DEBUG_LOG','gnKmd':function(_0x59678c,_0x329594){return _0x59678c===_0x329594;},'HCuOO':_0x2f61(0x2f),'fzNOT':function(_0x39d01a,_0x636af7){return _0x39d01a===_0x636af7;},'wLIKv':_0x2f61(0x30),'gcqJa':_0x2f61(0x31),'bKGeg':_0x2f61(0x32),'mmkUV':_0x2f61(0x33),'AGvQJ':function(_0x50a28c,_0x9d81ee){return _0x50a28c(_0x9d81ee);},'TdLUv':'xYATo','aDFtA':_0x2f61(0x34),'xuwTa':'⚠️\x20[CHATGPT]\x20Memories\x20storage\x20returned\x20false','EJMbc':'EXPORT_PROGRESS','avcRk':'kHPvt','NwFnd':_0x2f61(0x35),'hJuWx':function(_0x540810,_0x1fee58){return _0x540810(_0x1fee58);},'nlLJI':function(_0x1e78de,_0x56e64f){return _0x1e78de===_0x56e64f;},'ueCrL':function(_0x2eba50,_0x19e2c3){return _0x2eba50===_0x19e2c3;},'AKayS':function(_0x383d4b,_0x54ad0d){return _0x383d4b===_0x54ad0d;},'IGGhT':function(_0x22c8e2,_0x79a610){return _0x22c8e2!==_0x79a610;},'vtMxZ':'xlqxB','AFgXz':_0x2f61(0x36),'KTEBl':function(_0x3d9ca8,_0x2bbd41,_0x55cdc8){return _0x3d9ca8(_0x2bbd41,_0x55cdc8);},'pPqiJ':function(_0x46ab00,_0x50076b){return _0x46ab00(_0x50076b);},'CVckw':function(_0x49632f,_0x55cdba,_0x4fb45e){return _0x49632f(_0x55cdba,_0x4fb45e);},'EzNAm':function(_0x2e35b2,_0x2df5e3){return _0x2e35b2(_0x2df5e3);},'lpaVG':function(_0x278ced,_0x184801){return _0x278ced!==_0x184801;},'BwebX':_0x2f61(0x37),'RVvNd':function(_0x1e89d2,_0x366095,_0x4abfc5){return _0x1e89d2(_0x366095,_0x4abfc5);},'uDMHs':'📤\x20[CLAUDE]\x20Backend\x20storage\x20result:','CPajl':function(_0x5a7c05,_0x1be692){return _0x5a7c05(_0x1be692);},'UAaoN':function(_0x13f56d,_0x1dbc85){return _0x13f56d(_0x1dbc85);},'zybCr':function(_0x3bb17a,_0x518a7d){return _0x3bb17a(_0x518a7d);},'fawMI':function(_0x87cde8,_0x12ff01){return _0x87cde8===_0x12ff01;},'VMkBF':_0x2f61(0x38),'deBWS':function(_0x2f0779,_0x4fec2d){return _0x2f0779===_0x4fec2d;},'UTZWZ':function(_0x22783e,_0x457ca9){return _0x22783e(_0x457ca9);},'tXeLr':function(_0x342707,_0x2dadc6){return _0x342707(_0x2dadc6);},'AbaZB':_0x2f61(0x39),'eqKSH':function(_0x4f8a71,_0x515818){return _0x4f8a71(_0x515818);},'WwcqI':function(_0x886e2a,_0x41a455){return _0x886e2a(_0x41a455);},'XghHd':_0x2f61(0x3a),'hPzCb':'Close','sapla':_0x2f61(0x3b),'Iogkt':function(_0x7a418,_0x28e1b9){return _0x7a418===_0x28e1b9;},'LWWfx':'CLAUDE_CONSENT','sXHem':_0x2f61(0x3c),'yDmVc':'denied','nwMMA':function(_0x1eb141,_0x26c706){return _0x1eb141===_0x26c706;},'jvMiO':_0x2f61(0x3d),'ditsI':function(_0x5f1ee1,_0x1b6060){return _0x5f1ee1===_0x1b6060;},'llZTe':_0x2f61(0x3e),'mZBfT':_0x2f61(0x3f),'vdNUV':function(_0x2bc52f,_0x4273f9){return _0x2bc52f(_0x4273f9);},'BWLPT':_0x2f61(0x40),'lFhqn':function(_0x1d7b02,_0x24849c){return _0x1d7b02(_0x24849c);},'TxiKC':'✅\x20[CHATGPT]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','SNTbL':function(_0x135561,_0x457862){return _0x135561(_0x457862);},'NRDjZ':function(_0x46c826){return _0x46c826();},'sGqrr':function(_0x460f04,_0xe4567c){return _0x460f04(_0xe4567c);},'wHtha':function(_0x2225a0,_0x49d976){return _0x2225a0(_0x49d976);},'aQlgj':function(_0x5dab40,_0x4c3463,_0xde75de){return _0x5dab40(_0x4c3463,_0xde75de);},'dPfAz':_0x2f61(0x41),'NeaNJ':_0x2f61(0x42),'eCkta':'linkedin.com','ZmQeQ':function(_0x2255e5,_0x57fedd){return _0x2255e5(_0x57fedd);},'OOOvz':'DylvD','GhAXs':_0x2f61(0x43),'eoKpY':function(_0xf23e8){return _0xf23e8();},'gXmwP':_0x2f61(0x44),'bVpma':'auth.openai.com','qifAP':'/login','EWfav':_0x2f61(0x45),'wEEmc':_0x2f61(0x46),'VHAfB':_0x2f61(0x47),'SWqhS':_0x2f61(0x48),'lSOPz':function(_0x50436e,_0x431542){return _0x50436e(_0x431542);},'nYVkB':function(_0x1829f2,_0x22b78c,_0x4d05c5){return _0x1829f2(_0x22b78c,_0x4d05c5);},'EOged':_0x2f61(0x49),'fZWzy':_0x2f61(0x4a),'jxUyh':_0x2f61(0x4b),'HUWkZ':_0x2f61(0x4c),'JOvUm':function(_0x2dee2d,_0x11edd5){return _0x2dee2d(_0x11edd5);},'bsXBs':'FsgHz','ZNwqM':_0x2f61(0x4d),'sfsDo':_0x2f61(0x4e),'zlBzJ':function(_0x5c31ce){return _0x5c31ce();},'enhfQ':function(_0x5f7305,_0x36c493){return _0x5f7305(_0x36c493);},'AWwuM':_0x2f61(0x4f),'wkQlS':function(_0x501ef9,_0x488028){return _0x501ef9===_0x488028;},'rMUtg':_0x2f61(0x50),'qVhxO':_0x2f61(0x51),'FOOsL':function(_0x4c2a95,_0xafef06){return _0x4c2a95===_0xafef06;},'ZOgNn':function(_0x479f6f,_0x4c506e){return _0x479f6f(_0x4c506e);},'MCXNd':'vmOnM','vprwc':_0x2f61(0x52),'oVyme':_0x2f61(0x53),'kGIKU':_0x2f61(0x54),'RkdrC':_0x2f61(0x55),'sLjES':_0x2f61(0x56),'NEjnH':function(_0x3a727c,_0x3475b1){return _0x3a727c||_0x3475b1;},'YzCrA':function(_0x42be63,_0x35fd70){return _0x42be63===_0x35fd70;},'BgBcL':_0x2f61(0x57),'bWrrl':function(_0xccfe4e,_0xeb5929,_0x3b0fb6){return _0xccfe4e(_0xeb5929,_0x3b0fb6);},'qMzSF':function(_0x24253a,_0x195d31,_0x3bd83b){return _0x24253a(_0x195d31,_0x3bd83b);},'aoXqR':_0x2f61(0x58),'pZNkh':_0x2f61(0x59),'nFdRe':_0x2f61(0x5a),'IKRJG':_0x2f61(0x5b),'CeyBT':_0x2f61(0x5c),'VpNpA':_0x2f61(0x5d),'PKvtm':_0x2f61(0x5e),'dbJIF':_0x2f61(0x5f),'egrKb':_0x2f61(0x60),'DGfPj':_0x2f61(0x61),'DzuWd':_0x2f61(0x62),'ZbOKm':_0x2f61(0x63),'gUYPO':_0x2f61(0x64),'rLWeA':_0x2f61(0x65),'rrFYO':_0x2f61(0x66),'kosAX':function(_0x589f25,_0x461f18){return _0x589f25===_0x461f18;},'MOgCt':'kvfYw','IWhhn':_0x2f61(0x67),'aSnVR':_0x2f61(0x68),'LZDJD':'#D97706','Plhfc':_0x2f61(0x69),'SDcCb':_0x2f61(0x6a),'ACigz':_0x2f61(0x6b),'immtk':_0x2f61(0x6c),'javjI':_0x2f61(0x6d),'uXKTf':'#10B981','uDRMY':_0x2f61(0x6e),'tuKpv':function(_0xe15704){return _0xe15704();},'hdktc':function(_0x6f284c){return _0x6f284c();},'anxvM':function(_0x407e06){return _0x407e06();},'ybGOF':function(_0x4789d9,_0x245b2c){return _0x4789d9(_0x245b2c);},'mBhXt':function(_0x3edb32,_0x1fd42f){return _0x3edb32(_0x1fd42f);},'GeiKd':'QFSLh','BDazZ':_0x2f61(0x6f),'asdoA':'onairos.uk','wWfmc':_0x2f61(0x70),'gezYf':_0x2f61(0x71),'EJDTN':_0x2f61(0x72),'ypzqR':function(_0x1cff63,_0x77ca2b){return _0x1cff63(_0x77ca2b);},'bMWzK':function(_0x127be4,_0x3011df){return _0x127be4(_0x3011df);},'zxTGA':function(_0x270f89,_0x56f857){return _0x270f89(_0x56f857);},'iSAOU':function(_0x570199,_0x249cd2){return _0x570199(_0x249cd2);},'JOmvO':function(_0x1a36a8,_0x33a388){return _0x1a36a8(_0x33a388);},'MhNSh':function(_0x250223,_0x27d30f){return _0x250223(_0x27d30f);},'jFzoq':function(_0x3bf443,_0x51a965){return _0x3bf443(_0x51a965);},'sNAoK':function(_0x5476b8,_0x2d5cf3){return _0x5476b8(_0x2d5cf3);},'khnoY':function(_0x5b37b0,_0x7b81e2){return _0x5b37b0(_0x7b81e2);},'AoYuE':function(_0x4bfef3,_0x460a87){return _0x4bfef3(_0x460a87);},'wqhZE':function(_0x579de2,_0x4e5c81){return _0x579de2(_0x4e5c81);},'VOOTO':function(_0x407288,_0x4e3113){return _0x407288(_0x4e3113);},'rOyvY':function(_0x5e5cda,_0x51d034){return _0x5e5cda(_0x51d034);},'HdDZd':function(_0x4a5d25,_0x3cf4ff){return _0x4a5d25(_0x3cf4ff);},'XwBfC':function(_0x47e03e,_0x41677f){return _0x47e03e(_0x41677f);},'ZJiEU':function(_0x4a65ef){return _0x4a65ef();},'LZRrE':function(_0x341028,_0x122acf){return _0x341028(_0x122acf);},'PBUra':function(_0x402e90,_0x4a6360){return _0x402e90(_0x4a6360);},'EhrUv':function(_0x4b6ffb,_0x117c03){return _0x4b6ffb===_0x117c03;},'ioWWs':_0x2f61(0x73),'PulKe':function(_0x303779,_0x3430f4){return _0x303779===_0x3430f4;},'xmStz':_0x2f61(0x74),'UTtRF':function(_0x120712,_0x52eeb2){return _0x120712===_0x52eeb2;},'mGIZM':function(_0x2d6af9,_0x11a698){return _0x2d6af9===_0x11a698;},'pWABD':function(_0x105cd8,_0x545a34){return _0x105cd8===_0x545a34;},'rNabn':function(_0x1a36b9,_0x1084ee){return _0x1a36b9===_0x1084ee;},'jElcr':_0x2f61(0x75),'YTADf':function(_0x209472,_0x5ecbb9){return _0x209472&&_0x5ecbb9;},'lMmlw':function(_0x47baf7,_0x3a61c1,_0x6cbdbd){return _0x47baf7(_0x3a61c1,_0x6cbdbd);},'AoKRQ':function(_0x5007fd,_0x187446,_0x537a68){return _0x5007fd(_0x187446,_0x537a68);},'nzFOE':function(_0x226b09,_0x46a83f,_0x3f4380){return _0x226b09(_0x46a83f,_0x3f4380);},'zmVJk':function(_0x5cc57a,_0xa0be6a){return _0x5cc57a||_0xa0be6a;},'ZZzNQ':_0x2f61(0x76),'RjFdm':_0x2f61(0x77),'HSbNb':'Connecting\x20to\x20LinkedIn...','WFYpn':'large','pDbEQ':_0x2f61(0x78),'UGLNC':_0x2f61(0x79),'pkvEA':_0x2f61(0x7a),'Oqlqg':_0x2f61(0x7b),'XlFgD':'Please\x20log\x20in\x20to\x20your\x20','wnzsR':'\x20account','YYYBS':_0x2f61(0x7c),'CsWfe':_0x2f61(0x7d)},[_0x1b2d4c,_0x466d8a]=useState(!![]),[_0x3e60d3,_0x23fc62]=_0x462523['ypzqR'](useState,![]),_0x4cc779=_0x462523[_0x2f61(0x7e)](useRef,null),[_0x550208,_0x55ed54]=_0x462523['zxTGA'](useState,![]),[_0x2d3bc0,_0x2a0717]=_0x462523[_0x2f61(0x7f)](useState,![]),[_0x4afdb3,_0x55969a]=_0x462523[_0x2f61(0x80)](useState,![]),[_0x3902bd,_0x5e74b7]=_0x462523['sGqrr'](useState,![]),[_0x9b585c,_0x70744c]=_0x462523[_0x2f61(0x81)](useState,![]),[_0x2dada7,_0xa92694]=_0x462523[_0x2f61(0x82)](useState,![]),[_0x408299,_0x598d01]=_0x462523[_0x2f61(0x83)](useState,''),[_0x650a59,_0xd0a7f2]=_0x462523[_0x2f61(0x84)](useState,![]),[_0x32a324,_0x3d68b2]=_0x462523[_0x2f61(0x85)](useState,null),[_0x2db884,_0xcede77]=_0x462523[_0x2f61(0x86)](useState,![]),[_0x4b9813,_0x160e50]=_0x462523[_0x2f61(0x87)](useState,![]),[_0xa58e11,_0x4d3c22]=_0x462523[_0x2f61(0x88)](useState,0x0),[_0x166f38,_0x3bd5c0]=useState(![]),_0x3d08b1=useRef(![]),_0x2a7647=_0x462523[_0x2f61(0x89)](useRef,new Animated[(_0x2f61(0x8a))](0x0))['current'],[_0x1dab68,_0x36f5b6]=_0x462523[_0x2f61(0x8b)](useState,![]),[_0x1b7d4e,_0x4d865d]=useState(![]),[_0x2a4788,_0x41e99f]=useState(![]),[_0x376829,_0x3d575c]=_0x462523[_0x2f61(0x8c)](useState,0x0),[_0x479c1b,_0x402b58]=_0x462523[_0x2f61(0x8d)](useState,![]),_0x4f4a1e=_0x462523['AoYuE'](useRef,new Animated[(_0x2f61(0x8a))](0x0))[_0x2f61(0x8e)],_0xb7b85c=_0x462523['wqhZE'](useRef,![]),[_0x37ecfd,_0x1719b1]=_0x462523['VOOTO'](useState,![]),[_0x2171e0,_0x3ca5da]=_0x462523['rOyvY'](useState,![]),[_0x4add70,_0x231f65]=useState(![]),[_0x15eb94,_0x561e60]=useState(0x0),[_0x14ad31,_0x51a04f]=useState(![]),[_0x4d6583,_0x3f02e5]=useState(![]),[_0xd5a7c6,_0x36619a]=useState(''),_0x5cd91b=_0x462523[_0x2f61(0x8f)](useRef,new Animated[(_0x2f61(0x8a))](0x0))['current'],_0x419569=_0x462523[_0x2f61(0x8c)](useRef,![]),[_0x3b7694,_0x560f54]=_0x462523[_0x2f61(0x90)](useState,![]),_0x19d03d=_0x462523[_0x2f61(0x83)](useRef,new Animated['Value'](0x0))['current'],_0x59b425=useRef(new Animated[(_0x2f61(0x8a))](0x0))['current'],_0x4bdbd8=_0x462523['XwBfC'](useRef,new Animated[(_0x2f61(0x8a))](0x0))['current'],{initiateConversationExport:_0x202338,storeMemories:_0x3c85be}=_0x462523['aKoOj'](useChatGPTConversationExtractor),{initiateConversationExport:_0xb7cf9e}=_0x462523[_0x2f61(0x91)](useClaudeConversationExtractor),_0x173aaf=_0x462523['LZRrE'](isLLMPlatform,platform),_0x57ba38=_0x462523[_0x2f61(0x92)](isLinkedInPlatform,platform),_0x363d49=_0x462523['VKBKf'](_0x462523['EhrUv'](platform,null)||_0x462523[_0x2f61(0x93)](platform,void 0x0)?void 0x0:platform[_0x2f61(0x94)](),_0x462523[_0x2f61(0x95)])||_0x462523[_0x2f61(0x96)](_0x462523[_0x2f61(0x97)](platform,null)||platform===void 0x0?void 0x0:platform[_0x2f61(0x94)](),_0x462523[_0x2f61(0x98)]),_0xbf1b89=_0x462523[_0x2f61(0x99)](_0x462523[_0x2f61(0x9a)](platform,null)||_0x462523['LzYaZ'](platform,void 0x0)?void 0x0:platform[_0x2f61(0x94)](),_0x2f61(0x9b))||_0x462523[_0x2f61(0x9c)](_0x462523['pWABD'](platform,null)||_0x462523[_0x2f61(0x9d)](platform,void 0x0)?void 0x0:platform[_0x2f61(0x94)](),_0x2f61(0x9e));console[_0x2f61(0x9f)](_0x2f61(0xa0)+(_0x173aaf?_0x462523[_0x2f61(0xa1)]:_0x57ba38?_0x2f61(0xa2):_0x462523[_0x2f61(0xa3)])+_0x2f61(0xa4),_0x9e250d,'Platform:',platform),React[_0x2f61(0xa5)](()=>{const _0x5ea574={'VrLTh':_0x462523[_0x2f61(0xa1)],'OhgYr':'LinkedIn','MHLhP':_0x2f61(0x75),'XjjQQ':function(_0x50ef28,_0x3cdbf9){return _0x462523[_0x2f61(0xa6)](_0x50ef28,_0x3cdbf9);}},_0x28cb0a=_0x462523['VhCie'](setTimeout,()=>{console[_0x2f61(0x9f)]('⏰\x20'+(_0x173aaf?_0x5ea574[_0x2f61(0xa7)]:_0x57ba38?_0x5ea574[_0x2f61(0xa8)]:_0x5ea574[_0x2f61(0xa9)])+_0x2f61(0xaa)+platform+_0x2f61(0xab)),_0x5ea574[_0x2f61(0xac)](_0x23fc62,!![]);},0x1d4c0);return()=>clearTimeout(_0x28cb0a);},[platform,_0x173aaf,_0x57ba38]),React[_0x2f61(0xa5)](()=>{const _0x16c12a={'RgDsK':function(_0xb8afac,_0x37eb7a){return _0x462523[_0x2f61(0xa6)](_0xb8afac,_0x37eb7a);},'jCDBC':function(_0x898647,_0x5e5579){return _0x462523[_0x2f61(0xad)](_0x898647,_0x5e5579);}};_0x462523[_0x2f61(0xae)](_0x2f61(0xaf),_0x2f61(0xaf))?_0x57ba38&&(_0x598d01(''),console[_0x2f61(0x9f)](_0x462523['FUsiu'])):(_0x16c12a['RgDsK'](_0x5c059a,![]),_0x16c12a[_0x2f61(0xb0)](_0xf98a5e,0x0),_0x155382[_0x2f61(0x8e)]=![],_0x16c12a[_0x2f61(0xb1)](_0x164897,![]));},[_0x57ba38]),React['useEffect'](()=>{const _0x36bb86={'FFVXZ':function(_0x506dea){return _0x462523[_0x2f61(0xb2)](_0x506dea);}};_0x363d49&&(_0x462523[_0x2f61(0xb3)](_0x462523[_0x2f61(0xb4)],_0x462523[_0x2f61(0xb5)])?(_0x4e2130['log']('✅\x20[CLAUDE]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation'),_0x462523[_0x2f61(0x8c)](_0x5a5f57,!![]),_0x462523['VhCie'](_0x587353,()=>{_0x36bb86[_0x2f61(0xb6)](_0x47eb3a);},0x7d0)):console[_0x2f61(0x9f)](_0x462523[_0x2f61(0xb7)]));},[_0x363d49]),React[_0x2f61(0xa5)](()=>{_0xbf1b89&&console[_0x2f61(0x9f)](_0x462523['yRTUJ']);},[_0xbf1b89]);const _0x15bae2=_0x462523[_0x2f61(0xb8)](_0x57ba38,_0x550208)&&_0x462523['GlVtn'](_0x408299,'Connecting')&&!_0x3902bd;React[_0x2f61(0xa5)](()=>{if(_0x15bae2){const _0x1a56aa=Animated[_0x2f61(0xb9)](Animated[_0x2f61(0xba)]([Animated[_0x2f61(0xbb)](_0x4bdbd8,{'toValue':0x1,'duration':0x4b0,'useNativeDriver':!![]}),Animated['timing'](_0x4bdbd8,{'toValue':0x0,'duration':0x4b0,'useNativeDriver':!![]})]));return _0x1a56aa['start'](),()=>{_0x1a56aa['stop'](),_0x4bdbd8[_0x2f61(0xbc)](0x0);};}},[_0x15bae2,_0x4bdbd8]);const _0x521006=_0x462523[_0x2f61(0xbd)](useCallback,()=>{const _0xa144e7=_0x462523[_0x2f61(0xbe)][_0x2f61(0xbf)]('|');let _0x303cb3=0x0;while(!![]){switch(_0xa144e7[_0x303cb3++]){case'0':_0x4cc779[_0x2f61(0x8e)][_0x2f61(0xc0)](CHATGPT_EXPORT_SCRIPT);continue;case'1':_0x4d865d(!![]);continue;case'2':_0x462523[_0x2f61(0x84)](_0x3d575c,0x0);continue;case'3':_0x462523[_0x2f61(0xa6)](_0x41e99f,!![]);continue;case'4':if(!_0x4cc779['current']||_0x1b7d4e||_0xb7b85c[_0x2f61(0x8e)])return;continue;case'5':_0xb7b85c[_0x2f61(0x8e)]=!![];continue;case'6':console[_0x2f61(0x9f)](_0x462523['BGHGt']);continue;}break;}},[_0x1b7d4e]),_0x4f5d04=useCallback(()=>{if(!_0x4cc779[_0x2f61(0x8e)]||_0x2171e0||_0x419569['current'])return;console[_0x2f61(0x9f)](_0x462523['RLLPz']),_0x419569[_0x2f61(0x8e)]=!![],_0x462523['VnQSQ'](_0x3ca5da,!![]),_0x462523['TJuLg'](_0x231f65,!![]),_0x462523[_0x2f61(0x84)](_0x561e60,0x0),_0x51a04f(!![]),_0x36619a(_0x462523[_0x2f61(0xc1)]),_0x4cc779[_0x2f61(0x8e)][_0x2f61(0xc0)](CLAUDE_EXPORT_SCRIPT);},[_0x2171e0]),_0x2b5c02=useCallback(()=>{const _0x23500e=_0x462523[_0x2f61(0xc2)][_0x2f61(0xbf)]('|');let _0x38c259=0x0;while(!![]){switch(_0x23500e[_0x38c259++]){case'0':console['log'](_0x462523[_0x2f61(0xc3)]);continue;case'1':_0x3d08b1['current']=!![];continue;case'2':if(!_0x4cc779[_0x2f61(0x8e)]||_0x2db884||_0x3d08b1[_0x2f61(0x8e)])return;continue;case'3':_0x462523['TSlMN'](_0xcede77,!![]);continue;case'4':_0x4cc779['current']['injectJavaScript'](LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT);continue;}break;}},[_0x2db884]),_0x18797f=_0x462523[_0x2f61(0xc4)](useCallback,()=>{const _0x42d0c3=_0x462523['pLMUo']['split']('|');let _0x59eedf=0x0;while(!![]){switch(_0x42d0c3[_0x59eedf++]){case'0':_0x462523[_0x2f61(0xad)](_0x598d01,_0x462523[_0x2f61(0xc5)]);continue;case'1':if(!_0x4cc779[_0x2f61(0x8e)])return;continue;case'2':_0x4cc779[_0x2f61(0x8e)][_0x2f61(0xc0)](LINKEDIN_PROFILE_SCRAPER_SCRIPT);continue;case'3':_0x462523[_0x2f61(0xc6)](_0x160e50,!![]);continue;case'4':console[_0x2f61(0x9f)](_0x462523[_0x2f61(0xc7)]);continue;case'5':_0x3bd5c0(!![]);continue;case'6':_0x4d3c22(0x0);continue;}break;}},[]),_0x46c75b=useCallback(async _0x46773e=>{const _0x3c92ab={'vuTjG':_0x462523[_0x2f61(0xc8)],'PeRBr':function(_0x589f9f,_0x3457ef){return _0x462523['Paxuo'](_0x589f9f,_0x3457ef);},'CNQhg':_0x462523[_0x2f61(0xc9)],'bYIaV':function(_0x355c2c,_0x5630b1){return _0x462523[_0x2f61(0xa6)](_0x355c2c,_0x5630b1);},'LnKdZ':'success','GmbOO':function(_0x59cbb1,_0x1f8bbe){return _0x462523['NcVHl'](_0x59cbb1,_0x1f8bbe);},'Axaax':_0x462523[_0x2f61(0xca)],'LilkA':function(_0x14f705,_0x1b8d42){return _0x462523['cwPcw'](_0x14f705,_0x1b8d42);},'QfAcR':_0x2f61(0xcb),'yotWT':function(_0x52f642){return _0x462523['FAWJp'](_0x52f642);},'yeOht':function(_0x329d10,_0x1120e7){return _0x462523[_0x2f61(0xcc)](_0x329d10,_0x1120e7);},'okqEV':function(_0x41ebdf,_0x9555b0){return _0x41ebdf-_0x9555b0;},'yseua':function(_0x30a613,_0x3d05f8,_0x3287fc){return _0x462523[_0x2f61(0xcd)](_0x30a613,_0x3d05f8,_0x3287fc);},'KCigg':function(_0x59b98c,_0x1fb145){return _0x462523[_0x2f61(0xce)](_0x59b98c,_0x1fb145);},'ofEwk':function(_0x4aa665,_0x1c07cd){return _0x462523[_0x2f61(0xcf)](_0x4aa665,_0x1c07cd);},'pLbLm':_0x462523[_0x2f61(0xd0)],'rRYBy':_0x2f61(0x4),'OOYWC':_0x2f61(0xd1),'Shbyp':_0x462523[_0x2f61(0xd2)],'mJVes':function(_0x1b3aa7,_0x5c8fdd){return _0x462523[_0x2f61(0xd3)](_0x1b3aa7,_0x5c8fdd);},'aiECh':_0x462523[_0x2f61(0xd4)],'qCnhG':_0x462523[_0x2f61(0xd5)],'vEoIV':function(_0x5b671c,_0x7c11b1){return _0x462523[_0x2f61(0xd6)](_0x5b671c,_0x7c11b1);},'fsPRc':function(_0x4a0398,_0x26ac5d){return _0x462523[_0x2f61(0xd7)](_0x4a0398,_0x26ac5d);},'kmAxu':function(_0x45e24b,_0x3a8255){return _0x462523[_0x2f61(0xd7)](_0x45e24b,_0x3a8255);},'fWlGw':_0x2f61(0xd8),'kTted':function(_0x52a9b3,_0xdb79a8){return _0x462523[_0x2f61(0xd9)](_0x52a9b3,_0xdb79a8);},'ruRZb':_0x462523['RYOrh'],'VbaJx':_0x462523[_0x2f61(0xb7)],'TJSKE':function(_0x3bb5e2,_0x58d943){return _0x462523['EdwQl'](_0x3bb5e2,_0x58d943);},'KvhiS':function(_0xeba14f,_0x391c45){return _0xeba14f(_0x391c45);},'PtDIR':_0x462523['FJPLq'],'EqFXz':function(_0x111969){return _0x462523[_0x2f61(0xda)](_0x111969);},'BAppy':_0x462523['ljJmH'],'luGvB':function(_0x4b6582,_0x7bd912){return _0x462523['woxRG'](_0x4b6582,_0x7bd912);},'GsGcQ':_0x462523[_0x2f61(0xdb)],'IBHoz':function(_0xe8f185,_0x3bbde6){return _0x462523[_0x2f61(0xdc)](_0xe8f185,_0x3bbde6);}};if(_0x462523[_0x2f61(0xdd)](_0x462523['ruoqr'],_0x2f61(0x1d)))_0x462523[_0x2f61(0xde)](_0x2a73a4,''),_0x3fe7f5[_0x2f61(0x9f)](_0x462523['FUsiu']);else try{const _0x83dd32=JSON[_0x2f61(0xdf)](_0x46773e[_0x2f61(0xe0)][_0x2f61(0xe1)]);console[_0x2f61(0x9f)](_0x2f61(0xe2)+platform[_0x2f61(0xe3)]()+']\x20WebView\x20message:',_0x83dd32[_0x2f61(0xe4)]||_0x83dd32[_0x2f61(0xe5)]);if(_0x57ba38){if(_0x462523[_0x2f61(0xb3)](_0x462523['VACPF'],_0x462523[_0x2f61(0xe6)])){if(_0x462523['oJBcI'](_0x83dd32[_0x2f61(0xe4)],_0x2f61(0xe7))){if(_0x462523['LifIv']===_0x462523[_0x2f61(0xe8)]){if(_0x83dd32[_0x2f61(0xe5)]===_0x2f61(0xe9)){console[_0x2f61(0x9f)](_0x462523[_0x2f61(0xea)]),Alert[_0x2f61(0xeb)](_0x462523[_0x2f61(0xec)],_0x462523[_0x2f61(0xed)],[{'text':'OK','onPress':_0x57fb05}]);return;}else{if(_0x83dd32[_0x2f61(0xe5)]===_0x462523['adYtp']){if(_0x2f61(0xee)===_0x462523[_0x2f61(0xef)])_0x48fcf9[_0x2f61(0x2d)](_0x2f61(0xf0)+_0x3aca9b[_0x2f61(0xe3)]()+_0x2f61(0xf1),_0x11c082);else{console[_0x2f61(0x9f)](_0x462523[_0x2f61(0xf2)]),_0x18797f();return;}}}}else _0x4d95c8[_0x2f61(0x9f)](_0x462523[_0x2f61(0xb7)]);}if(_0x462523[_0x2f61(0xf3)](_0x83dd32[_0x2f61(0xe4)],_0x462523[_0x2f61(0xf4)])){const _0x88edef=_0x83dd32[_0x2f61(0xf5)]||0x0;console['log'](_0x2f61(0xf6)+_0x88edef+'%\x20-\x20'+_0x83dd32[_0x2f61(0xf7)]),_0x462523[_0x2f61(0x81)](_0x4d3c22,_0x88edef),_0x462523[_0x2f61(0x84)](_0x598d01,_0x83dd32[_0x2f61(0xf7)]||_0x2f61(0xf8)+_0x88edef+'%'),Animated['timing'](_0x2a7647,{'toValue':_0x88edef,'duration':0x12c,'useNativeDriver':![]})['start']();return;}if(_0x462523[_0x2f61(0xf9)](_0x83dd32['type'],_0x462523[_0x2f61(0xfa)])){var _0x3c1dc4,_0x1a2a9d,_0x596da3,_0xd7fed8;console[_0x2f61(0x9f)](_0x462523[_0x2f61(0xfb)]);const _0x222864=_0x83dd32[_0x2f61(0xe1)];console['log'](_0x462523['AiiVO'],{'name':_0x222864===null||_0x462523['leTKY'](_0x222864,void 0x0)?void 0x0:_0x222864[_0x2f61(0xfc)],'headline':_0x462523[_0x2f61(0xfd)](_0x222864,null)||_0x222864===void 0x0||_0x462523[_0x2f61(0xfd)](_0x3c1dc4=_0x222864[_0x2f61(0xfe)],null)||_0x462523['FMFBM'](_0x3c1dc4,void 0x0)?void 0x0:_0x3c1dc4[_0x2f61(0xff)](0x0,0x32),'experienceCount':(_0x462523[_0x2f61(0xfd)](_0x222864,null)||_0x462523['VKBKf'](_0x222864,void 0x0)||_0x462523['emxHj'](_0x1a2a9d=_0x222864[_0x2f61(0x100)],null)||_0x462523['NcVHl'](_0x1a2a9d,void 0x0)?void 0x0:_0x1a2a9d[_0x2f61(0x101)])||0x0,'educationCount':(_0x462523[_0x2f61(0x102)](_0x222864,null)||_0x462523[_0x2f61(0x103)](_0x222864,void 0x0)||(_0x596da3=_0x222864[_0x2f61(0x104)])===null||_0x462523[_0x2f61(0x105)](_0x596da3,void 0x0)?void 0x0:_0x596da3[_0x2f61(0x101)])||0x0,'skillsCount':(_0x462523[_0x2f61(0x106)](_0x222864,null)||_0x222864===void 0x0||(_0xd7fed8=_0x222864[_0x2f61(0x107)])===null||_0x462523[_0x2f61(0xfd)](_0xd7fed8,void 0x0)?void 0x0:_0xd7fed8[_0x2f61(0x101)])||0x0}),_0x4d3c22(0x5a),_0x462523['SbhuR'](_0x598d01,_0x462523[_0x2f61(0x108)]);if(_0x462523[_0x2f61(0x109)](_0x222864,_0x2ee981)){console[_0x2f61(0x9f)](_0x462523['AySXO']);const _0xf3244f=await storeLinkedInProfile(_0x2ee981,_0x222864);console[_0x2f61(0x9f)]('📤\x20[LINKEDIN]\x20Storage\x20result:',_0xf3244f);}_0x462523[_0x2f61(0x10a)](_0x4d3c22,0x64),_0x462523[_0x2f61(0x10b)](_0x160e50,![]),_0x462523[_0x2f61(0x8f)](_0x3bd5c0,![]),_0x462523[_0x2f61(0xad)](_0x5e74b7,!![]),_0x462523[_0x2f61(0xa6)](_0xa92694,!![]),_0x462523[_0x2f61(0x10c)](_0x598d01,_0x2f61(0x15)),_0xf66af4('success'),_0x462523['wecAC'](setTimeout,()=>{if(_0x5065d1)_0x462523[_0x2f61(0x10d)](_0x5065d1);},0x7d0);return;}if(_0x462523[_0x2f61(0x10e)](_0x83dd32[_0x2f61(0xe4)],_0x462523['WWKTV'])){const _0x4f8018=_0x462523['CfVTg'][_0x2f61(0xbf)]('|');let _0x344f6d=0x0;while(!![]){switch(_0x4f8018[_0x344f6d++]){case'0':_0x160e50(![]);continue;case'1':_0x462523['yygUy'](_0x4d3c22,0x0);continue;case'2':_0x3d08b1[_0x2f61(0x8e)]=![];continue;case'3':Alert[_0x2f61(0xeb)](_0x2f61(0x10f),_0x2f61(0x110)+_0x83dd32[_0x2f61(0xf7)]+'.\x20Would\x20you\x20like\x20to\x20try\x20again?',[{'text':_0x462523[_0x2f61(0x111)],'onPress':()=>_0x2b5c02()},{'text':_0x2f61(0x112),'onPress':_0x57fb05,'style':_0x462523[_0x2f61(0x113)]}]);continue;case'4':console[_0x2f61(0x2d)](_0x462523[_0x2f61(0x114)],_0x83dd32['message']);continue;case'5':_0x462523[_0x2f61(0x115)](_0x3bd5c0,![]);continue;case'6':_0x462523[_0x2f61(0x116)](_0xcede77,![]);continue;case'7':return;}break;}}if(_0x462523[_0x2f61(0x117)](_0x83dd32['status'],_0x462523[_0x2f61(0x118)])&&_0x83dd32['profileUrl']){if(_0x462523[_0x2f61(0xd9)](_0x462523['zIAXK'],_0x462523[_0x2f61(0x119)])){console[_0x2f61(0x9f)](_0x2f61(0x11a),_0x83dd32['profileUrl']),_0x462523[_0x2f61(0x11b)](_0x3d68b2,_0x83dd32['profileUrl']),_0x462523['IaYOn'](_0x598d01,_0x2f61(0x13));const _0x1a01d8=_0x462523[_0x2f61(0x11c)](_0x2ee981,_0x462523[_0x2f61(0x11d)]),_0x1e980c=async(_0x34369f=0x0,_0x37d598=0x3)=>{const _0x524307={'VgdCz':function(_0x2f12fe,_0x2dd814){return _0x462523[_0x2f61(0x11e)](_0x2f12fe,_0x2dd814);},'bzCvi':_0x462523['NdQGq'],'Tygqh':function(_0x35c0f6){return _0x462523[_0x2f61(0x11f)](_0x35c0f6);},'FbnEY':_0x462523[_0x2f61(0x120)],'HeGoh':function(_0xba030c,_0x3d466a){return _0x462523['oseGO'](_0xba030c,_0x3d466a);},'FCdid':function(_0x58e761,_0x11abf6){return _0x462523[_0x2f61(0x11b)](_0x58e761,_0x11abf6);},'kJLUR':function(_0x37fdce,_0x4286a5){return _0x462523[_0x2f61(0x8c)](_0x37fdce,_0x4286a5);},'mzQda':function(_0x54e87c,_0x62f380){return _0x462523[_0x2f61(0x11b)](_0x54e87c,_0x62f380);},'mouCL':function(_0x4df9f4,_0x484299,_0x53b221){return _0x4df9f4(_0x484299,_0x53b221);},'mTqoE':function(_0x27fc93,_0x280840){return _0x462523[_0x2f61(0xcc)](_0x27fc93,_0x280840);},'Baagb':function(_0xb6020,_0x48a776){return _0x462523[_0x2f61(0x11e)](_0xb6020,_0x48a776);}};try{_0x462523[_0x2f61(0xae)](_0x462523['twdAl'],_0x2f61(0x12))?(_0x462523[_0x2f61(0x121)](_0x598d01,_0x462523[_0x2f61(0xd2)]),await _0x462523[_0x2f61(0xa6)](initiateProfileScraping,{'userId':_0x1a01d8,'profileUrl':_0x83dd32['profileUrl'],'onProgress':_0x2c4e69=>{console[_0x2f61(0x9f)](_0x3c92ab[_0x2f61(0x122)],_0x2c4e69);},'onSuccess':_0x542fc3=>{const _0x3df3f4='2|0|4|3|1|5'[_0x2f61(0xbf)]('|');let _0x2ef872=0x0;while(!![]){switch(_0x3df3f4[_0x2ef872++]){case'0':_0x3c92ab[_0x2f61(0x123)](_0xd0a7f2,![]);continue;case'1':_0x3c92ab['PeRBr'](_0x598d01,_0x3c92ab['CNQhg']);continue;case'2':console[_0x2f61(0x9f)](_0x2f61(0x124),_0x542fc3);continue;case'3':_0xa92694(!![]);continue;case'4':_0x3c92ab[_0x2f61(0x125)](_0x5e74b7,!![]);continue;case'5':setTimeout(()=>{_0x524307[_0x2f61(0x126)](_0xf66af4,_0x524307[_0x2f61(0x127)]);if(_0x5065d1)_0x524307[_0x2f61(0x128)](_0x5065d1);},0x7d0);continue;}break;}},'onError':async _0x508035=>{const _0x214426={'xKrlW':_0x3c92ab['LnKdZ'],'DFxJT':function(_0x22d2c7,_0x57c75a){return _0x3c92ab[_0x2f61(0x129)](_0x22d2c7,_0x57c75a);},'FgHcZ':_0x2f61(0x12a),'OHkkS':_0x3c92ab[_0x2f61(0x12b)],'KJmDk':function(_0x1c5b12,_0xae0f5c){return _0x1c5b12+_0xae0f5c;},'dBkFR':_0x3c92ab[_0x2f61(0x12c)],'uNZRY':function(_0x41ee18,_0x21788b){return _0x3c92ab[_0x2f61(0x12d)](_0x41ee18,_0x21788b);},'ZJBXD':_0x3c92ab[_0x2f61(0x12e)],'vPzgz':function(_0x5b1d15,_0x3aaf5f){return _0x5b1d15(_0x3aaf5f);},'scbER':function(_0x429582){return _0x3c92ab[_0x2f61(0x12f)](_0x429582);}};console['error'](_0x2f61(0x130)+_0x3c92ab['yeOht'](_0x34369f,0x1)+'/'+_0x37d598+'):',_0x508035),_0x34369f<_0x3c92ab[_0x2f61(0x131)](_0x37d598,0x1)?_0x3c92ab[_0x2f61(0x132)](setTimeout,()=>{const _0x43cdfd={'oyEhy':_0x214426['xKrlW']};if(_0x214426['DFxJT'](_0x214426[_0x2f61(0x133)],_0x214426[_0x2f61(0x134)])){_0x20ea5c(_0x43cdfd['oyEhy']);if(_0x5933d0)_0x34f653();}else _0x1e980c(_0x214426[_0x2f61(0x135)](_0x34369f,0x1),_0x37d598);},0xbb8):(_0xd0a7f2(![]),_0x3c92ab[_0x2f61(0x136)](_0x5e74b7,!![]),_0x3c92ab[_0x2f61(0x136)](_0xa92694,!![]),_0x3c92ab[_0x2f61(0x136)](_0x598d01,_0x3c92ab[_0x2f61(0x12c)]),_0x3c92ab['yseua'](setTimeout,()=>{const _0x5b312a={'UimUF':function(_0x34f520,_0xf1dd36){return _0x34f520(_0xf1dd36);},'ugrTE':_0x214426[_0x2f61(0x137)]};if(_0x214426[_0x2f61(0x138)](_0x2f61(0xcb),_0x214426[_0x2f61(0x139)])){const _0x47efc7={'OKoxU':function(_0x272908,_0x296720){return _0x272908(_0x296720);}};_0x3ff2c6['warn'](_0x2f61(0x2e),_0x2124e7[_0x2f61(0xf7)]),_0x5b312a['UimUF'](_0x5f532a,![]),_0x4a9ead(!![]),_0x4d7ac4(!![]),_0x5b312a[_0x2f61(0x13a)](_0x15a8f1,_0x5b312a[_0x2f61(0x13b)]),_0x4b0f97(()=>{_0x47efc7[_0x2f61(0x13c)](_0x531a9d,_0x2f61(0x10));if(_0xf693e7)_0x54c00b();},0x7d0);return;}else{_0x214426[_0x2f61(0x13d)](_0xf66af4,_0x2f61(0x10));if(_0x5065d1)_0x214426['scbER'](_0x5065d1);}},0x7d0));}})):(_0x23464a[_0x2f61(0x9f)](_0x524307['FbnEY']),_0x524307['HeGoh'](_0x4269cc,'Connecting'),_0x524307['FCdid'](_0x2f16ba,!![]),_0x524307[_0x2f61(0x13e)](_0x4cfa87,!![]),_0x28a4db[_0x2f61(0x8e)]&&(_0x114d59[_0x2f61(0x9f)](_0x2f61(0x13f)),_0x26543d[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x2f61(0x140))));}catch(_0x15b915){if(_0x462523[_0x2f61(0xae)](_0x2f61(0x141),_0x462523['wFZJm'])){const _0x5eedf5=_0x452111[_0x2f61(0xf5)]||0x0;_0x488477[_0x2f61(0x9f)]('📊\x20[LINKEDIN]\x20Profile\x20extraction\x20progress:\x20'+_0x5eedf5+'%\x20-\x20'+_0xb422ad[_0x2f61(0xf7)]),_0x524307[_0x2f61(0x142)](_0x4f11cd,_0x5eedf5),_0x524307['mzQda'](_0x3346df,_0x7e7123[_0x2f61(0xf7)]||'Extracting...\x20'+_0x5eedf5+'%'),Animated[_0x2f61(0xbb)](_0x28d77f,{'toValue':_0x5eedf5,'duration':0x12c,'useNativeDriver':![]})[_0x2f61(0x143)]();return;}else{console[_0x2f61(0x2d)]('❌\x20[LINKEDIN]\x20Exception\x20(attempt\x20'+_0x462523[_0x2f61(0xcc)](_0x34369f,0x1)+'/'+_0x37d598+'):',_0x15b915);if(_0x462523[_0x2f61(0x144)](_0x34369f,_0x462523[_0x2f61(0x145)](_0x37d598,0x1)))_0x462523[_0x2f61(0x146)](setTimeout,()=>{_0x524307[_0x2f61(0x147)](_0x1e980c,_0x524307[_0x2f61(0x148)](_0x34369f,0x1),_0x37d598);},0xbb8);else{const _0x160386='0|1|3|4|2'[_0x2f61(0xbf)]('|');let _0x357da7=0x0;while(!![]){switch(_0x160386[_0x357da7++]){case'0':_0x462523[_0x2f61(0xc6)](_0xd0a7f2,![]);continue;case'1':_0x462523[_0x2f61(0xdc)](_0x5e74b7,!![]);continue;case'2':_0x462523[_0x2f61(0x149)](setTimeout,()=>{_0x524307[_0x2f61(0x14a)](_0xf66af4,_0x524307['bzCvi']);if(_0x5065d1)_0x524307[_0x2f61(0x128)](_0x5065d1);},0x7d0);continue;case'3':_0x462523[_0x2f61(0x14b)](_0xa92694,!![]);continue;case'4':_0x462523[_0x2f61(0xce)](_0x598d01,_0x462523[_0x2f61(0xc9)]);continue;}break;}}}}};_0x1e980c();return;}else _0x5c3c76[_0x2f61(0x9f)](_0x462523['yRTUJ']);}else{if(_0x462523[_0x2f61(0xae)](_0x83dd32['status'],_0x462523[_0x2f61(0x14c)])&&_0x83dd32[_0x2f61(0xf7)]){const _0x128ecc='2|5|0|1|6|3|4'['split']('|');let _0x50363b=0x0;while(!![]){switch(_0x128ecc[_0x50363b++]){case'0':_0x462523[_0x2f61(0x82)](_0x5e74b7,!![]);continue;case'1':_0x462523['iYHtR'](_0xa92694,!![]);continue;case'2':console[_0x2f61(0x14d)](_0x462523[_0x2f61(0x14e)],_0x83dd32[_0x2f61(0xf7)]);continue;case'3':setTimeout(()=>{_0x3c92ab[_0x2f61(0x14f)](_0xf66af4,_0x3c92ab['LnKdZ']);if(_0x5065d1)_0x3c92ab['yotWT'](_0x5065d1);},0x7d0);continue;case'4':return;case'5':_0x462523[_0x2f61(0x150)](_0xd0a7f2,![]);continue;case'6':_0x462523[_0x2f61(0x151)](_0x598d01,_0x462523[_0x2f61(0xc9)]);continue;}break;}}}}else _0x541aae[_0x2f61(0x14d)](_0x2f61(0x152));}if(_0x462523[_0x2f61(0xf3)](_0x83dd32[_0x2f61(0xe4)],_0x462523['JWAxe'])||_0x462523[_0x2f61(0x153)](_0x83dd32[_0x2f61(0xe4)],'DEBUG_MEMORIES')){if(_0x462523[_0x2f61(0xd9)](_0x462523['HCuOO'],_0x2f61(0x154))){console[_0x2f61(0x9f)](_0x2f61(0x155)+platform[_0x2f61(0xe3)]()+']\x20Debug:',_0x83dd32[_0x2f61(0xf7)]);return;}else _0x218630[_0x2f61(0x9f)](_0x462523[_0x2f61(0x156)]),_0x462523[_0x2f61(0xd3)](_0x3febab,_0x462523['NdQGq']),_0x1cd0a3&&_0x462523[_0x2f61(0x146)](_0x634598,()=>_0x358024(),0x3e8);}if(_0x462523[_0x2f61(0x157)](_0x83dd32[_0x2f61(0xe4)],_0x462523[_0x2f61(0x158)])&&_0x363d49){if(_0x462523[_0x2f61(0xd9)](_0x462523[_0x2f61(0x159)],_0x462523['bKGeg'])){console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x15a)]);try{const _0xbad83f=await _0x462523['AGvQJ'](_0x3c85be,_0x83dd32[_0x2f61(0x15b)]);if(_0xbad83f)console[_0x2f61(0x9f)](_0x2f61(0x15c));else{if(_0x462523[_0x2f61(0x15d)]!==_0x462523['aDFtA'])console[_0x2f61(0x14d)](_0x462523[_0x2f61(0x15e)]);else{var _0x1ddb7f;_0x53f2ec[_0x2f61(0x9f)](_0x2f61(0x15f)+_0x3577f1['toUpperCase']()+']\x20Memories\x20fetch\x20complete:',(_0x1ddb7f=_0x33477a[_0x2f61(0xe1)])===null||_0x3c92ab[_0x2f61(0x129)](_0x1ddb7f,void 0x0)?void 0x0:_0x1ddb7f[_0x2f61(0x160)],_0x3c92ab[_0x2f61(0x161)]);return;}}}catch(_0x4317da){console[_0x2f61(0x2d)](_0x2f61(0x162),_0x4317da);}return;}else{const _0x39b1b0={'MWsaA':_0x2f61(0x40),'zKqgn':function(_0x403661,_0x543b77){return _0x462523['OYlEf'](_0x403661,_0x543b77);},'FSLAb':_0x462523[_0x2f61(0xd2)]};_0x237b30['log'](_0x2f61(0x42)),_0x5e0e74(!![]),_0x2c91d5(()=>{_0x4eb7c2[_0x2f61(0x8e)]&&(_0x4075b7[_0x2f61(0x9f)](_0x39b1b0[_0x2f61(0x163)]),_0x39b1b0[_0x2f61(0x164)](_0x5f35c3,!![]),_0x39b1b0[_0x2f61(0x164)](_0x25a501,_0x39b1b0[_0x2f61(0x165)]),_0x31d4f0[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x28845e));},0x3e8);}}if(_0x462523[_0x2f61(0x166)](_0x83dd32[_0x2f61(0xe4)],_0x462523[_0x2f61(0x167)])){const _0x121d84=_0x83dd32[_0x2f61(0xf5)]||0x0;if(_0x363d49)_0x462523[_0x2f61(0x168)]!==_0x462523[_0x2f61(0x169)]?(console[_0x2f61(0x9f)]('📊\x20[CHATGPT]\x20Export\x20progress:\x20'+_0x121d84+_0x2f61(0x16a)+_0x83dd32[_0x2f61(0xf7)]),_0x462523[_0x2f61(0x16b)](_0x3d575c,_0x121d84),Animated['timing'](_0x4f4a1e,{'toValue':_0x121d84,'duration':0x12c,'useNativeDriver':![]})['start']()):_0x48e42a&&(_0x3c92ab[_0x2f61(0x136)](_0x55316e,''),_0x5e47be[_0x2f61(0x9f)](_0x3c92ab[_0x2f61(0x16c)]));else _0xbf1b89&&(console[_0x2f61(0x9f)](_0x2f61(0x16d)+_0x121d84+_0x2f61(0x16a)+_0x83dd32['message']),_0x462523[_0x2f61(0x16e)](_0x561e60,_0x121d84),_0x462523['TSlMN'](_0x36619a,_0x83dd32[_0x2f61(0xf7)]||_0x2f61(0x16f)+_0x121d84+'%'),Animated['timing'](_0x5cd91b,{'toValue':_0x121d84,'duration':0x12c,'useNativeDriver':![]})['start']());return;}if(_0x462523[_0x2f61(0x96)](_0x83dd32['type'],_0x2f61(0x170))){var _0x45da7c,_0x64a2f,_0x5245dc;const _0x225d03=(_0x462523[_0x2f61(0x9c)](_0x45da7c=_0x83dd32[_0x2f61(0xe1)],null)||_0x45da7c===void 0x0?void 0x0:_0x45da7c[_0x2f61(0x171)])||((_0x64a2f=_0x83dd32[_0x2f61(0xe1)])===null||_0x462523[_0x2f61(0x10e)](_0x64a2f,void 0x0)||(_0x64a2f=_0x64a2f['conversations'])===null||_0x462523['AKayS'](_0x64a2f,void 0x0)?void 0x0:_0x64a2f[_0x2f61(0x101)])||0x0,_0x2093f5=(_0x462523[_0x2f61(0xf3)](_0x5245dc=_0x83dd32[_0x2f61(0xe1)],null)||_0x462523[_0x2f61(0xf9)](_0x5245dc,void 0x0)?void 0x0:_0x5245dc[_0x2f61(0x172)])||0x0;if(_0x363d49){var _0x5afa27;console[_0x2f61(0x9f)](_0x2f61(0x173)+_0x225d03+'\x20conversations,\x20'+_0x2093f5+'\x20messages'),_0x462523[_0x2f61(0xdc)](_0x3d575c,0x5a);if(_0x462523[_0x2f61(0x174)](_0x5afa27=_0x83dd32[_0x2f61(0xe1)],null)&&_0x462523['ptLka'](_0x5afa27,void 0x0)&&_0x5afa27[_0x2f61(0x175)]&&_0x2ee981){if(_0x462523[_0x2f61(0xd9)](_0x462523[_0x2f61(0x176)],_0x2f61(0x177))){const _0x3c8ffa={'urqtb':_0x3c92ab[_0x2f61(0x178)],'YcZeu':function(_0x46d6c1,_0x48d57f){return _0x3c92ab['bYIaV'](_0x46d6c1,_0x48d57f);},'HuTyP':_0x3c92ab['Shbyp']};_0x54a2a2['log']('✅\x20[LINKEDIN]\x20OAuth\x20SUCCESS\x20-\x20Authorization\x20code/token\x20received'),_0x3c92ab[_0x2f61(0x179)](_0x36b2ea,!![]),_0x3c92ab[_0x2f61(0x132)](_0x3da40a,()=>{_0x4a3500[_0x2f61(0x8e)]&&(_0x45833f['log'](_0x3c8ffa['urqtb']),_0x3c8ffa[_0x2f61(0x17a)](_0x58cd5a,_0x3c8ffa[_0x2f61(0x17b)]),_0x2f90b5[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x2f61(0x17c)));},0x1f4);return;}else{console[_0x2f61(0x9f)](_0x462523['AFgXz']);const _0x209665=await _0x462523[_0x2f61(0x17d)](_0x202338,_0x2ee981,_0x83dd32[_0x2f61(0xe1)]['conversations']);console['log'](_0x2f61(0x17e),_0x209665);}}_0x462523[_0x2f61(0xcf)](_0x3d575c,0x64),_0x462523['AGvQJ'](_0x41e99f,![]),_0x402b58(!![]),_0x462523[_0x2f61(0x17f)](_0xf66af4,_0x462523[_0x2f61(0x118)]),_0x462523[_0x2f61(0x180)](setTimeout,()=>{if(_0x3c92ab[_0x2f61(0x181)](_0x3c92ab['ruRZb'],_0x2f61(0x182))){if(_0x5065d1)_0x3c92ab[_0x2f61(0x12f)](_0x5065d1);}else{const _0xeb2c9c=_0x3c92ab[_0x2f61(0x183)]['split']('|');let _0x592412=0x0;while(!![]){switch(_0xeb2c9c[_0x592412++]){case'0':if(!_0x7ae713[_0x2f61(0x8e)]||_0x89a453||_0x5b684f[_0x2f61(0x8e)])return;continue;case'1':_0x60b5b7[_0x2f61(0x9f)](_0x3c92ab['qCnhG']);continue;case'2':_0x3c92ab[_0x2f61(0x184)](_0x438994,0x0);continue;case'3':_0x3c92ab['mJVes'](_0x1f4e70,!![]);continue;case'4':_0x3c92ab[_0x2f61(0x185)](_0x44a585,!![]);continue;case'5':_0x529855['current']=!![];continue;case'6':_0x358b4c['current'][_0x2f61(0xc0)](_0x4c167e);continue;case'7':_0x3c92ab[_0x2f61(0x186)](_0x165aab,!![]);continue;case'8':_0x3c92ab[_0x2f61(0x123)](_0x51d597,_0x3c92ab['fWlGw']);continue;}break;}}},0x7d0);}else{if(_0xbf1b89){var _0x493564;console[_0x2f61(0x9f)](_0x2f61(0x187)+_0x225d03+_0x2f61(0x188)+_0x2093f5+_0x2f61(0x189)),_0x462523[_0x2f61(0xad)](_0x561e60,0x5a),_0x462523['EzNAm'](_0x36619a,'Storing\x20'+_0x225d03+'\x20conversations...');if((_0x493564=_0x83dd32[_0x2f61(0xe1)])!==null&&_0x462523[_0x2f61(0x18a)](_0x493564,void 0x0)&&_0x493564['conversations']&&_0x2ee981){console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x18b)]);const _0x1e1233=await _0x462523['RVvNd'](_0xb7cf9e,_0x2ee981,_0x83dd32[_0x2f61(0xe1)]['conversations']);console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x18c)],_0x1e1233);}_0x462523[_0x2f61(0x10c)](_0x561e60,0x64),_0x462523[_0x2f61(0x16e)](_0x231f65,![]),_0x462523['CPajl'](_0x51a04f,![]),_0x462523[_0x2f61(0x18d)](_0x3f02e5,!![]),_0x462523[_0x2f61(0x18e)](_0x36619a,_0x2f61(0x18f)+_0x225d03+'\x20conversations!'),_0x462523[_0x2f61(0x115)](_0xf66af4,_0x462523['NdQGq']),setTimeout(()=>{if(_0x5065d1)_0x3c92ab[_0x2f61(0x12f)](_0x5065d1);},0x7d0);}}return;}if(_0x462523[_0x2f61(0x93)](_0x83dd32[_0x2f61(0xe4)],_0x462523[_0x2f61(0x190)])){if(_0x462523[_0x2f61(0x191)](_0x2f61(0x192),'BusUy'))_0x5c0485&&_0x46d22f[_0x2f61(0x9f)](_0x3c92ab[_0x2f61(0x193)]);else{console['error'](_0x2f61(0xf0)+platform['toUpperCase']()+_0x2f61(0x194),_0x83dd32[_0x2f61(0xf7)]);if(_0x363d49)_0x462523[_0x2f61(0x195)](_0x41e99f,![]),_0x462523[_0x2f61(0x16b)](_0x3d575c,0x0),_0xb7b85c[_0x2f61(0x8e)]=![],_0x462523[_0x2f61(0x196)](_0x4d865d,![]);else{if(_0xbf1b89){const _0x485851=_0x462523[_0x2f61(0x197)][_0x2f61(0xbf)]('|');let _0x4cfca5=0x0;while(!![]){switch(_0x485851[_0x4cfca5++]){case'0':_0x462523[_0x2f61(0x8c)](_0x561e60,0x0);continue;case'1':_0x462523[_0x2f61(0x198)](_0x3ca5da,![]);continue;case'2':_0x419569[_0x2f61(0x8e)]=![];continue;case'3':_0x231f65(![]);continue;case'4':_0x462523[_0x2f61(0x199)](_0x51a04f,![]);continue;}break;}}}Alert[_0x2f61(0xeb)](_0x462523['XghHd'],'Failed\x20to\x20export\x20'+platform+'\x20conversations:\x20'+_0x83dd32[_0x2f61(0xf7)],[{'text':_0x462523[_0x2f61(0x111)],'onPress':()=>{if(_0x363d49)_0x3c92ab[_0x2f61(0x12f)](_0x521006);else{if(_0xbf1b89)_0x3c92ab[_0x2f61(0x12f)](_0x4f5d04);}}},{'text':_0x462523[_0x2f61(0x19a)],'onPress':_0x57fb05,'style':_0x2f61(0x19b)}]);return;}}if(_0x462523[_0x2f61(0xae)](_0x83dd32[_0x2f61(0xe4)],_0x462523[_0x2f61(0x19c)])||_0x462523[_0x2f61(0x19d)](_0x83dd32[_0x2f61(0xe4)],_0x462523[_0x2f61(0x19e)])){if(_0x462523[_0x2f61(0x18a)](_0x462523[_0x2f61(0x19f)],_0x462523[_0x2f61(0x19f)])){const _0x23614a=_0x2f61(0x1a0)[_0x2f61(0xbf)]('|');let _0x5d2b65=0x0;while(!![]){switch(_0x23614a[_0x5d2b65++]){case'0':_0x3c92ab['TJSKE'](_0x4e09cd,!![]);continue;case'1':_0x5f1ea9[_0x2f61(0x9f)](_0x2f61(0xf));continue;case'2':_0x3c92ab['KvhiS'](_0x46350c,!![]);continue;case'3':_0x3c92ab[_0x2f61(0x184)](_0xc7eb6c,_0x3c92ab[_0x2f61(0x1a1)]);continue;case'4':if(!_0x3ec4eb[_0x2f61(0x8e)])return;continue;case'5':_0x4f9812[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x529f2d);continue;case'6':_0x3c92ab[_0x2f61(0x125)](_0x3c67fd,0x0);continue;}break;}}else{if(_0x462523[_0x2f61(0x105)](_0x83dd32['status'],_0x462523[_0x2f61(0x1a2)]))console['log'](_0x2f61(0x1a3)+platform['toUpperCase']()+_0x2f61(0x1a4)),Alert[_0x2f61(0xeb)](_0x462523[_0x2f61(0xec)],_0x2f61(0x1a5)+platform+_0x2f61(0x1a6),[{'text':'OK','onPress':_0x57fb05}]);else _0x462523[_0x2f61(0x1a7)](_0x83dd32['status'],_0x2f61(0x1a8))&&console[_0x2f61(0x9f)](_0x2f61(0x1a9)+platform['toUpperCase']()+_0x2f61(0x1aa));return;}}if(_0x83dd32['type']==='MEMORIES_FETCH_COMPLETE'){if(_0x462523[_0x2f61(0x1ab)](_0x462523[_0x2f61(0x1ac)],_0x462523[_0x2f61(0x1ac)])){var _0x32cb74;console[_0x2f61(0x9f)](_0x2f61(0x15f)+platform['toUpperCase']()+_0x2f61(0x1ad),_0x462523['Bplnu'](_0x32cb74=_0x83dd32['data'],null)||_0x462523['ditsI'](_0x32cb74,void 0x0)?void 0x0:_0x32cb74[_0x2f61(0x160)],_0x462523[_0x2f61(0xd0)]);return;}else{_0x11f671[_0x2f61(0x9f)](_0x3c92ab[_0x2f61(0x1ae)]),_0x3c92ab['luGvB'](_0x32fe13,_0x3c92ab['CNQhg']);!_0xde0be1&&(_0x1fb803[_0x2f61(0x9f)](_0x3c92ab[_0x2f61(0x1af)]),_0xf502af(!![]),_0x3c92ab[_0x2f61(0x1b0)](_0x52362c,!![]),_0x3c92ab[_0x2f61(0x132)](_0x310589,()=>{_0x3c92ab[_0x2f61(0x1b1)](_0x4e75f4,_0x3c92ab[_0x2f61(0x1b2)]);if(_0x6dd7d2)_0x3c92ab[_0x2f61(0x1b3)](_0x37b0f3);},0x7d0));return;}}if(_0x83dd32[_0x2f61(0xe4)]===_0x462523[_0x2f61(0x1b4)]){console[_0x2f61(0x14d)](_0x2f61(0x1b5)+platform[_0x2f61(0xe3)]()+']\x20Memories\x20fetch\x20failed:',_0x83dd32[_0x2f61(0xf7)]);return;}console[_0x2f61(0x9f)](_0x2f61(0xe2)+platform[_0x2f61(0xe3)]()+']\x20Unknown\x20message\x20type:',_0x83dd32['type']);}catch(_0x310271){_0x462523[_0x2f61(0x1b6)]==='uIzNc'?_0x35d9c0[_0x2f61(0x9f)](_0x3c92ab[_0x2f61(0x122)],_0x3ceff2):console[_0x2f61(0x2d)]('❌\x20['+platform['toUpperCase']()+']\x20Error\x20parsing\x20WebView\x20message:',_0x310271);}},[platform,_0x2ee981,_0xf66af4,_0x5065d1,_0x57fb05,_0x57ba38,_0x363d49,_0xbf1b89,_0x521006,_0x4f5d04,_0x202338,_0xb7cf9e,_0x3c85be]),_0x158ac2=useCallback((_0x48a030,_0x421a38=![])=>{const _0x5dd1b8={'YBvIo':function(_0x1da5af){return _0x462523[_0x2f61(0x1b7)](_0x1da5af);}},_0x2b739e=_0x48a030[_0x2f61(0x1b8)]||'',_0xe87971=_0x2b739e['toLowerCase']();console[_0x2f61(0x9f)]('🔍\x20[LINKEDIN]\x20Navigation:\x20'+_0x2b739e+',\x20loading='+_0x48a030['loading']+',\x20isLoadEnd='+_0x421a38);if(_0x462523[_0x2f61(0x10a)](isLinkedInOAuthCallback,_0x2b739e)){console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x1b9)]),_0x598d01(_0x462523[_0x2f61(0xc9)]);!_0x3902bd&&(console[_0x2f61(0x9f)](_0x2f61(0x1c)),_0x462523[_0x2f61(0x1ba)](_0x5e74b7,!![]),_0x462523[_0x2f61(0x1bb)](_0xa92694,!![]),_0x462523[_0x2f61(0xc4)](setTimeout,()=>{_0x462523[_0x2f61(0x1bc)](_0xf66af4,_0x462523[_0x2f61(0x118)]);if(_0x5065d1)_0x462523[_0x2f61(0x1bd)](_0x5065d1);},0x7d0));return;}const _0x23e452=_0x462523[_0x2f61(0x196)](isLinkedInProfilePage,_0x2b739e);_0x462523['DIdtP'](_0x55969a,_0x23e452);if(_0x23e452){_0x462523[_0x2f61(0x1be)](_0x55ed54,!![]),console[_0x2f61(0x9f)](_0x462523['dPfAz']);!_0x9b585c&&!_0x650a59&&_0x421a38&&!_0x48a030[_0x2f61(0x1bf)]&&(console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x1c0)]),_0x70744c(!![]),_0x462523[_0x2f61(0xc4)](setTimeout,()=>{const _0x1067d3={'lfYUI':'🚀\x20[LINKEDIN]\x20Navigating\x20directly\x20to\x20/me...'};_0x4cc779['current']&&(_0x462523['nlLJI'](_0x2f61(0x1c1),_0x2f61(0x1c1))?(console[_0x2f61(0x9f)](_0x462523['BWLPT']),_0x462523[_0x2f61(0x11b)](_0xd0a7f2,!![]),_0x462523[_0x2f61(0x1c2)](_0x598d01,_0x462523['QvscD']),_0x4cc779[_0x2f61(0x8e)][_0x2f61(0xc0)](LINKEDIN_PROFILE_EXTRACTOR_SCRIPT)):(_0x15b068[_0x2f61(0x9f)](_0x1067d3[_0x2f61(0x1c3)]),_0x39c57f[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x2f61(0x140))));},0x3e8));return;}if(!_0xe87971[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1c5)]))return;if(_0x462523[_0x2f61(0xd3)](isLinkedInLoginPage,_0x2b739e)){console[_0x2f61(0x9f)]('🔍\x20[LINKEDIN]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...'),_0x462523[_0x2f61(0x82)](_0x55ed54,![]),_0x462523['ZmQeQ'](_0x2a0717,![]);return;}!_0x2d3bc0&&(_0x462523[_0x2f61(0x18a)](_0x2f61(0x1c6),_0x462523['OOOvz'])?(console['log'](_0x462523['waiQb']),_0x598d01(_0x462523['QvscD']),_0x462523[_0x2f61(0xd3)](_0x55ed54,!![]),_0x2a0717(!![]),_0x4cc779[_0x2f61(0x8e)]&&(_0x462523[_0x2f61(0x105)](_0x462523[_0x2f61(0x1c7)],_0x2f61(0x43))?(console['log'](_0x2f61(0x13f)),_0x4cc779[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x2f61(0x140))):(_0x4b20da[_0x2f61(0x9f)](_0x462523['TxiKC']),_0x462523['SNTbL'](_0x598447,!![]),_0x462523['VhCie'](_0x18316c,()=>{_0x5dd1b8['YBvIo'](_0x510216);},0x7d0)))):_0xff95a2({'url':_0x151dbe,'loading':![]},!![]));},[_0x9b585c,_0x650a59,_0x2d3bc0,_0x3902bd,_0x2db884,_0x2b5c02,_0xf66af4,_0x5065d1]),_0x5bb83a=_0x462523[_0x2f61(0x1c8)](useCallback,(_0x5d3db7,_0x4ce142=![])=>{const _0x45e53a=_0x5d3db7['url']||'',_0x1c4d4a=_0x45e53a['toLowerCase']();console[_0x2f61(0x9f)](_0x2f61(0x1c9)+_0x45e53a+_0x2f61(0x1ca)+_0x5d3db7[_0x2f61(0x1bf)]+_0x2f61(0x1cb)+_0x4ce142),console['log'](_0x2f61(0x1cc)+_0x1dab68+_0x2f61(0x1cd)+_0x2a4788+_0x2f61(0x1ce)+_0x1b7d4e);const _0x7345d7=_0x1c4d4a[_0x2f61(0x1c4)](_0x462523['gXmwP'])||_0x1c4d4a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1cf)])||_0x1c4d4a[_0x2f61(0x1c4)](_0x462523['qifAP'])||_0x1c4d4a[_0x2f61(0x1c4)](_0x2f61(0x1d0))||_0x1c4d4a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1d1)]),_0x204d23=(_0x1c4d4a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1d2)])||_0x1c4d4a[_0x2f61(0x1c4)](_0x2f61(0x1d3)))&&!_0x7345d7&&!_0x1c4d4a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1d4)])&&!_0x5d3db7[_0x2f61(0x1bf)];if(_0x7345d7){console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x1d5)]),_0x462523[_0x2f61(0x80)](_0x36f5b6,![]);return;}_0x204d23&&!_0x1dab68&&!_0x1b7d4e&&!_0xb7b85c[_0x2f61(0x8e)]&&_0x4ce142&&(console['log'](_0x462523[_0x2f61(0x1d6)]),_0x462523['KjebI'](_0x36f5b6,!![]),_0x462523[_0x2f61(0x1d7)](setTimeout,()=>{_0x462523[_0x2f61(0x1d8)](_0x521006);},0x7d0));},[_0x1dab68,_0x2a4788,_0x1b7d4e,_0x521006]),_0x35f70e=_0x462523['nzFOE'](useCallback,(_0x3e8383,_0x39ee84=![])=>{const _0x4b40cb=_0x3e8383[_0x2f61(0x1b8)]||'',_0x1b1a8a=_0x4b40cb['toLowerCase']();console[_0x2f61(0x9f)]('🔍\x20[CLAUDE]\x20Navigation:\x20'+_0x4b40cb+',\x20loading='+_0x3e8383[_0x2f61(0x1bf)]+_0x2f61(0x1cb)+_0x39ee84);const _0x56d948=_0x1b1a8a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1d9)])||_0x1b1a8a['includes'](_0x462523[_0x2f61(0x1da)])||_0x1b1a8a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1db)]),_0x4c87ae=_0x1b1a8a[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1dc)])&&!_0x56d948&&!_0x3e8383[_0x2f61(0x1bf)];if(_0x56d948){console['log'](_0x462523['HUWkZ']),_0x462523[_0x2f61(0x1dd)](_0x1719b1,![]);return;}if(_0x462523['gnMoC'](_0x4c87ae,!_0x37ecfd)&&!_0x2171e0&&!_0x419569[_0x2f61(0x8e)]&&_0x39ee84){if(_0x462523[_0x2f61(0x102)](_0x462523[_0x2f61(0x1de)],_0x2f61(0x1df)))console['log'](_0x462523[_0x2f61(0x1e0)]),_0x462523[_0x2f61(0xcf)](_0x1719b1,!![]),setTimeout(()=>{_0x462523[_0x2f61(0x1bd)](_0x4f5d04);},0x7d0);else{_0x5891a6(_0x497c06);return;}}},[_0x37ecfd,_0x2171e0,_0x4f5d04]),_0x43909a=_0xab6077=>{const _0x1520c2={'UThtG':function(_0x4dd542,_0x1764a6){return _0x4dd542(_0x1764a6);},'DCmEr':function(_0x589614,_0x42b075){return _0x589614!==_0x42b075;},'DnDsj':_0x462523['AWwuM'],'hfMXi':function(_0x49f278,_0x2ccb05){return _0x462523[_0x2f61(0x1e1)](_0x49f278,_0x2ccb05);},'CGMDD':_0x462523[_0x2f61(0x1e2)],'yHiCK':_0x462523['QvscD']};console[_0x2f61(0x9f)](_0x2f61(0x1e3)+platform+':',_0xab6077[_0x2f61(0x1b8)]);if(_0x57ba38){_0x158ac2(_0xab6077);try{const _0x1d8c20=new URL(_0xab6077[_0x2f61(0x1b8)]),_0x517736=_0x1d8c20[_0x2f61(0x1e4)]['has'](_0x462523[_0x2f61(0x1e5)]),_0x50224b=_0x1d8c20[_0x2f61(0x1e4)][_0x2f61(0x1e6)](_0x2f61(0x1e7));if(_0x517736||_0x50224b){console['log']('✅\x20[LINKEDIN]\x20OAuth\x20SUCCESS\x20-\x20Authorization\x20code/token\x20received'),_0x55ed54(!![]),setTimeout(()=>{const _0x3a9e6c={'XJQMM':function(_0x55127f,_0x4dc9ac){return _0x1520c2[_0x2f61(0x1e8)](_0x55127f,_0x4dc9ac);}};if(_0x1520c2[_0x2f61(0x1e9)](_0x2f61(0x1ea),_0x1520c2[_0x2f61(0x1eb)])){if(_0x4cc779[_0x2f61(0x8e)]){if(_0x1520c2[_0x2f61(0x1ec)](_0x1520c2[_0x2f61(0x1ed)],_0x1520c2[_0x2f61(0x1ed)]))console['log'](_0x2f61(0xd1)),_0x1520c2[_0x2f61(0x1e8)](_0x598d01,_0x1520c2[_0x2f61(0x1ee)]),_0x4cc779[_0x2f61(0x8e)][_0x2f61(0xc0)](_0x2f61(0x17c));else return _0x3a9e6c['XJQMM'](_0x513980,_0x4e444e);}}else{const _0x171750=Animated['loop'](Animated[_0x2f61(0xba)]([Animated[_0x2f61(0xbb)](_0x1b5b23,{'toValue':0x1,'duration':0x4b0,'useNativeDriver':!![]}),Animated['timing'](_0x1854bc,{'toValue':0x0,'duration':0x4b0,'useNativeDriver':!![]})]));return _0x171750[_0x2f61(0x143)](),()=>{_0x171750[_0x2f61(0x1ef)](),_0x530e1b[_0x2f61(0xbc)](0x0);};}},0x1f4);return;}}catch(_0x26a921){}return;}if(_0x363d49){if(_0x462523['FOOsL'](_0x2f61(0x1f0),_0x2f61(0x1f0))){_0x5bb83a(_0xab6077);return;}else{const _0xe24b9c=_0x462523[_0x2f61(0x1f1)][_0x2f61(0xbf)]('|');let _0x190957=0x0;while(!![]){switch(_0xe24b9c[_0x190957++]){case'0':_0x3bffbc[_0x2f61(0x9f)]('🚀\x20[LINKEDIN]\x20Triggering\x20profile\x20DOM\x20scraping...');continue;case'1':if(!_0x4a5b7d['current']||_0x2f758a||_0x5dce42[_0x2f61(0x8e)])return;continue;case'2':_0x462523['dTzVg'](_0x1092f1,!![]);continue;case'3':_0x4c2280['current']['injectJavaScript'](_0x3551dc);continue;case'4':_0x471fb5[_0x2f61(0x8e)]=!![];continue;}break;}}}if(_0xbf1b89){_0x462523[_0x2f61(0x1f2)](_0x35f70e,_0xab6077);return;}if(_0x173aaf){if(_0x462523['RVvNd'](isLoggedInUrl,_0xab6077[_0x2f61(0x1b8)],platform)){if(_0x462523[_0x2f61(0x174)](_0x462523[_0x2f61(0x1f3)],_0x462523[_0x2f61(0x1f3)])){const _0x4eada0={'RCDGY':_0x462523[_0x2f61(0x118)],'Wjnvh':function(_0x80a920){return _0x462523[_0x2f61(0x1f4)](_0x80a920);}};_0x1ee8ce(![]),_0x462523[_0x2f61(0x1f5)](_0x44ed62,!![]),_0x462523[_0x2f61(0x10b)](_0x1b1448,!![]),_0x462523[_0x2f61(0x82)](_0x3e4f74,_0x462523[_0x2f61(0xc9)]),_0x45aecc(()=>{_0x888a14(_0x4eada0['RCDGY']);if(_0x39c281)_0x4eada0['Wjnvh'](_0x2b459a);},0x7d0);}else console[_0x2f61(0x9f)](_0x2f61(0x1a9)+platform[_0x2f61(0xe3)]()+']\x20Login\x20detected!');}return;}const _0x1aa940=_0xab6077[_0x2f61(0x1b8)]['includes'](_0x462523['vprwc'])||_0xab6077['url'][_0x2f61(0x1c4)](_0x2f61(0x1f6))||_0xab6077[_0x2f61(0x1b8)][_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1f7)])||_0xab6077[_0x2f61(0x1b8)][_0x2f61(0x1f8)](_0x462523[_0x2f61(0x1f9)])||_0xab6077[_0x2f61(0x1b8)][_0x2f61(0x1f8)](_0x2f61(0x1fa)),_0x1f912a=_0xab6077['url'][_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1fb)])&&_0xab6077['url'][_0x2f61(0x1c4)](_0x462523[_0x2f61(0x1fc)]);if(_0x462523['NEjnH'](_0x1aa940,_0x1f912a)){if(_0x462523[_0x2f61(0x1fd)](_0x462523[_0x2f61(0x1fe)],_0x462523['BgBcL'])){console[_0x2f61(0x9f)]('✅\x20'+platform+_0x2f61(0x1ff)+_0xab6077[_0x2f61(0x1b8)]),_0x560f54(!![]),_0x462523[_0x2f61(0x149)](setTimeout,()=>{_0x462523[_0x2f61(0x1be)](_0xf66af4,'success');if(_0x5065d1)_0x5065d1();},0x7d0);return;}else _0x118d9b&&_0x5759ef[_0x2f61(0x9f)](_0x462523[_0x2f61(0x200)]);}},_0x2bf523=_0x1d4ca4=>{const _0x2b628e=_0x1d4ca4[_0x2f61(0xe0)][_0x2f61(0x1b8)];console[_0x2f61(0x9f)]('📄\x20[LOAD\x20END]\x20Page\x20loaded:\x20'+_0x2b628e),_0x466d8a(![]);if(_0x57ba38)_0x462523[_0x2f61(0x201)](_0x158ac2,{'url':_0x2b628e,'loading':![]},!![]);else{if(_0x363d49)'ZyEWB'!==_0x2f61(0x202)?_0x573e58[_0x2f61(0x9f)]('✅\x20['+_0x121d0f[_0x2f61(0xe3)]()+']\x20Login\x20detected!'):_0x462523['KTEBl'](_0x5bb83a,{'url':_0x2b628e,'loading':![]},!![]);else _0xbf1b89&&_0x462523[_0x2f61(0x1d7)](_0x35f70e,{'url':_0x2b628e,'loading':![]},!![]);}},_0x23f322=_0x25bdf6=>{const _0x3c98a1={'TMrCI':function(_0x7e00a6,_0x109ca8){return _0x7e00a6(_0x109ca8);},'Gukmd':_0x462523[_0x2f61(0x118)],'ncTGv':function(_0x263b20){return _0x263b20();}};if(_0x462523['cwPcw'](_0x462523[_0x2f61(0x203)],_0x462523[_0x2f61(0x203)]))_0x752b5e[_0x2f61(0x9f)](_0x2f61(0x124),_0x4e2004),_0x462523[_0x2f61(0x1be)](_0x159d15,![]),_0x462523[_0x2f61(0x150)](_0x1c4cae,!![]),_0x19a31b(!![]),_0x462523['tXeLr'](_0x28c9cb,_0x462523['asXyC']),_0x462523[_0x2f61(0x204)](_0x5d3d6f,()=>{_0x3c98a1['TMrCI'](_0x2b3c3e,_0x3c98a1[_0x2f61(0x205)]);if(_0x4c385e)_0x3c98a1[_0x2f61(0x206)](_0x45ee39);},0x7d0);else{const _0xbe972e=_0x25bdf6[_0x2f61(0x1b8)]||'',_0x219877=_0xbe972e['toLowerCase']();if(_0x57ba38){const _0x16b9a5=[_0x462523['pZNkh'],_0x462523[_0x2f61(0x207)],_0x462523['IKRJG'],_0x462523[_0x2f61(0x208)]],_0x58d528=_0x16b9a5['some'](_0x361719=>_0x219877['startsWith'](_0x361719));if(_0x58d528)return console[_0x2f61(0x9f)](_0x462523['VpNpA'],_0xbe972e),![];if(_0x219877[_0x2f61(0x1f8)](_0x462523['PKvtm'])&&_0x219877[_0x2f61(0x1c4)](_0x462523[_0x2f61(0x209)]))return console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x20a)],_0xbe972e),![];if(_0x219877[_0x2f61(0x1f8)](_0x462523[_0x2f61(0x20b)])||_0x219877['startsWith'](_0x462523[_0x2f61(0x20c)])){if(_0x462523[_0x2f61(0x19d)](_0x462523[_0x2f61(0x20d)],_0x462523[_0x2f61(0x20e)]))_0x1ab2a6[_0x2f61(0x9f)](_0x2f61(0x15c));else return!![];}if(_0x219877['startsWith'](_0x462523[_0x2f61(0x20f)]))return!![];return console[_0x2f61(0x9f)](_0x462523[_0x2f61(0x210)],_0xbe972e),![];}return!![];}},_0x31db0c=()=>{if(_0x462523[_0x2f61(0x211)](_0x462523[_0x2f61(0x212)],_0x2f61(0x213))){const {nativeEvent:_0x3f114e}=_0x2855e1;_0x42232f[_0x2f61(0x2d)](_0x2f61(0x214)+_0x23fca5+':',_0x3f114e);}else{if(_0x462523[_0x2f61(0x215)](_0x173aaf,_0x57ba38))return _0x462523[_0x2f61(0x10a)](getAntiDetectionScript,platform);return undefined;}},_0x1b7e81=_0x462523[_0x2f61(0xb8)](_0x363d49,_0x2a4788),_0x2867cd=_0x376829,_0x228066=_0x4f4a1e,_0x15baf4=_0x462523[_0x2f61(0x216)](_0x2dada7,_0x479c1b)||_0x4d6583||_0x3b7694,_0x163626=_0x1b8683=>{if(_0x462523[_0x2f61(0x217)]!=='ACxbx'){const _0x34461c={'linkedin':'#0077B5','chatgpt':_0x462523[_0x2f61(0x218)],'openai':_0x462523['aSnVR'],'claude':_0x2f61(0x219),'anthropic':_0x462523[_0x2f61(0x21a)],'reddit':_0x462523[_0x2f61(0x21b)],'youtube':_0x462523[_0x2f61(0x21c)],'pinterest':_0x462523['ACigz'],'gmail':_0x462523[_0x2f61(0x21d)],'gemini':_0x462523[_0x2f61(0x21e)],'grok':'#000000'};return _0x34461c[_0x1b8683[_0x2f61(0x94)]()]||_0x462523[_0x2f61(0x21f)];}else{_0x471f14['log'](_0x2f61(0x155)+_0x556339[_0x2f61(0xe3)]()+_0x2f61(0x220),_0xeed26e[_0x2f61(0xf7)]);return;}},_0x3d060c=_0x462523[_0x2f61(0x221)](_0x163626,platform);return React['useEffect'](()=>{if(_0x462523[_0x2f61(0x9c)](_0x2f61(0x222),_0x462523[_0x2f61(0x223)]))return!![];else _0x15baf4&&(_0x19d03d[_0x2f61(0xbc)](0x0),_0x59b425[_0x2f61(0xbc)](0x0),Animated['sequence']([Animated['timing'](_0x59b425,{'toValue':0x1,'duration':0x96,'useNativeDriver':!![]})])[_0x2f61(0x143)](),Animated[_0x2f61(0x224)](_0x19d03d,{'toValue':0x1,'friction':0x4,'tension':0x64,'useNativeDriver':!![]})[_0x2f61(0x143)]());},[_0x15baf4,_0x19d03d,_0x59b425]),React['createElement'](View,{'style':styles['modalContainer']},React[_0x2f61(0x225)](SafeAreaView,{'style':styles[_0x2f61(0x226)]},React[_0x2f61(0x225)](View,{'style':styles[_0x2f61(0x227)]},React['createElement'](Text,{'style':styles['title']},_0x462523[_0x2f61(0x228)],_0x462523['fhBnr'](platform[_0x2f61(0x229)](0x0)[_0x2f61(0xe3)](),platform['slice'](0x1))),_0x3e60d3&&React['createElement'](Text,{'style':styles[_0x2f61(0x22a)]},_0x462523[_0x2f61(0x22b)]),React[_0x2f61(0x225)](TouchableOpacity,{'onPress':_0x57fb05,'style':styles[_0x2f61(0x22c)]},React[_0x2f61(0x225)](Text,{'style':styles['closeButtonText']},'✕'))),_0x15bae2&&React['createElement'](View,{'style':styles[_0x2f61(0x22d)]},React[_0x2f61(0x225)](View,{'style':styles[_0x2f61(0x22e)]},React[_0x2f61(0x225)](Animated[_0x2f61(0x22f)],{'style':[styles[_0x2f61(0x230)],{'transform':[{'translateX':_0x4bdbd8[_0x2f61(0x231)]({'inputRange':[0x0,0x1],'outputRange':[0x0,_0x462523['ysVEw'](width,0x78)]})}]}]})),React[_0x2f61(0x225)](Text,{'style':styles[_0x2f61(0x232)]},_0x462523[_0x2f61(0x233)])),_0x1b7e81&&React[_0x2f61(0x225)](View,{'style':styles[_0x2f61(0x234)]},React[_0x2f61(0x225)](View,{'style':styles[_0x2f61(0x235)]},React[_0x2f61(0x225)](Animated[_0x2f61(0x22f)],{'style':[styles[_0x2f61(0x236)],{'width':_0x228066[_0x2f61(0x231)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x2f61(0x79)]}),'backgroundColor':_0x3d060c}]})),React[_0x2f61(0x225)](Text,{'style':styles['progressText']},_0x2867cd<0x64?_0x2f61(0x237)+Math['round'](_0x2867cd)+'%':'Complete!')),_0xbf1b89&&_0x14ad31&&React['createElement'](View,{'style':styles[_0x2f61(0x238)]},React['createElement'](View,{'style':styles[_0x2f61(0x239)]},React['createElement'](ActivityIndicator,{'size':_0x462523[_0x2f61(0x23a)],'color':_0x462523[_0x2f61(0x21a)]}),React['createElement'](Text,{'style':styles[_0x2f61(0x23b)]},_0x462523[_0x2f61(0x23c)]),React[_0x2f61(0x225)](Text,{'style':styles[_0x2f61(0x23d)]},_0xd5a7c6),React[_0x2f61(0x225)](View,{'style':styles['claudeExtractionProgressContainer']},React[_0x2f61(0x225)](Animated[_0x2f61(0x22f)],{'style':[styles[_0x2f61(0x23e)],{'width':_0x5cd91b[_0x2f61(0x231)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x462523[_0x2f61(0x23f)]]})}]})),React['createElement'](Text,{'style':styles[_0x2f61(0x240)]},Math[_0x2f61(0x241)](_0x15eb94),'%'))),_0x15baf4&&React[_0x2f61(0x225)](View,{'style':styles[_0x2f61(0x242)]},React['createElement'](Animated['View'],{'style':[styles[_0x2f61(0x243)],{'backgroundColor':_0x3d060c,'transform':[{'scale':_0x19d03d}],'opacity':_0x59b425}]},React[_0x2f61(0x225)](Text,{'style':styles[_0x2f61(0x244)]},'✓')),React[_0x2f61(0x225)](Animated[_0x2f61(0x245)],{'style':[styles[_0x2f61(0x246)],{'opacity':_0x59b425}]},_0x2f61(0x15))),React[_0x2f61(0x225)](View,{'style':styles[_0x2f61(0x247)]},_0x462523['YTADf'](_0x1b2d4c,!_0x1b7e81)&&!_0x15baf4&&React['createElement'](View,{'style':styles[_0x2f61(0x248)]},React[_0x2f61(0x225)](ActivityIndicator,{'size':_0x462523[_0x2f61(0x23a)],'color':_0x3d060c}),React['createElement'](Text,{'style':styles['loadingText']},_0x462523['pkvEA'],platform,_0x462523[_0x2f61(0x249)]),React['createElement'](Text,{'style':styles[_0x2f61(0x24a)]},_0x462523['XlFgD'],platform,_0x462523[_0x2f61(0x24b)])),React['createElement'](WebView,{'ref':_0x4cc779,'source':{'uri':_0x9e250d},'onShouldStartLoadWithRequest':_0x23f322,'onNavigationStateChange':_0x43909a,'onLoadStart':()=>_0x466d8a(!![]),'onLoadEnd':_0x2bf523,'onMessage':_0x46c75b,'injectedJavaScriptBeforeContentLoaded':_0x462523[_0x2f61(0x24c)](_0x31db0c),'style':styles['webView'],'javaScriptEnabled':!![],'domStorageEnabled':!![],'cacheEnabled':!_0x57ba38,'incognito':_0x57ba38,'thirdPartyCookiesEnabled':!_0x57ba38,'sharedCookiesEnabled':!_0x57ba38,'userAgent':_0x462523[_0x2f61(0xa6)](getPlatformUserAgent,platform),'originWhitelist':[_0x462523[_0x2f61(0x24d)],_0x462523[_0x2f61(0x24e)]],'allowsBackForwardNavigationGestures':!![],'setSupportMultipleWindows':![],'onError':_0xd9fb5a=>{const {nativeEvent:_0x5de837}=_0xd9fb5a;console['error']('WebView\x20error\x20for\x20'+platform+':',_0x5de837);},'onHttpError':_0x23aab8=>{if(_0x462523[_0x2f61(0x102)](_0x462523[_0x2f61(0x24f)],_0x462523['BDazZ']))_0x462523['tuKpv'](_0x5d51b7);else{const {nativeEvent:_0x235a6e}=_0x23aab8;console[_0x2f61(0x2d)](_0x2f61(0x250)+platform+':\x20'+_0x235a6e[_0x2f61(0x251)],_0x235a6e[_0x2f61(0x1b8)]);if(_0x235a6e[_0x2f61(0x1b8)]&&_0x235a6e['url'][_0x2f61(0x1c4)](_0x462523[_0x2f61(0x252)])){if(_0x2f61(0x253)!==_0x462523['wWfmc'])console[_0x2f61(0x9f)](_0x462523['lBGTr']),_0xf66af4(_0x462523[_0x2f61(0x118)]),_0x5065d1&&(_0x462523['Bplnu'](_0x462523[_0x2f61(0x254)],_0x462523[_0x2f61(0x255)])?_0x462523[_0x2f61(0x24c)](_0x2b6bae):_0x462523[_0x2f61(0x180)](setTimeout,()=>_0x5065d1(),0x3e8));else{const _0x3d06b1={'mNoEb':function(_0x9d217c){return _0x462523[_0x2f61(0x256)](_0x9d217c);},'byFAY':function(_0x1e0904){return _0x1e0904();}};_0xa2443e[_0x2f61(0x2d)]('❌\x20['+_0x2dda73[_0x2f61(0xe3)]()+']\x20Export\x20error:',_0x212d48['message']);if(_0x493e54)_0x462523[_0x2f61(0x198)](_0x28c261,![]),_0x462523[_0x2f61(0x221)](_0x103500,0x0),_0x2d904b[_0x2f61(0x8e)]=![],_0x462523[_0x2f61(0x257)](_0x589867,![]);else _0x43b856&&(_0x462523[_0x2f61(0x14b)](_0x3df0fd,![]),_0x462523[_0x2f61(0x258)](_0x3b941c,0x0),_0x462523[_0x2f61(0xd3)](_0x5139c6,![]),_0x4f27da[_0x2f61(0x8e)]=![],_0x462523[_0x2f61(0x257)](_0x3dff9a,![]));Alert['alert'](_0x462523['XghHd'],_0x2f61(0x259)+_0x116232+_0x2f61(0x25a)+_0x50b5d5['message'],[{'text':_0x2f61(0x29),'onPress':()=>{if(_0x569a19)_0x3d06b1[_0x2f61(0x25b)](_0xd88779);else{if(_0x3e0782)_0x3d06b1[_0x2f61(0x25c)](_0x1b04d3);}}},{'text':_0x462523[_0x2f61(0x19a)],'onPress':_0x5ada4f,'style':'cancel'}]);return;}}}}}))));};const styles=StyleSheet[_0x2f61(0x25d)]({'modalContainer':{'position':_0x2f61(0x25e),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'width':width,'height':height,'backgroundColor':'#fff','zIndex':0x270f,'borderTopLeftRadius':0x14,'borderTopRightRadius':0x14,'overflow':_0x2f61(0x25f)},'container':{'flex':0x1,'backgroundColor':'#fff','width':width,'height':height,'position':'absolute','top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'zIndex':0x3e7,'borderTopLeftRadius':0x14,'borderTopRightRadius':0x14,'overflow':'hidden'},'header':{'flexDirection':_0x2f61(0x260),'alignItems':_0x2f61(0x261),'justifyContent':_0x2f61(0x262),'paddingHorizontal':0x10,'paddingVertical':0x8,'borderBottomWidth':0x1,'borderBottomColor':_0x2f61(0x263),'backgroundColor':_0x2f61(0x264),'zIndex':0x3e8},'title':{'fontSize':0x12,'fontWeight':'600','color':_0x2f61(0x265),'flex':0x1,'textAlign':_0x2f61(0x261)},'closeButton':{'padding':0x8},'closeButtonText':{'fontSize':0x14,'color':'#666'},'webViewContainer':{'flex':0x1,'width':width,'height':height-0x3c},'webView':{'flex':0x1,'width':_0x2f61(0x79),'height':_0x2f61(0x79)},'loadingContainer':{...StyleSheet[_0x2f61(0x266)],'alignItems':_0x2f61(0x261),'justifyContent':'center','backgroundColor':_0x2f61(0x267),'zIndex':0x1},'loadingText':{'marginTop':0xc,'fontSize':0x10,'color':_0x2f61(0x268)},'loadingHint':{'marginTop':0x8,'fontSize':0xe,'color':_0x2f61(0x269),'textAlign':'center','paddingHorizontal':0x28},'timeoutText':{'fontSize':0xc,'color':_0x2f61(0x26a),'textAlign':_0x2f61(0x261),'marginTop':0x4},'linkedinProgressContainer':{'paddingHorizontal':0x10,'paddingVertical':0xc,'backgroundColor':_0x2f61(0x26b),'borderBottomWidth':0x1,'borderBottomColor':_0x2f61(0x263),'alignItems':_0x2f61(0x261)},'linkedinProgressTrack':{'width':'100%','height':0x4,'backgroundColor':_0x2f61(0x26c),'borderRadius':0x2,'overflow':_0x2f61(0x25f)},'linkedinProgressIndicator':{'width':0x50,'height':0x4,'backgroundColor':'#0077B5','borderRadius':0x2},'linkedinProgressText':{'color':_0x2f61(0x26d),'fontSize':0xd,'fontWeight':_0x2f61(0x26e),'marginTop':0x8,'fontFamily':_0x2f61(0x26f)},'exportProgressContainer':{'paddingHorizontal':0x10,'paddingVertical':0x6,'backgroundColor':'#F9FAFB','borderBottomWidth':0x1,'borderBottomColor':_0x2f61(0x263)},'progressBarContainer':{'height':0x6,'backgroundColor':_0x2f61(0x270),'borderRadius':0x3,'overflow':_0x2f61(0x25f)},'progressBar':{'height':_0x2f61(0x79),'borderRadius':0x3},'progressText':{'fontSize':0xc,'color':_0x2f61(0x271),'textAlign':_0x2f61(0x261),'marginTop':0x6},'successOverlay':{'position':'absolute','top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':_0x2f61(0x272),'justifyContent':_0x2f61(0x261),'alignItems':_0x2f61(0x261),'zIndex':0x7d0},'successCheckmark':{'width':0x50,'height':0x50,'borderRadius':0x28,'justifyContent':_0x2f61(0x261),'alignItems':'center','shadowColor':'#000','shadowOffset':{'width':0x0,'height':0x4},'shadowOpacity':0.2,'shadowRadius':0x14,'elevation':0xa},'successCheckmarkIcon':{'fontSize':0x32,'color':_0x2f61(0x272),'fontWeight':_0x2f61(0x273)},'successText':{'fontFamily':'IBM\x20Plex\x20Sans','fontSize':0x18,'fontWeight':'700','color':_0x2f61(0x274),'marginTop':0x18},'claudeExtractionOverlay':{'position':_0x2f61(0x25e),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':'#FFFFFF','justifyContent':'center','alignItems':_0x2f61(0x261),'zIndex':0x3e8},'extractionContent':{'alignItems':'center','paddingHorizontal':0x20},'claudeExtractionTitle':{'fontSize':0x18,'fontWeight':_0x2f61(0x275),'color':_0x2f61(0x274),'marginTop':0x18,'marginBottom':0x8},'claudeExtractionSubtitle':{'fontSize':0x10,'color':'#6B7280','textAlign':_0x2f61(0x261),'marginBottom':0x18},'claudeExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':'#E5E7EB','borderRadius':0x4,'overflow':_0x2f61(0x25f)},'claudeExtractionProgressFill':{'height':_0x2f61(0x79),'backgroundColor':_0x2f61(0x219),'borderRadius':0x4},'claudeExtractionProgressText':{'fontSize':0xe,'color':_0x2f61(0x219),'fontWeight':_0x2f61(0x276),'marginTop':0x8},'linkedInExtractionOverlay':{'position':'absolute','top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':_0x2f61(0x272),'justifyContent':'center','alignItems':_0x2f61(0x261),'zIndex':0x3e8},'linkedInExtractionTitle':{'fontSize':0x18,'fontWeight':_0x2f61(0x275),'color':'#1a1a1a','marginTop':0x18,'marginBottom':0x8},'linkedInExtractionSubtitle':{'fontSize':0x10,'color':_0x2f61(0x271),'textAlign':_0x2f61(0x261),'marginBottom':0x18},'linkedInExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':_0x2f61(0x270),'borderRadius':0x4,'overflow':_0x2f61(0x25f)},'linkedInExtractionProgressFill':{'height':'100%','backgroundColor':_0x2f61(0x26d),'borderRadius':0x4},'linkedInExtractionProgressText':{'fontSize':0xe,'color':_0x2f61(0x26d),'fontWeight':_0x2f61(0x276),'marginTop':0x8}});
|