@onairos/react-native 3.7.1 → 3.7.3
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/lib/commonjs/api/index.js +219 -9
- package/lib/commonjs/assets/icons/spotify.png +0 -0
- package/lib/commonjs/assets/images/spotify.png +0 -0
- package/lib/commonjs/components/BodyText.js +27 -9
- package/lib/commonjs/components/BrandMark.js +111 -10
- package/lib/commonjs/components/CodeInput.js +116 -9
- package/lib/commonjs/components/EmailInput.js +30 -8
- package/lib/commonjs/components/GoogleButton.js +56 -9
- package/lib/commonjs/components/HeadingGroup.js +43 -9
- package/lib/commonjs/components/LLMDataInputModal.js +664 -14
- package/lib/commonjs/components/ModalHeader.js +99 -9
- package/lib/commonjs/components/ModalSheet.js +47 -9
- package/lib/commonjs/components/Onairos.js +380 -14
- package/lib/commonjs/components/OnairosButton.js +313 -13
- package/lib/commonjs/components/OnairosSignInButton.js +130 -12
- package/lib/commonjs/components/Overlay.js +465 -13
- package/lib/commonjs/components/PersonaImage.js +137 -10
- package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
- package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
- package/lib/commonjs/components/PinCreationScreen.js +403 -12
- package/lib/commonjs/components/PinInput.js +464 -9
- package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
- package/lib/commonjs/components/PlatformList.js +137 -10
- package/lib/commonjs/components/PlatformToggle.js +180 -9
- package/lib/commonjs/components/PrimaryButton.js +180 -10
- package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
- package/lib/commonjs/components/SignInStep.js +345 -12
- package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
- package/lib/commonjs/components/VerificationStep.js +176 -11
- package/lib/commonjs/components/WelcomeScreen.js +461 -22
- package/lib/commonjs/components/icons/Basicproficon.js +37 -8
- package/lib/commonjs/components/icons/Basicprofile.js +21 -8
- package/lib/commonjs/components/icons/Checkbox.js +21 -8
- package/lib/commonjs/components/icons/Checkmark.js +27 -8
- package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
- package/lib/commonjs/components/icons/Contenticon.js +39 -8
- package/lib/commonjs/components/icons/EnochE.js +41 -8
- package/lib/commonjs/components/icons/Personalityicon.js +30 -8
- package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
- package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
- package/lib/commonjs/components/icons/Userpreferences.js +21 -8
- package/lib/commonjs/components/icons/index.js +84 -17
- package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
- package/lib/commonjs/components/onboarding/PinInput.js +283 -10
- package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
- package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
- package/lib/commonjs/config/api.js +56 -7
- package/lib/commonjs/constants/index.js +120 -7
- package/lib/commonjs/context/AuthContext.js +345 -10
- package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
- package/lib/commonjs/hooks/useConnections.js +102 -8
- package/lib/commonjs/hooks/useCredentials.js +178 -10
- package/lib/commonjs/hooks/useUserConnections.js +148 -10
- package/lib/commonjs/index.js +439 -34
- package/lib/commonjs/services/apiClient.js +298 -8
- package/lib/commonjs/services/biometricPinService.js +180 -8
- package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
- package/lib/commonjs/services/chatGPTConversationService.js +275 -9
- package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
- package/lib/commonjs/services/claudeConversationService.js +158 -9
- package/lib/commonjs/services/connectedAccountsService.js +310 -10
- package/lib/commonjs/services/googleAuthService.js +252 -11
- package/lib/commonjs/services/hingeDataExtractor.js +105 -8
- package/lib/commonjs/services/hingeDataService.js +150 -9
- package/lib/commonjs/services/imageCompressionService.js +260 -7
- package/lib/commonjs/services/instagramDataExtractor.js +126 -8
- package/lib/commonjs/services/instagramDataService.js +163 -9
- package/lib/commonjs/services/jwtStorageService.js +276 -7
- package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
- package/lib/commonjs/services/linkedinProfileService.js +222 -9
- package/lib/commonjs/services/linkedinScrapingService.js +230 -8
- package/lib/commonjs/services/llmDataStorage.js +294 -8
- package/lib/commonjs/services/mobileTrainingService.js +186 -8
- package/lib/commonjs/services/netflixDataExtractor.js +120 -8
- package/lib/commonjs/services/netflixDataService.js +198 -9
- package/lib/commonjs/services/pinEncryptionService.js +84 -8
- package/lib/commonjs/services/pinStorageUtils.js +105 -7
- package/lib/commonjs/services/platformAuthService.js +1484 -12
- package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
- package/lib/commonjs/services/sephoraDataService.js +200 -9
- package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
- package/lib/commonjs/services/spotifyDataService.js +241 -9
- package/lib/commonjs/services/storageService.js +404 -8
- package/lib/commonjs/services/telegramDataExtractor.js +115 -8
- package/lib/commonjs/services/telegramDataService.js +499 -9
- package/lib/commonjs/services/trainingApiHelpers.js +73 -7
- package/lib/commonjs/services/userConnectionsService.js +340 -10
- package/lib/commonjs/services/youtubeMigrationService.js +416 -10
- package/lib/commonjs/theme/index.js +250 -7
- package/lib/commonjs/types/ambient.d.js +2 -1
- package/lib/commonjs/types/declarations.d.js +2 -1
- package/lib/commonjs/types/index.js +6 -1
- package/lib/commonjs/types/node-fix.d.js +2 -1
- package/lib/commonjs/types/node-override.d.js +2 -1
- package/lib/commonjs/types/opacity.d.js +2 -1
- package/lib/commonjs/types.js +14 -1
- package/lib/commonjs/utils/Portal.js +98 -8
- package/lib/commonjs/utils/api.js +130 -9
- package/lib/commonjs/utils/assetRegistry.js +210 -35
- package/lib/commonjs/utils/auth.js +112 -9
- package/lib/commonjs/utils/connectorTests.js +613 -29
- package/lib/commonjs/utils/crypto.js +62 -8
- package/lib/commonjs/utils/debugHelper.js +64 -1
- package/lib/commonjs/utils/encryption.js +76 -7
- package/lib/commonjs/utils/eventUtils.js +288 -1
- package/lib/commonjs/utils/haptics.js +66 -9
- package/lib/commonjs/utils/imagePreloader.js +6 -1
- package/lib/commonjs/utils/networkDiagnostics.js +226 -8
- package/lib/commonjs/utils/onairosApi.js +350 -9
- package/lib/commonjs/utils/programmaticFlow.js +117 -9
- package/lib/commonjs/utils/retryHelper.js +220 -1
- package/lib/commonjs/utils/secureStorage.js +349 -10
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
- package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
- package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
- package/lib/commonjs/utils/webviewScripts/index.js +698 -15
- package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
- package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
- package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
- package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
- package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
- package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
- package/lib/module/api/index.js +211 -1
- package/lib/module/assets/icons/spotify.png +0 -0
- package/lib/module/assets/images/spotify.png +0 -0
- package/lib/module/components/BodyText.js +20 -1
- package/lib/module/components/BrandMark.js +104 -1
- package/lib/module/components/CodeInput.js +109 -1
- package/lib/module/components/EmailInput.js +23 -1
- package/lib/module/components/GoogleButton.js +49 -1
- package/lib/module/components/HeadingGroup.js +36 -1
- package/lib/module/components/LLMDataInputModal.js +656 -7
- package/lib/module/components/ModalHeader.js +92 -1
- package/lib/module/components/ModalSheet.js +39 -1
- package/lib/module/components/Onairos.js +373 -1
- package/lib/module/components/OnairosButton.js +305 -1
- package/lib/module/components/OnairosSignInButton.js +121 -1
- package/lib/module/components/Overlay.js +456 -1
- package/lib/module/components/PersonaImage.js +129 -1
- package/lib/module/components/PersonaLoadingScreen.js +310 -1
- package/lib/module/components/PersonalizationConsentScreen.js +460 -1
- package/lib/module/components/PinCreationScreen.js +396 -1
- package/lib/module/components/PinInput.js +456 -1
- package/lib/module/components/PlatformConnectorsStep.js +1302 -6
- package/lib/module/components/PlatformList.js +129 -1
- package/lib/module/components/PlatformToggle.js +173 -1
- package/lib/module/components/PrimaryButton.js +172 -1
- package/lib/module/components/SignInMatchAnimation.js +189 -1
- package/lib/module/components/SignInStep.js +338 -1
- package/lib/module/components/UniversalOnboarding.js +2770 -1
- package/lib/module/components/VerificationStep.js +168 -1
- package/lib/module/components/WelcomeScreen.js +453 -1
- package/lib/module/components/icons/Basicproficon.js +30 -1
- package/lib/module/components/icons/Basicprofile.js +14 -1
- package/lib/module/components/icons/Checkbox.js +14 -1
- package/lib/module/components/icons/Checkmark.js +20 -1
- package/lib/module/components/icons/Contentanalysis.js +14 -1
- package/lib/module/components/icons/Contenticon.js +32 -1
- package/lib/module/components/icons/EnochE.js +34 -1
- package/lib/module/components/icons/Personalityicon.js +23 -1
- package/lib/module/components/icons/Personalityprofile.js +14 -1
- package/lib/module/components/icons/Personalitytraits.js +14 -1
- package/lib/module/components/icons/Userpreferences.js +14 -1
- package/lib/module/components/icons/index.js +13 -1
- package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
- package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
- package/lib/module/components/onboarding/PinInput.js +274 -1
- package/lib/module/components/onboarding/PlatformConnector.js +240 -1
- package/lib/module/config/PLATFORM_APIS.md +849 -0
- package/lib/module/config/api.js +47 -1
- package/lib/module/constants/index.js +114 -1
- package/lib/module/context/AuthContext.js +335 -1
- package/lib/module/hooks/useConnectedAccounts.js +106 -1
- package/lib/module/hooks/useConnections.js +95 -1
- package/lib/module/hooks/useCredentials.js +171 -6
- package/lib/module/hooks/useUserConnections.js +140 -1
- package/lib/module/index.js +172 -1
- package/lib/module/services/apiClient.js +295 -1
- package/lib/module/services/biometricPinService.js +169 -1
- package/lib/module/services/chatGPTConversationExtractor.js +149 -1
- package/lib/module/services/chatGPTConversationService.js +268 -1
- package/lib/module/services/claudeConversationExtractor.js +97 -1
- package/lib/module/services/claudeConversationService.js +151 -1
- package/lib/module/services/connectedAccountsService.js +293 -1
- package/lib/module/services/googleAuthService.js +241 -1
- package/lib/module/services/hingeDataExtractor.js +99 -1
- package/lib/module/services/hingeDataService.js +143 -1
- package/lib/module/services/imageCompressionService.js +250 -1
- package/lib/module/services/instagramDataExtractor.js +120 -1
- package/lib/module/services/instagramDataService.js +156 -1
- package/lib/module/services/jwtStorageService.js +257 -1
- package/lib/module/services/linkedinDOMExtractor.js +234 -1
- package/lib/module/services/linkedinProfileService.js +210 -1
- package/lib/module/services/linkedinScrapingService.js +219 -1
- package/lib/module/services/llmDataStorage.js +277 -1
- package/lib/module/services/mobileTrainingService.js +173 -1
- package/lib/module/services/netflixDataExtractor.js +114 -1
- package/lib/module/services/netflixDataService.js +191 -1
- package/lib/module/services/pinEncryptionService.js +74 -6
- package/lib/module/services/pinStorageUtils.js +93 -1
- package/lib/module/services/platformAuthService.js +1461 -1
- package/lib/module/services/sephoraDataExtractor.js +134 -1
- package/lib/module/services/sephoraDataService.js +193 -1
- package/lib/module/services/spotifyDataExtractor.js +142 -1
- package/lib/module/services/spotifyDataService.js +234 -1
- package/lib/module/services/storageService.js +383 -1
- package/lib/module/services/telegramDataExtractor.js +109 -1
- package/lib/module/services/telegramDataService.js +493 -1
- package/lib/module/services/trainingApiHelpers.js +67 -1
- package/lib/module/services/userConnectionsService.js +329 -1
- package/lib/module/services/youtubeMigrationService.js +405 -1
- package/lib/module/theme/index.js +245 -1
- package/lib/module/types.js +10 -1
- package/lib/module/utils/Portal.js +90 -1
- package/lib/module/utils/api.js +118 -1
- package/lib/module/utils/assetRegistry.js +200 -34
- package/lib/module/utils/auth.js +100 -1
- package/lib/module/utils/connectorTests.js +600 -27
- package/lib/module/utils/crypto.js +54 -1
- package/lib/module/utils/debugHelper.js +54 -1
- package/lib/module/utils/encryption.js +67 -1
- package/lib/module/utils/eventUtils.js +270 -1
- package/lib/module/utils/haptics.js +59 -8
- package/lib/module/utils/imagePreloader.js +3 -1
- package/lib/module/utils/networkDiagnostics.js +217 -1
- package/lib/module/utils/onairosApi.js +333 -1
- package/lib/module/utils/programmaticFlow.js +111 -1
- package/lib/module/utils/retryHelper.js +211 -1
- package/lib/module/utils/secureStorage.js +330 -6
- package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
- package/lib/module/utils/webviewScripts/claude.js +370 -1
- package/lib/module/utils/webviewScripts/hinge.js +405 -1
- package/lib/module/utils/webviewScripts/index.js +434 -1
- package/lib/module/utils/webviewScripts/instagram.js +448 -1
- package/lib/module/utils/webviewScripts/linkedin.js +874 -1
- package/lib/module/utils/webviewScripts/netflix.js +376 -1
- package/lib/module/utils/webviewScripts/sephora.js +510 -1
- package/lib/module/utils/webviewScripts/spotify.js +413 -1
- package/lib/module/utils/webviewScripts/telegram.js +672 -1
- package/package.json +2 -2
|
@@ -1,18 +1,1754 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OAuthWebView']=void 0x0;function _0x3688(){const _0x2f3611=['🤖\x20[CHATGPT]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','wcpHc','object','function','WTCOZ','QgUqp','nKqpM','VyKpH','oqdUs','rdmcr','GmdcW','IdMCX','jDUsZ','AsXLx','ExrrJ','has','set','uWdBz','hasOwnProperty','defineProperty','getOwnPropertyDescriptor','get','SrXYF','log','PHjDi','Dimensions','platform','LLM','LinkedIn','OAuth','UdeRt','6|1|2|5|4|3|0','3|8|4|0|1|6|7|2|5','CmUPD','ssIql','🚀\x20[LINKEDIN]\x20Triggering\x20profile\x20DOM\x20scraping...','Extracting\x20profile...','onairos.uk','success','Connected!','⚠️\x20[LINKEDIN]\x20Profile\x20URL\x20extraction\x20failed:','🚀\x20[LINKEDIN]\x20Navigating\x20directly\x20to\x20/me...','🚀\x20[LINKEDIN]\x20User\x20logged\x20in!\x20Immediately\x20navigating\x20to\x20profile...','GhoQD','/auth','wAORO','ASoGi','YYXuW','ujgtS','claude.ai','🔐\x20[CLAUDE]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','✅\x20[CLAUDE]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','kRYFI','items','AwPuj','✅\x20[CHATGPT]\x20Memories\x20stored\x20successfully!','Export\x20Failed','Close','/accounts/login','/accounts/signup','/challenge','Connecting','code','access_token','dGmYJ','LINKEDIN_PROFILE_CONSENT','lAATK','denied','Connection\x20Cancelled','You\x20denied\x20access\x20to\x20your\x20LinkedIn\x20profile\x20data.','allowed','✅\x20[LINKEDIN]\x20User\x20allowed\x20profile\x20consent\x20-\x20starting\x20extraction','LINKEDIN_PROFILE_PROGRESS','RbxZm','LINKEDIN_PROFILE_EXPORT_COMPLETE','✅\x20[LINKEDIN]\x20Profile\x20DOM\x20extraction\x20complete!','Storing\x20profile\x20data...','📤\x20[LINKEDIN]\x20Storing\x20profile\x20data...','LINKEDIN_PROFILE_EXPORT_ERROR','Extraction\x20Failed','cancel','error','XniZy','OsxFm','DEBUG_LOG','MEMORIES_DATA','WmidQ','🧠\x20[CHATGPT]\x20Received\x20memories\x20data\x20from\x20WebView,\x20storing...','keWAd','BKHuP','❌\x20[CHATGPT]\x20Memories\x20storage\x20error:','aMvtu','CONVERSATION_EXPORT_COMPLETE','📤\x20[CHATGPT]\x20Storing\x20conversations\x20to\x20backend...','📤\x20[CLAUDE]\x20Storing\x20conversations\x20to\x20backend...','CONVERSATION_EXPORT_ERROR','vIkqd','WLXBT','MEMORIES_FETCH_COMPLETE','HINGE_EXPORT_PROGRESS','bWGiQ','✅\x20[HINGE]\x20Export\x20complete!','Storing\x20data...','vQfVA','HNEzU','HINGE_EXPORT_ERROR','SEPHORA_EXPORT_PROGRESS','HgRdN','SEPHORA_EXPORT_COMPLETE','ceojH','📤\x20[SEPHORA]\x20Storing\x20data\x20to\x20backend...','SEPHORA_EXPORT_ERROR','BlvlP','5|3|1|2|0|4|6|7','TELEGRAM_EXPORT_PROGRESS','YyHoE','TELEGRAM_EXPORT_COMPLETE','✅\x20[TELEGRAM]\x20Export\x20complete!','📤\x20[TELEGRAM]\x20Storing\x20data\x20to\x20backend...','0|7|4|2|5|3|1|6','❌\x20[TELEGRAM]\x20Export\x20error:','HINGE_CONSENT','INSTAGRAM_CONSENT','SEPHORA_CONSENT','TELEGRAM_CONSENT','🔐\x20[CHATGPT]\x20On\x20auth/login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','💉\x20[LINKEDIN]\x20Auto-injecting\x20profile\x20extraction\x20script...','💼\x20[LINKEDIN]\x20Navigating\x20to\x20profile\x20page...','UEXBr','✅\x20[LINKEDIN]\x20OAuth\x20callback\x20detected\x20-\x20showing\x20success\x20animation','yIfAL','🚀\x20[LINKEDIN]\x20Auto-triggering\x20profile\x20URL\x20extraction...','linkedin.com','xWDqA','🔍\x20[LINKEDIN]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','RDXeC','gknYr','/auth/login','auth.openai.com','/login','/signup','chatgpt.com','/api/','mAyFM','AGfHL','sKvnu','hinge.co','instagram.com','sephora.com','HYixW','tlBRa','onairos.uk/Home','onairos.uk/home','https://onairos.uk/home','oauth-callback.html','success=true','#D97706','#FF4500','#FF0000','#4285F4','#E1306C','nSqBM','Dpjpo','0|2|4|3|1','AoRXo','OSwwW','linkedinapp://','linkedinssl://','linkedin-mobile://','linkedin','HwXBT','https://','#0077B5','#000000','LwTZP','anthropic','Platform:','Connect\x20','Taking\x20longer\x20than\x20expected...','large','Extracting\x20Data','...','\x20account','https://*','useState','useRef','Animated','Value','current','useChatGPTConversationExtractor','useClaudeConversationExtractor','useHingeDataExtractor','useInstagramDataExtractor','useSephoraDataExtractor','isLLMPlatform','isLinkedInPlatform','OvYkE','ohumF','JpdvB','vQIdA','IMDCY','toLowerCase','openai','XKcwr','mwEoI','FPwzS','bnWik','vNOBo','isHingePlatform','isSephoraPlatform','Opening\x20','qIFMj','YIsFU','kpOZT','default','useEffect','\x20after\x202\x20minutes','svxzi','VkwRY','AzGCJ','🧠\x20[CLAUDE]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','EqeCW','bscWB','WiMqR','xLxvL','zBgvT','PcBMU','loop','sequence','timing','TSnNd','ZUChI','aGWaP','Gimvk','elQrA','useCallback','split','vngrx','MKXQB','WODjl','abqsy','CLAUDE_EXPORT_SCRIPT','FPhAu','🚀\x20[','toUpperCase','wMBKn','kUJpJ','SVRhN','KryHC','injectJavaScript','INSTAGRAM_EXPORT_SCRIPT','SEPHORA_EXPORT_SCRIPT','jqJxv','TELEGRAM_EXPORT_SCRIPT','xszmp','LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT','wjctG','4|0|2|5|3|1|6','LINKEDIN_PROFILE_SCRAPER_SCRIPT','Gbclz','bvQrO','pkTeZ','🚫\x20[LINKEDIN]\x20Blocked\x20app\x20deep\x20link:','vIjTM','wzKaM','TayRF','GLubR','wGLJS','JCENi','zrIUF','SOVdo','rSTic','sXTfZ','zAzGI','bzDut','eWkgF','KsCaQ','nUxEr','uVyTT','kvuXM','DYoTk','eyoLC','3|0|5|7|4|2|1|6','NReUh','XNTSw','cgjQm','ujTgl','mABbT','loliQ','RLdFv','wIWgh','tZdKD','bZUIY','EKnOT','nativeEvent','data','status','cVYkA','QpaNB','wUrGI','type','Wrcek','bQwqz','JhhHd','Alert','alert','QWbIo','QwPya','jjFAk','nBHzG','EXaiu','WebView\x20HTTP\x20error\x20for\x20','statusCode','url','includes','HTTP\x20error\x20on\x20onairos.uk\x20domain\x20-\x20treating\x20as\x20potential\x20success','naSlx','fpWlY','jcckD','CFEAe','5|6|0|1|2|4|3','gLmvw','ryFsO','RjwZV','tMlMR','gELda','warn','iKqYr','message','progress','%\x20-\x20','Extracting...\x20','AIVsj','ZUGPH','NfvPX','fullName','substring','UjtPy','experience','GZGer','length','Gyjgp','jrlwV','VCVZn','hYdMM','lUazN','vJkpf','storeLinkedInProfile','📤\x20[LINKEDIN]\x20Storage\x20result:','pJuqG','RwaKN','tWPoz','picRv','xBOKa','qylNU','Twpvw','dMevD','Failed\x20to\x20extract\x20LinkedIn\x20profile:\x20','aUqMy','aCNpk','profileUrl','uYsYt','JBvOm','hnEGo','PdSTn','MtDjk','CmbJM','JMhCS','TgZEo','RELci','UZiTF','cuPpi','📊\x20[LINKEDIN]\x20Scrape\x20progress:','NecOw','wjGGa','dAGMp','SRXob','fwTWw','YdnhY','MiMSw','efcRR','iLFvS','❌\x20[LINKEDIN]\x20Scraping\x20failed\x20(attempt\x20','syDzu','TOcgf','Fcmnz','doDxj','VyvWe','WZDrK','qkcWy','RrMNl','GFZEm','✅\x20[LINKEDIN]\x20OAuth\x20SUCCESS\x20-\x20Authorization\x20code/token\x20received','wPaQk','CYsle','\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','nNimH','qljLE','YSmKO','PKDiZ','VBHFG','KIygE','WokqM','MQnyH',',\x20loading=',',\x20isLoadEnd=','EeaZl','bSdlr','VSeaB','loading','TvfHY','pQjon','CvsFh','twPmy','jmFYk','QZmVo','DaTss','yqpvE','🧠\x20[',']\x20Memories\x20fetch\x20complete:','pHeND','itemsCount','QOIBw','LdOtv','GLMRo','GVdAd','yThKy','TXPzz','2|3|1|4|0','jZuqb','\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','vRHpY','boRLu','BPnAD','NQrpc','TYhJa','setValue','spring','start','YZmUB',']\x20Debug:','FIjRb','XFlNf','zKmld','spznx','GiJDs','MRkaF','dYSLA','📊\x20[CHATGPT]\x20Export\x20progress:\x20','NzLtz','PXeWl','KOASi','XSsIe','SUQJK','Yujhg','rQIst','mJmnL','kWHLT','ripfK','Zvhhx','EXPORT_PROGRESS','pFBvd','IwThs','oZwAD','IwDro','HsTuZ','kXpud','📊\x20[CLAUDE]\x20Export\x20progress:\x20','UEMQb','ohHmI','LYhLT','total_conversations','guOyM','GvuoQ','conversations','FGTUB','\x20conversations,\x20','DeSXU','nvLVu','SVsRB','📤\x20[CHATGPT]\x20Backend\x20storage\x20result:','sXIgf','web.telegram.org','klXDA','hDQni','wcjly','✅\x20[CLAUDE]\x20Export\x20complete:\x20','\x20conversations...','AQhmu','📤\x20[CLAUDE]\x20Backend\x20storage\x20result:','ZolRN','VQKUm','✅\x20Imported\x20','eulkp','YkDUM','❌\x20[',']\x20Export\x20error:','cwEry','hGRKV','EUjnF','stop','PHipE','RAYlK','wtvwx','Failed\x20to\x20export\x20','\x20conversations:\x20','ZhVJb','CLAUDE_CONSENT','xSCIf','⛔\x20[','\x20conversations.','✅\x20[',']\x20User\x20allowed\x20consent','tUoOn','MEMORIES_FETCH_ERROR','⚠️\x20[',']\x20Memories\x20fetch\x20failed:','QHpNC','📊\x20[HINGE]\x20Export\x20progress:\x20','nwqMh','EVlyM','QSPSP','duUZg','XBTRr','stfkN','mavCb','TwJPb','pxzPS','yJkOh','LDRRN','zdEsb','uUWHB','ggvFO','vhZPb','MaSfz','pvMhC','fbKXc','Failed\x20to\x20export\x20Hinge\x20data:\x20','GuRsf','INSTAGRAM_EXPORT_COMPLETE','✅\x20[INSTAGRAM]\x20Export\x20complete!','uQSUZ','LTJmG','📤\x20[INSTAGRAM]\x20Storing\x20data\x20to\x20backend...','📤\x20[INSTAGRAM]\x20Backend\x20storage\x20result:','rtpsK','IsDeB','kBtHM','KGutu','XUFXL','rpTkf','jUlZF','📊\x20[SEPHORA]\x20Export\x20progress:\x20','UyDaI','oKSRP','gBWkR','GSNec','KEnfV','SqvTV','TnLIm','✅\x20[SEPHORA]\x20Export\x20complete!','XzoNL','📤\x20[SEPHORA]\x20Backend\x20storage\x20result:','XxwFU','IqtNa','DYkwB','STnbX','OYrTI','MWFHT','kMeEp','VHvtC','🔐\x20[',']\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','HMoEq','QyFAZ','ahVLM','RpbVm','lGjRi','EjeUY','searchParams','zfoPu','NPtMr','ywSnj','rVQGy','xymtG','LTgex','📤\x20[TELEGRAM]\x20Backend\x20storage\x20result:','Pmfwj','FUhos','REayR','dikqN','TELEGRAM_EXPORT_ERROR','juQOD','QrHLH','Failed\x20to\x20export\x20Telegram\x20data:\x20','OQehJ','XxiNC','WEvHm','QfETt','KUveS','QlVFT',']\x20User\x20denied\x20consent','You\x20denied\x20access\x20to\x20your\x20','📩\x20[',']\x20Error\x20parsing\x20WebView\x20message:','HUzDK','GDPbn','bElnY','GNGgU','nSkTp','KSjNc','swxMG','🔍\x20[LINKEDIN]\x20Navigation:\x20','isLinkedInOAuthCallback','BXoEy','qvOwk','BVmcq','XJqYF','pniYn','PDMvf','IFPKf','Hqogg','isLinkedInProfilePage','aTfiC','mvqSs','VIwBG','UeFRs','NpXSa','ukRUX','__esModule','woGPG','Ezwom','ukThf','call','mVRQF','uVnUO','MBcwx','lFwxI','NaPLj','mfrDC','MyjCd','QbGcJ','IHUOR','rcoyn','spIRR','isLinkedInLoginPage','lyBdf','ducip','jkUkQ','DlYUC','lyqLH','OvXNG','kOegK','dpRQt','sUgUc','bAuPk','vhefA','Eyxoy','OJZbj','YIror','🔍\x20[CHATGPT]\x20Navigation:\x20','🔍\x20[CHATGPT]\x20State:\x20loggedIn=',',\x20exporting=','HfLDl','kIuKP','RHdQT','ucgRm','chat.openai.com','lyksO','POFyM','hHsBP','WlmRi','eSGAz','mtNGi','vifVi','hhYoB','BJQsU','pITao','OcOAL','EgJud','GQCUx','\x20data.','RyZKE','vtcaP','WNMqX','🔍\x20[CLAUDE]\x20Navigation:\x20','🔍\x20[','qMOmL','LINKEDIN_PROFILE_EXTRACTOR_SCRIPT','dcHkq','SvslP','UgVow','nZlpw','/registration','FjNXO','HgMah','UjjTR','svqwn','kImrT','Gitlk','NflUJ','Navigation\x20state\x20changed\x20for\x20','xikUk','laMIJ','ZsjKL','GubNI','ktygf','vXktn','WRqQo','eRiVj','npxWo','nNVQL','JiIsz','NhhTK','isLoggedInUrl','IZgWX','dZweo',']\x20Login\x20detected!','hFyeT','onairos.uk/success','startsWith','https://onairos.uk/Home','rWDVU','LHOoE','xdCjP','\x20OAuth\x20completed\x20-\x20backend\x20callback\x20finished,\x20URL:\x20','Yfqny','XzjHl','PZsGR','zOFxA','bNCDc','bEbxo','gpSFi','LnaNu','cxkUX','📄\x20[LOAD\x20END]\x20Page\x20loaded:\x20','aCXdE','hgxoA','cURym','qxmxU','pvmHc','ffoXa','oUuCQ','#7C3AED','FHgFB','SXuLp','QZMTu','TwKOg','SdJWo','mlUyl','getAntiDetectionScript','JQzFU','NWZFk','tWiGA','wykOb','ooCJz','GJYgt','wfMJr','fmvaW','kjCpa','QDkFL','uTGYZ','jqjQH','dyQFb','bFxwC','bZlAf','OKUxM','OeAtc','pwEFd','iEpJq','wAahB','gBEqD','#E60023','#EA4335','SuuJI','Uaaaj','#10B981','wOFDm','modalContainer','createElement','container','View','header','Text','khhra','timeoutText','closeButton','closeButtonText','linkedinProgressContainer','linkedinProgressTrack','linkedinProgressIndicator','interpolate','linkedinProgressText','Connecting\x20to\x20LinkedIn...','exportProgressContainer','progressBarContainer','jUddt','progressText','Exporting...\x20','round','CKTAD','lNFgu','claudeExtractionTitle','oPaZE','claudeExtractionProgressContainer','claudeExtractionProgressFill','claudeExtractionProgressText','newPlatformExtractionOverlay','extractionContent','ActivityIndicator','newPlatformExtractionTitle','newPlatformExtractionSubtitle','newPlatformExtractionProgressContainer','newPlatformExtractionProgressFill','successOverlay','successCheckmarkIcon','successText','loadingContainer','loadingText','Please\x20log\x20in\x20to\x20your\x20','webView','getPlatformUserAgent','QvkMz','xJJeO','qOHrk','rAgIa','QEzdS','sTaPF','RiNEi','OAuthWebView','StyleSheet','create','#fff','hidden','row','center','space-between','#E5E5E5','#333','#666','100%','absoluteFillObject','rgba(255,\x20255,\x20255,\x200.9)','#999','#FF6B6B','#FAFBFC','#E1E9EE','500','IBM\x20Plex\x20Sans','#F9FAFB','#E5E7EB','absolute','#000','#FFFFFF','700','#1a1a1a','#6B7280','600'];_0x3688=function(){return _0x2f3611;};return _0x3688();}var _react=_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_reactNativeWebview=__ONAIROS_REQ_FUNC__(0x2),_webviewScripts=__ONAIROS_REQ_FUNC__(0x3),_linkedinDOMExtractor=__ONAIROS_REQ_FUNC__(0x4),_chatGPTConversationExtractor=__ONAIROS_REQ_FUNC__(0x5),_claudeConversationExtractor=__ONAIROS_REQ_FUNC__(0x6),_linkedinProfileService=__ONAIROS_REQ_FUNC__(0x7),_hingeDataExtractor=__ONAIROS_REQ_FUNC__(0x8),_instagramDataExtractor=__ONAIROS_REQ_FUNC__(0x9),_sephoraDataExtractor=__ONAIROS_REQ_FUNC__(0xa),_telegramDataExtractor=__ONAIROS_REQ_FUNC__(0xb);function _interopRequireWildcard(_0x5e4b81,_0x8c413e){const _0x2f4dba={'PzcBU':function(_0x3ff49e,_0x43e34a,_0x13485c){return _0x3ff49e(_0x43e34a,_0x13485c);},'nKqpM':_0xe9ba(0x0),'VyKpH':function(_0x37eb7b,_0x5c1c1c){return _0x37eb7b===_0x5c1c1c;},'oqdUs':_0xe9ba(0x1),'rdmcr':function(_0x4c28fe,_0xfe9406){return _0x4c28fe&&_0xfe9406;},'GmdcW':function(_0xe2087b,_0x21de59){return _0xe2087b===_0x21de59;},'jDUsZ':function(_0x36f62a,_0x377053){return _0x36f62a!=_0x377053;},'IdMCX':_0xe9ba(0x2),'rDQGv':_0xe9ba(0x3),'AsXLx':'HHJee','ExrrJ':_0xe9ba(0x4),'JeKjA':function(_0xbb6899,_0x1b9183){return _0xbb6899!==_0x1b9183;},'uWdBz':'default','SrXYF':function(_0xec961a,_0x131b13,_0x2eb77f,_0x261257){return _0xec961a(_0x131b13,_0x2eb77f,_0x261257);},'QgUqp':function(_0x1690ea,_0x4e1c2b){return _0x1690ea==_0x4e1c2b;}};if(_0x2f4dba[_0xe9ba(0x5)](_0x2f4dba['rDQGv'],typeof WeakMap))var _0x19ae76=new WeakMap(),_0x111b09=new WeakMap();return(_interopRequireWildcard=function(_0x2e120d,_0x5288ab){const _0x154f2a={'PHjDi':_0x2f4dba[_0xe9ba(0x6)]};if(_0x2f4dba[_0xe9ba(0x7)](_0x2f4dba[_0xe9ba(0x8)],_0x2f4dba[_0xe9ba(0x8)])){if(_0x2f4dba[_0xe9ba(0x9)](!_0x5288ab,_0x2e120d)&&_0x2e120d['__esModule'])return _0x2e120d;var _0x4c5ebc,_0x58b12e,_0x253eae={'__proto__':null,'default':_0x2e120d};if(_0x2f4dba[_0xe9ba(0xa)](null,_0x2e120d)||_0x2f4dba['jDUsZ'](_0x2f4dba[_0xe9ba(0xb)],typeof _0x2e120d)&&_0x2f4dba[_0xe9ba(0xc)](_0x2f4dba['rDQGv'],typeof _0x2e120d))return _0x253eae;if(_0x4c5ebc=_0x5288ab?_0x111b09:_0x19ae76){if(_0x2f4dba[_0xe9ba(0xd)]!==_0x2f4dba[_0xe9ba(0xe)]){if(_0x4c5ebc[_0xe9ba(0xf)](_0x2e120d))return _0x4c5ebc['get'](_0x2e120d);_0x4c5ebc[_0xe9ba(0x10)](_0x2e120d,_0x253eae);}else _0x2f4dba['PzcBU'](_0x523c97,()=>_0x45c5a3(),0x3e8);}for(const _0xcdc50e in _0x2e120d)_0x2f4dba['JeKjA'](_0x2f4dba[_0xe9ba(0x11)],_0xcdc50e)&&{}[_0xe9ba(0x12)]['call'](_0x2e120d,_0xcdc50e)&&((_0x58b12e=(_0x4c5ebc=Object[_0xe9ba(0x13)])&&Object[_0xe9ba(0x14)](_0x2e120d,_0xcdc50e))&&(_0x58b12e[_0xe9ba(0x15)]||_0x58b12e['set'])?_0x2f4dba[_0xe9ba(0x16)](_0x4c5ebc,_0x253eae,_0xcdc50e,_0x58b12e):_0x253eae[_0xcdc50e]=_0x2e120d[_0xcdc50e]);return _0x253eae;}else _0x1371a7[_0xe9ba(0x17)](_0x154f2a[_0xe9ba(0x18)]);})(_0x5e4b81,_0x8c413e);}const {width,height}=_reactNative[_0xe9ba(0x19)][_0xe9ba(0x15)]('window'),OAuthWebView=({url:_0x51c81e,onClose:_0x1879df,onSuccess:_0xf31a4d,platform:platform=_0xe9ba(0x1a),onComplete:_0x5585c3,username:_0x423411})=>{const _0x49e88b={'YJdBa':_0xe9ba(0x1b),'qIFMj':_0xe9ba(0x1c),'YIsFU':_0xe9ba(0x1d),'svxzi':function(_0xfe93c3,_0x245e01){return _0xfe93c3(_0x245e01);},'inGUq':function(_0x4b93c7,_0x2d2849,_0x1db41b){return _0x4b93c7(_0x2d2849,_0x1db41b);},'VkwRY':'💼\x20[LINKEDIN]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','AzGCJ':_0xe9ba(0x0),'elQrA':function(_0x22182c){return _0x22182c();},'WiMqR':function(_0x11bb48,_0x388744){return _0x11bb48||_0x388744;},'xLxvL':'Gimvk','zBgvT':function(_0x4a9d1d,_0x7cb492){return _0x4a9d1d!==_0x7cb492;},'gEqII':_0xe9ba(0x1e),'PcBMU':'lJYjA','xzmpP':_0xe9ba(0x1f),'RAYlK':function(_0x2f09c1,_0x536777){return _0x2f09c1(_0x536777);},'vngrx':function(_0x235267,_0x29eb0c){return _0x235267(_0x29eb0c);},'MKXQB':function(_0x517bf5,_0x4fbcc8){return _0x517bf5(_0x4fbcc8);},'WODjl':_0xe9ba(0x20),'abqsy':function(_0x44fdd7,_0x2082db){return _0x44fdd7(_0x2082db);},'SVRhN':'Starting\x20extraction...','FPhAu':function(_0x511296,_0x5dac0b){return _0x511296(_0x5dac0b);},'RLeUL':'🚀\x20[CLAUDE]\x20Triggering\x20export\x20script...','wMBKn':function(_0x45b4e9,_0x516651){return _0x45b4e9(_0x516651);},'kUJpJ':function(_0x1d4668,_0x4143de){return _0x1d4668(_0x4143de);},'doirQ':function(_0x260f08,_0x5d1278){return _0x260f08!==_0x5d1278;},'KryHC':_0xe9ba(0x21),'jqJxv':function(_0x5cc4f1,_0x25526a){return _0x5cc4f1!==_0x25526a;},'VfRbh':_0xe9ba(0x22),'xszmp':'1|0|3|4|2','wLNRl':_0xe9ba(0x23),'wjctG':function(_0x41c9aa,_0x3cdeab){return _0x41c9aa(_0x3cdeab);},'vGkfb':_0xe9ba(0x24),'BROmg':function(_0x124438,_0x31314d){return _0x124438(_0x31314d);},'tZLtC':_0xe9ba(0x25),'gLmvw':function(_0x320636,_0x19455d){return _0x320636(_0x19455d);},'eWkgF':_0xe9ba(0x26),'naSlx':function(_0x13c8d3,_0x571472,_0x18c53b){return _0x13c8d3(_0x571472,_0x18c53b);},'uYsYt':function(_0x3eea8c,_0x22652a){return _0x3eea8c(_0x22652a);},'ryFsO':function(_0x148be5,_0x450de6){return _0x148be5(_0x450de6);},'RjwZV':_0xe9ba(0x27),'bzDut':function(_0x408491,_0x599409,_0x250660){return _0x408491(_0x599409,_0x250660);},'iKqYr':_0xe9ba(0x28),'jZuqb':_0xe9ba(0x29),'vRHpY':_0xe9ba(0x2a),'cVYkA':function(_0x774855,_0x552571){return _0x774855===_0x552571;},'TYhJa':_0xe9ba(0x2b),'NzLtz':function(_0xb683a0,_0x5d5f7f){return _0xb683a0(_0x5d5f7f);},'sXIgf':_0xe9ba(0x2c),'hDQni':_0xe9ba(0x2d),'SJytb':function(_0x4aeee1){return _0x4aeee1();},'XBTRr':function(_0xa737ca,_0x127d6c){return _0xa737ca(_0x127d6c);},'GuRsf':function(_0x69bcd3,_0x3a16f1){return _0x69bcd3(_0x3a16f1);},'Gbclz':function(_0x4b4964,_0x5d5cab){return _0x4b4964(_0x5d5cab);},'hUMzX':function(_0x54af14){return _0x54af14();},'bvQrO':_0xe9ba(0x2e),'pkTeZ':'✅\x20[LINKEDIN]\x20Profile\x20scraping\x20complete!','vIjTM':_0xe9ba(0x2f),'wzKaM':function(_0x14c502,_0xdad486){return _0x14c502+_0xdad486;},'TayRF':function(_0x2cc851,_0x29d896){return _0x2cc851<_0x29d896;},'GLubR':function(_0x562820,_0x38a2b2){return _0x562820-_0x38a2b2;},'wGLJS':function(_0x5b67ba,_0x4b9e94){return _0x5b67ba===_0x4b9e94;},'JCENi':_0xe9ba(0x30),'zrIUF':'RAuXq','UupDX':function(_0x2c5139,_0x2ed41d){return _0x2c5139(_0x2ed41d);},'SOVdo':'/signin','rSTic':_0xe9ba(0x31),'sXTfZ':_0xe9ba(0x32),'zAzGI':_0xe9ba(0x33),'MASez':_0xe9ba(0x34),'vvLPu':function(_0xb50578,_0x588f85,_0x3ce933){return _0xb50578(_0x588f85,_0x3ce933);},'nUxEr':function(_0x274c09,_0x524d1e){return _0x274c09===_0x524d1e;},'uVyTT':_0xe9ba(0x35),'ehnVC':_0xe9ba(0x36),'kvuXM':function(_0x467951,_0x50acc8,_0x3183c9){return _0x467951(_0x50acc8,_0x3183c9);},'DYoTk':function(_0x58781a,_0x45b5f1){return _0x58781a(_0x45b5f1);},'eyoLC':_0xe9ba(0x37),'NReUh':_0xe9ba(0x38),'XNTSw':'Retry','cgjQm':_0xe9ba(0x39),'ujTgl':function(_0x4c9a11,_0x583690){return _0x4c9a11(_0x583690);},'mABbT':function(_0x47cbee,_0x4beda8,_0x2b16f6){return _0x47cbee(_0x4beda8,_0x2b16f6);},'loliQ':function(_0x21993e){return _0x21993e();},'rSvIR':_0xe9ba(0x3a),'UgVow':_0xe9ba(0x3b),'RLdFv':_0xe9ba(0x3c),'wIWgh':function(_0x541720,_0x2192c8){return _0x541720!==_0x2192c8;},'bscWB':_0xe9ba(0x3d),'bZUIY':_0xe9ba(0x3e),'WbPIT':_0xe9ba(0x3f),'yJkOh':function(_0x4bd1a3,_0x21af85){return _0x4bd1a3(_0x21af85);},'QpaNB':_0xe9ba(0x40),'wUrGI':function(_0x58850d,_0x83d176){return _0x58850d===_0x83d176;},'Wrcek':_0xe9ba(0x41),'bQwqz':_0xe9ba(0x42),'RnrjT':_0xe9ba(0x43),'JhhHd':'⛔\x20[LINKEDIN]\x20User\x20denied\x20profile\x20consent','QWbIo':_0xe9ba(0x44),'QwPya':_0xe9ba(0x45),'qOHrk':function(_0x3f182b,_0x34c17b){return _0x3f182b===_0x34c17b;},'jjFAk':_0xe9ba(0x46),'nBHzG':_0xe9ba(0x47),'EXaiu':function(_0x465877){return _0x465877();},'fpWlY':_0xe9ba(0x48),'CFEAe':_0xe9ba(0x49),'qylNU':function(_0x2fba79,_0x20e15b){return _0x2fba79(_0x20e15b);},'AIVsj':function(_0x5ab63c,_0x1f6b7){return _0x5ab63c===_0x1f6b7;},'ZUGPH':_0xe9ba(0x4a),'tUnCI':_0xe9ba(0x4b),'NfvPX':'📊\x20[LINKEDIN]\x20Extracted\x20profile:','aCNpk':function(_0x160421,_0xcf308b){return _0x160421===_0xcf308b;},'oDaRv':function(_0x5cfbd7,_0x23b1d2){return _0x5cfbd7===_0x23b1d2;},'UjtPy':function(_0x320915,_0x588ef9){return _0x320915===_0x588ef9;},'GZGer':function(_0x5cda7f,_0x3bdba9){return _0x5cda7f===_0x3bdba9;},'Gyjgp':function(_0xe7ec0c,_0x26c50c){return _0xe7ec0c===_0x26c50c;},'jrlwV':function(_0x4c7b1e,_0xeb363d){return _0x4c7b1e===_0xeb363d;},'VCVZn':function(_0x357687,_0x499822){return _0x357687===_0x499822;},'NyIbT':function(_0x4403c7,_0x2b86fc){return _0x4403c7(_0x2b86fc);},'hYdMM':_0xe9ba(0x4c),'lUazN':function(_0x3efb4d,_0x507c14){return _0x3efb4d&&_0x507c14;},'vJkpf':_0xe9ba(0x4d),'pJuqG':function(_0x466050,_0x36fa5c){return _0x466050(_0x36fa5c);},'RwaKN':function(_0x13bc5f,_0x202ddf){return _0x13bc5f(_0x202ddf);},'tWPoz':function(_0x56330a,_0x15ba84){return _0x56330a(_0x15ba84);},'SllbE':function(_0x24598b,_0x331fcc){return _0x24598b(_0x331fcc);},'picRv':function(_0x163382,_0x19e860){return _0x163382(_0x19e860);},'xBOKa':_0xe9ba(0x4e),'Twpvw':'❌\x20[LINKEDIN]\x20Profile\x20extraction\x20error:','dMevD':_0xe9ba(0x4f),'aUqMy':_0xe9ba(0x50),'JBvOm':function(_0x437e52,_0x162bf3){return _0x437e52(_0x162bf3);},'LdOtv':function(_0xe07975){return _0xe07975();},'GLMRo':_0xe9ba(0x51),'GVdAd':function(_0x1ea7df,_0x16be70){return _0x1ea7df===_0x16be70;},'yThKy':_0xe9ba(0x52),'TXPzz':_0xe9ba(0x53),'boRLu':function(_0x56caae,_0x46b04d){return _0x56caae(_0x46b04d);},'BPnAD':function(_0x358438,_0x25f98f){return _0x358438(_0x25f98f);},'IsDeB':function(_0x193462,_0x296119){return _0x193462(_0x296119);},'YZmUB':_0xe9ba(0x54),'FIjRb':function(_0x409dfb,_0x52c471){return _0x409dfb===_0x52c471;},'DtgEg':_0xe9ba(0x55),'XFlNf':function(_0x37b740,_0x3eb908){return _0x37b740===_0x3eb908;},'zKmld':_0xe9ba(0x56),'GiJDs':_0xe9ba(0x57),'MRkaF':'MMwuK','dYSLA':_0xe9ba(0x58),'PXeWl':function(_0x589faf,_0x219cf0){return _0x589faf(_0x219cf0);},'YINgC':'reGdF','gBNbF':_0xe9ba(0x59),'kWHLT':'⚠️\x20[CHATGPT]\x20Memories\x20storage\x20returned\x20false','ripfK':_0xe9ba(0x5a),'Zvhhx':function(_0x228051,_0x175ce6){return _0x228051===_0x175ce6;},'pFBvd':_0xe9ba(0x5b),'UEMQb':function(_0x3222e1,_0x50f232){return _0x3222e1(_0x50f232);},'KAbfy':_0xe9ba(0x5c),'ohHmI':function(_0x844fb8,_0x31abfe){return _0x844fb8===_0x31abfe;},'LYhLT':function(_0x5956db,_0x37526a){return _0x5956db===_0x37526a;},'guOyM':function(_0xc4b971,_0x5eaa73){return _0xc4b971===_0x5eaa73;},'GvuoQ':function(_0x316d57,_0x221a85){return _0x316d57===_0x221a85;},'FGTUB':function(_0x38529d,_0x456395){return _0x38529d===_0x456395;},'XKcwr':function(_0x4b49fb,_0x2d513b){return _0x4b49fb===_0x2d513b;},'DeSXU':function(_0x5f4cc1,_0x2c1e9b){return _0x5f4cc1!==_0x2c1e9b;},'ZsjKL':function(_0x4d0f27,_0xf664da){return _0x4d0f27!==_0xf664da;},'nvLVu':'dgwhp','SVsRB':_0xe9ba(0x5d),'OPdxQ':function(_0x4d58b9,_0x42c2b8){return _0x4d58b9(_0x42c2b8);},'klXDA':function(_0x5d0e8a,_0x57d0b8,_0x30df69){return _0x5d0e8a(_0x57d0b8,_0x30df69);},'EQSXb':function(_0x31d581,_0x535e0d){return _0x31d581(_0x535e0d);},'AQhmu':function(_0x102d86,_0xb358f1){return _0x102d86!==_0xb358f1;},'sAxdM':_0xe9ba(0x5e),'ZolRN':function(_0x537ae0,_0x1dd87f){return _0x537ae0(_0x1dd87f);},'VQKUm':function(_0x3cc50d,_0x5e728c){return _0x3cc50d(_0x5e728c);},'eulkp':function(_0x397738,_0x375952){return _0x397738===_0x375952;},'YkDUM':_0xe9ba(0x5f),'cwEry':function(_0x50bdce,_0x302ce1){return _0x50bdce===_0x302ce1;},'hGRKV':_0xe9ba(0x60),'EUjnF':_0xe9ba(0x61),'uQSUZ':function(_0x4531f6,_0x182a3a){return _0x4531f6(_0x182a3a);},'PHipE':function(_0x47ddc8,_0x255781){return _0x47ddc8(_0x255781);},'wtvwx':function(_0x29bcaa,_0x566948){return _0x29bcaa(_0x566948);},'ZhVJb':'CHATGPT_CONSENT','tUoOn':_0xe9ba(0x62),'QHpNC':_0xe9ba(0x63),'nwqMh':function(_0x236b36,_0x26f5d1){return _0x236b36(_0x26f5d1);},'EVlyM':'HINGE_EXPORT_COMPLETE','duUZg':_0xe9ba(0x64),'stfkN':_0xe9ba(0x65),'LTJmG':_0xe9ba(0x66),'xWfgb':_0xe9ba(0x67),'mavCb':_0xe9ba(0x68),'TwJPb':'📤\x20[HINGE]\x20Storing\x20data\x20to\x20backend...','pxzPS':'📤\x20[HINGE]\x20Backend\x20storage\x20result:','LDRRN':function(_0x27a079,_0x598d0d){return _0x27a079(_0x598d0d);},'zdEsb':function(_0x1f475a,_0x258a42){return _0x1f475a(_0x258a42);},'SFWZL':function(_0x453299,_0x31c67e){return _0x453299(_0x31c67e);},'uUWHB':function(_0x1006a4,_0x1abc1a){return _0x1006a4(_0x1abc1a);},'ggvFO':function(_0x1464bb,_0x470c6d,_0x5e2fe8){return _0x1464bb(_0x470c6d,_0x5e2fe8);},'vhZPb':function(_0x16da61,_0xc83f95){return _0x16da61===_0xc83f95;},'kwYbN':_0xe9ba(0x69),'MaSfz':function(_0x1f295e,_0x485140){return _0x1f295e(_0x485140);},'pvMhC':function(_0x46013d,_0x21e080){return _0x46013d(_0x21e080);},'fbKXc':function(_0x391408,_0x2680ca){return _0x391408(_0x2680ca);},'JJwxB':'INSTAGRAM_EXPORT_PROGRESS','rtpsK':function(_0x2fe15d,_0x18e854){return _0x2fe15d(_0x18e854);},'kBtHM':function(_0xabd987,_0x117a57){return _0xabd987(_0x117a57);},'REayR':function(_0x250e38,_0x519b65){return _0x250e38(_0x519b65);},'KGutu':'❌\x20[INSTAGRAM]\x20Export\x20error:','XUFXL':function(_0x258fa1,_0x489b21){return _0x258fa1(_0x489b21);},'rjajr':function(_0xdbd102,_0x447ed3){return _0xdbd102(_0x447ed3);},'rpTkf':_0xe9ba(0x6a),'oxvtc':_0xe9ba(0x6b),'UyDaI':function(_0x1ec3b4,_0x4db0c3){return _0x1ec3b4(_0x4db0c3);},'bnWik':function(_0x30d11d,_0x72f1e5){return _0x30d11d===_0x72f1e5;},'KEnfV':_0xe9ba(0x6c),'SqvTV':'KbmRV','TnLIm':_0xe9ba(0x6d),'SzxKo':function(_0x5b9216,_0x1502a3){return _0x5b9216(_0x1502a3);},'feLXz':function(_0x3bc966,_0xe647){return _0x3bc966(_0xe647);},'XzoNL':_0xe9ba(0x6e),'Hqogg':function(_0x5a7334,_0xc434ad){return _0x5a7334(_0xc434ad);},'XxwFU':function(_0x38342b,_0x21883b,_0xdf367d){return _0x38342b(_0x21883b,_0xdf367d);},'PyllO':function(_0xe2472a,_0x4e00f9){return _0xe2472a===_0x4e00f9;},'paJld':_0xe9ba(0x6f),'DYkwB':_0xe9ba(0x70),'OYrTI':_0xe9ba(0x71),'MWFHT':function(_0x48678b,_0x5a6069){return _0x48678b(_0x5a6069);},'EPoqR':function(_0x3c45d1,_0x302182){return _0x3c45d1(_0x302182);},'wUiZa':function(_0x5874c3,_0x203790){return _0x5874c3(_0x203790);},'kMeEp':_0xe9ba(0x72),'VHvtC':_0xe9ba(0x73),'HMoEq':function(_0x9af8bf,_0x36aad9){return _0x9af8bf(_0x36aad9);},'QyFAZ':function(_0x18b2e3,_0x1eae19){return _0x18b2e3===_0x1eae19;},'ahVLM':_0xe9ba(0x74),'RpbVm':'YMDdp','rVQGy':_0xe9ba(0x75),'xymtG':_0xe9ba(0x76),'LTgex':function(_0x56722c,_0x1a11ec,_0x1fd3ae){return _0x56722c(_0x1a11ec,_0x1fd3ae);},'Pmfwj':function(_0x148769,_0x3ab88d){return _0x148769(_0x3ab88d);},'FUhos':function(_0x160c9c,_0x1a68c0){return _0x160c9c(_0x1a68c0);},'juQOD':_0xe9ba(0x77),'QrHLH':_0xe9ba(0x78),'OQehJ':function(_0x591fa1,_0x254573){return _0x591fa1(_0x254573);},'XxiNC':function(_0x23fa4e,_0x159f14){return _0x23fa4e===_0x159f14;},'WEvHm':_0xe9ba(0x79),'QfETt':_0xe9ba(0x7a),'gyKwS':_0xe9ba(0x7b),'KUveS':_0xe9ba(0x7c),'QlVFT':function(_0x13462a,_0x4fa52a){return _0x13462a===_0x4fa52a;},'IHGKB':function(_0x46e6ff,_0x2461f1){return _0x46e6ff(_0x2461f1);},'DlYUC':function(_0x293456,_0x541dca){return _0x293456(_0x541dca);},'lyqLH':function(_0x298139,_0x527b18){return _0x298139(_0x527b18);},'HUzDK':_0xe9ba(0x7d),'GDPbn':_0xe9ba(0x2),'bElnY':_0xe9ba(0x3),'KSjNc':_0xe9ba(0x7e),'swxMG':_0xe9ba(0x7f),'jHbPs':'💼\x20[LINKEDIN]\x20On\x20OAuth\x20callback\x20URL\x20-\x20connection\x20successful!','BXoEy':function(_0x327365,_0x4fb026){return _0x327365(_0x4fb026);},'POFyM':function(_0xf94588,_0xa5c822){return _0xf94588!==_0xa5c822;},'qvOwk':_0xe9ba(0x80),'pniYn':_0xe9ba(0x81),'fPeKj':function(_0x194f79,_0x450c78){return _0x194f79(_0x450c78);},'PDMvf':function(_0x1db3f8,_0x10e19e){return _0x1db3f8(_0x10e19e);},'IFPKf':function(_0x2f4bd1,_0x6f1908,_0x380152){return _0x2f4bd1(_0x6f1908,_0x380152);},'aTfiC':function(_0x210a7a,_0x22e5fd){return _0x210a7a(_0x22e5fd);},'mvqSs':'✅\x20[LINKEDIN]\x20On\x20profile\x20page','VIwBG':function(_0x560a3e,_0x720d6e){return _0x560a3e&&_0x720d6e;},'fvaDP':_0xe9ba(0x82),'UeFRs':_0xe9ba(0x83),'orSDc':function(_0x3d66e3,_0x11a257){return _0x3d66e3(_0x11a257);},'NaPLj':_0xe9ba(0x84),'mfrDC':function(_0x29483f,_0x374819){return _0x29483f===_0x374819;},'MyjCd':'nplhS','NCsLB':function(_0x26f52a,_0x3bf44a){return _0x26f52a!==_0x3bf44a;},'ducip':_0xe9ba(0x85),'jkUkQ':_0xe9ba(0x86),'ezVmr':function(_0x1ca7df,_0x2b511c){return _0x1ca7df(_0x2b511c);},'OvXNG':function(_0x681c5c,_0x29987d){return _0x681c5c(_0x29987d);},'kOegK':function(_0x526fd2,_0x3e3b34){return _0x526fd2(_0x3e3b34);},'dpRQt':function(_0x2c0d8a,_0x2bb975){return _0x2c0d8a(_0x2bb975);},'sUgUc':_0xe9ba(0x87),'wqJcg':function(_0x4bdb38){return _0x4bdb38();},'Eyxoy':function(_0x213321,_0xf01dd7){return _0x213321===_0xf01dd7;},'OJZbj':_0xe9ba(0x88),'YIror':function(_0x562b84){return _0x562b84();},'HfLDl':_0xe9ba(0x89),'kIuKP':_0xe9ba(0x8a),'dcHkq':_0xe9ba(0x8b),'RHdQT':_0xe9ba(0x8c),'ucgRm':_0xe9ba(0x8d),'lyksO':_0xe9ba(0x8e),'iscgm':_0xe9ba(0x8f),'WlmRi':function(_0x31efda,_0x4470a9){return _0x31efda(_0x4470a9);},'vifVi':'mtNGi','hhYoB':'✅\x20[CHATGPT]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','BJQsU':function(_0x5b0156,_0x47eae4){return _0x5b0156(_0x47eae4);},'QZMTu':function(_0x18863c,_0x4f4e5b,_0x1cf8d5){return _0x18863c(_0x4f4e5b,_0x1cf8d5);},'svqwn':function(_0x342172,_0xa853b7){return _0x342172===_0xa853b7;},'kImrT':_0xe9ba(0x90),'Gitlk':'elDsW','qMOmL':_0xe9ba(0x91),'SvslP':_0xe9ba(0x92),'nZlpw':_0xe9ba(0x93),'FjNXO':_0xe9ba(0x94),'HgMah':function(_0x36b5e3,_0x3c76fa){return _0x36b5e3(_0x3c76fa);},'UjjTR':function(_0x498453,_0x1cf3b5){return _0x498453&&_0x1cf3b5;},'NflUJ':function(_0x4cfb02,_0x2e4323,_0x424dba){return _0x4cfb02(_0x2e4323,_0x424dba);},'pfBHx':'sNpvt','xikUk':'qeckW','laMIJ':function(_0x55341b,_0x53b0d7){return _0x55341b(_0x53b0d7);},'GubNI':_0xe9ba(0x95),'WRqQo':function(_0x2f72a9,_0x23edef){return _0x2f72a9(_0x23edef);},'npxWo':'nPrXp','nNVQL':function(_0x300cdb,_0x594488){return _0x300cdb(_0x594488);},'IZgWX':function(_0x1cad05,_0xcd1390){return _0x1cad05!==_0xcd1390;},'dZweo':_0xe9ba(0x96),'hFyeT':_0xe9ba(0x97),'Tscrw':_0xe9ba(0x98),'rWDVU':_0xe9ba(0x99),'LHOoE':_0xe9ba(0x9a),'xdCjP':_0xe9ba(0x9b),'cexpP':function(_0x533a61,_0x5b03da){return _0x533a61||_0x5b03da;},'PZsGR':'#10A37F','zOFxA':_0xe9ba(0x9c),'bNCDc':_0xe9ba(0x9d),'gBEqD':_0xe9ba(0x9e),'bcxAu':'#E60023','bEbxo':_0xe9ba(0x9f),'gpSFi':_0xe9ba(0xa0),'LnaNu':'#0088CC','lDVDl':'#10B981','HvHJL':function(_0x4062bf,_0x1b916c){return _0x4062bf(_0x1b916c);},'cxkUX':_0xe9ba(0xa1),'aCXdE':function(_0x4ac31c,_0x531ecc){return _0x4ac31c===_0x531ecc;},'hgxoA':_0xe9ba(0xa2),'TwKOg':'tesEg','SdJWo':function(_0x33407c,_0x19231f,_0x1b17d3){return _0x33407c(_0x19231f,_0x1b17d3);},'JQzFU':_0xe9ba(0xa3),'VweGi':function(_0xbe4cb5,_0x4c858e){return _0xbe4cb5(_0x4c858e);},'NWZFk':_0xe9ba(0xa4),'tWiGA':_0xe9ba(0xa5),'wykOb':'linkedin://','ooCJz':_0xe9ba(0xa6),'Tehoo':_0xe9ba(0xa7),'OAdPy':_0xe9ba(0xa8),'DhOex':'🚫\x20[LINKEDIN]\x20Blocked\x20app\x20deep\x20link:','GJYgt':'intent://','wfMJr':_0xe9ba(0xa9),'fmvaW':_0xe9ba(0xaa),'OeAtc':'🚫\x20[LINKEDIN]\x20Blocked\x20intent://\x20deep\x20link:','pwEFd':'http://','iEpJq':_0xe9ba(0xab),'wAahB':'about:','PxnDs':_0xe9ba(0xac),'SuuJI':'#7C3AED','Uaaaj':_0xe9ba(0xad),'rAgIa':_0xe9ba(0xae),'QEzdS':'KSJwx','sTaPF':'HTTP\x20error\x20on\x20onairos.uk\x20domain\x20-\x20treating\x20as\x20potential\x20success','RiNEi':function(_0x3439be,_0xa0a164){return _0x3439be(_0xa0a164);},'OvYkE':function(_0x4d1582,_0x316c50){return _0x4d1582===_0x316c50;},'ohumF':function(_0x583e72,_0x239433){return _0x583e72===_0x239433;},'JpdvB':'chatgpt','vQIdA':function(_0x1c5924,_0x4e49fd){return _0x1c5924===_0x4e49fd;},'IMDCY':function(_0x34451d,_0x1422a4){return _0x34451d===_0x1422a4;},'mwEoI':'claude','FPwzS':function(_0x3fbb27,_0x38fe5e){return _0x3fbb27===_0x38fe5e;},'vNOBo':_0xe9ba(0xaf),'kpOZT':_0xe9ba(0xb0),'EqeCW':function(_0x45154d,_0x246fad){return _0x45154d===_0x246fad;},'wOFDm':function(_0x3c453b,_0x37fea1){return _0x3c453b(_0x37fea1);},'khhra':_0xe9ba(0xb1),'voZxn':_0xe9ba(0xb2),'jUddt':'100%','CKTAD':'Complete!','lNFgu':_0xe9ba(0xb3),'oPaZE':_0xe9ba(0xb4),'qwyBT':_0xe9ba(0xb5),'jPYLk':_0xe9ba(0xb6),'QvkMz':_0xe9ba(0xb7),'xJJeO':'http://*'},[_0x4868a3,_0x258dca]=(0x0,_react[_0xe9ba(0xb8)])(!![]),[_0x47dc8c,_0x8e2c78]=(0x0,_react[_0xe9ba(0xb8)])(![]),_0x377cfb=(0x0,_react['useRef'])(null),[_0x572017,_0x15581a]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x8c5337,_0x22974d]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x52df9c,_0xa832f7]=(0x0,_react['useState'])(![]),[_0x5a583f,_0xadd892]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x43a890,_0x5ddeab]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x596b14,_0x4fa1e9]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x517b24,_0x59bc29]=(0x0,_react['useState'])(''),[_0x157ff3,_0x4d7616]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x3dbf4f,_0x2a812a]=(0x0,_react[_0xe9ba(0xb8)])(null),[_0x3d9ba5,_0x3462f2]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x18e1ef,_0x5e1510]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x3a886d,_0x4c9e6d]=(0x0,_react[_0xe9ba(0xb8)])(0x0),[_0x5d7434,_0x37aade]=(0x0,_react['useState'])(![]),_0x4b3632=(0x0,_react[_0xe9ba(0xb9)])(![]),_0x1a80a8=(0x0,_react[_0xe9ba(0xb9)])(new _reactNative[(_0xe9ba(0xba))][(_0xe9ba(0xbb))](0x0))[_0xe9ba(0xbc)],[_0x50f543,_0x3f72d1]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x359c0e,_0x1887b6]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x4027d2,_0x9e2cc7]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x44f088,_0x7df669]=(0x0,_react['useState'])(0x0),[_0x22336b,_0x56f063]=(0x0,_react['useState'])(![]),_0x520c84=(0x0,_react[_0xe9ba(0xb9)])(new _reactNative['Animated']['Value'](0x0))[_0xe9ba(0xbc)],_0x236ca5=(0x0,_react[_0xe9ba(0xb9)])(![]),[_0x1f60d4,_0x7792aa]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x58b8a0,_0xe273c8]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x47d54f,_0xcc098f]=(0x0,_react['useState'])(![]),[_0xf58d8e,_0x379dca]=(0x0,_react[_0xe9ba(0xb8)])(0x0),[_0x2e83b6,_0x1a6793]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x4a777d,_0x3ef67e]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x34efef,_0x5c0b26]=(0x0,_react[_0xe9ba(0xb8)])(''),_0x383584=(0x0,_react[_0xe9ba(0xb9)])(new _reactNative[(_0xe9ba(0xba))][(_0xe9ba(0xbb))](0x0))[_0xe9ba(0xbc)],_0x4fa265=(0x0,_react[_0xe9ba(0xb9)])(![]),[_0xace4ed,_0x14db44]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x162a8c,_0x53aba4]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x4bf986,_0x509e80]=(0x0,_react[_0xe9ba(0xb8)])(![]),[_0x4134f0,_0xa5e174]=(0x0,_react[_0xe9ba(0xb8)])(0x0),[_0x4d325d,_0xd2ef6]=(0x0,_react['useState'])(![]),[_0x18274b,_0x366645]=(0x0,_react['useState'])(![]),[_0x4451f4,_0x1496af]=(0x0,_react[_0xe9ba(0xb8)])(''),_0x40a7b8=(0x0,_react['useRef'])(new _reactNative[(_0xe9ba(0xba))]['Value'](0x0))[_0xe9ba(0xbc)],_0x255118=(0x0,_react[_0xe9ba(0xb9)])(![]),[_0x498fa7,_0x310e2b]=(0x0,_react['useState'])(![]),_0x11bc24=(0x0,_react[_0xe9ba(0xb9)])(new _reactNative['Animated'][(_0xe9ba(0xbb))](0x0))[_0xe9ba(0xbc)],_0x577e2e=(0x0,_react[_0xe9ba(0xb9)])(new _reactNative[(_0xe9ba(0xba))][(_0xe9ba(0xbb))](0x0))[_0xe9ba(0xbc)],_0x51e819=(0x0,_react['useRef'])(new _reactNative['Animated']['Value'](0x0))[_0xe9ba(0xbc)],{initiateConversationExport:_0x4750c1,storeMemories:_0x52a2a9}=(0x0,_chatGPTConversationExtractor[_0xe9ba(0xbd)])(),{initiateConversationExport:_0x16acdd}=(0x0,_claudeConversationExtractor[_0xe9ba(0xbe)])(),{initiateDataExport:_0x43c1b7}=(0x0,_hingeDataExtractor[_0xe9ba(0xbf)])(),{initiateDataExport:_0x195dd4}=(0x0,_instagramDataExtractor[_0xe9ba(0xc0)])(),{initiateDataExport:_0x4b3485}=(0x0,_sephoraDataExtractor[_0xe9ba(0xc1)])(),{initiateDataExport:_0x46f854}=(0x0,_telegramDataExtractor['useTelegramDataExtractor'])(),_0x215950=(0x0,_webviewScripts[_0xe9ba(0xc2)])(platform),_0x5943a6=(0x0,_webviewScripts[_0xe9ba(0xc3)])(platform),_0x365366=_0x49e88b[_0xe9ba(0xc4)](platform===null||_0x49e88b[_0xe9ba(0xc5)](platform,void 0x0)?void 0x0:platform['toLowerCase'](),_0x49e88b[_0xe9ba(0xc6)])||_0x49e88b['ohumF'](_0x49e88b[_0xe9ba(0xc7)](platform,null)||_0x49e88b[_0xe9ba(0xc8)](platform,void 0x0)?void 0x0:platform[_0xe9ba(0xc9)](),_0xe9ba(0xca)),_0x57f8a5=(_0x49e88b[_0xe9ba(0xcb)](platform,null)||platform===void 0x0?void 0x0:platform[_0xe9ba(0xc9)]())===_0x49e88b[_0xe9ba(0xcc)]||(_0x49e88b[_0xe9ba(0xcd)](platform,null)||_0x49e88b[_0xe9ba(0xce)](platform,void 0x0)?void 0x0:platform[_0xe9ba(0xc9)]())===_0x49e88b[_0xe9ba(0xcf)],_0x41581d=(0x0,_webviewScripts[_0xe9ba(0xd0)])(platform),_0x2b45a2=(0x0,_webviewScripts['isInstagramPlatform'])(platform),_0x9f023b=(0x0,_webviewScripts[_0xe9ba(0xd1)])(platform),_0x52eee3=(0x0,_webviewScripts['isTelegramPlatform'])(platform),_0x36aef0=_0x49e88b['WiMqR'](_0x41581d,_0x2b45a2)||_0x9f023b||_0x52eee3;console[_0xe9ba(0x17)](_0xe9ba(0xd2)+(_0x215950?_0x49e88b['YJdBa']:_0x5943a6?_0x49e88b[_0xe9ba(0xd3)]:_0x49e88b[_0xe9ba(0xd4)])+'\x20WebView\x20with\x20URL:',_0x51c81e,_0x49e88b[_0xe9ba(0xd5)],platform),_react[_0xe9ba(0xd6)][_0xe9ba(0xd7)](()=>{const _0x11ab38=_0x49e88b['inGUq'](setTimeout,()=>{console[_0xe9ba(0x17)]('⏰\x20'+(_0x215950?_0x49e88b['YJdBa']:_0x5943a6?_0x49e88b[_0xe9ba(0xd3)]:_0x49e88b[_0xe9ba(0xd4)])+'\x20timeout\x20reached\x20for\x20'+platform+_0xe9ba(0xd8)),_0x49e88b[_0xe9ba(0xd9)](_0x8e2c78,!![]);},0x1d4c0);return()=>clearTimeout(_0x11ab38);},[platform,_0x215950,_0x5943a6]),_react[_0xe9ba(0xd6)][_0xe9ba(0xd7)](()=>{_0x5943a6&&(_0x49e88b[_0xe9ba(0xd9)](_0x59bc29,''),console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0xda)]));},[_0x5943a6]),_react[_0xe9ba(0xd6)][_0xe9ba(0xd7)](()=>{_0x365366&&console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0xdb)]);},[_0x365366]),_react[_0xe9ba(0xd6)][_0xe9ba(0xd7)](()=>{_0x57f8a5&&console[_0xe9ba(0x17)](_0xe9ba(0xdc));},[_0x57f8a5]);const _0x8d59d2=_0x5943a6&&_0x572017&&_0x49e88b[_0xe9ba(0xdd)](_0x517b24,_0x49e88b[_0xe9ba(0xde)])&&!_0x5a583f;_react[_0xe9ba(0xd6)][_0xe9ba(0xd7)](()=>{const _0x51917d={'TSnNd':function(_0x2dbaa1,_0x4b0789){return _0x49e88b[_0xe9ba(0xdf)](_0x2dbaa1,_0x4b0789);},'ZUChI':function(_0x1c114c,_0x5dab92){return _0x1c114c===_0x5dab92;},'aGWaP':_0x49e88b[_0xe9ba(0xe0)]};if(_0x8d59d2){if(_0x49e88b[_0xe9ba(0xe1)](_0x49e88b['gEqII'],_0x49e88b[_0xe9ba(0xe2)])){const _0x54310a=_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe3)](_reactNative['Animated'][_0xe9ba(0xe4)]([_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x51e819,{'toValue':0x1,'duration':0x4b0,'useNativeDriver':!![]}),_reactNative['Animated'][_0xe9ba(0xe5)](_0x51e819,{'toValue':0x0,'duration':0x4b0,'useNativeDriver':!![]})]));return _0x54310a['start'](),()=>{const _0x20fce4={'fnTgQ':function(_0xfca3e9,_0x56a6b7){return _0x51917d[_0xe9ba(0xe6)](_0xfca3e9,_0x56a6b7);}};if(_0x51917d[_0xe9ba(0xe7)](_0x51917d[_0xe9ba(0xe8)],_0xe9ba(0xe9)))_0x54310a['stop'](),_0x51e819['setValue'](0x0);else{if(_0x20fce4['fnTgQ'](_0x3819c8,_0x1da630)||_0x272eab)return(0x0,_0x4b9a26['getAntiDetectionScript'])(_0x417b3a);return _0x95afe9;}};}else{if(_0x25d886)_0x49e88b[_0xe9ba(0xea)](_0x5a5e5d);}}},[_0x8d59d2,_0x51e819]);const _0x1f7b6d=(0x0,_react[_0xe9ba(0xeb)])(()=>{const _0x412241=_0x49e88b['xzmpP'][_0xe9ba(0xec)]('|');let _0x4bb91f=0x0;while(!![]){switch(_0x412241[_0x4bb91f++]){case'0':_0x377cfb[_0xe9ba(0xbc)]['injectJavaScript'](_webviewScripts['CHATGPT_EXPORT_SCRIPT']);continue;case'1':console['log']('🚀\x20[CHATGPT]\x20Triggering\x20export\x20script...');continue;case'2':_0x236ca5[_0xe9ba(0xbc)]=!![];continue;case'3':_0x49e88b['RAYlK'](_0x7df669,0x0);continue;case'4':_0x49e88b[_0xe9ba(0xed)](_0x9e2cc7,!![]);continue;case'5':_0x49e88b[_0xe9ba(0xee)](_0x1887b6,!![]);continue;case'6':if(!_0x377cfb[_0xe9ba(0xbc)]||_0x359c0e||_0x236ca5['current'])return;continue;}break;}},[_0x359c0e]),_0x1f3d66=(0x0,_react[_0xe9ba(0xeb)])(()=>{const _0x1add4b=_0x49e88b[_0xe9ba(0xef)][_0xe9ba(0xec)]('|');let _0x35fd72=0x0;while(!![]){switch(_0x1add4b[_0x35fd72++]){case'0':_0x49e88b[_0xe9ba(0xf0)](_0xe273c8,!![]);continue;case'1':_0xcc098f(!![]);continue;case'2':_0x49e88b[_0xe9ba(0xf0)](_0x5c0b26,_0x49e88b['SVRhN']);continue;case'3':if(!_0x377cfb[_0xe9ba(0xbc)]||_0x58b8a0||_0x4fa265['current'])return;continue;case'4':_0x4fa265[_0xe9ba(0xbc)]=!![];continue;case'5':_0x377cfb['current']['injectJavaScript'](_webviewScripts[_0xe9ba(0xf1)]);continue;case'6':_0x49e88b[_0xe9ba(0xf2)](_0x379dca,0x0);continue;case'7':_0x49e88b[_0xe9ba(0xed)](_0x1a6793,!![]);continue;case'8':console[_0xe9ba(0x17)](_0x49e88b['RLeUL']);continue;}break;}},[_0x58b8a0]),_0x387e46=(0x0,_react[_0xe9ba(0xeb)])(()=>{if(!_0x377cfb[_0xe9ba(0xbc)]||_0x162a8c||_0x255118[_0xe9ba(0xbc)])return;console[_0xe9ba(0x17)](_0xe9ba(0xf3)+platform[_0xe9ba(0xf4)]()+']\x20Triggering\x20export\x20script...'),_0x255118[_0xe9ba(0xbc)]=!![],_0x53aba4(!![]),_0x509e80(!![]),_0x49e88b[_0xe9ba(0xf5)](_0xa5e174,0x0),_0x49e88b[_0xe9ba(0xf6)](_0xd2ef6,!![]),_0x1496af(_0x49e88b[_0xe9ba(0xf7)]);if(_0x41581d)_0x377cfb[_0xe9ba(0xbc)]['injectJavaScript'](_webviewScripts['HINGE_EXPORT_SCRIPT']);else{if(_0x2b45a2){if(_0x49e88b['doirQ'](_0x49e88b['KryHC'],_0x49e88b[_0xe9ba(0xf8)])){if(_0x4ccba5)_0x49e88b[_0xe9ba(0xea)](_0x256a3e);}else _0x377cfb['current'][_0xe9ba(0xf9)](_webviewScripts[_0xe9ba(0xfa)]);}else{if(_0x9f023b)_0x377cfb[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_webviewScripts[_0xe9ba(0xfb)]);else _0x52eee3&&(_0x49e88b[_0xe9ba(0xfc)](_0x49e88b['VfRbh'],_0x49e88b['VfRbh'])?_0x20a627():_0x377cfb[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_webviewScripts[_0xe9ba(0xfd)]));}}},[_0x162a8c,platform,_0x41581d,_0x2b45a2,_0x9f023b,_0x52eee3]),_0x1b3e54=(0x0,_react[_0xe9ba(0xeb)])(()=>{const _0x3d5455=_0x49e88b[_0xe9ba(0xfe)][_0xe9ba(0xec)]('|');let _0x5bd67c=0x0;while(!![]){switch(_0x3d5455[_0x5bd67c++]){case'0':console[_0xe9ba(0x17)](_0x49e88b['wLNRl']);continue;case'1':if(!_0x377cfb[_0xe9ba(0xbc)]||_0x3d9ba5||_0x4b3632[_0xe9ba(0xbc)])return;continue;case'2':_0x377cfb['current'][_0xe9ba(0xf9)](_webviewScripts[_0xe9ba(0xff)]);continue;case'3':_0x4b3632[_0xe9ba(0xbc)]=!![];continue;case'4':_0x49e88b[_0xe9ba(0x100)](_0x3462f2,!![]);continue;}break;}},[_0x3d9ba5]),_0x4af8b9=(0x0,_react[_0xe9ba(0xeb)])(()=>{const _0xc62702=_0xe9ba(0x101)[_0xe9ba(0xec)]('|');let _0x182ab9=0x0;while(!![]){switch(_0xc62702[_0x182ab9++]){case'0':console['log']('🔍\x20[LINKEDIN]\x20Executing\x20profile\x20DOM\x20scraping...');continue;case'1':_0x59bc29(_0x49e88b['vGkfb']);continue;case'2':_0x49e88b[_0xe9ba(0xf5)](_0x5e1510,!![]);continue;case'3':_0x49e88b[_0xe9ba(0xed)](_0x37aade,!![]);continue;case'4':if(!_0x377cfb[_0xe9ba(0xbc)])return;continue;case'5':_0x49e88b['BROmg'](_0x4c9e6d,0x0);continue;case'6':_0x377cfb[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_webviewScripts[_0xe9ba(0x102)]);continue;}break;}},[]),_0xe197bd=(0x0,_react[_0xe9ba(0xeb)])(async _0x1f9a1d=>{const _0x3a6869={'tMlMR':function(_0x89c760,_0x40b5ef){return _0x49e88b[_0xe9ba(0x103)](_0x89c760,_0x40b5ef);},'gELda':function(_0x342deb){return _0x49e88b[_0xe9ba(0xea)](_0x342deb);},'NecOw':function(_0x436ee9){return _0x49e88b['hUMzX'](_0x436ee9);},'wjGGa':_0x49e88b[_0xe9ba(0x104)],'SRXob':_0x49e88b[_0xe9ba(0x105)],'fwTWw':function(_0x38e68b,_0x1550d5){return _0x49e88b['GuRsf'](_0x38e68b,_0x1550d5);},'pQjon':function(_0x139c84,_0x3f34a7){return _0x49e88b[_0xe9ba(0xee)](_0x139c84,_0x3f34a7);},'YdnhY':_0xe9ba(0x27),'efcRR':_0xe9ba(0x106),'iLFvS':function(_0x3389e7,_0x160d64){return _0x49e88b[_0xe9ba(0xe1)](_0x3389e7,_0x160d64);},'zEBtd':_0x49e88b[_0xe9ba(0x107)],'TgZEo':function(_0x6abf62,_0x340f06){return _0x49e88b[_0xe9ba(0x108)](_0x6abf62,_0x340f06);},'syDzu':function(_0x4789de,_0x172c1a){return _0x49e88b[_0xe9ba(0x109)](_0x4789de,_0x172c1a);},'twPmy':function(_0x388e37,_0x595cc2){return _0x49e88b[_0xe9ba(0x10a)](_0x388e37,_0x595cc2);},'qkcWy':function(_0x17e1ae,_0x4f0620){return _0x49e88b[_0xe9ba(0x10b)](_0x17e1ae,_0x4f0620);},'RrMNl':_0x49e88b[_0xe9ba(0x10c)],'GFZEm':_0x49e88b[_0xe9ba(0x10d)],'nNimH':function(_0x5b4ff1,_0x3ef1fc){return _0x49e88b['ryFsO'](_0x5b4ff1,_0x3ef1fc);},'qljLE':function(_0x363da9,_0x41cc3f){return _0x49e88b['UupDX'](_0x363da9,_0x41cc3f);},'YSmKO':function(_0x3b0772,_0x46f197){return _0x49e88b['gLmvw'](_0x3b0772,_0x46f197);},'tHBwk':function(_0x4e8f82,_0x58ab3a,_0x232ed7){return _0x49e88b['bzDut'](_0x4e8f82,_0x58ab3a,_0x232ed7);},'EeaZl':_0xe9ba(0x2c),'bSdlr':_0x49e88b[_0xe9ba(0x10e)],'VSeaB':_0x49e88b[_0xe9ba(0x10f)],'TvfHY':_0x49e88b[_0xe9ba(0x110)],'WQWta':_0x49e88b[_0xe9ba(0x111)],'CvsFh':function(_0x4d11e7,_0x30a171,_0x53310b){return _0x49e88b[_0xe9ba(0x112)](_0x4d11e7,_0x30a171,_0x53310b);},'yqpvE':_0x49e88b['MASez'],'MtDjk':function(_0x3ee7ff,_0x44d91b){return _0x49e88b['BROmg'](_0x3ee7ff,_0x44d91b);},'CmbJM':_0x49e88b[_0xe9ba(0x113)],'hnEGo':'💼\x20[LINKEDIN]\x20Navigating\x20to\x20profile\x20page...','PdSTn':_0xe9ba(0x114),'JMhCS':function(_0x27c790,_0x4b6333,_0x40d129){return _0x49e88b['vvLPu'](_0x27c790,_0x4b6333,_0x40d129);},'RELci':function(_0x1d3bde,_0x68a478){return _0x49e88b[_0xe9ba(0x115)](_0x1d3bde,_0x68a478);},'UZiTF':_0x49e88b[_0xe9ba(0x116)],'cuPpi':_0x49e88b['ehnVC'],'jmFYk':function(_0x19e10a,_0x18eec7,_0x333567){return _0x49e88b[_0xe9ba(0x117)](_0x19e10a,_0x18eec7,_0x333567);},'DaTss':function(_0x82ed73,_0x11426f){return _0x49e88b[_0xe9ba(0x118)](_0x82ed73,_0x11426f);},'nqDAl':_0x49e88b[_0xe9ba(0x119)],'xoyIP':_0xe9ba(0x11a),'KOASi':function(_0x24b0f6,_0x38f3d7){return _0x24b0f6(_0x38f3d7);},'cmAtP':_0x49e88b[_0xe9ba(0x11b)],'XSsIe':_0x49e88b[_0xe9ba(0x11c)],'SUQJK':_0x49e88b[_0xe9ba(0x11d)],'Yujhg':function(_0x9e5121,_0x87e852){return _0x49e88b[_0xe9ba(0xf0)](_0x9e5121,_0x87e852);},'SaeOa':'❌\x20[TELEGRAM]\x20Export\x20error:','rQIst':function(_0xa2775c,_0x3b2552){return _0x49e88b[_0xe9ba(0xd9)](_0xa2775c,_0x3b2552);},'mJmnL':function(_0x4f4674,_0xc1fbd9){return _0x49e88b[_0xe9ba(0x11e)](_0x4f4674,_0xc1fbd9);},'GRedD':_0xe9ba(0x81),'oZwAD':function(_0x39f2a4,_0x35a2f6){return _0x39f2a4(_0x35a2f6);},'IwDro':function(_0x402f86,_0x2b31cb,_0x5dd048){return _0x49e88b[_0xe9ba(0x11f)](_0x402f86,_0x2b31cb,_0x5dd048);},'ACaje':function(_0x572868){return _0x49e88b[_0xe9ba(0x120)](_0x572868);},'oKSRP':_0x49e88b['rSvIR'],'gBWkR':_0x49e88b['UgVow'],'GSNec':_0x49e88b[_0xe9ba(0x121)],'egppa':function(_0x4eb3e4,_0x4f565b){return _0x49e88b[_0xe9ba(0x122)](_0x4eb3e4,_0x4f565b);},'IqtNa':_0xe9ba(0x123),'EjeUY':_0x49e88b[_0xe9ba(0xde)],'MJnrS':_0x49e88b[_0xe9ba(0x124)],'VphpB':_0x49e88b['WbPIT'],'sDRks':function(_0x392256,_0x2b6abb){return _0x49e88b['yJkOh'](_0x392256,_0x2b6abb);},'btdOq':_0xe9ba(0x125)};try{const _0x29c7db=JSON['parse'](_0x1f9a1d[_0xe9ba(0x126)][_0xe9ba(0x127)]);console[_0xe9ba(0x17)]('📩\x20['+platform['toUpperCase']()+']\x20WebView\x20message:',_0x29c7db['type']||_0x29c7db[_0xe9ba(0x128)]);if(_0x5943a6){if(_0x49e88b[_0xe9ba(0x129)](_0x49e88b[_0xe9ba(0x12a)],_0x49e88b[_0xe9ba(0x12a)])){if(_0x49e88b[_0xe9ba(0x12b)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x12d)])){if(_0x49e88b[_0xe9ba(0x115)]('lAATK',_0x49e88b[_0xe9ba(0x12e)])){if(_0x29c7db[_0xe9ba(0x128)]===_0x49e88b['RnrjT']){console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x12f)]),_reactNative[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x132)],_0x49e88b[_0xe9ba(0x133)],[{'text':'OK','onPress':_0x1879df}]);return;}else{if(_0x49e88b['qOHrk'](_0x29c7db['status'],_0x49e88b[_0xe9ba(0x134)])){console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x135)]),_0x49e88b[_0xe9ba(0x136)](_0x4af8b9);return;}}}else{const {nativeEvent:_0x75d3c1}=_0x3007bc;_0x263ec9[_0xe9ba(0x51)](_0xe9ba(0x137)+_0x302e45+':\x20'+_0x75d3c1[_0xe9ba(0x138)],_0x75d3c1['url']),_0x75d3c1[_0xe9ba(0x139)]&&_0x75d3c1['url'][_0xe9ba(0x13a)](_0x49e88b['tZLtC'])&&(_0x4330c8[_0xe9ba(0x17)](_0xe9ba(0x13b)),_0x49e88b['gLmvw'](_0x3af638,_0x49e88b['eWkgF']),_0x5041f4&&_0x49e88b[_0xe9ba(0x13c)](_0x2e9581,()=>_0x5dcda8(),0x3e8));}}if(_0x49e88b[_0xe9ba(0x129)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x13d)])){if(_0xe9ba(0x13e)===_0x49e88b[_0xe9ba(0x13f)]){const _0x16d501=_0xe9ba(0x140)[_0xe9ba(0xec)]('|');let _0x4da9a2=0x0;while(!![]){switch(_0x16d501[_0x4da9a2++]){case'0':_0x49e88b['uYsYt'](_0x20b664,!![]);continue;case'1':_0x49e88b[_0xe9ba(0x141)](_0x177d87,!![]);continue;case'2':_0x49e88b[_0xe9ba(0x142)](_0x15d0f7,_0x49e88b[_0xe9ba(0x143)]);continue;case'3':return;case'4':_0x49e88b[_0xe9ba(0x112)](_0x1a1551,()=>{_0x3a6869[_0xe9ba(0x144)](_0x408275,_0xe9ba(0x26));if(_0x30fc1c)_0x3a6869[_0xe9ba(0x145)](_0x1ea41e);},0x7d0);continue;case'5':_0x4616ea[_0xe9ba(0x146)](_0x49e88b[_0xe9ba(0x147)],_0x85beb0[_0xe9ba(0x148)]);continue;case'6':_0x31bf63(![]);continue;}break;}}else{const _0x2e9955=_0x29c7db[_0xe9ba(0x149)]||0x0;console[_0xe9ba(0x17)]('📊\x20[LINKEDIN]\x20Profile\x20extraction\x20progress:\x20'+_0x2e9955+_0xe9ba(0x14a)+_0x29c7db[_0xe9ba(0x148)]),_0x4c9e6d(_0x2e9955),_0x49e88b['qylNU'](_0x59bc29,_0x29c7db['message']||_0xe9ba(0x14b)+_0x2e9955+'%'),_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x1a80a8,{'toValue':_0x2e9955,'duration':0x12c,'useNativeDriver':![]})['start']();return;}}if(_0x49e88b[_0xe9ba(0x14c)](_0x29c7db['type'],_0x49e88b[_0xe9ba(0x14d)])){var _0x2b9ee8,_0xa21f15,_0x3b15e2,_0x218c12;console[_0xe9ba(0x17)](_0x49e88b['tUnCI']);const _0x1f2d4b=_0x29c7db[_0xe9ba(0x127)];console['log'](_0x49e88b[_0xe9ba(0x14e)],{'name':_0x49e88b[_0xe9ba(0x10b)](_0x1f2d4b,null)||_0x49e88b['aCNpk'](_0x1f2d4b,void 0x0)?void 0x0:_0x1f2d4b[_0xe9ba(0x14f)],'headline':_0x49e88b['wUrGI'](_0x1f2d4b,null)||_0x49e88b['aCNpk'](_0x1f2d4b,void 0x0)||_0x49e88b['oDaRv'](_0x2b9ee8=_0x1f2d4b['headline'],null)||_0x2b9ee8===void 0x0?void 0x0:_0x2b9ee8[_0xe9ba(0x150)](0x0,0x32),'experienceCount':(_0x49e88b[_0xe9ba(0x151)](_0x1f2d4b,null)||_0x1f2d4b===void 0x0||(_0xa21f15=_0x1f2d4b[_0xe9ba(0x152)])===null||_0x49e88b[_0xe9ba(0x153)](_0xa21f15,void 0x0)?void 0x0:_0xa21f15[_0xe9ba(0x154)])||0x0,'educationCount':(_0x49e88b[_0xe9ba(0x129)](_0x1f2d4b,null)||_0x49e88b[_0xe9ba(0x155)](_0x1f2d4b,void 0x0)||_0x49e88b[_0xe9ba(0x156)](_0x3b15e2=_0x1f2d4b['education'],null)||_0x3b15e2===void 0x0?void 0x0:_0x3b15e2[_0xe9ba(0x154)])||0x0,'skillsCount':(_0x49e88b[_0xe9ba(0x157)](_0x1f2d4b,null)||_0x1f2d4b===void 0x0||(_0x218c12=_0x1f2d4b['skills'])===null||_0x49e88b['AIVsj'](_0x218c12,void 0x0)?void 0x0:_0x218c12[_0xe9ba(0x154)])||0x0}),_0x49e88b['NyIbT'](_0x4c9e6d,0x5a),_0x49e88b[_0xe9ba(0xf6)](_0x59bc29,_0x49e88b[_0xe9ba(0x158)]);if(_0x49e88b[_0xe9ba(0x159)](_0x1f2d4b,_0x423411)){console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x15a)]);const _0x23ecae=await(0x0,_linkedinProfileService[_0xe9ba(0x15b)])(_0x423411,_0x1f2d4b);console[_0xe9ba(0x17)](_0xe9ba(0x15c),_0x23ecae);}_0x49e88b[_0xe9ba(0xf6)](_0x4c9e6d,0x64),_0x49e88b[_0xe9ba(0x15d)](_0x5e1510,![]),_0x49e88b[_0xe9ba(0x15e)](_0x37aade,![]),_0x49e88b[_0xe9ba(0x142)](_0xadd892,!![]),_0x49e88b[_0xe9ba(0x15f)](_0x4fa1e9,!![]),_0x49e88b['SllbE'](_0x59bc29,_0xe9ba(0x27)),_0x49e88b[_0xe9ba(0x160)](_0xf31a4d,_0x49e88b[_0xe9ba(0x113)]),setTimeout(()=>{if(_0x5585c3)_0x3a6869[_0xe9ba(0x145)](_0x5585c3);},0x7d0);return;}if(_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b[_0xe9ba(0x161)]){const _0x3a55da='6|4|5|2|1|3|7|0'[_0xe9ba(0xec)]('|');let _0x50dc9d=0x0;while(!![]){switch(_0x3a55da[_0x50dc9d++]){case'0':return;case'1':_0x4b3632[_0xe9ba(0xbc)]=![];continue;case'2':_0x49e88b['MKXQB'](_0x37aade,![]);continue;case'3':_0x49e88b[_0xe9ba(0x162)](_0x3462f2,![]);continue;case'4':_0x5e1510(![]);continue;case'5':_0x4c9e6d(0x0);continue;case'6':console[_0xe9ba(0x51)](_0x49e88b[_0xe9ba(0x163)],_0x29c7db[_0xe9ba(0x148)]);continue;case'7':_reactNative['Alert'][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x164)],_0xe9ba(0x165)+_0x29c7db[_0xe9ba(0x148)]+'.\x20Would\x20you\x20like\x20to\x20try\x20again?',[{'text':_0x49e88b[_0xe9ba(0x11c)],'onPress':()=>_0x1b3e54()},{'text':_0xe9ba(0x39),'onPress':_0x1879df,'style':_0x49e88b[_0xe9ba(0x166)]}]);continue;}break;}}if(_0x49e88b[_0xe9ba(0x167)](_0x29c7db[_0xe9ba(0x128)],_0x49e88b[_0xe9ba(0x113)])&&_0x29c7db[_0xe9ba(0x168)]){console[_0xe9ba(0x17)]('✅\x20[LINKEDIN]\x20Profile\x20URL\x20extracted:',_0x29c7db[_0xe9ba(0x168)]),_0x49e88b[_0xe9ba(0x169)](_0x2a812a,_0x29c7db[_0xe9ba(0x168)]),_0x49e88b[_0xe9ba(0x16a)](_0x59bc29,_0xe9ba(0x3d));const _0x2fd8fb=_0x423411||'unknown_user',_0xd7a9d7=async(_0x325e0a=0x0,_0x166592=0x3)=>{const _0x3983fe={'Tbzhp':_0x3a6869[_0xe9ba(0x16b)],'PKDiZ':function(_0x4e3914,_0x26e8e0){return _0x4e3914!==_0x26e8e0;},'VBHFG':_0x3a6869[_0xe9ba(0x16c)],'KIygE':function(_0x2a16c0,_0x37bf2f){return _0x3a6869[_0xe9ba(0x16d)](_0x2a16c0,_0x37bf2f);},'WokqM':_0x3a6869[_0xe9ba(0x16e)],'MQnyH':function(_0x30a54){return _0x3a6869['NecOw'](_0x30a54);},'AyOWv':function(_0x1e889f){return _0x3a6869['gELda'](_0x1e889f);},'gzhjs':function(_0x516d9e,_0x47b761,_0x2860da){return _0x3a6869[_0xe9ba(0x16f)](_0x516d9e,_0x47b761,_0x2860da);},'QZmVo':function(_0x312146,_0x3e575e){return _0x3a6869[_0xe9ba(0x170)](_0x312146,_0x3e575e);},'pHeND':function(_0x4c5ea9,_0x5de8eb){return _0x3a6869[_0xe9ba(0x171)](_0x4c5ea9,_0x5de8eb);},'QOIBw':_0x3a6869[_0xe9ba(0x172)]};try{if(_0x3a6869[_0xe9ba(0x171)](_0x3a6869[_0xe9ba(0x173)],_0xe9ba(0x36)))_0x59bc29(_0xe9ba(0x3d)),await(0x0,_linkedinDOMExtractor['initiateProfileScraping'])({'userId':_0x2fd8fb,'profileUrl':_0x29c7db[_0xe9ba(0x168)],'onProgress':_0x213a0e=>{console[_0xe9ba(0x17)](_0xe9ba(0x174),_0x213a0e);},'onSuccess':_0x57fd7f=>{const _0x2cc5c3={'nFzQi':function(_0x548303,_0x51c7cf){return _0x548303(_0x51c7cf);},'CvpaM':_0xe9ba(0x26),'MiMSw':function(_0x540976){return _0x3a6869[_0xe9ba(0x175)](_0x540976);}};_0x3a6869[_0xe9ba(0x176)]!==_0xe9ba(0x177)?(console[_0xe9ba(0x17)](_0x3a6869[_0xe9ba(0x178)],_0x57fd7f),_0x3a6869[_0xe9ba(0x179)](_0x4d7616,![]),_0x3a6869[_0xe9ba(0x144)](_0xadd892,!![]),_0x3a6869['pQjon'](_0x4fa1e9,!![]),_0x59bc29(_0x3a6869[_0xe9ba(0x17a)]),setTimeout(()=>{_0x2cc5c3['nFzQi'](_0xf31a4d,_0x2cc5c3['CvpaM']);if(_0x5585c3)_0x2cc5c3[_0xe9ba(0x17b)](_0x5585c3);},0x7d0)):_0x37f6bc&&_0x235d1f[_0xe9ba(0x17)](_0xe9ba(0xdc));},'onError':async _0x5e5945=>{const _0x263107={'TOcgf':_0x3a6869[_0xe9ba(0x17c)],'Fcmnz':function(_0x163056,_0x32f45e){return _0x3a6869[_0xe9ba(0x17d)](_0x163056,_0x32f45e);},'doDxj':_0x3a6869['zEBtd'],'cRBEn':function(_0x501639,_0x203c93,_0x21cba7){return _0x501639(_0x203c93,_0x21cba7);},'WZDrK':function(_0x2a962e,_0x282d35){return _0x2a962e+_0x282d35;}};console[_0xe9ba(0x51)](_0xe9ba(0x17e)+_0x3a6869[_0xe9ba(0x170)](_0x325e0a,0x1)+'/'+_0x166592+'):',_0x5e5945);if(_0x3a6869[_0xe9ba(0x17f)](_0x325e0a,_0x3a6869['twPmy'](_0x166592,0x1)))setTimeout(()=>{const _0xf446f1={'VyvWe':_0x263107[_0xe9ba(0x180)]};if(_0x263107[_0xe9ba(0x181)](_0x263107[_0xe9ba(0x182)],_0xe9ba(0x2f)))return _0x4149ff[_0xe9ba(0x17)](_0xf446f1[_0xe9ba(0x183)],_0x19fa79),![];else _0x263107['cRBEn'](_0xd7a9d7,_0x263107[_0xe9ba(0x184)](_0x325e0a,0x1),_0x166592);},0xbb8);else{if(_0x3a6869[_0xe9ba(0x185)](_0x3a6869[_0xe9ba(0x186)],_0x3a6869[_0xe9ba(0x187)])){const _0x1c1849={'wPaQk':_0x3983fe['Tbzhp'],'CYsle':'Connecting'};_0x47e197['log'](_0xe9ba(0x188)),_0x3cd7aa(!![]),_0x380eac(()=>{_0x183f3e[_0xe9ba(0xbc)]&&(_0x428dea[_0xe9ba(0x17)](_0x1c1849[_0xe9ba(0x189)]),_0x3f6f24(_0x1c1849[_0xe9ba(0x18a)]),_0x164f2[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0xe9ba(0x18b)));},0x1f4);return;}else _0x3a6869[_0xe9ba(0x18c)](_0x4d7616,![]),_0x3a6869[_0xe9ba(0x18c)](_0xadd892,!![]),_0x3a6869[_0xe9ba(0x18d)](_0x4fa1e9,!![]),_0x3a6869[_0xe9ba(0x18e)](_0x59bc29,_0x3a6869[_0xe9ba(0x17a)]),_0x3a6869['tHBwk'](setTimeout,()=>{if(_0x3983fe[_0xe9ba(0x18f)](_0xe9ba(0x114),_0x3983fe[_0xe9ba(0x190)]))_0x114aaf&&_0x34c6a9[_0xe9ba(0x17)](_0xe9ba(0x0));else{_0x3983fe[_0xe9ba(0x191)](_0xf31a4d,_0x3983fe[_0xe9ba(0x192)]);if(_0x5585c3)_0x3983fe[_0xe9ba(0x193)](_0x5585c3);}},0x7d0);}}});else{const _0x5b5981=_0x5e6498[_0xe9ba(0x139)]||'',_0x26a3ab=_0x5b5981[_0xe9ba(0xc9)]();_0x514ee3['log']('🔍\x20[CLAUDE]\x20Navigation:\x20'+_0x5b5981+_0xe9ba(0x194)+_0x248c00['loading']+_0xe9ba(0x195)+_0x16df57);const _0x3252ef=_0x26a3ab[_0xe9ba(0x13a)](_0xe9ba(0x8b))||_0x26a3ab[_0xe9ba(0x13a)](_0x3a6869[_0xe9ba(0x196)])||_0x26a3ab[_0xe9ba(0x13a)](_0x3a6869[_0xe9ba(0x197)]),_0x762f99=_0x26a3ab['includes'](_0x3a6869[_0xe9ba(0x198)])&&!_0x3252ef&&!_0x5e4955[_0xe9ba(0x199)];if(_0x3252ef){_0x151879[_0xe9ba(0x17)](_0x3a6869[_0xe9ba(0x19a)]),_0x3a6869[_0xe9ba(0x19b)](_0x153f7e,![]);return;}_0x762f99&&!_0x19eb1c&&!_0x30b1ce&&!_0x4cd6ea['current']&&_0x191415&&(_0x4ea7ec[_0xe9ba(0x17)](_0x3a6869['WQWta']),_0x35d89d(!![]),_0x3a6869[_0xe9ba(0x19c)](_0x1b5f2c,()=>{_0x3983fe['AyOWv'](_0x200b01);},0x7d0));}}catch(_0x3805c5){console['error']('❌\x20[LINKEDIN]\x20Exception\x20(attempt\x20'+_0x3a6869[_0xe9ba(0x170)](_0x325e0a,0x1)+'/'+_0x166592+'):',_0x3805c5),_0x3a6869[_0xe9ba(0x17f)](_0x325e0a,_0x3a6869[_0xe9ba(0x19d)](_0x166592,0x1))?_0x3a6869[_0xe9ba(0x19e)](setTimeout,()=>{_0x3983fe['gzhjs'](_0xd7a9d7,_0x3983fe[_0xe9ba(0x19f)](_0x325e0a,0x1),_0x166592);},0xbb8):(_0x4d7616(![]),_0x3a6869[_0xe9ba(0x1a0)](_0xadd892,!![]),_0x4fa1e9(!![]),_0x59bc29(_0xe9ba(0x27)),setTimeout(()=>{if(_0x3a6869[_0xe9ba(0x185)]('Zvqvv',_0x3a6869[_0xe9ba(0x1a1)])){var _0x1bc49b;_0x3a74f2[_0xe9ba(0x17)](_0xe9ba(0x1a2)+_0x46c0eb[_0xe9ba(0xf4)]()+_0xe9ba(0x1a3),_0x3983fe[_0xe9ba(0x1a4)](_0x1bc49b=_0x96f90e['data'],null)||_0x3983fe['pHeND'](_0x1bc49b,void 0x0)?void 0x0:_0x1bc49b[_0xe9ba(0x1a5)],_0x3983fe[_0xe9ba(0x1a6)]);return;}else{_0x3a6869[_0xe9ba(0x16d)](_0xf31a4d,_0x3a6869['CmbJM']);if(_0x5585c3)_0x3a6869[_0xe9ba(0x145)](_0x5585c3);}},0x7d0));}};_0x49e88b[_0xe9ba(0x1a7)](_0xd7a9d7);return;}else{if(_0x49e88b[_0xe9ba(0x14c)](_0x29c7db[_0xe9ba(0x128)],_0x49e88b[_0xe9ba(0x1a8)])&&_0x29c7db[_0xe9ba(0x148)]){if(_0x49e88b[_0xe9ba(0x1a9)](_0x49e88b[_0xe9ba(0x1aa)],_0x49e88b[_0xe9ba(0x1ab)])){const _0xde199=_0xe9ba(0x1ac)[_0xe9ba(0xec)]('|');let _0x2b90de=0x0;while(!![]){switch(_0xde199[_0x2b90de++]){case'0':_0x58b1b9[_0xe9ba(0xbc)]&&(_0x446e5e[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x1ad)]),_0x190bb1[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0xe9ba(0x1ae)));continue;case'1':_0x319d61(!![]);continue;case'2':_0x1562e9[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x1af)]);continue;case'3':_0x49e88b[_0xe9ba(0xf2)](_0x2a8202,_0xe9ba(0x3d));continue;case'4':_0x4a3fec(!![]);continue;}break;}}else{console['warn'](_0x49e88b[_0xe9ba(0x147)],_0x29c7db[_0xe9ba(0x148)]),_0x49e88b[_0xe9ba(0x1b0)](_0x4d7616,![]),_0xadd892(!![]),_0x49e88b[_0xe9ba(0x1b1)](_0x4fa1e9,!![]),_0x49e88b['IsDeB'](_0x59bc29,_0x49e88b[_0xe9ba(0x143)]),_0x49e88b[_0xe9ba(0x117)](setTimeout,()=>{if(_0x49e88b[_0xe9ba(0x129)](_0xe9ba(0x1b2),_0x49e88b[_0xe9ba(0x1b3)]))_0x45b3f5[_0xe9ba(0xbc)]['injectJavaScript'](_0xd71684[_0xe9ba(0xfb)]);else{_0x49e88b[_0xe9ba(0xf0)](_0xf31a4d,_0x49e88b[_0xe9ba(0x113)]);if(_0x5585c3)_0x49e88b[_0xe9ba(0xea)](_0x5585c3);}},0x7d0);return;}}}}else _0x12e32d[_0xe9ba(0x1b4)](0x0),_0x29f8e4[_0xe9ba(0x1b4)](0x0),_0x4cfcd9['Animated'][_0xe9ba(0xe4)]([_0x35353c[_0xe9ba(0xba)]['timing'](_0x14f52a,{'toValue':0x1,'duration':0x96,'useNativeDriver':!![]})])['start'](),_0x378459[_0xe9ba(0xba)][_0xe9ba(0x1b5)](_0x356268,{'toValue':0x1,'friction':0x4,'tension':0x64,'useNativeDriver':!![]})[_0xe9ba(0x1b6)]();}if(_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b[_0xe9ba(0x1b7)]||_0x49e88b['cVYkA'](_0x29c7db[_0xe9ba(0x12c)],'DEBUG_MEMORIES')){console['log']('🔍\x20['+platform['toUpperCase']()+_0xe9ba(0x1b8),_0x29c7db[_0xe9ba(0x148)]);return;}if(_0x49e88b[_0xe9ba(0x1b9)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b['DtgEg'])&&_0x365366){if(_0x49e88b[_0xe9ba(0x1ba)](_0x49e88b[_0xe9ba(0x1bb)],_0xe9ba(0x1bc)))_0x5a8509[_0xe9ba(0x17)](_0x3a6869['nqDAl']);else{console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x1bd)]);try{if(_0x49e88b[_0xe9ba(0x1be)]===_0x49e88b[_0xe9ba(0x1bf)])_0x2201a0[_0xe9ba(0x17)](_0xe9ba(0x1c0)+_0x476a75+_0xe9ba(0x14a)+_0x141911[_0xe9ba(0x148)]),_0x49e88b[_0xe9ba(0x1c1)](_0x53cd29,_0x17fd0f),_0x568b96[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x3a36d4,{'toValue':_0x1cb357,'duration':0x12c,'useNativeDriver':![]})[_0xe9ba(0x1b6)]();else{const _0x3ca34b=await _0x49e88b[_0xe9ba(0x1c2)](_0x52a2a9,_0x29c7db['memoriesData']);if(_0x3ca34b){if(_0x49e88b['cVYkA'](_0x49e88b['YINgC'],_0x49e88b['gBNbF'])){const _0x1c0345=_0x3a6869['xoyIP'][_0xe9ba(0xec)]('|');let _0x2c4a8c=0x0;while(!![]){switch(_0x1c0345[_0x2c4a8c++]){case'0':_0x3a6869[_0xe9ba(0x1c3)](_0x5ba5a8,![]);continue;case'1':_0x1c1744['Alert'][_0xe9ba(0x131)](_0x3a6869['cmAtP'],'Failed\x20to\x20export\x20Telegram\x20data:\x20'+_0x402b55[_0xe9ba(0x148)],[{'text':_0x3a6869[_0xe9ba(0x1c4)],'onPress':()=>_0x439144()},{'text':_0x3a6869[_0xe9ba(0x1c5)],'onPress':_0x399cba,'style':'cancel'}]);continue;case'2':_0x3a6869[_0xe9ba(0x1c6)](_0x2eba38,![]);continue;case'3':_0xc17769[_0xe9ba(0x51)](_0x3a6869['SaeOa'],_0x301e79['message']);continue;case'4':_0x316272[_0xe9ba(0xbc)]=![];continue;case'5':_0x3a6869[_0xe9ba(0x1c7)](_0x9560ec,0x0);continue;case'6':return;case'7':_0x3a6869[_0xe9ba(0x1c8)](_0x1b576c,![]);continue;}break;}}else console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x119)]);}else console[_0xe9ba(0x146)](_0x49e88b[_0xe9ba(0x1c9)]);}}catch(_0x374e3a){console[_0xe9ba(0x51)](_0x49e88b[_0xe9ba(0x1ca)],_0x374e3a);}return;}}if(_0x49e88b[_0xe9ba(0x1cb)](_0x29c7db['type'],_0xe9ba(0x1cc))){const _0xd8eb2f=_0x29c7db[_0xe9ba(0x149)]||0x0;if(_0x365366){if(_0x49e88b[_0xe9ba(0x1cd)]===_0xe9ba(0x1ce)){const _0x1611b0={'HsTuZ':function(_0x13cd91,_0x5831b0){return _0x3a6869[_0xe9ba(0x1a0)](_0x13cd91,_0x5831b0);},'kXpud':_0xe9ba(0x26)};_0x28af0a[_0xe9ba(0x17)]('💼\x20[LINKEDIN]\x20On\x20OAuth\x20callback\x20URL\x20-\x20connection\x20successful!'),_0x3a6869[_0xe9ba(0x19b)](_0x10e561,_0x3a6869[_0xe9ba(0x17a)]);!_0x10de95&&(_0x521319[_0xe9ba(0x17)](_0x3a6869['GRedD']),_0x3a6869[_0xe9ba(0x1cf)](_0x5c4d6a,!![]),_0x3a6869['KOASi'](_0x57d8da,!![]),_0x3a6869[_0xe9ba(0x1d0)](_0x3e5028,()=>{_0x1611b0[_0xe9ba(0x1d1)](_0x3e9d61,_0x1611b0[_0xe9ba(0x1d2)]);if(_0x4189a4)_0x1efdbf();},0x7d0));return;}else console[_0xe9ba(0x17)](_0xe9ba(0x1c0)+_0xd8eb2f+_0xe9ba(0x14a)+_0x29c7db['message']),_0x49e88b[_0xe9ba(0x142)](_0x7df669,_0xd8eb2f),_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x520c84,{'toValue':_0xd8eb2f,'duration':0x12c,'useNativeDriver':![]})[_0xe9ba(0x1b6)]();}else _0x57f8a5&&(console[_0xe9ba(0x17)](_0xe9ba(0x1d3)+_0xd8eb2f+'%\x20-\x20'+_0x29c7db['message']),_0x49e88b[_0xe9ba(0x142)](_0x379dca,_0xd8eb2f),_0x49e88b[_0xe9ba(0x1d4)](_0x5c0b26,_0x29c7db[_0xe9ba(0x148)]||'Extracting\x20data...\x20'+_0xd8eb2f+'%'),_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x383584,{'toValue':_0xd8eb2f,'duration':0x12c,'useNativeDriver':![]})[_0xe9ba(0x1b6)]());return;}if(_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b['KAbfy']){var _0x402d4a,_0x4a019e,_0x3b1833;const _0x4ecf19=(_0x49e88b[_0xe9ba(0x1d5)](_0x402d4a=_0x29c7db['data'],null)||_0x49e88b[_0xe9ba(0x1d6)](_0x402d4a,void 0x0)?void 0x0:_0x402d4a[_0xe9ba(0x1d7)])||(_0x49e88b[_0xe9ba(0x1d8)](_0x4a019e=_0x29c7db[_0xe9ba(0x127)],null)||_0x49e88b['UjtPy'](_0x4a019e,void 0x0)||_0x49e88b[_0xe9ba(0x1d9)](_0x4a019e=_0x4a019e[_0xe9ba(0x1da)],null)||_0x49e88b[_0xe9ba(0x1db)](_0x4a019e,void 0x0)?void 0x0:_0x4a019e['length'])||0x0,_0x228e4c=(_0x49e88b[_0xe9ba(0xcb)](_0x3b1833=_0x29c7db[_0xe9ba(0x127)],null)||_0x49e88b[_0xe9ba(0x1d8)](_0x3b1833,void 0x0)?void 0x0:_0x3b1833['total_messages'])||0x0;if(_0x365366){var _0x4dbf59;console[_0xe9ba(0x17)]('✅\x20[CHATGPT]\x20Export\x20complete:\x20'+_0x4ecf19+_0xe9ba(0x1dc)+_0x228e4c+'\x20messages'),_0x7df669(0x5a);if(_0x49e88b[_0xe9ba(0x1dd)](_0x4dbf59=_0x29c7db['data'],null)&&_0x49e88b['ZsjKL'](_0x4dbf59,void 0x0)&&_0x4dbf59[_0xe9ba(0x1da)]&&_0x423411){if(_0x49e88b[_0xe9ba(0x1de)]===_0x49e88b[_0xe9ba(0x1de)]){console['log'](_0x49e88b[_0xe9ba(0x1df)]);const _0x5cbf74=await _0x49e88b['vvLPu'](_0x4750c1,_0x423411,_0x29c7db[_0xe9ba(0x127)][_0xe9ba(0x1da)]);console[_0xe9ba(0x17)](_0xe9ba(0x1e0),_0x5cbf74);}else _0x5d7e44=_0x1f6673[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x1e1)])||!_0x12c9bc[_0xe9ba(0x13a)]('#'),_0x592f3b=_0x5a9785[_0xe9ba(0x13a)](_0xe9ba(0x1e2))&&_0x360b49[_0xe9ba(0x13a)]('#')&&!_0x1f586f&&!_0x4382ec['loading'];}_0x49e88b[_0xe9ba(0x15d)](_0x7df669,0x64),_0x49e88b['OPdxQ'](_0x9e2cc7,![]),_0x56f063(!![]),_0x49e88b[_0xe9ba(0xee)](_0xf31a4d,'success'),_0x49e88b[_0xe9ba(0x1e3)](setTimeout,()=>{const _0x4452c5={'wcjly':function(_0x17998d,_0x1f5c66,_0x1f0a4a){return _0x17998d(_0x1f5c66,_0x1f0a4a);}};if(_0x49e88b['zBgvT'](_0x49e88b['hDQni'],_0x49e88b[_0xe9ba(0x1e4)]))_0x4452c5[_0xe9ba(0x1e5)](_0x6c05f7,{'url':_0x7231a1,'loading':![]},!![]);else{if(_0x5585c3)_0x49e88b[_0xe9ba(0xea)](_0x5585c3);}},0x7d0);}else{if(_0x57f8a5){var _0x267fe4;console[_0xe9ba(0x17)](_0xe9ba(0x1e6)+_0x4ecf19+_0xe9ba(0x1dc)+_0x228e4c+'\x20messages'),_0x49e88b['wjctG'](_0x379dca,0x5a),_0x49e88b['EQSXb'](_0x5c0b26,'Storing\x20'+_0x4ecf19+_0xe9ba(0x1e7));if(_0x49e88b[_0xe9ba(0x1e8)](_0x267fe4=_0x29c7db[_0xe9ba(0x127)],null)&&_0x267fe4!==void 0x0&&_0x267fe4[_0xe9ba(0x1da)]&&_0x423411){console['log'](_0x49e88b['sAxdM']);const _0x20f04f=await _0x49e88b[_0xe9ba(0x11f)](_0x16acdd,_0x423411,_0x29c7db[_0xe9ba(0x127)][_0xe9ba(0x1da)]);console['log'](_0xe9ba(0x1e9),_0x20f04f);}_0x49e88b[_0xe9ba(0x1ea)](_0x379dca,0x64),_0xcc098f(![]),_0x49e88b['ryFsO'](_0x1a6793,![]),_0x49e88b[_0xe9ba(0x1b1)](_0x3ef67e,!![]),_0x49e88b[_0xe9ba(0x1eb)](_0x5c0b26,_0xe9ba(0x1ec)+_0x4ecf19+'\x20conversations!'),_0xf31a4d(_0x49e88b['eWkgF']),setTimeout(()=>{if(_0x5585c3)_0x49e88b['SJytb'](_0x5585c3);},0x7d0);}}return;}if(_0x49e88b[_0xe9ba(0x1ed)](_0x29c7db['type'],_0x49e88b[_0xe9ba(0x1ee)])){console[_0xe9ba(0x51)](_0xe9ba(0x1ef)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x1f0),_0x29c7db[_0xe9ba(0x148)]);if(_0x365366){if(_0x49e88b[_0xe9ba(0x1f1)](_0x49e88b[_0xe9ba(0x1f2)],_0x49e88b[_0xe9ba(0x1f3)])){if(_0x564dcb){const _0x106fd2=_0x3f393b[_0xe9ba(0xba)][_0xe9ba(0xe3)](_0x11898c[_0xe9ba(0xba)][_0xe9ba(0xe4)]([_0x31b813[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x583394,{'toValue':0x1,'duration':0x4b0,'useNativeDriver':!![]}),_0x414367[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x1ae332,{'toValue':0x0,'duration':0x4b0,'useNativeDriver':!![]})]));return _0x106fd2[_0xe9ba(0x1b6)](),()=>{_0x106fd2[_0xe9ba(0x1f4)](),_0x1f61be[_0xe9ba(0x1b4)](0x0);};}}else _0x49e88b['svxzi'](_0x9e2cc7,![]),_0x7df669(0x0),_0x236ca5['current']=![],_0x49e88b['GuRsf'](_0x1887b6,![]);}else _0x57f8a5&&(_0x49e88b['uQSUZ'](_0xcc098f,![]),_0x49e88b[_0xe9ba(0x1f5)](_0x379dca,0x0),_0x49e88b[_0xe9ba(0x1f6)](_0x1a6793,![]),_0x4fa265[_0xe9ba(0xbc)]=![],_0x49e88b[_0xe9ba(0x1f7)](_0xe273c8,![]));_reactNative[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x11b)],_0xe9ba(0x1f8)+platform+_0xe9ba(0x1f9)+_0x29c7db[_0xe9ba(0x148)],[{'text':_0x49e88b[_0xe9ba(0x11c)],'onPress':()=>{if(_0x365366)_0x1f7b6d();else{if(_0x57f8a5)_0x3a6869[_0xe9ba(0x175)](_0x1f3d66);}}},{'text':_0x49e88b[_0xe9ba(0x11d)],'onPress':_0x1879df,'style':_0x49e88b[_0xe9ba(0x166)]}]);return;}if(_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b[_0xe9ba(0x1fa)]||_0x29c7db['type']===_0xe9ba(0x1fb)){if(_0xe9ba(0x1fc)===_0xe9ba(0x1fc)){if(_0x29c7db['status']===_0x49e88b['RnrjT'])console[_0xe9ba(0x17)](_0xe9ba(0x1fd)+platform['toUpperCase']()+']\x20User\x20denied\x20consent'),_reactNative[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x132)],'You\x20denied\x20access\x20to\x20your\x20'+platform+_0xe9ba(0x1fe),[{'text':'OK','onPress':_0x1879df}]);else _0x49e88b[_0xe9ba(0x151)](_0x29c7db[_0xe9ba(0x128)],_0x49e88b[_0xe9ba(0x134)])&&console['log'](_0xe9ba(0x1ff)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x200));return;}else _0xdc16ab&&(_0x15fbb7(''),_0x52a736[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0xda)]));}if(_0x49e88b[_0xe9ba(0x10b)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x201)])){var _0x5153d2;console[_0xe9ba(0x17)](_0xe9ba(0x1a2)+platform[_0xe9ba(0xf4)]()+']\x20Memories\x20fetch\x20complete:',(_0x5153d2=_0x29c7db[_0xe9ba(0x127)])===null||_0x5153d2===void 0x0?void 0x0:_0x5153d2[_0xe9ba(0x1a5)],_0xe9ba(0x35));return;}if(_0x49e88b['wGLJS'](_0x29c7db[_0xe9ba(0x12c)],_0xe9ba(0x202))){console['warn'](_0xe9ba(0x203)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x204),_0x29c7db[_0xe9ba(0x148)]);return;}if(_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b[_0xe9ba(0x205)]&&_0x41581d){const _0x43e3f8=_0x29c7db[_0xe9ba(0x149)]||0x0;console[_0xe9ba(0x17)](_0xe9ba(0x206)+_0x43e3f8+_0xe9ba(0x14a)+_0x29c7db['message']),_0x49e88b[_0xe9ba(0x207)](_0xa5e174,_0x43e3f8),_0x49e88b[_0xe9ba(0xf6)](_0x1496af,_0x29c7db['message']||'Extracting...\x20'+_0x43e3f8+'%'),_reactNative['Animated'][_0xe9ba(0xe5)](_0x40a7b8,{'toValue':_0x43e3f8,'duration':0x12c,'useNativeDriver':![]})[_0xe9ba(0x1b6)]();return;}if(_0x49e88b[_0xe9ba(0x1d8)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x208)])&&_0x41581d){if(_0x49e88b[_0xe9ba(0x1d5)](_0xe9ba(0x209),_0x49e88b[_0xe9ba(0x20a)])){_0x49e88b[_0xe9ba(0x20b)](_0x21103e,_0x1627f3);return;}else{console['log'](_0x49e88b[_0xe9ba(0x20c)],_0x29c7db['data']),_0x49e88b['nwqMh'](_0xa5e174,0x5a),_0x1496af(_0x49e88b['LTJmG']);if(_0x29c7db['data']&&_0x423411){if(_0x49e88b[_0xe9ba(0x115)](_0x49e88b['xWfgb'],_0x49e88b[_0xe9ba(0x20d)])){if(_0x321f56[_0xe9ba(0xf)](_0x554994))return _0x2c235c[_0xe9ba(0x15)](_0x3422f1);_0x203c6d[_0xe9ba(0x10)](_0x1d2bd8,_0x5b72fd);}else{console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x20e)]);const _0x5343e4=await _0x49e88b[_0xe9ba(0x112)](_0x43c1b7,_0x423411,_0x29c7db[_0xe9ba(0x127)]);console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x20f)],_0x5343e4);}}_0x49e88b[_0xe9ba(0x210)](_0xa5e174,0x64),_0x49e88b[_0xe9ba(0x211)](_0x509e80,![]),_0x49e88b[_0xe9ba(0x1b0)](_0xd2ef6,![]),_0x49e88b[_0xe9ba(0x212)](_0x366645,!![]),_0x49e88b['SFWZL'](_0x1496af,_0x49e88b[_0xe9ba(0x143)]),_0x49e88b[_0xe9ba(0x213)](_0xf31a4d,_0xe9ba(0x26)),_0x49e88b[_0xe9ba(0x214)](setTimeout,()=>{if(_0x5585c3)_0x5585c3();},0x7d0);return;}}if(_0x49e88b[_0xe9ba(0x215)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b['kwYbN'])&&_0x41581d){console[_0xe9ba(0x51)]('❌\x20[HINGE]\x20Export\x20error:',_0x29c7db['message']),_0x49e88b[_0xe9ba(0xed)](_0x509e80,![]),_0x49e88b[_0xe9ba(0x216)](_0xa5e174,0x0),_0x49e88b[_0xe9ba(0x217)](_0xd2ef6,![]),_0x255118['current']=![],_0x49e88b[_0xe9ba(0x218)](_0x53aba4,![]),_reactNative[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x11b)],_0xe9ba(0x219)+_0x29c7db[_0xe9ba(0x148)],[{'text':_0x49e88b[_0xe9ba(0x11c)],'onPress':()=>_0x387e46()},{'text':_0x49e88b['cgjQm'],'onPress':_0x1879df,'style':_0x49e88b[_0xe9ba(0x166)]}]);return;}if(_0x49e88b[_0xe9ba(0x10b)](_0x29c7db['type'],_0x49e88b['JJwxB'])&&_0x2b45a2){const _0x16ec05=_0x29c7db[_0xe9ba(0x149)]||0x0;console[_0xe9ba(0x17)]('📊\x20[INSTAGRAM]\x20Export\x20progress:\x20'+_0x16ec05+_0xe9ba(0x14a)+_0x29c7db[_0xe9ba(0x148)]),_0x49e88b[_0xe9ba(0x21a)](_0xa5e174,_0x16ec05),_0x1496af(_0x29c7db[_0xe9ba(0x148)]||'Extracting...\x20'+_0x16ec05+'%'),_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x40a7b8,{'toValue':_0x16ec05,'duration':0x12c,'useNativeDriver':![]})[_0xe9ba(0x1b6)]();return;}if(_0x49e88b['GVdAd'](_0x29c7db[_0xe9ba(0x12c)],_0xe9ba(0x21b))&&_0x2b45a2){console['log'](_0xe9ba(0x21c),_0x29c7db['data']),_0xa5e174(0x5a),_0x49e88b[_0xe9ba(0x21d)](_0x1496af,_0x49e88b[_0xe9ba(0x21e)]);if(_0x29c7db[_0xe9ba(0x127)]&&_0x423411){console['log'](_0xe9ba(0x21f));const _0x24143a=await _0x49e88b[_0xe9ba(0x1e3)](_0x195dd4,_0x423411,_0x29c7db['data']);console[_0xe9ba(0x17)](_0xe9ba(0x220),_0x24143a);}_0x49e88b[_0xe9ba(0x221)](_0xa5e174,0x64),_0x49e88b[_0xe9ba(0x1f5)](_0x509e80,![]),_0x49e88b[_0xe9ba(0x222)](_0xd2ef6,![]),_0x366645(!![]),_0x49e88b[_0xe9ba(0x223)](_0x1496af,_0x49e88b[_0xe9ba(0x143)]),_0x49e88b['REayR'](_0xf31a4d,_0x49e88b[_0xe9ba(0x113)]),_0x49e88b[_0xe9ba(0x117)](setTimeout,()=>{if(_0x5585c3)_0x3a6869['ACaje'](_0x5585c3);},0x7d0);return;}if(_0x49e88b[_0xe9ba(0x14c)](_0x29c7db[_0xe9ba(0x12c)],'INSTAGRAM_EXPORT_ERROR')&&_0x2b45a2){console[_0xe9ba(0x51)](_0x49e88b[_0xe9ba(0x224)],_0x29c7db[_0xe9ba(0x148)]),_0x49e88b[_0xe9ba(0xee)](_0x509e80,![]),_0x49e88b[_0xe9ba(0x225)](_0xa5e174,0x0),_0x49e88b['rjajr'](_0xd2ef6,![]),_0x255118['current']=![],_0x49e88b['wMBKn'](_0x53aba4,![]),_reactNative['Alert'][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x11b)],'Failed\x20to\x20export\x20Instagram\x20data:\x20'+_0x29c7db[_0xe9ba(0x148)],[{'text':_0x49e88b[_0xe9ba(0x11c)],'onPress':()=>_0x387e46()},{'text':_0x49e88b['cgjQm'],'onPress':_0x1879df,'style':_0x49e88b[_0xe9ba(0x166)]}]);return;}if(_0x49e88b[_0xe9ba(0x1a9)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x226)])&&_0x9f023b){if(_0x49e88b['AQhmu'](_0x49e88b['oxvtc'],_0xe9ba(0x227))){const _0x456247=_0x29c7db['progress']||0x0;console['log'](_0xe9ba(0x228)+_0x456247+_0xe9ba(0x14a)+_0x29c7db[_0xe9ba(0x148)]),_0x49e88b[_0xe9ba(0x229)](_0xa5e174,_0x456247),_0x1496af(_0x29c7db[_0xe9ba(0x148)]||_0xe9ba(0x14b)+_0x456247+'%'),_reactNative[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x40a7b8,{'toValue':_0x456247,'duration':0x12c,'useNativeDriver':![]})['start']();return;}else _0x157c0f=_0x2ed059[_0xe9ba(0x13a)](_0x3a6869[_0xe9ba(0x22a)])||_0x3fbe7c[_0xe9ba(0x13a)](_0x3a6869[_0xe9ba(0x22b)])||_0x4c9c6c['includes'](_0x3a6869[_0xe9ba(0x22c)]),_0x2f8dda=_0x48849b['includes'](_0xe9ba(0x93))&&!_0x5a0150&&!_0x42bbf4[_0xe9ba(0x199)];}if(_0x49e88b['bnWik'](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x22d)])&&_0x9f023b){if(_0x49e88b[_0xe9ba(0x1f1)](_0x49e88b[_0xe9ba(0x22e)],_0x49e88b[_0xe9ba(0x22f)])){if(_0x544099)_0x4fc525();}else{console[_0xe9ba(0x17)](_0xe9ba(0x230),_0x29c7db['data']),_0x49e88b['SzxKo'](_0xa5e174,0x5a),_0x49e88b['feLXz'](_0x1496af,_0xe9ba(0x66));if(_0x29c7db['data']&&_0x423411){console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x231)]);const _0x46ee09=await _0x49e88b[_0xe9ba(0x214)](_0x4b3485,_0x423411,_0x29c7db[_0xe9ba(0x127)]);console[_0xe9ba(0x17)](_0xe9ba(0x232),_0x46ee09);}_0x49e88b[_0xe9ba(0x20b)](_0xa5e174,0x64),_0x49e88b['RAYlK'](_0x509e80,![]),_0x49e88b['Hqogg'](_0xd2ef6,![]),_0x366645(!![]),_0x1496af(_0x49e88b['RjwZV']),_0x49e88b[_0xe9ba(0x210)](_0xf31a4d,_0xe9ba(0x26)),_0x49e88b[_0xe9ba(0x233)](setTimeout,()=>{if(_0x3a6869['egppa'](_0xe9ba(0x123),_0x3a6869[_0xe9ba(0x234)]))_0xc34199[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0x51f659['HINGE_EXPORT_SCRIPT']);else{if(_0x5585c3)_0x5585c3();}},0x7d0);return;}}if(_0x49e88b['PyllO'](_0x29c7db['type'],_0x49e88b['paJld'])&&_0x9f023b){if(_0x49e88b[_0xe9ba(0x235)]!==_0xe9ba(0x236)){const _0xd4647=_0x49e88b[_0xe9ba(0x237)][_0xe9ba(0xec)]('|');let _0xe478dd=0x0;while(!![]){switch(_0xd4647[_0xe478dd++]){case'0':_0x255118[_0xe9ba(0xbc)]=![];continue;case'1':_0x49e88b[_0xe9ba(0x238)](_0xa5e174,0x0);continue;case'2':_0x49e88b['EPoqR'](_0xd2ef6,![]);continue;case'3':_0x509e80(![]);continue;case'4':_0x49e88b['wUiZa'](_0x53aba4,![]);continue;case'5':console[_0xe9ba(0x51)]('❌\x20[SEPHORA]\x20Export\x20error:',_0x29c7db['message']);continue;case'6':_reactNative[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x49e88b[_0xe9ba(0x11b)],'Failed\x20to\x20export\x20Sephora\x20data:\x20'+_0x29c7db[_0xe9ba(0x148)],[{'text':'Retry','onPress':()=>_0x387e46()},{'text':_0x49e88b[_0xe9ba(0x11d)],'onPress':_0x1879df,'style':_0x49e88b[_0xe9ba(0x166)]}]);continue;case'7':return;}break;}}else{if(!_0x2fadde[_0xe9ba(0xbc)]||_0x3f8948||_0x1dee8b[_0xe9ba(0xbc)])return;_0x44fe4f['log'](_0xe9ba(0x23)),_0x403b8f[_0xe9ba(0xbc)]=!![],_0x2f0b83(!![]),_0x37b51c['current'][_0xe9ba(0xf9)](_0x29500f[_0xe9ba(0xff)]);}}if(_0x49e88b[_0xe9ba(0x156)](_0x29c7db['type'],_0x49e88b[_0xe9ba(0x239)])&&_0x52eee3){if(_0x49e88b[_0xe9ba(0x23a)]!==_0x49e88b[_0xe9ba(0x23a)]){_0x118306['log'](_0xe9ba(0x23b)+_0x844fee[_0xe9ba(0xf4)]()+_0xe9ba(0x23c)),_0x49e88b[_0xe9ba(0x21a)](_0x118382,![]);return;}else{const _0x2d07c5=_0x29c7db[_0xe9ba(0x149)]||0x0;console['log']('📊\x20[TELEGRAM]\x20Export\x20progress:\x20'+_0x2d07c5+'%\x20-\x20'+_0x29c7db[_0xe9ba(0x148)]),_0x49e88b[_0xe9ba(0x23d)](_0xa5e174,_0x2d07c5),_0x49e88b[_0xe9ba(0x211)](_0x1496af,_0x29c7db[_0xe9ba(0x148)]||_0xe9ba(0x14b)+_0x2d07c5+'%'),_reactNative[_0xe9ba(0xba)]['timing'](_0x40a7b8,{'toValue':_0x2d07c5,'duration':0x12c,'useNativeDriver':![]})['start']();return;}}if(_0x49e88b[_0xe9ba(0x23e)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x23f)])&&_0x52eee3){if(_0x49e88b['Zvhhx'](_0x49e88b[_0xe9ba(0x240)],_0xe9ba(0x241))){const _0x1b0d91={'zfoPu':_0xe9ba(0x7f),'NPtMr':function(_0x296b09,_0x4639f2){return _0x3a6869['tMlMR'](_0x296b09,_0x4639f2);},'ywSnj':_0x3a6869[_0xe9ba(0x242)]},_0x5730d7=new _0xfe1ef(_0x276166[_0xe9ba(0x139)]),_0x3c38dc=_0x5730d7['searchParams'][_0xe9ba(0xf)](_0x3a6869['MJnrS']),_0x4e4fa6=_0x5730d7[_0xe9ba(0x243)][_0xe9ba(0xf)](_0x3a6869['VphpB']);if(_0x3c38dc||_0x4e4fa6){_0x112b2c[_0xe9ba(0x17)](_0xe9ba(0x188)),_0x3a6869['sDRks'](_0x1a2bb0,!![]),_0x3a6869['tHBwk'](_0x4725e3,()=>{_0x22085a[_0xe9ba(0xbc)]&&(_0x1dc403[_0xe9ba(0x17)](_0x1b0d91[_0xe9ba(0x244)]),_0x1b0d91[_0xe9ba(0x245)](_0x28adfa,_0x1b0d91[_0xe9ba(0x246)]),_0x3acc99[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0xe9ba(0x18b)));},0x1f4);return;}}else{console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x247)],_0x29c7db[_0xe9ba(0x127)]),_0x49e88b['qylNU'](_0xa5e174,0x5a),_0x49e88b[_0xe9ba(0xd9)](_0x1496af,_0xe9ba(0x66));if(_0x29c7db[_0xe9ba(0x127)]&&_0x423411){console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x248)]);const _0xaf9f16=await _0x49e88b[_0xe9ba(0x249)](_0x46f854,_0x423411,_0x29c7db[_0xe9ba(0x127)]);console[_0xe9ba(0x17)](_0xe9ba(0x24a),_0xaf9f16);}_0xa5e174(0x64),_0x49e88b[_0xe9ba(0x24b)](_0x509e80,![]),_0xd2ef6(![]),_0x49e88b[_0xe9ba(0x24c)](_0x366645,!![]),_0x49e88b[_0xe9ba(0x142)](_0x1496af,_0x49e88b[_0xe9ba(0x143)]),_0x49e88b[_0xe9ba(0x24d)](_0xf31a4d,_0x49e88b[_0xe9ba(0x113)]),setTimeout(()=>{if(_0x3a6869[_0xe9ba(0x171)](_0xe9ba(0x24e),_0x3a6869['btdOq']))_0x2a2a49['log']('✅\x20['+_0x341c23[_0xe9ba(0xf4)]()+_0xe9ba(0x200));else{if(_0x5585c3)_0x5585c3();}},0x7d0);return;}}if(_0x29c7db[_0xe9ba(0x12c)]===_0xe9ba(0x24f)&&_0x52eee3){const _0x50ee16=_0x49e88b[_0xe9ba(0x250)][_0xe9ba(0xec)]('|');let _0x13ec5f=0x0;while(!![]){switch(_0x50ee16[_0x13ec5f++]){case'0':console['error'](_0x49e88b[_0xe9ba(0x251)],_0x29c7db[_0xe9ba(0x148)]);continue;case'1':_reactNative[_0xe9ba(0x130)]['alert'](_0x49e88b['NReUh'],_0xe9ba(0x252)+_0x29c7db[_0xe9ba(0x148)],[{'text':_0x49e88b[_0xe9ba(0x11c)],'onPress':()=>_0x387e46()},{'text':_0x49e88b[_0xe9ba(0x11d)],'onPress':_0x1879df,'style':_0x49e88b['aUqMy']}]);continue;case'2':_0x49e88b[_0xe9ba(0xf2)](_0xd2ef6,![]);continue;case'3':_0x53aba4(![]);continue;case'4':_0x49e88b[_0xe9ba(0x253)](_0xa5e174,0x0);continue;case'5':_0x255118[_0xe9ba(0xbc)]=![];continue;case'6':return;case'7':_0x49e88b[_0xe9ba(0x24d)](_0x509e80,![]);continue;}break;}}if(_0x49e88b[_0xe9ba(0x254)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x255)])||_0x49e88b[_0xe9ba(0x14c)](_0x29c7db[_0xe9ba(0x12c)],_0x49e88b[_0xe9ba(0x256)])||_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b['gyKwS']||_0x29c7db[_0xe9ba(0x12c)]===_0x49e88b[_0xe9ba(0x257)]){if(_0x49e88b[_0xe9ba(0x258)](_0x29c7db[_0xe9ba(0x128)],_0x49e88b['RnrjT']))console[_0xe9ba(0x17)](_0xe9ba(0x1fd)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x259)),_reactNative['Alert']['alert'](_0xe9ba(0x44),_0xe9ba(0x25a)+platform+'\x20data.',[{'text':'OK','onPress':_0x1879df}]);else _0x29c7db[_0xe9ba(0x128)]===_0x49e88b[_0xe9ba(0x134)]&&console[_0xe9ba(0x17)](_0xe9ba(0x1ff)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x200));return;}console[_0xe9ba(0x17)](_0xe9ba(0x25b)+platform[_0xe9ba(0xf4)]()+']\x20Unknown\x20message\x20type:',_0x29c7db[_0xe9ba(0x12c)]);}catch(_0x54fb94){console['error'](_0xe9ba(0x1ef)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x25c),_0x54fb94);}},[platform,_0x423411,_0xf31a4d,_0x5585c3,_0x1879df,_0x5943a6,_0x365366,_0x57f8a5,_0x41581d,_0x2b45a2,_0x9f023b,_0x52eee3,_0x1f7b6d,_0x1f3d66,_0x387e46,_0x4750c1,_0x16acdd,_0x43c1b7,_0x195dd4,_0x4b3485,_0x46f854,_0x52a2a9,_0x40a7b8]),_0x1518bb=(0x0,_react['useCallback'])((_0x5bfe60,_0x54e244=![])=>{const _0x2a345a={'BVmcq':_0x49e88b[_0xe9ba(0x25d)],'XJqYF':function(_0x218de0,_0x502dda){return _0x218de0(_0x502dda);},'woGPG':function(_0x102a82,_0x249e6f){return _0x102a82!=_0x249e6f;},'Ezwom':_0x49e88b[_0xe9ba(0x25e)],'ukThf':_0x49e88b[_0xe9ba(0x25f)],'NpXSa':function(_0x55bd10,_0x54fa59){return _0x55bd10!==_0x54fa59;},'hqwuB':_0xe9ba(0xd6),'mVRQF':function(_0x20b58b,_0x2b2a79,_0x2612b3,_0x3a8b78){return _0x20b58b(_0x2b2a79,_0x2612b3,_0x3a8b78);},'MBcwx':_0x49e88b['kWHLT'],'ukRUX':_0xe9ba(0x260),'uVnUO':_0xe9ba(0x261),'dGWkq':_0x49e88b[_0xe9ba(0x262)],'vhefA':function(_0x4affb0,_0x557d31){return _0x4affb0(_0x557d31);},'lFwxI':_0x49e88b[_0xe9ba(0xde)],'IHUOR':function(_0x156cd7,_0x132de3){return _0x156cd7(_0x132de3);},'rcoyn':_0x49e88b['eWkgF'],'spIRR':function(_0x51d72e){return _0x51d72e();},'bAuPk':_0x49e88b[_0xe9ba(0x263)]},_0xf0239e=_0x5bfe60[_0xe9ba(0x139)]||'',_0x654e88=_0xf0239e['toLowerCase']();console['log'](_0xe9ba(0x264)+_0xf0239e+',\x20loading='+_0x5bfe60[_0xe9ba(0x199)]+_0xe9ba(0x195)+_0x54e244);if((0x0,_webviewScripts[_0xe9ba(0x265)])(_0xf0239e)){console[_0xe9ba(0x17)](_0x49e88b['jHbPs']),_0x49e88b[_0xe9ba(0x266)](_0x59bc29,_0x49e88b[_0xe9ba(0x143)]);if(!_0x5a583f){if(_0x49e88b['POFyM']('UEXBr',_0x49e88b[_0xe9ba(0x267)])){_0x55a286['log'](_0x2a345a[_0xe9ba(0x268)]),_0x2a345a[_0xe9ba(0x269)](_0x32367c,![]);return;}else console['log'](_0x49e88b[_0xe9ba(0x26a)]),_0x49e88b['fPeKj'](_0xadd892,!![]),_0x49e88b[_0xe9ba(0x26b)](_0x4fa1e9,!![]),_0x49e88b[_0xe9ba(0x26c)](setTimeout,()=>{_0x49e88b[_0xe9ba(0x26d)](_0xf31a4d,_0x49e88b['eWkgF']);if(_0x5585c3)_0x49e88b['hUMzX'](_0x5585c3);},0x7d0);}return;}const _0x51a02c=(0x0,_webviewScripts[_0xe9ba(0x26e)])(_0xf0239e);_0xa832f7(_0x51a02c);if(_0x51a02c){_0x49e88b[_0xe9ba(0x26f)](_0x15581a,!![]),console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x270)]);_0x49e88b[_0xe9ba(0x271)](!_0x43a890,!_0x157ff3)&&_0x54e244&&!_0x5bfe60['loading']&&(_0x49e88b[_0xe9ba(0x1dd)](_0x49e88b['fvaDP'],_0x49e88b['fvaDP'])?_0x29a1df&&(_0x54f4c1[_0xe9ba(0x1b4)](0x0),_0x479654[_0xe9ba(0x1b4)](0x0),_0x3a9903['Animated'][_0xe9ba(0xe4)]([_0x279601['Animated'][_0xe9ba(0xe5)](_0x20728b,{'toValue':0x1,'duration':0x96,'useNativeDriver':!![]})])[_0xe9ba(0x1b6)](),_0x13320b['Animated']['spring'](_0x2dffb7,{'toValue':0x1,'friction':0x4,'tension':0x64,'useNativeDriver':!![]})[_0xe9ba(0x1b6)]()):(console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x272)]),_0x49e88b['orSDc'](_0x5ddeab,!![]),_0x49e88b[_0xe9ba(0x11f)](setTimeout,()=>{if(_0x2a345a[_0xe9ba(0x273)](_0xe9ba(0x260),_0x2a345a[_0xe9ba(0x274)])){if(!_0x46c852&&_0x2cbd6c&&_0x37aa97[_0xe9ba(0x275)])return _0x2ae972;var _0x428278,_0x5c983b,_0x1bf700={'__proto__':null,'default':_0x2a5567};if(null===_0x4ce0c5||_0x2a345a[_0xe9ba(0x276)](_0x2a345a[_0xe9ba(0x277)],typeof _0x5cc403)&&_0x2a345a[_0xe9ba(0x276)](_0x2a345a[_0xe9ba(0x278)],typeof _0x212e5a))return _0x1bf700;if(_0x428278=_0x475d86?_0x57fee7:_0x51856c){if(_0x428278[_0xe9ba(0xf)](_0x595dd1))return _0x428278[_0xe9ba(0x15)](_0x38529e);_0x428278[_0xe9ba(0x10)](_0x353e41,_0x1bf700);}for(const _0x1febf7 in _0x5eb94d)_0x2a345a[_0xe9ba(0x273)](_0x2a345a['hqwuB'],_0x1febf7)&&{}[_0xe9ba(0x12)][_0xe9ba(0x279)](_0x39facf,_0x1febf7)&&((_0x5c983b=(_0x428278=_0x1fdd5d[_0xe9ba(0x13)])&&_0x5f3dd7[_0xe9ba(0x14)](_0x5cd796,_0x1febf7))&&(_0x5c983b[_0xe9ba(0x15)]||_0x5c983b[_0xe9ba(0x10)])?_0x2a345a[_0xe9ba(0x27a)](_0x428278,_0x1bf700,_0x1febf7,_0x5c983b):_0x1bf700[_0x1febf7]=_0x536f6b[_0x1febf7]);return _0x1bf700;}else _0x377cfb[_0xe9ba(0xbc)]&&(_0x2a345a[_0xe9ba(0x273)](_0x2a345a[_0xe9ba(0x27b)],_0x2a345a[_0xe9ba(0x27b)])?_0x16b9f7[_0xe9ba(0x146)](_0x2a345a[_0xe9ba(0x27c)]):(console['log'](_0x2a345a['dGWkq']),_0x2a345a['XJqYF'](_0x4d7616,!![]),_0x2a345a['vhefA'](_0x59bc29,_0x2a345a[_0xe9ba(0x27d)]),_0x377cfb[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_webviewScripts['LINKEDIN_PROFILE_EXTRACTOR_SCRIPT'])));},0x3e8)));return;}if(!_0x654e88['includes'](_0x49e88b[_0xe9ba(0x27e)])){if(_0x49e88b[_0xe9ba(0x27f)](_0x49e88b[_0xe9ba(0x280)],_0xe9ba(0x281))){_0x2a345a[_0xe9ba(0x282)](_0x239646,_0x2a345a[_0xe9ba(0x283)]);if(_0x4dd361)_0x2a345a[_0xe9ba(0x284)](_0x3040a5);}else return;}if((0x0,_webviewScripts[_0xe9ba(0x285)])(_0xf0239e)){if(_0x49e88b['NCsLB'](_0xe9ba(0x286),_0x49e88b[_0xe9ba(0x287)])){console['log'](_0x49e88b[_0xe9ba(0x288)]),_0x49e88b['ezVmr'](_0x15581a,![]),_0x49e88b[_0xe9ba(0x223)](_0x22974d,![]);return;}else _0x49e88b['IHGKB'](_0x847c7e,![]),_0x49e88b[_0xe9ba(0x289)](_0x161916,0x0),_0x339a9b['current']=![],_0x49e88b[_0xe9ba(0x28a)](_0x391562,![]);}!_0x8c5337&&(console['log'](_0x49e88b[_0xe9ba(0x1af)]),_0x49e88b[_0xe9ba(0x28b)](_0x59bc29,_0x49e88b[_0xe9ba(0xde)]),_0x49e88b[_0xe9ba(0x28c)](_0x15581a,!![]),_0x49e88b[_0xe9ba(0x28d)](_0x22974d,!![]),_0x377cfb[_0xe9ba(0xbc)]&&(_0x49e88b[_0xe9ba(0x1dd)](_0x49e88b['sUgUc'],_0x49e88b[_0xe9ba(0x28e)])?_0x113c8d[_0xe9ba(0xbc)]&&(_0x1c1d57[_0xe9ba(0x17)](_0x2a345a[_0xe9ba(0x28f)]),_0x2a345a[_0xe9ba(0x290)](_0x47ab57,_0x2a345a[_0xe9ba(0x27d)]),_0x2c7b8e[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0xe9ba(0x18b))):(console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x1ad)]),_0x377cfb[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0xe9ba(0x1ae)))));},[_0x43a890,_0x157ff3,_0x8c5337,_0x5a583f,_0x3d9ba5,_0x1b3e54,_0xf31a4d,_0x5585c3]),_0x12e35c=(0x0,_react[_0xe9ba(0xeb)])((_0x2545a4,_0x169431=![])=>{const _0x42a45c={'eSGAz':function(_0x41d498){return _0x49e88b['wqJcg'](_0x41d498);},'EgJud':function(_0x574b50,_0x453b7d){return _0x49e88b[_0xe9ba(0x153)](_0x574b50,_0x453b7d);},'GQCUx':_0x49e88b[_0xe9ba(0x132)],'RyZKE':function(_0x552964,_0xb0087f){return _0x49e88b[_0xe9ba(0x291)](_0x552964,_0xb0087f);},'YolBA':_0x49e88b['jjFAk'],'pITao':function(_0x313d03,_0x3b95c3){return _0x49e88b[_0xe9ba(0x215)](_0x313d03,_0x3b95c3);},'OcOAL':_0x49e88b[_0xe9ba(0x292)],'vtcaP':function(_0x1c5bfd,_0x4380fe){return _0x49e88b[_0xe9ba(0x24d)](_0x1c5bfd,_0x4380fe);},'ynwtJ':_0x49e88b[_0xe9ba(0x113)],'WNMqX':function(_0x3f6b6b){return _0x49e88b[_0xe9ba(0x293)](_0x3f6b6b);}},_0x4ce7fa=_0x2545a4['url']||'',_0x203a45=_0x4ce7fa[_0xe9ba(0xc9)]();console[_0xe9ba(0x17)](_0xe9ba(0x294)+_0x4ce7fa+',\x20loading='+_0x2545a4[_0xe9ba(0x199)]+_0xe9ba(0x195)+_0x169431),console['log'](_0xe9ba(0x295)+_0x50f543+_0xe9ba(0x296)+_0x4027d2+',\x20started='+_0x359c0e);const _0x25b212=_0x203a45[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x297)])||_0x203a45[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x298)])||_0x203a45[_0xe9ba(0x13a)](_0x49e88b['dcHkq'])||_0x203a45[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x299)])||_0x203a45[_0xe9ba(0x13a)]('/api/auth/'),_0xf2ba92=(_0x203a45[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x29a)])||_0x203a45['includes'](_0xe9ba(0x29b)))&&!_0x25b212&&!_0x203a45['includes'](_0x49e88b[_0xe9ba(0x29c)])&&!_0x2545a4[_0xe9ba(0x199)];if(_0x25b212){if(_0x49e88b[_0xe9ba(0x29d)](_0x49e88b['iscgm'],_0xe9ba(0x29e))){console[_0xe9ba(0x17)]('🔐\x20[CHATGPT]\x20On\x20auth/login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...'),_0x49e88b[_0xe9ba(0x29f)](_0x3f72d1,![]);return;}else{if(_0x152657)_0x18b961();else{if(_0xf749db)_0x42a45c[_0xe9ba(0x2a0)](_0x2187dc);}}}if(_0x49e88b[_0xe9ba(0x271)](_0xf2ba92,!_0x50f543)&&!_0x359c0e&&!_0x236ca5['current']&&_0x169431){if(_0xe9ba(0x2a1)===_0x49e88b[_0xe9ba(0x2a2)])console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x2a3)]),_0x49e88b[_0xe9ba(0x2a4)](_0x3f72d1,!![]),setTimeout(()=>{if(_0x42a45c[_0xe9ba(0x2a5)](_0x42a45c[_0xe9ba(0x2a6)],'uETOC')){if(_0x42a45c[_0xe9ba(0x2a7)](_0x4a7d5d['status'],'denied'))_0x3e7a53[_0xe9ba(0x17)]('⛔\x20['+_0x546986[_0xe9ba(0xf4)]()+_0xe9ba(0x259)),_0x47c1b1[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x42a45c[_0xe9ba(0x2a8)],_0xe9ba(0x25a)+_0x1f2ea3+_0xe9ba(0x2a9),[{'text':'OK','onPress':_0x2c5599}]);else _0x42a45c[_0xe9ba(0x2aa)](_0x27fae1[_0xe9ba(0x128)],_0x42a45c['YolBA'])&&_0x250f6d[_0xe9ba(0x17)](_0xe9ba(0x1ff)+_0x3ae66c['toUpperCase']()+_0xe9ba(0x200));return;}else _0x42a45c[_0xe9ba(0x2a0)](_0x1f7b6d);},0x7d0);else{_0x42a45c[_0xe9ba(0x2ab)](_0x1498e4,_0x42a45c['ynwtJ']);if(_0x263e44)_0x42a45c[_0xe9ba(0x2ac)](_0x3ce801);}}},[_0x50f543,_0x4027d2,_0x359c0e,_0x1f7b6d]),_0x10fe36=(0x0,_react[_0xe9ba(0xeb)])((_0x386040,_0x4b4c42=![])=>{const _0x3275da=_0x386040[_0xe9ba(0x139)]||'',_0x3efdb4=_0x3275da[_0xe9ba(0xc9)]();console['log'](_0xe9ba(0x2ad)+_0x3275da+_0xe9ba(0x194)+_0x386040[_0xe9ba(0x199)]+',\x20isLoadEnd='+_0x4b4c42);const _0x5d0d40=_0x3efdb4['includes'](_0x49e88b['dcHkq'])||_0x3efdb4[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x1e1)])||_0x3efdb4[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x10e)]),_0x1e7b15=_0x3efdb4['includes'](_0x49e88b[_0xe9ba(0x10f)])&&!_0x5d0d40&&!_0x386040[_0xe9ba(0x199)];if(_0x5d0d40){console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x110)]),_0x49e88b['UupDX'](_0x7792aa,![]);return;}_0x49e88b[_0xe9ba(0x159)](_0x1e7b15,!_0x1f60d4)&&!_0x58b8a0&&!_0x4fa265['current']&&_0x4b4c42&&(console['log'](_0xe9ba(0x33)),_0x7792aa(!![]),_0x49e88b['QZMTu'](setTimeout,()=>{_0x49e88b[_0xe9ba(0xea)](_0x1f3d66);},0x7d0));},[_0x1f60d4,_0x58b8a0,_0x1f3d66]),_0x468b98=(0x0,_react['useCallback'])((_0x12e734,_0x7fe8eb=![])=>{const _0x15f2a7=_0x12e734[_0xe9ba(0x139)]||'',_0x186241=_0x15f2a7[_0xe9ba(0xc9)]();console[_0xe9ba(0x17)](_0xe9ba(0x2ae)+platform['toUpperCase']()+']\x20Navigation:\x20'+_0x15f2a7+',\x20loading='+_0x12e734['loading']+_0xe9ba(0x195)+_0x7fe8eb);let _0x552e9e=![],_0x28a16b=![];if(_0x41581d)_0xe9ba(0x91)!==_0x49e88b[_0xe9ba(0x2af)]?_0x2cef8b[_0xe9ba(0xbc)]&&(_0x21d5bb[_0xe9ba(0x17)](_0x49e88b['KSjNc']),_0x49e88b[_0xe9ba(0x28d)](_0x13637b,!![]),_0x49e88b[_0xe9ba(0x266)](_0x11c412,'Connecting'),_0x4347f8[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0x25aaa4[_0xe9ba(0x2b0)])):(_0x552e9e=_0x186241[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x2b1)])||_0x186241[_0xe9ba(0x13a)](_0x49e88b['sXIgf'])||_0x186241[_0xe9ba(0x13a)](_0x49e88b['RHdQT']),_0x28a16b=_0x186241[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x2b2)])&&!_0x552e9e&&!_0x12e734[_0xe9ba(0x199)]);else{if(_0x2b45a2)_0x552e9e=_0x186241['includes'](_0xe9ba(0x3a))||_0x186241[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x2b3)])||_0x186241[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x121)]),_0x28a16b=_0x186241[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x2b4)])&&!_0x552e9e&&!_0x12e734[_0xe9ba(0x199)];else{if(_0x9f023b)_0x552e9e=_0x186241[_0xe9ba(0x13a)](_0x49e88b['dcHkq'])||_0x186241[_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x10e)])||_0x186241[_0xe9ba(0x13a)](_0xe9ba(0x2b5)),_0x28a16b=_0x186241['includes'](_0x49e88b[_0xe9ba(0x2b6)])&&!_0x552e9e&&!_0x12e734['loading'];else _0x52eee3&&(_0x552e9e=_0x186241['includes']('/auth')||!_0x186241['includes']('#'),_0x28a16b=_0x186241['includes']('web.telegram.org')&&_0x186241[_0xe9ba(0x13a)]('#')&&!_0x552e9e&&!_0x12e734[_0xe9ba(0x199)]);}}if(_0x552e9e){console[_0xe9ba(0x17)]('🔐\x20['+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x23c)),_0x49e88b[_0xe9ba(0x2b7)](_0x14db44,![]);return;}_0x49e88b[_0xe9ba(0x2b8)](_0x28a16b,!_0xace4ed)&&!_0x162a8c&&!_0x255118['current']&&_0x7fe8eb&&(console[_0xe9ba(0x17)](_0xe9ba(0x1ff)+platform['toUpperCase']()+']\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation'),_0x49e88b[_0xe9ba(0x1b0)](_0x14db44,!![]),_0x49e88b[_0xe9ba(0x11f)](setTimeout,()=>{if(_0x49e88b[_0xe9ba(0x2b9)](_0x49e88b[_0xe9ba(0x2ba)],_0x49e88b[_0xe9ba(0x2bb)])){const _0x128b6a=_0x4d8ef0[_0xe9ba(0xba)]['loop'](_0x37c5d0['Animated'][_0xe9ba(0xe4)]([_0x4e8afb['Animated'][_0xe9ba(0xe5)](_0x2cc897,{'toValue':0x1,'duration':0x4b0,'useNativeDriver':!![]}),_0x3dacec[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x553ef8,{'toValue':0x0,'duration':0x4b0,'useNativeDriver':!![]})]));return _0x128b6a[_0xe9ba(0x1b6)](),()=>{_0x128b6a[_0xe9ba(0x1f4)](),_0x556df1[_0xe9ba(0x1b4)](0x0);};}else _0x387e46();},0x7d0));},[platform,_0x41581d,_0x2b45a2,_0x9f023b,_0x52eee3,_0xace4ed,_0x162a8c,_0x387e46]),_0x5be084=_0x343dc8=>{const _0x5232c4={'sRZIY':function(_0x106969,_0x4b5e20,_0x5b6125){return _0x49e88b[_0xe9ba(0x2bc)](_0x106969,_0x4b5e20,_0x5b6125);},'vXktn':function(_0x19e38b,_0x2a3fef){return _0x49e88b[_0xe9ba(0x108)](_0x19e38b,_0x2a3fef);},'ktygf':function(_0x14a2e8,_0x5df4a9,_0x155829){return _0x49e88b[_0xe9ba(0x2bc)](_0x14a2e8,_0x5df4a9,_0x155829);},'dbSeW':_0x49e88b[_0xe9ba(0x263)],'SdWuN':_0x49e88b['bscWB'],'Yfqny':function(_0x7f3e3,_0x1ad2ab){return _0x49e88b['IHGKB'](_0x7f3e3,_0x1ad2ab);},'PuLDw':function(_0x5f3950,_0x5f0fd3){return _0x49e88b[_0xe9ba(0x153)](_0x5f3950,_0x5f0fd3);},'UEyrY':_0x49e88b['pfBHx'],'yLQXX':function(_0x44d61a,_0x444c50){return _0x44d61a(_0x444c50);},'JeZUl':function(_0x586803){return _0x586803();}};console[_0xe9ba(0x17)](_0xe9ba(0x2bd)+platform+':',_0x343dc8[_0xe9ba(0x139)]);if(_0x5943a6){if(_0x49e88b[_0xe9ba(0x2be)]===_0x49e88b[_0xe9ba(0x2be)]){_0x49e88b[_0xe9ba(0x2bf)](_0x1518bb,_0x343dc8);try{if(_0x49e88b[_0xe9ba(0x2c0)](_0x49e88b[_0xe9ba(0x2c1)],_0x49e88b[_0xe9ba(0x2c1)]))_0x5232c4[_0xe9ba(0x2c2)](_0x2fa6db,()=>{_0x5232c4['sRZIY'](_0x7062b3,_0x5232c4[_0xe9ba(0x2c3)](_0x1724a0,0x1),_0x50d17d);},0xbb8);else{const _0x4d3e02=new URL(_0x343dc8[_0xe9ba(0x139)]),_0x5afd4e=_0x4d3e02[_0xe9ba(0x243)][_0xe9ba(0xf)](_0x49e88b[_0xe9ba(0x124)]),_0x579c24=_0x4d3e02[_0xe9ba(0x243)]['has'](_0x49e88b['WbPIT']);if(_0x5afd4e||_0x579c24){console[_0xe9ba(0x17)](_0xe9ba(0x188)),_0x49e88b[_0xe9ba(0x1b0)](_0x15581a,!![]),setTimeout(()=>{_0x377cfb[_0xe9ba(0xbc)]&&(console[_0xe9ba(0x17)](_0x5232c4['dbSeW']),_0x59bc29(_0x5232c4['SdWuN']),_0x377cfb[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0xe9ba(0x18b)));},0x1f4);return;}}}catch(_0x80ea5f){}return;}else _0xde45a1[_0xe9ba(0x17)](_0xe9ba(0x1fd)+_0x4e24e3['toUpperCase']()+_0xe9ba(0x259)),_0x45371d[_0xe9ba(0x130)]['alert'](_0xe9ba(0x44),'You\x20denied\x20access\x20to\x20your\x20'+_0x4505f4+_0xe9ba(0x2a9),[{'text':'OK','onPress':_0x41a5d6}]);}if(_0x365366){_0x49e88b[_0xe9ba(0x2c4)](_0x12e35c,_0x343dc8);return;}if(_0x57f8a5){if(_0x49e88b['cVYkA'](_0xe9ba(0x2c5),_0x49e88b[_0xe9ba(0x2c6)]))_0x5d9e8d[_0xe9ba(0xbc)][_0xe9ba(0xf9)](_0x2946d4[_0xe9ba(0xfa)]);else{_0x49e88b[_0xe9ba(0x2c7)](_0x10fe36,_0x343dc8);return;}}if(_0x36aef0){if(_0xe9ba(0x2c8)!==_0xe9ba(0x2c9)){_0x49e88b['orSDc'](_0x468b98,_0x343dc8);return;}else _0x5cf8df(_0x5232c4[_0xe9ba(0x2c3)](_0x2100b1,0x1),_0x340d91);}if(_0x215950){(0x0,_webviewScripts[_0xe9ba(0x2ca)])(_0x343dc8['url'],platform)&&(_0x49e88b[_0xe9ba(0x2cb)]('fGtEu',_0x49e88b[_0xe9ba(0x2cc)])?console[_0xe9ba(0x17)](_0xe9ba(0x1ff)+platform[_0xe9ba(0xf4)]()+_0xe9ba(0x2cd)):_0x3c2885[_0xe9ba(0x17)]('✅\x20['+_0x46a955[_0xe9ba(0xf4)]()+']\x20User\x20allowed\x20consent'));return;}const _0x395e0a=_0x343dc8[_0xe9ba(0x139)][_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x2ce)])||_0x343dc8['url'][_0xe9ba(0x13a)](_0x49e88b['Tscrw'])||_0x343dc8[_0xe9ba(0x139)]['includes'](_0xe9ba(0x2cf))||_0x343dc8[_0xe9ba(0x139)][_0xe9ba(0x2d0)](_0xe9ba(0x2d1))||_0x343dc8['url']['startsWith'](_0x49e88b[_0xe9ba(0x2d2)]),_0x9777f2=_0x343dc8[_0xe9ba(0x139)][_0xe9ba(0x13a)](_0x49e88b[_0xe9ba(0x2d3)])&&_0x343dc8[_0xe9ba(0x139)]['includes'](_0x49e88b[_0xe9ba(0x2d4)]);if(_0x49e88b['cexpP'](_0x395e0a,_0x9777f2)){console[_0xe9ba(0x17)]('✅\x20'+platform+_0xe9ba(0x2d5)+_0x343dc8[_0xe9ba(0x139)]),_0x49e88b[_0xe9ba(0x28c)](_0x310e2b,!![]),_0x49e88b[_0xe9ba(0x117)](setTimeout,()=>{const _0x4c143f={'XzjHl':function(_0x55cdfb,_0x10cb35){return _0x5232c4[_0xe9ba(0x2d6)](_0x55cdfb,_0x10cb35);}};if(_0x5232c4['PuLDw'](_0x5232c4['UEyrY'],_0x5232c4['UEyrY'])){_0x5232c4['yLQXX'](_0xf31a4d,_0xe9ba(0x26));if(_0x5585c3)_0x5232c4['JeZUl'](_0x5585c3);}else{const _0x3f682=_0x56c39e['progress']||0x0;_0x2f9e58[_0xe9ba(0x17)]('📊\x20[LINKEDIN]\x20Profile\x20extraction\x20progress:\x20'+_0x3f682+'%\x20-\x20'+_0x1b5b4a[_0xe9ba(0x148)]),_0x4c143f[_0xe9ba(0x2d7)](_0x23e5b7,_0x3f682),_0x1fc320(_0x65a832[_0xe9ba(0x148)]||_0xe9ba(0x14b)+_0x3f682+'%'),_0x27e5bc[_0xe9ba(0xba)][_0xe9ba(0xe5)](_0x23fb64,{'toValue':_0x3f682,'duration':0x12c,'useNativeDriver':![]})[_0xe9ba(0x1b6)]();return;}},0x7d0);return;}},_0x1a767c=_0x281b00=>{const _0x2f75fc={'cURym':_0x49e88b[_0xe9ba(0x2d8)],'qxmxU':_0x49e88b[_0xe9ba(0x2d9)],'FkWoW':_0x49e88b[_0xe9ba(0x2da)],'YhufK':_0x49e88b['gBEqD'],'pvmHc':_0x49e88b['bcxAu'],'ffoXa':'#EA4335','oUuCQ':_0x49e88b[_0xe9ba(0x2db)],'FHgFB':_0x49e88b[_0xe9ba(0x2dc)],'SXuLp':_0x49e88b[_0xe9ba(0x2dd)],'Hvjlo':_0x49e88b['lDVDl'],'mlUyl':function(_0xe3ca9d,_0x4d9b10){return _0x49e88b['HvHJL'](_0xe3ca9d,_0x4d9b10);}};if(_0xe9ba(0xa1)===_0x49e88b[_0xe9ba(0x2de)]){const _0x49aeff=_0x281b00[_0xe9ba(0x126)][_0xe9ba(0x139)];console[_0xe9ba(0x17)](_0xe9ba(0x2df)+_0x49aeff),_0x258dca(![]);if(_0x5943a6){if(_0x49e88b[_0xe9ba(0x2e0)](_0x49e88b[_0xe9ba(0x2e1)],_0x49e88b[_0xe9ba(0x2e1)]))_0x1518bb({'url':_0x49aeff,'loading':![]},!![]);else{const _0x1f60e9={'linkedin':_0xe9ba(0xac),'chatgpt':_0x2f75fc['cURym'],'openai':_0x2f75fc[_0xe9ba(0x2e2)],'claude':_0x2f75fc[_0xe9ba(0x2e3)],'anthropic':_0xe9ba(0x9c),'reddit':_0x2f75fc['FkWoW'],'youtube':_0x2f75fc['YhufK'],'pinterest':_0x2f75fc[_0xe9ba(0x2e4)],'gmail':_0x2f75fc[_0xe9ba(0x2e5)],'gemini':_0x2f75fc[_0xe9ba(0x2e6)],'grok':_0xe9ba(0xad),'hinge':_0xe9ba(0x2e7),'instagram':_0x2f75fc[_0xe9ba(0x2e8)],'sephora':'#000000','telegram':_0x2f75fc[_0xe9ba(0x2e9)]};return _0x1f60e9[_0x8ee7c9['toLowerCase']()]||_0x2f75fc['Hvjlo'];}}else{if(_0x365366)_0x49e88b[_0xe9ba(0x2ea)](_0x12e35c,{'url':_0x49aeff,'loading':![]},!![]);else{if(_0x57f8a5){if(_0x49e88b[_0xe9ba(0x153)](_0x49e88b['TwKOg'],_0x49e88b[_0xe9ba(0x2eb)]))_0x49e88b[_0xe9ba(0x2ec)](_0x10fe36,{'url':_0x49aeff,'loading':![]},!![]);else{_0x2f75fc[_0xe9ba(0x2ed)](_0x2ba2ef,_0xefaef9);return;}}else _0x36aef0&&_0x468b98({'url':_0x49aeff,'loading':![]},!![]);}}}else return(0x0,_0x2a1b3f[_0xe9ba(0x2ee)])(_0x4fca8d);},_0x31cb3b=_0x347ea0=>{const _0x53efb9={'QDkFL':function(_0x75c94a,_0x2c0a3c){return _0x49e88b['OvXNG'](_0x75c94a,_0x2c0a3c);},'kjCpa':function(_0x40acba,_0x2e6668){return _0x40acba(_0x2e6668);},'uTGYZ':_0x49e88b[_0xe9ba(0x2ef)],'jqjQH':function(_0x219bd3,_0x3a6c05){return _0x49e88b['VweGi'](_0x219bd3,_0x3a6c05);},'dyQFb':function(_0x41601b,_0x4ad1af){return _0x49e88b[_0xe9ba(0x1c2)](_0x41601b,_0x4ad1af);},'bFxwC':_0xe9ba(0x38),'bZlAf':_0x49e88b[_0xe9ba(0x11c)],'OKUxM':_0x49e88b[_0xe9ba(0x166)]};if(_0x49e88b[_0xe9ba(0xfc)](_0x49e88b[_0xe9ba(0x2f0)],_0x49e88b[_0xe9ba(0x2f1)])){const _0x492187=_0x347ea0['url']||'',_0x5b3f57=_0x492187['toLowerCase']();if(_0x5943a6){const _0xd9f792=[_0x49e88b[_0xe9ba(0x2f2)],_0x49e88b[_0xe9ba(0x2f3)],_0x49e88b['Tehoo'],_0x49e88b['OAdPy']],_0x50c61d=_0xd9f792['some'](_0x3e4dc7=>_0x5b3f57[_0xe9ba(0x2d0)](_0x3e4dc7));if(_0x50c61d)return console['log'](_0x49e88b['DhOex'],_0x492187),![];if(_0x5b3f57[_0xe9ba(0x2d0)](_0x49e88b[_0xe9ba(0x2f4)])&&_0x5b3f57['includes'](_0x49e88b[_0xe9ba(0x2f5)])){if(_0x49e88b['fmvaW']!==_0x49e88b[_0xe9ba(0x2f6)]){_0x3496a4['error'](_0xe9ba(0x1ef)+_0x5574fb[_0xe9ba(0xf4)]()+_0xe9ba(0x1f0),_0x350c64[_0xe9ba(0x148)]);if(_0x416a1f)_0x53efb9['QDkFL'](_0x490177,![]),_0x53efb9[_0xe9ba(0x2f7)](_0x33e525,0x0),_0x4d3c8b[_0xe9ba(0xbc)]=![],_0x53efb9[_0xe9ba(0x2f8)](_0x56e8b7,![]);else{if(_0x1fe059){const _0x2e9a84=_0x53efb9[_0xe9ba(0x2f9)]['split']('|');let _0xbc18ef=0x0;while(!![]){switch(_0x2e9a84[_0xbc18ef++]){case'0':_0x53efb9['QDkFL'](_0x4fe82e,![]);continue;case'1':_0x53efb9[_0xe9ba(0x2fa)](_0x5180de,![]);continue;case'2':_0x53efb9[_0xe9ba(0x2fb)](_0x1068e8,0x0);continue;case'3':_0x4378a7['current']=![];continue;case'4':_0x4fb0f6(![]);continue;}break;}}}_0x2d4540[_0xe9ba(0x130)][_0xe9ba(0x131)](_0x53efb9[_0xe9ba(0x2fc)],_0xe9ba(0x1f8)+_0x56fd76+_0xe9ba(0x1f9)+_0x1afae8[_0xe9ba(0x148)],[{'text':_0x53efb9[_0xe9ba(0x2fd)],'onPress':()=>{if(_0x17a2f7)_0x55c64c();else{if(_0x5d619a)_0x2e2f82();}}},{'text':_0xe9ba(0x39),'onPress':_0x1e23bf,'style':_0x53efb9[_0xe9ba(0x2fe)]}]);return;}else return console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x2ff)],_0x492187),![];}if(_0x5b3f57['startsWith'](_0x49e88b[_0xe9ba(0x300)])||_0x5b3f57[_0xe9ba(0x2d0)](_0x49e88b[_0xe9ba(0x301)]))return!![];if(_0x5b3f57[_0xe9ba(0x2d0)](_0x49e88b[_0xe9ba(0x302)]))return!![];return console[_0xe9ba(0x17)]('🚫\x20[LINKEDIN]\x20Blocked\x20non-HTTP\x20scheme:',_0x492187),![];}return!![];}else{_0x1b4a5e[_0xe9ba(0x17)]('🔐\x20[CLAUDE]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...'),_0x49e88b[_0xe9ba(0x2c7)](_0x217fbf,![]);return;}},_0xa31689=()=>{if(_0x49e88b[_0xe9ba(0xdf)](_0x215950,_0x5943a6)||_0x36aef0)return(0x0,_webviewScripts[_0xe9ba(0x2ee)])(platform);return undefined;},_0x5f2896=_0x365366&&_0x4027d2,_0x160e38=_0x44f088,_0xa26ee7=_0x520c84,_0x91719f=_0x49e88b[_0xe9ba(0xdf)](_0x596b14,_0x22336b)||_0x4a777d||_0x498fa7||_0x18274b,_0x4ac9d2=_0x422495=>{const _0x5be5ad={'linkedin':_0x49e88b['PxnDs'],'chatgpt':_0x49e88b[_0xe9ba(0x2d8)],'openai':_0x49e88b[_0xe9ba(0x2d8)],'claude':_0x49e88b[_0xe9ba(0x2d9)],'anthropic':_0xe9ba(0x9c),'reddit':_0x49e88b['bNCDc'],'youtube':_0x49e88b[_0xe9ba(0x303)],'pinterest':_0xe9ba(0x304),'gmail':_0xe9ba(0x305),'gemini':_0x49e88b[_0xe9ba(0x2db)],'grok':_0xe9ba(0xad),'hinge':_0x49e88b[_0xe9ba(0x306)],'instagram':_0xe9ba(0xa0),'sephora':_0x49e88b[_0xe9ba(0x307)],'telegram':_0x49e88b['LnaNu']};return _0x5be5ad[_0x422495[_0xe9ba(0xc9)]()]||_0xe9ba(0x308);},_0x5d6caa=_0x49e88b[_0xe9ba(0x309)](_0x4ac9d2,platform);return _react['default'][_0xe9ba(0xd7)](()=>{_0x91719f&&(_0x11bc24[_0xe9ba(0x1b4)](0x0),_0x577e2e['setValue'](0x0),_reactNative['Animated'][_0xe9ba(0xe4)]([_reactNative[_0xe9ba(0xba)]['timing'](_0x577e2e,{'toValue':0x1,'duration':0x96,'useNativeDriver':!![]})])[_0xe9ba(0x1b6)](),_reactNative[_0xe9ba(0xba)][_0xe9ba(0x1b5)](_0x11bc24,{'toValue':0x1,'friction':0x4,'tension':0x64,'useNativeDriver':!![]})[_0xe9ba(0x1b6)]());},[_0x91719f,_0x11bc24,_0x577e2e]),_react[_0xe9ba(0xd6)]['createElement'](_reactNative['View'],{'style':styles[_0xe9ba(0x30a)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative['SafeAreaView'],{'style':styles[_0xe9ba(0x30c)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles[_0xe9ba(0x30e)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles['title']},_0x49e88b[_0xe9ba(0x310)],platform['charAt'](0x0)[_0xe9ba(0xf4)]()+platform['slice'](0x1)),_0x47dc8c&&_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x311)]},_0x49e88b['voZxn']),_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative['TouchableOpacity'],{'onPress':_0x1879df,'style':styles[_0xe9ba(0x312)]},_react[_0xe9ba(0xd6)]['createElement'](_reactNative['Text'],{'style':styles[_0xe9ba(0x313)]},'✕'))),_0x8d59d2&&_react['default'][_0xe9ba(0x30b)](_reactNative['View'],{'style':styles[_0xe9ba(0x314)]},_react[_0xe9ba(0xd6)]['createElement'](_reactNative['View'],{'style':styles[_0xe9ba(0x315)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0xba)][_0xe9ba(0x30d)],{'style':[styles[_0xe9ba(0x316)],{'transform':[{'translateX':_0x51e819[_0xe9ba(0x317)]({'inputRange':[0x0,0x1],'outputRange':[0x0,width-0x78]})}]}]})),_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x318)]},_0xe9ba(0x319))),_0x5f2896&&_react['default'][_0xe9ba(0x30b)](_reactNative['View'],{'style':styles[_0xe9ba(0x31a)]},_react['default'][_0xe9ba(0x30b)](_reactNative['View'],{'style':styles[_0xe9ba(0x31b)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0xba)][_0xe9ba(0x30d)],{'style':[styles['progressBar'],{'width':_0xa26ee7[_0xe9ba(0x317)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x49e88b[_0xe9ba(0x31c)]]}),'backgroundColor':_0x5d6caa}]})),_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x31d)]},_0x49e88b[_0xe9ba(0x109)](_0x160e38,0x64)?_0xe9ba(0x31e)+Math[_0xe9ba(0x31f)](_0x160e38)+'%':_0x49e88b[_0xe9ba(0x320)])),_0x49e88b[_0xe9ba(0x2b8)](_0x57f8a5,_0x2e83b6)&&_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles['claudeExtractionOverlay']},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles['extractionContent']},_react['default']['createElement'](_reactNative['ActivityIndicator'],{'size':_0x49e88b[_0xe9ba(0x321)],'color':_0x49e88b[_0xe9ba(0x2d9)]}),_react[_0xe9ba(0xd6)]['createElement'](_reactNative['Text'],{'style':styles[_0xe9ba(0x322)]},_0x49e88b[_0xe9ba(0x323)]),_react['default'][_0xe9ba(0x30b)](_reactNative['Text'],{'style':styles['claudeExtractionSubtitle']},_0x34efef),_react['default']['createElement'](_reactNative['View'],{'style':styles[_0xe9ba(0x324)]},_react[_0xe9ba(0xd6)]['createElement'](_reactNative[_0xe9ba(0xba)][_0xe9ba(0x30d)],{'style':[styles[_0xe9ba(0x325)],{'width':_0x383584[_0xe9ba(0x317)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x49e88b[_0xe9ba(0x31c)]]})}]})),_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x326)]},Math[_0xe9ba(0x31f)](_0xf58d8e),'%'))),_0x49e88b[_0xe9ba(0x2b8)](_0x36aef0,_0x4d325d)&&_react[_0xe9ba(0xd6)]['createElement'](_reactNative['View'],{'style':styles[_0xe9ba(0x327)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles[_0xe9ba(0x328)]},_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x329)],{'size':_0x49e88b[_0xe9ba(0x321)],'color':_0x5d6caa}),_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x32a)]},_0x49e88b[_0xe9ba(0x323)]),_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative['Text'],{'style':styles[_0xe9ba(0x32b)]},_0x4451f4),_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles[_0xe9ba(0x32c)]},_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0xba)][_0xe9ba(0x30d)],{'style':[styles[_0xe9ba(0x32d)],{'backgroundColor':_0x5d6caa,'width':_0x40a7b8[_0xe9ba(0x317)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x49e88b[_0xe9ba(0x31c)]]})}]})),_react[_0xe9ba(0xd6)]['createElement'](_reactNative[_0xe9ba(0x30f)],{'style':[styles['newPlatformExtractionProgressText'],{'color':_0x5d6caa}]},Math[_0xe9ba(0x31f)](_0x4134f0),'%'))),_0x91719f&&_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles[_0xe9ba(0x32e)]},_react['default']['createElement'](_reactNative[_0xe9ba(0xba)][_0xe9ba(0x30d)],{'style':[styles['successCheckmark'],{'backgroundColor':_0x5d6caa,'transform':[{'scale':_0x11bc24}],'opacity':_0x577e2e}]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x32f)]},'✓')),_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0xba)][_0xe9ba(0x30f)],{'style':[styles[_0xe9ba(0x330)],{'opacity':_0x577e2e}]},_0x49e88b[_0xe9ba(0x143)])),_react['default'][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles['webViewContainer']},_0x4868a3&&!_0x5f2896&&!_0x91719f&&_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30d)],{'style':styles[_0xe9ba(0x331)]},_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x329)],{'size':_0x49e88b[_0xe9ba(0x321)],'color':_0x5d6caa}),_react[_0xe9ba(0xd6)][_0xe9ba(0x30b)](_reactNative[_0xe9ba(0x30f)],{'style':styles[_0xe9ba(0x332)]},'Loading\x20',platform,_0x49e88b['qwyBT']),_react[_0xe9ba(0xd6)]['createElement'](_reactNative[_0xe9ba(0x30f)],{'style':styles['loadingHint']},_0xe9ba(0x333),platform,_0x49e88b['jPYLk'])),_react['default']['createElement'](_reactNativeWebview['WebView'],{'ref':_0x377cfb,'source':{'uri':_0x51c81e},'onShouldStartLoadWithRequest':_0x31cb3b,'onNavigationStateChange':_0x5be084,'onLoadStart':()=>_0x258dca(!![]),'onLoadEnd':_0x1a767c,'onMessage':_0xe197bd,'injectedJavaScriptBeforeContentLoaded':_0xa31689(),'style':styles[_0xe9ba(0x334)],'javaScriptEnabled':!![],'domStorageEnabled':!![],'cacheEnabled':!_0x5943a6,'incognito':_0x5943a6,'thirdPartyCookiesEnabled':!_0x5943a6,'sharedCookiesEnabled':!_0x5943a6,'userAgent':(0x0,_webviewScripts[_0xe9ba(0x335)])(platform),'originWhitelist':[_0x49e88b[_0xe9ba(0x336)],_0x49e88b[_0xe9ba(0x337)]],'allowsBackForwardNavigationGestures':!![],'setSupportMultipleWindows':![],'onError':_0x5ca1ef=>{const {nativeEvent:_0x40850c}=_0x5ca1ef;console[_0xe9ba(0x51)]('WebView\x20error\x20for\x20'+platform+':',_0x40850c);},'onHttpError':_0x1d2ec3=>{if(_0x49e88b[_0xe9ba(0x338)](_0x49e88b[_0xe9ba(0x339)],_0x49e88b['rAgIa'])){const {nativeEvent:_0x1335d1}=_0x1d2ec3;console[_0xe9ba(0x51)](_0xe9ba(0x137)+platform+':\x20'+_0x1335d1['statusCode'],_0x1335d1['url']),_0x1335d1[_0xe9ba(0x139)]&&_0x1335d1[_0xe9ba(0x139)][_0xe9ba(0x13a)](_0xe9ba(0x25))&&(_0x49e88b['UjtPy'](_0x49e88b[_0xe9ba(0x33a)],_0x49e88b['QEzdS'])?(console[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0x33b)]),_0x49e88b[_0xe9ba(0x33c)](_0xf31a4d,_0x49e88b['eWkgF']),_0x5585c3&&setTimeout(()=>_0x5585c3(),0x3e8)):(_0x25228f(''),_0xa3a946[_0xe9ba(0x17)](_0x49e88b[_0xe9ba(0xda)])));}else{if(_0x12497d)_0x37d3ae();}}}))));};exports[_0xe9ba(0x33d)]=OAuthWebView;function _0xe9ba(_0x36883c,_0xe9ba9e){_0x36883c=_0x36883c-0x0;const _0x249713=_0x3688();let _0x2f43a2=_0x249713[_0x36883c];return _0x2f43a2;}const styles=_reactNative[_0xe9ba(0x33e)][_0xe9ba(0x33f)]({'modalContainer':{'position':'absolute','top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'width':width,'height':height,'backgroundColor':_0xe9ba(0x340),'zIndex':0x270f,'borderTopLeftRadius':0x14,'borderTopRightRadius':0x14,'overflow':_0xe9ba(0x341)},'container':{'flex':0x1,'backgroundColor':_0xe9ba(0x340),'width':width,'height':height,'position':'absolute','top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'zIndex':0x3e7,'borderTopLeftRadius':0x14,'borderTopRightRadius':0x14,'overflow':_0xe9ba(0x341)},'header':{'flexDirection':_0xe9ba(0x342),'alignItems':_0xe9ba(0x343),'justifyContent':_0xe9ba(0x344),'paddingHorizontal':0x10,'paddingVertical':0x8,'borderBottomWidth':0x1,'borderBottomColor':_0xe9ba(0x345),'backgroundColor':_0xe9ba(0x340),'zIndex':0x3e8},'title':{'fontSize':0x12,'fontWeight':'600','color':_0xe9ba(0x346),'flex':0x1,'textAlign':_0xe9ba(0x343)},'closeButton':{'padding':0x8},'closeButtonText':{'fontSize':0x14,'color':_0xe9ba(0x347)},'webViewContainer':{'flex':0x1,'width':width,'height':height-0x3c},'webView':{'flex':0x1,'width':_0xe9ba(0x348),'height':_0xe9ba(0x348)},'loadingContainer':{..._reactNative[_0xe9ba(0x33e)][_0xe9ba(0x349)],'alignItems':_0xe9ba(0x343),'justifyContent':_0xe9ba(0x343),'backgroundColor':_0xe9ba(0x34a),'zIndex':0x1},'loadingText':{'marginTop':0xc,'fontSize':0x10,'color':_0xe9ba(0x347)},'loadingHint':{'marginTop':0x8,'fontSize':0xe,'color':_0xe9ba(0x34b),'textAlign':'center','paddingHorizontal':0x28},'timeoutText':{'fontSize':0xc,'color':_0xe9ba(0x34c),'textAlign':'center','marginTop':0x4},'linkedinProgressContainer':{'paddingHorizontal':0x10,'paddingVertical':0xc,'backgroundColor':_0xe9ba(0x34d),'borderBottomWidth':0x1,'borderBottomColor':_0xe9ba(0x345),'alignItems':_0xe9ba(0x343)},'linkedinProgressTrack':{'width':_0xe9ba(0x348),'height':0x4,'backgroundColor':_0xe9ba(0x34e),'borderRadius':0x2,'overflow':_0xe9ba(0x341)},'linkedinProgressIndicator':{'width':0x50,'height':0x4,'backgroundColor':'#0077B5','borderRadius':0x2},'linkedinProgressText':{'color':_0xe9ba(0xac),'fontSize':0xd,'fontWeight':_0xe9ba(0x34f),'marginTop':0x8,'fontFamily':_0xe9ba(0x350)},'exportProgressContainer':{'paddingHorizontal':0x10,'paddingVertical':0x6,'backgroundColor':_0xe9ba(0x351),'borderBottomWidth':0x1,'borderBottomColor':_0xe9ba(0x345)},'progressBarContainer':{'height':0x6,'backgroundColor':_0xe9ba(0x352),'borderRadius':0x3,'overflow':_0xe9ba(0x341)},'progressBar':{'height':_0xe9ba(0x348),'borderRadius':0x3},'progressText':{'fontSize':0xc,'color':'#6B7280','textAlign':_0xe9ba(0x343),'marginTop':0x6},'successOverlay':{'position':_0xe9ba(0x353),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':'#FFFFFF','justifyContent':_0xe9ba(0x343),'alignItems':_0xe9ba(0x343),'zIndex':0x7d0},'successCheckmark':{'width':0x50,'height':0x50,'borderRadius':0x28,'justifyContent':_0xe9ba(0x343),'alignItems':_0xe9ba(0x343),'shadowColor':_0xe9ba(0x354),'shadowOffset':{'width':0x0,'height':0x4},'shadowOpacity':0.2,'shadowRadius':0x14,'elevation':0xa},'successCheckmarkIcon':{'fontSize':0x32,'color':_0xe9ba(0x355),'fontWeight':'bold'},'successText':{'fontFamily':_0xe9ba(0x350),'fontSize':0x18,'fontWeight':'700','color':'#1a1a1a','marginTop':0x18},'claudeExtractionOverlay':{'position':'absolute','top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':_0xe9ba(0x355),'justifyContent':_0xe9ba(0x343),'alignItems':_0xe9ba(0x343),'zIndex':0x3e8},'extractionContent':{'alignItems':_0xe9ba(0x343),'paddingHorizontal':0x20},'claudeExtractionTitle':{'fontSize':0x18,'fontWeight':_0xe9ba(0x356),'color':_0xe9ba(0x357),'marginTop':0x18,'marginBottom':0x8},'claudeExtractionSubtitle':{'fontSize':0x10,'color':_0xe9ba(0x358),'textAlign':_0xe9ba(0x343),'marginBottom':0x18},'claudeExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':_0xe9ba(0x352),'borderRadius':0x4,'overflow':_0xe9ba(0x341)},'claudeExtractionProgressFill':{'height':_0xe9ba(0x348),'backgroundColor':_0xe9ba(0x9c),'borderRadius':0x4},'claudeExtractionProgressText':{'fontSize':0xe,'color':_0xe9ba(0x9c),'fontWeight':'600','marginTop':0x8},'linkedInExtractionOverlay':{'position':_0xe9ba(0x353),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':_0xe9ba(0x355),'justifyContent':_0xe9ba(0x343),'alignItems':_0xe9ba(0x343),'zIndex':0x3e8},'linkedInExtractionTitle':{'fontSize':0x18,'fontWeight':_0xe9ba(0x356),'color':_0xe9ba(0x357),'marginTop':0x18,'marginBottom':0x8},'linkedInExtractionSubtitle':{'fontSize':0x10,'color':_0xe9ba(0x358),'textAlign':_0xe9ba(0x343),'marginBottom':0x18},'linkedInExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':_0xe9ba(0x352),'borderRadius':0x4,'overflow':_0xe9ba(0x341)},'linkedInExtractionProgressFill':{'height':_0xe9ba(0x348),'backgroundColor':_0xe9ba(0xac),'borderRadius':0x4},'linkedInExtractionProgressText':{'fontSize':0xe,'color':_0xe9ba(0xac),'fontWeight':_0xe9ba(0x359),'marginTop':0x8},'newPlatformExtractionOverlay':{'position':_0xe9ba(0x353),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':'#FFFFFF','justifyContent':_0xe9ba(0x343),'alignItems':_0xe9ba(0x343),'zIndex':0x3e8},'newPlatformExtractionTitle':{'fontSize':0x18,'fontWeight':'700','color':_0xe9ba(0x357),'marginTop':0x18,'marginBottom':0x8},'newPlatformExtractionSubtitle':{'fontSize':0x10,'color':_0xe9ba(0x358),'textAlign':'center','marginBottom':0x18},'newPlatformExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':_0xe9ba(0x352),'borderRadius':0x4,'overflow':'hidden'},'newPlatformExtractionProgressFill':{'height':_0xe9ba(0x348),'borderRadius':0x4},'newPlatformExtractionProgressText':{'fontSize':0xe,'fontWeight':_0xe9ba(0x359),'marginTop':0x8}});
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OAuthWebView = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeWebview = require("react-native-webview");
|
|
10
|
+
var _webviewScripts = require("../../utils/webviewScripts");
|
|
11
|
+
var _linkedinDOMExtractor = require("../../services/linkedinDOMExtractor");
|
|
12
|
+
var _chatGPTConversationExtractor = require("../../services/chatGPTConversationExtractor");
|
|
13
|
+
var _claudeConversationExtractor = require("../../services/claudeConversationExtractor");
|
|
14
|
+
var _linkedinProfileService = require("../../services/linkedinProfileService");
|
|
15
|
+
var _hingeDataExtractor = require("../../services/hingeDataExtractor");
|
|
16
|
+
var _instagramDataExtractor = require("../../services/instagramDataExtractor");
|
|
17
|
+
var _sephoraDataExtractor = require("../../services/sephoraDataExtractor");
|
|
18
|
+
var _telegramDataExtractor = require("../../services/telegramDataExtractor");
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
|
+
const {
|
|
21
|
+
width,
|
|
22
|
+
height
|
|
23
|
+
} = _reactNative.Dimensions.get('window');
|
|
24
|
+
const OAuthWebView = ({
|
|
25
|
+
url,
|
|
26
|
+
onClose,
|
|
27
|
+
onSuccess,
|
|
28
|
+
platform = 'platform',
|
|
29
|
+
onComplete,
|
|
30
|
+
username
|
|
31
|
+
}) => {
|
|
32
|
+
const [isLoading, setIsLoading] = (0, _react.useState)(true);
|
|
33
|
+
const [timeoutReached, setTimeoutReached] = (0, _react.useState)(false);
|
|
34
|
+
const webViewRef = (0, _react.useRef)(null);
|
|
35
|
+
|
|
36
|
+
// LinkedIn-specific state
|
|
37
|
+
const [linkedInLoggedIn, setLinkedInLoggedIn] = (0, _react.useState)(false);
|
|
38
|
+
const [hasAutoNavigatedToProfile, setHasAutoNavigatedToProfile] = (0, _react.useState)(false);
|
|
39
|
+
const [isOnProfilePage, setIsOnProfilePage] = (0, _react.useState)(false);
|
|
40
|
+
const [linkedInConnectionComplete, setLinkedInConnectionComplete] = (0, _react.useState)(false);
|
|
41
|
+
const [hasStartedAutoExtraction, setHasStartedAutoExtraction] = (0, _react.useState)(false);
|
|
42
|
+
const [showLinkedInSuccessAnimation, setShowLinkedInSuccessAnimation] = (0, _react.useState)(false);
|
|
43
|
+
const [extractionStatus, setExtractionStatus] = (0, _react.useState)('');
|
|
44
|
+
const [isExtracting, setIsExtracting] = (0, _react.useState)(false);
|
|
45
|
+
const [extractedProfileUrl, setExtractedProfileUrl] = (0, _react.useState)(null);
|
|
46
|
+
|
|
47
|
+
// LinkedIn Profile DOM Scraping state (new - similar to ChatGPT pattern)
|
|
48
|
+
const [hasStartedLinkedInProfileScraping, setHasStartedLinkedInProfileScraping] = (0, _react.useState)(false);
|
|
49
|
+
const [isLinkedInProfileScraping, setIsLinkedInProfileScraping] = (0, _react.useState)(false);
|
|
50
|
+
const [linkedInProfileProgress, setLinkedInProfileProgress] = (0, _react.useState)(0);
|
|
51
|
+
const [showLinkedInExtractionAnimation, setShowLinkedInExtractionAnimation] = (0, _react.useState)(false);
|
|
52
|
+
const linkedInProfileScrapingStartedRef = (0, _react.useRef)(false);
|
|
53
|
+
const linkedInProfileProgressAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
54
|
+
|
|
55
|
+
// ChatGPT-specific state (matches Enoch iOS implementation)
|
|
56
|
+
const [chatGPTLoggedIn, setChatGPTLoggedIn] = (0, _react.useState)(false);
|
|
57
|
+
const [hasStartedChatGPTExtraction, setHasStartedChatGPTExtraction] = (0, _react.useState)(false);
|
|
58
|
+
const [isChatGPTExporting, setIsChatGPTExporting] = (0, _react.useState)(false);
|
|
59
|
+
const [chatGPTExportProgress, setChatGPTExportProgress] = (0, _react.useState)(0);
|
|
60
|
+
const [showChatGPTSuccessAnimation, setShowChatGPTSuccessAnimation] = (0, _react.useState)(false);
|
|
61
|
+
const chatGPTProgressAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
62
|
+
const chatGPTExtractionStartedRef = (0, _react.useRef)(false);
|
|
63
|
+
|
|
64
|
+
// Claude-specific state (same pattern as ChatGPT)
|
|
65
|
+
const [claudeLoggedIn, setClaudeLoggedIn] = (0, _react.useState)(false);
|
|
66
|
+
const [hasStartedClaudeExtraction, setHasStartedClaudeExtraction] = (0, _react.useState)(false);
|
|
67
|
+
const [isClaudeExporting, setIsClaudeExporting] = (0, _react.useState)(false);
|
|
68
|
+
const [claudeExportProgress, setClaudeExportProgress] = (0, _react.useState)(0);
|
|
69
|
+
const [showClaudeExtractionAnimation, setShowClaudeExtractionAnimation] = (0, _react.useState)(false);
|
|
70
|
+
const [showClaudeSuccessAnimation, setShowClaudeSuccessAnimation] = (0, _react.useState)(false);
|
|
71
|
+
const [claudeStatus, setClaudeStatus] = (0, _react.useState)('');
|
|
72
|
+
const claudeProgressAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
73
|
+
const claudeExtractionStartedRef = (0, _react.useRef)(false);
|
|
74
|
+
|
|
75
|
+
// New Platform state (Hinge, Instagram, Sephora) - same pattern as ChatGPT/Claude
|
|
76
|
+
const [newPlatformLoggedIn, setNewPlatformLoggedIn] = (0, _react.useState)(false);
|
|
77
|
+
const [hasStartedNewPlatformExtraction, setHasStartedNewPlatformExtraction] = (0, _react.useState)(false);
|
|
78
|
+
const [isNewPlatformExporting, setIsNewPlatformExporting] = (0, _react.useState)(false);
|
|
79
|
+
const [newPlatformExportProgress, setNewPlatformExportProgress] = (0, _react.useState)(0);
|
|
80
|
+
const [showNewPlatformExtractionAnimation, setShowNewPlatformExtractionAnimation] = (0, _react.useState)(false);
|
|
81
|
+
const [showNewPlatformSuccessAnimation, setShowNewPlatformSuccessAnimation] = (0, _react.useState)(false);
|
|
82
|
+
const [newPlatformStatus, setNewPlatformStatus] = (0, _react.useState)('');
|
|
83
|
+
const newPlatformProgressAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
84
|
+
const newPlatformExtractionStartedRef = (0, _react.useRef)(false);
|
|
85
|
+
|
|
86
|
+
// Generic OAuth success animation (for Reddit, YouTube, Pinterest, Gmail, Gemini, Grok)
|
|
87
|
+
const [showOAuthSuccessAnimation, setShowOAuthSuccessAnimation] = (0, _react.useState)(false);
|
|
88
|
+
const checkmarkScaleAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
89
|
+
const checkmarkOpacityAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
90
|
+
|
|
91
|
+
// LinkedIn connecting progress bar animation (indeterminate sliding)
|
|
92
|
+
const linkedinProgressAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
93
|
+
|
|
94
|
+
// Services
|
|
95
|
+
const {
|
|
96
|
+
initiateConversationExport,
|
|
97
|
+
storeMemories
|
|
98
|
+
} = (0, _chatGPTConversationExtractor.useChatGPTConversationExtractor)();
|
|
99
|
+
const {
|
|
100
|
+
initiateConversationExport: initiateClaudeExport
|
|
101
|
+
} = (0, _claudeConversationExtractor.useClaudeConversationExtractor)();
|
|
102
|
+
const {
|
|
103
|
+
initiateDataExport: initiateHingeExport
|
|
104
|
+
} = (0, _hingeDataExtractor.useHingeDataExtractor)();
|
|
105
|
+
const {
|
|
106
|
+
initiateDataExport: initiateInstagramExport
|
|
107
|
+
} = (0, _instagramDataExtractor.useInstagramDataExtractor)();
|
|
108
|
+
const {
|
|
109
|
+
initiateDataExport: initiateSephoraExport
|
|
110
|
+
} = (0, _sephoraDataExtractor.useSephoraDataExtractor)();
|
|
111
|
+
const {
|
|
112
|
+
initiateDataExport: initiateTelegramExport
|
|
113
|
+
} = (0, _telegramDataExtractor.useTelegramDataExtractor)();
|
|
114
|
+
const isLLM = (0, _webviewScripts.isLLMPlatform)(platform);
|
|
115
|
+
const isLinkedIn = (0, _webviewScripts.isLinkedInPlatform)(platform);
|
|
116
|
+
const isChatGPT = (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'chatgpt' || (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'openai';
|
|
117
|
+
const isClaude = (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'claude' || (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'anthropic';
|
|
118
|
+
const isHinge = (0, _webviewScripts.isHingePlatform)(platform);
|
|
119
|
+
const isInstagram = (0, _webviewScripts.isInstagramPlatform)(platform);
|
|
120
|
+
const isSephora = (0, _webviewScripts.isSephoraPlatform)(platform);
|
|
121
|
+
const isTelegram = (0, _webviewScripts.isTelegramPlatform)(platform);
|
|
122
|
+
const isNewPlatform = isHinge || isInstagram || isSephora || isTelegram;
|
|
123
|
+
console.log(`Opening ${isLLM ? 'LLM' : isLinkedIn ? 'LinkedIn' : 'OAuth'} WebView with URL:`, url, 'Platform:', platform);
|
|
124
|
+
|
|
125
|
+
// Set up a timeout to prevent infinite waiting
|
|
126
|
+
_react.default.useEffect(() => {
|
|
127
|
+
const timeout = setTimeout(() => {
|
|
128
|
+
console.log(`⏰ ${isLLM ? 'LLM' : isLinkedIn ? 'LinkedIn' : 'OAuth'} timeout reached for ${platform} after 2 minutes`);
|
|
129
|
+
setTimeoutReached(true);
|
|
130
|
+
}, 120000); // 2 minutes timeout
|
|
131
|
+
|
|
132
|
+
return () => clearTimeout(timeout);
|
|
133
|
+
}, [platform, isLLM, isLinkedIn]);
|
|
134
|
+
|
|
135
|
+
// LinkedIn-specific: Initialize state
|
|
136
|
+
_react.default.useEffect(() => {
|
|
137
|
+
if (isLinkedIn) {
|
|
138
|
+
setExtractionStatus('');
|
|
139
|
+
console.log('💼 [LINKEDIN] Initialized - waiting for page load');
|
|
140
|
+
}
|
|
141
|
+
}, [isLinkedIn]);
|
|
142
|
+
|
|
143
|
+
// ChatGPT-specific: Initialize state
|
|
144
|
+
_react.default.useEffect(() => {
|
|
145
|
+
if (isChatGPT) {
|
|
146
|
+
console.log('🤖 [CHATGPT] Initialized - waiting for page load');
|
|
147
|
+
}
|
|
148
|
+
}, [isChatGPT]);
|
|
149
|
+
|
|
150
|
+
// Claude-specific: Initialize state
|
|
151
|
+
_react.default.useEffect(() => {
|
|
152
|
+
if (isClaude) {
|
|
153
|
+
console.log('🧠 [CLAUDE] Initialized - waiting for page load');
|
|
154
|
+
}
|
|
155
|
+
}, [isClaude]);
|
|
156
|
+
|
|
157
|
+
// LinkedIn connecting animation - smooth sliding progress bar
|
|
158
|
+
const isLinkedInConnecting = isLinkedIn && linkedInLoggedIn && extractionStatus === 'Connecting' && !linkedInConnectionComplete;
|
|
159
|
+
_react.default.useEffect(() => {
|
|
160
|
+
if (isLinkedInConnecting) {
|
|
161
|
+
// Create smooth back-and-forth animation
|
|
162
|
+
const animation = _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(linkedinProgressAnim, {
|
|
163
|
+
toValue: 1,
|
|
164
|
+
duration: 1200,
|
|
165
|
+
useNativeDriver: true
|
|
166
|
+
// Smooth easing for natural feel
|
|
167
|
+
}), _reactNative.Animated.timing(linkedinProgressAnim, {
|
|
168
|
+
toValue: 0,
|
|
169
|
+
duration: 1200,
|
|
170
|
+
useNativeDriver: true
|
|
171
|
+
})]));
|
|
172
|
+
animation.start();
|
|
173
|
+
return () => {
|
|
174
|
+
animation.stop();
|
|
175
|
+
linkedinProgressAnim.setValue(0);
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}, [isLinkedInConnecting, linkedinProgressAnim]);
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Trigger the export script for ChatGPT after successful login
|
|
182
|
+
*/
|
|
183
|
+
const triggerChatGPTExport = (0, _react.useCallback)(() => {
|
|
184
|
+
if (!webViewRef.current || hasStartedChatGPTExtraction || chatGPTExtractionStartedRef.current) return;
|
|
185
|
+
console.log('🚀 [CHATGPT] Triggering export script...');
|
|
186
|
+
chatGPTExtractionStartedRef.current = true;
|
|
187
|
+
setHasStartedChatGPTExtraction(true);
|
|
188
|
+
setIsChatGPTExporting(true);
|
|
189
|
+
setChatGPTExportProgress(0);
|
|
190
|
+
|
|
191
|
+
// Inject the export script
|
|
192
|
+
webViewRef.current.injectJavaScript(_webviewScripts.CHATGPT_EXPORT_SCRIPT);
|
|
193
|
+
}, [hasStartedChatGPTExtraction]);
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Trigger the export script for Claude after successful login
|
|
197
|
+
*/
|
|
198
|
+
const triggerClaudeExport = (0, _react.useCallback)(() => {
|
|
199
|
+
if (!webViewRef.current || hasStartedClaudeExtraction || claudeExtractionStartedRef.current) return;
|
|
200
|
+
console.log('🚀 [CLAUDE] Triggering export script...');
|
|
201
|
+
claudeExtractionStartedRef.current = true;
|
|
202
|
+
setHasStartedClaudeExtraction(true);
|
|
203
|
+
setIsClaudeExporting(true);
|
|
204
|
+
setClaudeExportProgress(0);
|
|
205
|
+
setShowClaudeExtractionAnimation(true);
|
|
206
|
+
setClaudeStatus('Starting extraction...');
|
|
207
|
+
|
|
208
|
+
// Inject the export script
|
|
209
|
+
webViewRef.current.injectJavaScript(_webviewScripts.CLAUDE_EXPORT_SCRIPT);
|
|
210
|
+
}, [hasStartedClaudeExtraction]);
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Trigger the export script for new platforms (Hinge, Instagram, Sephora)
|
|
214
|
+
*/
|
|
215
|
+
const triggerNewPlatformExport = (0, _react.useCallback)(() => {
|
|
216
|
+
if (!webViewRef.current || hasStartedNewPlatformExtraction || newPlatformExtractionStartedRef.current) return;
|
|
217
|
+
console.log(`🚀 [${platform.toUpperCase()}] Triggering export script...`);
|
|
218
|
+
newPlatformExtractionStartedRef.current = true;
|
|
219
|
+
setHasStartedNewPlatformExtraction(true);
|
|
220
|
+
setIsNewPlatformExporting(true);
|
|
221
|
+
setNewPlatformExportProgress(0);
|
|
222
|
+
setShowNewPlatformExtractionAnimation(true);
|
|
223
|
+
setNewPlatformStatus('Starting extraction...');
|
|
224
|
+
|
|
225
|
+
// Inject the appropriate export script based on platform
|
|
226
|
+
if (isHinge) {
|
|
227
|
+
webViewRef.current.injectJavaScript(_webviewScripts.HINGE_EXPORT_SCRIPT);
|
|
228
|
+
} else if (isInstagram) {
|
|
229
|
+
webViewRef.current.injectJavaScript(_webviewScripts.INSTAGRAM_EXPORT_SCRIPT);
|
|
230
|
+
} else if (isSephora) {
|
|
231
|
+
webViewRef.current.injectJavaScript(_webviewScripts.SEPHORA_EXPORT_SCRIPT);
|
|
232
|
+
} else if (isTelegram) {
|
|
233
|
+
webViewRef.current.injectJavaScript(_webviewScripts.TELEGRAM_EXPORT_SCRIPT);
|
|
234
|
+
}
|
|
235
|
+
}, [hasStartedNewPlatformExtraction, platform, isHinge, isInstagram, isSephora, isTelegram]);
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Trigger LinkedIn profile DOM scraping after user is on profile page
|
|
239
|
+
* This shows consent popup first, then scrapes profile data from DOM
|
|
240
|
+
*/
|
|
241
|
+
const triggerLinkedInProfileScraping = (0, _react.useCallback)(() => {
|
|
242
|
+
if (!webViewRef.current || hasStartedLinkedInProfileScraping || linkedInProfileScrapingStartedRef.current) return;
|
|
243
|
+
console.log('🚀 [LINKEDIN] Triggering profile DOM scraping...');
|
|
244
|
+
linkedInProfileScrapingStartedRef.current = true;
|
|
245
|
+
setHasStartedLinkedInProfileScraping(true);
|
|
246
|
+
|
|
247
|
+
// First show consent popup
|
|
248
|
+
webViewRef.current.injectJavaScript(_webviewScripts.LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT);
|
|
249
|
+
}, [hasStartedLinkedInProfileScraping]);
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Execute LinkedIn profile scraping after user consents
|
|
253
|
+
*/
|
|
254
|
+
const executeLinkedInProfileScraping = (0, _react.useCallback)(() => {
|
|
255
|
+
if (!webViewRef.current) return;
|
|
256
|
+
console.log('🔍 [LINKEDIN] Executing profile DOM scraping...');
|
|
257
|
+
setIsLinkedInProfileScraping(true);
|
|
258
|
+
setLinkedInProfileProgress(0);
|
|
259
|
+
setShowLinkedInExtractionAnimation(true);
|
|
260
|
+
setExtractionStatus('Extracting profile...');
|
|
261
|
+
|
|
262
|
+
// Inject the scraper script
|
|
263
|
+
webViewRef.current.injectJavaScript(_webviewScripts.LINKEDIN_PROFILE_SCRAPER_SCRIPT);
|
|
264
|
+
}, []);
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Handle messages from the WebView
|
|
268
|
+
*/
|
|
269
|
+
const handleWebViewMessage = (0, _react.useCallback)(async event => {
|
|
270
|
+
try {
|
|
271
|
+
const data = JSON.parse(event.nativeEvent.data);
|
|
272
|
+
console.log(`📩 [${platform.toUpperCase()}] WebView message:`, data.type || data.status);
|
|
273
|
+
|
|
274
|
+
// ========================================
|
|
275
|
+
// LINKEDIN MESSAGE HANDLING
|
|
276
|
+
// ========================================
|
|
277
|
+
if (isLinkedIn) {
|
|
278
|
+
// Handle LinkedIn profile consent
|
|
279
|
+
if (data.type === 'LINKEDIN_PROFILE_CONSENT') {
|
|
280
|
+
if (data.status === 'denied') {
|
|
281
|
+
console.log('⛔ [LINKEDIN] User denied profile consent');
|
|
282
|
+
_reactNative.Alert.alert('Connection Cancelled', 'You denied access to your LinkedIn profile data.', [{
|
|
283
|
+
text: 'OK',
|
|
284
|
+
onPress: onClose
|
|
285
|
+
}]);
|
|
286
|
+
return;
|
|
287
|
+
} else if (data.status === 'allowed') {
|
|
288
|
+
console.log('✅ [LINKEDIN] User allowed profile consent - starting extraction');
|
|
289
|
+
executeLinkedInProfileScraping();
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// Handle LinkedIn profile extraction progress
|
|
295
|
+
if (data.type === 'LINKEDIN_PROFILE_PROGRESS') {
|
|
296
|
+
const progress = data.progress || 0;
|
|
297
|
+
console.log(`📊 [LINKEDIN] Profile extraction progress: ${progress}% - ${data.message}`);
|
|
298
|
+
setLinkedInProfileProgress(progress);
|
|
299
|
+
setExtractionStatus(data.message || `Extracting... ${progress}%`);
|
|
300
|
+
_reactNative.Animated.timing(linkedInProfileProgressAnim, {
|
|
301
|
+
toValue: progress,
|
|
302
|
+
duration: 300,
|
|
303
|
+
useNativeDriver: false
|
|
304
|
+
}).start();
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// Handle LinkedIn profile extraction complete
|
|
309
|
+
if (data.type === 'LINKEDIN_PROFILE_EXPORT_COMPLETE') {
|
|
310
|
+
var _profileData$headline, _profileData$experien, _profileData$educatio, _profileData$skills;
|
|
311
|
+
console.log('✅ [LINKEDIN] Profile DOM extraction complete!');
|
|
312
|
+
const profileData = data.data;
|
|
313
|
+
console.log('📊 [LINKEDIN] Extracted profile:', {
|
|
314
|
+
name: profileData === null || profileData === void 0 ? void 0 : profileData.fullName,
|
|
315
|
+
headline: profileData === null || profileData === void 0 || (_profileData$headline = profileData.headline) === null || _profileData$headline === void 0 ? void 0 : _profileData$headline.substring(0, 50),
|
|
316
|
+
experienceCount: (profileData === null || profileData === void 0 || (_profileData$experien = profileData.experience) === null || _profileData$experien === void 0 ? void 0 : _profileData$experien.length) || 0,
|
|
317
|
+
educationCount: (profileData === null || profileData === void 0 || (_profileData$educatio = profileData.education) === null || _profileData$educatio === void 0 ? void 0 : _profileData$educatio.length) || 0,
|
|
318
|
+
skillsCount: (profileData === null || profileData === void 0 || (_profileData$skills = profileData.skills) === null || _profileData$skills === void 0 ? void 0 : _profileData$skills.length) || 0
|
|
319
|
+
});
|
|
320
|
+
setLinkedInProfileProgress(90);
|
|
321
|
+
setExtractionStatus('Storing profile data...');
|
|
322
|
+
|
|
323
|
+
// Store profile data to backend
|
|
324
|
+
if (profileData && username) {
|
|
325
|
+
console.log('📤 [LINKEDIN] Storing profile data...');
|
|
326
|
+
const storeResult = await (0, _linkedinProfileService.storeLinkedInProfile)(username, profileData);
|
|
327
|
+
console.log('📤 [LINKEDIN] Storage result:', storeResult);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Show success animation
|
|
331
|
+
setLinkedInProfileProgress(100);
|
|
332
|
+
setIsLinkedInProfileScraping(false);
|
|
333
|
+
setShowLinkedInExtractionAnimation(false);
|
|
334
|
+
setLinkedInConnectionComplete(true);
|
|
335
|
+
setShowLinkedInSuccessAnimation(true);
|
|
336
|
+
setExtractionStatus('Connected!');
|
|
337
|
+
onSuccess('success');
|
|
338
|
+
|
|
339
|
+
// Close after showing success
|
|
340
|
+
setTimeout(() => {
|
|
341
|
+
if (onComplete) onComplete();
|
|
342
|
+
}, 2000);
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// Handle LinkedIn profile extraction error
|
|
347
|
+
if (data.type === 'LINKEDIN_PROFILE_EXPORT_ERROR') {
|
|
348
|
+
console.error('❌ [LINKEDIN] Profile extraction error:', data.message);
|
|
349
|
+
setIsLinkedInProfileScraping(false);
|
|
350
|
+
setLinkedInProfileProgress(0);
|
|
351
|
+
setShowLinkedInExtractionAnimation(false);
|
|
352
|
+
linkedInProfileScrapingStartedRef.current = false;
|
|
353
|
+
setHasStartedLinkedInProfileScraping(false);
|
|
354
|
+
_reactNative.Alert.alert('Extraction Failed', `Failed to extract LinkedIn profile: ${data.message}. Would you like to try again?`, [{
|
|
355
|
+
text: 'Retry',
|
|
356
|
+
onPress: () => triggerLinkedInProfileScraping()
|
|
357
|
+
}, {
|
|
358
|
+
text: 'Close',
|
|
359
|
+
onPress: onClose,
|
|
360
|
+
style: 'cancel'
|
|
361
|
+
}]);
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// Legacy: Handle profile URL extraction (fallback to backend scraping)
|
|
366
|
+
if (data.status === 'success' && data.profileUrl) {
|
|
367
|
+
console.log('✅ [LINKEDIN] Profile URL extracted:', data.profileUrl);
|
|
368
|
+
setExtractedProfileUrl(data.profileUrl);
|
|
369
|
+
setExtractionStatus('Connecting');
|
|
370
|
+
const userId = username || 'unknown_user';
|
|
371
|
+
const performScrapeAndComplete = async (retryCount = 0, maxRetries = 3) => {
|
|
372
|
+
try {
|
|
373
|
+
setExtractionStatus('Connecting');
|
|
374
|
+
await (0, _linkedinDOMExtractor.initiateProfileScraping)({
|
|
375
|
+
userId,
|
|
376
|
+
profileUrl: data.profileUrl,
|
|
377
|
+
onProgress: message => {
|
|
378
|
+
console.log('📊 [LINKEDIN] Scrape progress:', message);
|
|
379
|
+
},
|
|
380
|
+
onSuccess: scrapedData => {
|
|
381
|
+
console.log('✅ [LINKEDIN] Profile scraping complete!', scrapedData);
|
|
382
|
+
setIsExtracting(false);
|
|
383
|
+
setLinkedInConnectionComplete(true);
|
|
384
|
+
setShowLinkedInSuccessAnimation(true);
|
|
385
|
+
setExtractionStatus('Connected!');
|
|
386
|
+
|
|
387
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
388
|
+
// onSuccess triggers parent to close WebView, so delay it
|
|
389
|
+
setTimeout(() => {
|
|
390
|
+
onSuccess('success');
|
|
391
|
+
if (onComplete) onComplete();
|
|
392
|
+
}, 2000);
|
|
393
|
+
},
|
|
394
|
+
onError: async error => {
|
|
395
|
+
console.error(`❌ [LINKEDIN] Scraping failed (attempt ${retryCount + 1}/${maxRetries}):`, error);
|
|
396
|
+
if (retryCount < maxRetries - 1) {
|
|
397
|
+
setTimeout(() => {
|
|
398
|
+
performScrapeAndComplete(retryCount + 1, maxRetries);
|
|
399
|
+
}, 3000);
|
|
400
|
+
} else {
|
|
401
|
+
setIsExtracting(false);
|
|
402
|
+
setLinkedInConnectionComplete(true);
|
|
403
|
+
setShowLinkedInSuccessAnimation(true);
|
|
404
|
+
setExtractionStatus('Connected!');
|
|
405
|
+
|
|
406
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
407
|
+
setTimeout(() => {
|
|
408
|
+
onSuccess('success');
|
|
409
|
+
if (onComplete) onComplete();
|
|
410
|
+
}, 2000);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
} catch (error) {
|
|
415
|
+
console.error(`❌ [LINKEDIN] Exception (attempt ${retryCount + 1}/${maxRetries}):`, error);
|
|
416
|
+
if (retryCount < maxRetries - 1) {
|
|
417
|
+
setTimeout(() => {
|
|
418
|
+
performScrapeAndComplete(retryCount + 1, maxRetries);
|
|
419
|
+
}, 3000);
|
|
420
|
+
} else {
|
|
421
|
+
setIsExtracting(false);
|
|
422
|
+
setLinkedInConnectionComplete(true);
|
|
423
|
+
setShowLinkedInSuccessAnimation(true);
|
|
424
|
+
setExtractionStatus('Connected!');
|
|
425
|
+
|
|
426
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
427
|
+
setTimeout(() => {
|
|
428
|
+
onSuccess('success');
|
|
429
|
+
if (onComplete) onComplete();
|
|
430
|
+
}, 2000);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
performScrapeAndComplete();
|
|
435
|
+
return;
|
|
436
|
+
} else if (data.status === 'error' && data.message) {
|
|
437
|
+
console.warn('⚠️ [LINKEDIN] Profile URL extraction failed:', data.message);
|
|
438
|
+
setIsExtracting(false);
|
|
439
|
+
setLinkedInConnectionComplete(true);
|
|
440
|
+
setShowLinkedInSuccessAnimation(true);
|
|
441
|
+
setExtractionStatus('Connected!');
|
|
442
|
+
|
|
443
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
444
|
+
setTimeout(() => {
|
|
445
|
+
onSuccess('success');
|
|
446
|
+
if (onComplete) onComplete();
|
|
447
|
+
}, 2000);
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// ========================================
|
|
453
|
+
// CHATGPT/CLAUDE MESSAGE HANDLING
|
|
454
|
+
// ========================================
|
|
455
|
+
|
|
456
|
+
// Debug logs
|
|
457
|
+
if (data.type === 'DEBUG_LOG' || data.type === 'DEBUG_MEMORIES') {
|
|
458
|
+
console.log(`🔍 [${platform.toUpperCase()}] Debug:`, data.message);
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
// Handle memories data from ChatGPT
|
|
463
|
+
if (data.type === 'MEMORIES_DATA' && isChatGPT) {
|
|
464
|
+
console.log('🧠 [CHATGPT] Received memories data from WebView, storing...');
|
|
465
|
+
try {
|
|
466
|
+
const result = await storeMemories(data.memoriesData);
|
|
467
|
+
if (result) {
|
|
468
|
+
console.log('✅ [CHATGPT] Memories stored successfully!');
|
|
469
|
+
} else {
|
|
470
|
+
console.warn('⚠️ [CHATGPT] Memories storage returned false');
|
|
471
|
+
}
|
|
472
|
+
} catch (error) {
|
|
473
|
+
console.error('❌ [CHATGPT] Memories storage error:', error);
|
|
474
|
+
}
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// Export progress
|
|
479
|
+
if (data.type === 'EXPORT_PROGRESS') {
|
|
480
|
+
const progress = data.progress || 0;
|
|
481
|
+
if (isChatGPT) {
|
|
482
|
+
console.log(`📊 [CHATGPT] Export progress: ${progress}% - ${data.message}`);
|
|
483
|
+
setChatGPTExportProgress(progress);
|
|
484
|
+
_reactNative.Animated.timing(chatGPTProgressAnim, {
|
|
485
|
+
toValue: progress,
|
|
486
|
+
duration: 300,
|
|
487
|
+
useNativeDriver: false
|
|
488
|
+
}).start();
|
|
489
|
+
} else if (isClaude) {
|
|
490
|
+
console.log(`📊 [CLAUDE] Export progress: ${progress}% - ${data.message}`);
|
|
491
|
+
setClaudeExportProgress(progress);
|
|
492
|
+
setClaudeStatus(data.message || `Extracting data... ${progress}%`);
|
|
493
|
+
_reactNative.Animated.timing(claudeProgressAnim, {
|
|
494
|
+
toValue: progress,
|
|
495
|
+
duration: 300,
|
|
496
|
+
useNativeDriver: false
|
|
497
|
+
}).start();
|
|
498
|
+
}
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// Conversation export complete
|
|
503
|
+
if (data.type === 'CONVERSATION_EXPORT_COMPLETE') {
|
|
504
|
+
var _data$data, _data$data2, _data$data3;
|
|
505
|
+
const totalConversations = ((_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.total_conversations) || ((_data$data2 = data.data) === null || _data$data2 === void 0 || (_data$data2 = _data$data2.conversations) === null || _data$data2 === void 0 ? void 0 : _data$data2.length) || 0;
|
|
506
|
+
const totalMessages = ((_data$data3 = data.data) === null || _data$data3 === void 0 ? void 0 : _data$data3.total_messages) || 0;
|
|
507
|
+
if (isChatGPT) {
|
|
508
|
+
var _data$data4;
|
|
509
|
+
console.log(`✅ [CHATGPT] Export complete: ${totalConversations} conversations, ${totalMessages} messages`);
|
|
510
|
+
setChatGPTExportProgress(90);
|
|
511
|
+
|
|
512
|
+
// Store conversations to backend
|
|
513
|
+
if ((_data$data4 = data.data) !== null && _data$data4 !== void 0 && _data$data4.conversations && username) {
|
|
514
|
+
console.log('📤 [CHATGPT] Storing conversations to backend...');
|
|
515
|
+
const exportResult = await initiateConversationExport(username, data.data.conversations);
|
|
516
|
+
console.log('📤 [CHATGPT] Backend storage result:', exportResult);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
// Show success animation
|
|
520
|
+
setChatGPTExportProgress(100);
|
|
521
|
+
setIsChatGPTExporting(false);
|
|
522
|
+
setShowChatGPTSuccessAnimation(true);
|
|
523
|
+
onSuccess('success');
|
|
524
|
+
|
|
525
|
+
// Close after showing success
|
|
526
|
+
setTimeout(() => {
|
|
527
|
+
if (onComplete) onComplete();
|
|
528
|
+
}, 2000);
|
|
529
|
+
} else if (isClaude) {
|
|
530
|
+
var _data$data5;
|
|
531
|
+
console.log(`✅ [CLAUDE] Export complete: ${totalConversations} conversations, ${totalMessages} messages`);
|
|
532
|
+
setClaudeExportProgress(90);
|
|
533
|
+
setClaudeStatus(`Storing ${totalConversations} conversations...`);
|
|
534
|
+
|
|
535
|
+
// Store conversations to backend
|
|
536
|
+
if ((_data$data5 = data.data) !== null && _data$data5 !== void 0 && _data$data5.conversations && username) {
|
|
537
|
+
console.log('📤 [CLAUDE] Storing conversations to backend...');
|
|
538
|
+
const exportResult = await initiateClaudeExport(username, data.data.conversations);
|
|
539
|
+
console.log('📤 [CLAUDE] Backend storage result:', exportResult);
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
// Show success animation
|
|
543
|
+
setClaudeExportProgress(100);
|
|
544
|
+
setIsClaudeExporting(false);
|
|
545
|
+
setShowClaudeExtractionAnimation(false);
|
|
546
|
+
setShowClaudeSuccessAnimation(true);
|
|
547
|
+
setClaudeStatus(`✅ Imported ${totalConversations} conversations!`);
|
|
548
|
+
onSuccess('success');
|
|
549
|
+
|
|
550
|
+
// Close after showing success
|
|
551
|
+
setTimeout(() => {
|
|
552
|
+
if (onComplete) onComplete();
|
|
553
|
+
}, 2000);
|
|
554
|
+
}
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
// Export error
|
|
559
|
+
if (data.type === 'CONVERSATION_EXPORT_ERROR') {
|
|
560
|
+
console.error(`❌ [${platform.toUpperCase()}] Export error:`, data.message);
|
|
561
|
+
if (isChatGPT) {
|
|
562
|
+
setIsChatGPTExporting(false);
|
|
563
|
+
setChatGPTExportProgress(0);
|
|
564
|
+
chatGPTExtractionStartedRef.current = false;
|
|
565
|
+
setHasStartedChatGPTExtraction(false);
|
|
566
|
+
} else if (isClaude) {
|
|
567
|
+
setIsClaudeExporting(false);
|
|
568
|
+
setClaudeExportProgress(0);
|
|
569
|
+
setShowClaudeExtractionAnimation(false);
|
|
570
|
+
claudeExtractionStartedRef.current = false;
|
|
571
|
+
setHasStartedClaudeExtraction(false);
|
|
572
|
+
}
|
|
573
|
+
_reactNative.Alert.alert('Export Failed', `Failed to export ${platform} conversations: ${data.message}`, [{
|
|
574
|
+
text: 'Retry',
|
|
575
|
+
onPress: () => {
|
|
576
|
+
if (isChatGPT) triggerChatGPTExport();else if (isClaude) triggerClaudeExport();
|
|
577
|
+
}
|
|
578
|
+
}, {
|
|
579
|
+
text: 'Close',
|
|
580
|
+
onPress: onClose,
|
|
581
|
+
style: 'cancel'
|
|
582
|
+
}]);
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
// Consent handling
|
|
587
|
+
if (data.type === 'CHATGPT_CONSENT' || data.type === 'CLAUDE_CONSENT') {
|
|
588
|
+
if (data.status === 'denied') {
|
|
589
|
+
console.log(`⛔ [${platform.toUpperCase()}] User denied consent`);
|
|
590
|
+
_reactNative.Alert.alert('Connection Cancelled', `You denied access to your ${platform} conversations.`, [{
|
|
591
|
+
text: 'OK',
|
|
592
|
+
onPress: onClose
|
|
593
|
+
}]);
|
|
594
|
+
} else if (data.status === 'allowed') {
|
|
595
|
+
console.log(`✅ [${platform.toUpperCase()}] User allowed consent`);
|
|
596
|
+
}
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
// Memories fetch complete (standalone)
|
|
601
|
+
if (data.type === 'MEMORIES_FETCH_COMPLETE') {
|
|
602
|
+
var _data$data6;
|
|
603
|
+
console.log(`🧠 [${platform.toUpperCase()}] Memories fetch complete:`, (_data$data6 = data.data) === null || _data$data6 === void 0 ? void 0 : _data$data6.itemsCount, 'items');
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
// Memories fetch error
|
|
608
|
+
if (data.type === 'MEMORIES_FETCH_ERROR') {
|
|
609
|
+
console.warn(`⚠️ [${platform.toUpperCase()}] Memories fetch failed:`, data.message);
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
// ========================================
|
|
614
|
+
// NEW PLATFORMS MESSAGE HANDLING (Hinge, Instagram, Sephora)
|
|
615
|
+
// ========================================
|
|
616
|
+
|
|
617
|
+
// Hinge export progress
|
|
618
|
+
if (data.type === 'HINGE_EXPORT_PROGRESS' && isHinge) {
|
|
619
|
+
const progress = data.progress || 0;
|
|
620
|
+
console.log(`📊 [HINGE] Export progress: ${progress}% - ${data.message}`);
|
|
621
|
+
setNewPlatformExportProgress(progress);
|
|
622
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
623
|
+
_reactNative.Animated.timing(newPlatformProgressAnim, {
|
|
624
|
+
toValue: progress,
|
|
625
|
+
duration: 300,
|
|
626
|
+
useNativeDriver: false
|
|
627
|
+
}).start();
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
// Hinge export complete
|
|
632
|
+
if (data.type === 'HINGE_EXPORT_COMPLETE' && isHinge) {
|
|
633
|
+
console.log('✅ [HINGE] Export complete!', data.data);
|
|
634
|
+
setNewPlatformExportProgress(90);
|
|
635
|
+
setNewPlatformStatus('Storing data...');
|
|
636
|
+
if (data.data && username) {
|
|
637
|
+
console.log('📤 [HINGE] Storing data to backend...');
|
|
638
|
+
const exportResult = await initiateHingeExport(username, data.data);
|
|
639
|
+
console.log('📤 [HINGE] Backend storage result:', exportResult);
|
|
640
|
+
}
|
|
641
|
+
setNewPlatformExportProgress(100);
|
|
642
|
+
setIsNewPlatformExporting(false);
|
|
643
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
644
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
645
|
+
setNewPlatformStatus('Connected!');
|
|
646
|
+
onSuccess('success');
|
|
647
|
+
setTimeout(() => {
|
|
648
|
+
if (onComplete) onComplete();
|
|
649
|
+
}, 2000);
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
// Hinge export error
|
|
654
|
+
if (data.type === 'HINGE_EXPORT_ERROR' && isHinge) {
|
|
655
|
+
console.error('❌ [HINGE] Export error:', data.message);
|
|
656
|
+
setIsNewPlatformExporting(false);
|
|
657
|
+
setNewPlatformExportProgress(0);
|
|
658
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
659
|
+
newPlatformExtractionStartedRef.current = false;
|
|
660
|
+
setHasStartedNewPlatformExtraction(false);
|
|
661
|
+
_reactNative.Alert.alert('Export Failed', `Failed to export Hinge data: ${data.message}`, [{
|
|
662
|
+
text: 'Retry',
|
|
663
|
+
onPress: () => triggerNewPlatformExport()
|
|
664
|
+
}, {
|
|
665
|
+
text: 'Close',
|
|
666
|
+
onPress: onClose,
|
|
667
|
+
style: 'cancel'
|
|
668
|
+
}]);
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// Instagram export progress
|
|
673
|
+
if (data.type === 'INSTAGRAM_EXPORT_PROGRESS' && isInstagram) {
|
|
674
|
+
const progress = data.progress || 0;
|
|
675
|
+
console.log(`📊 [INSTAGRAM] Export progress: ${progress}% - ${data.message}`);
|
|
676
|
+
setNewPlatformExportProgress(progress);
|
|
677
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
678
|
+
_reactNative.Animated.timing(newPlatformProgressAnim, {
|
|
679
|
+
toValue: progress,
|
|
680
|
+
duration: 300,
|
|
681
|
+
useNativeDriver: false
|
|
682
|
+
}).start();
|
|
683
|
+
return;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
// Instagram export complete
|
|
687
|
+
if (data.type === 'INSTAGRAM_EXPORT_COMPLETE' && isInstagram) {
|
|
688
|
+
console.log('✅ [INSTAGRAM] Export complete!', data.data);
|
|
689
|
+
setNewPlatformExportProgress(90);
|
|
690
|
+
setNewPlatformStatus('Storing data...');
|
|
691
|
+
if (data.data && username) {
|
|
692
|
+
console.log('📤 [INSTAGRAM] Storing data to backend...');
|
|
693
|
+
const exportResult = await initiateInstagramExport(username, data.data);
|
|
694
|
+
console.log('📤 [INSTAGRAM] Backend storage result:', exportResult);
|
|
695
|
+
}
|
|
696
|
+
setNewPlatformExportProgress(100);
|
|
697
|
+
setIsNewPlatformExporting(false);
|
|
698
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
699
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
700
|
+
setNewPlatformStatus('Connected!');
|
|
701
|
+
onSuccess('success');
|
|
702
|
+
setTimeout(() => {
|
|
703
|
+
if (onComplete) onComplete();
|
|
704
|
+
}, 2000);
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
// Instagram export error
|
|
709
|
+
if (data.type === 'INSTAGRAM_EXPORT_ERROR' && isInstagram) {
|
|
710
|
+
console.error('❌ [INSTAGRAM] Export error:', data.message);
|
|
711
|
+
setIsNewPlatformExporting(false);
|
|
712
|
+
setNewPlatformExportProgress(0);
|
|
713
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
714
|
+
newPlatformExtractionStartedRef.current = false;
|
|
715
|
+
setHasStartedNewPlatformExtraction(false);
|
|
716
|
+
_reactNative.Alert.alert('Export Failed', `Failed to export Instagram data: ${data.message}`, [{
|
|
717
|
+
text: 'Retry',
|
|
718
|
+
onPress: () => triggerNewPlatformExport()
|
|
719
|
+
}, {
|
|
720
|
+
text: 'Close',
|
|
721
|
+
onPress: onClose,
|
|
722
|
+
style: 'cancel'
|
|
723
|
+
}]);
|
|
724
|
+
return;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
// Sephora export progress
|
|
728
|
+
if (data.type === 'SEPHORA_EXPORT_PROGRESS' && isSephora) {
|
|
729
|
+
const progress = data.progress || 0;
|
|
730
|
+
console.log(`📊 [SEPHORA] Export progress: ${progress}% - ${data.message}`);
|
|
731
|
+
setNewPlatformExportProgress(progress);
|
|
732
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
733
|
+
_reactNative.Animated.timing(newPlatformProgressAnim, {
|
|
734
|
+
toValue: progress,
|
|
735
|
+
duration: 300,
|
|
736
|
+
useNativeDriver: false
|
|
737
|
+
}).start();
|
|
738
|
+
return;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
// Sephora export complete
|
|
742
|
+
if (data.type === 'SEPHORA_EXPORT_COMPLETE' && isSephora) {
|
|
743
|
+
console.log('✅ [SEPHORA] Export complete!', data.data);
|
|
744
|
+
setNewPlatformExportProgress(90);
|
|
745
|
+
setNewPlatformStatus('Storing data...');
|
|
746
|
+
if (data.data && username) {
|
|
747
|
+
console.log('📤 [SEPHORA] Storing data to backend...');
|
|
748
|
+
const exportResult = await initiateSephoraExport(username, data.data);
|
|
749
|
+
console.log('📤 [SEPHORA] Backend storage result:', exportResult);
|
|
750
|
+
}
|
|
751
|
+
setNewPlatformExportProgress(100);
|
|
752
|
+
setIsNewPlatformExporting(false);
|
|
753
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
754
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
755
|
+
setNewPlatformStatus('Connected!');
|
|
756
|
+
onSuccess('success');
|
|
757
|
+
setTimeout(() => {
|
|
758
|
+
if (onComplete) onComplete();
|
|
759
|
+
}, 2000);
|
|
760
|
+
return;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
// Sephora export error
|
|
764
|
+
if (data.type === 'SEPHORA_EXPORT_ERROR' && isSephora) {
|
|
765
|
+
console.error('❌ [SEPHORA] Export error:', data.message);
|
|
766
|
+
setIsNewPlatformExporting(false);
|
|
767
|
+
setNewPlatformExportProgress(0);
|
|
768
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
769
|
+
newPlatformExtractionStartedRef.current = false;
|
|
770
|
+
setHasStartedNewPlatformExtraction(false);
|
|
771
|
+
_reactNative.Alert.alert('Export Failed', `Failed to export Sephora data: ${data.message}`, [{
|
|
772
|
+
text: 'Retry',
|
|
773
|
+
onPress: () => triggerNewPlatformExport()
|
|
774
|
+
}, {
|
|
775
|
+
text: 'Close',
|
|
776
|
+
onPress: onClose,
|
|
777
|
+
style: 'cancel'
|
|
778
|
+
}]);
|
|
779
|
+
return;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
// Telegram export progress
|
|
783
|
+
if (data.type === 'TELEGRAM_EXPORT_PROGRESS' && isTelegram) {
|
|
784
|
+
const progress = data.progress || 0;
|
|
785
|
+
console.log(`📊 [TELEGRAM] Export progress: ${progress}% - ${data.message}`);
|
|
786
|
+
setNewPlatformExportProgress(progress);
|
|
787
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
788
|
+
_reactNative.Animated.timing(newPlatformProgressAnim, {
|
|
789
|
+
toValue: progress,
|
|
790
|
+
duration: 300,
|
|
791
|
+
useNativeDriver: false
|
|
792
|
+
}).start();
|
|
793
|
+
return;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
// Telegram export complete
|
|
797
|
+
if (data.type === 'TELEGRAM_EXPORT_COMPLETE' && isTelegram) {
|
|
798
|
+
console.log('✅ [TELEGRAM] Export complete!', data.data);
|
|
799
|
+
setNewPlatformExportProgress(90);
|
|
800
|
+
setNewPlatformStatus('Storing data...');
|
|
801
|
+
if (data.data && username) {
|
|
802
|
+
console.log('📤 [TELEGRAM] Storing data to backend...');
|
|
803
|
+
const exportResult = await initiateTelegramExport(username, data.data);
|
|
804
|
+
console.log('📤 [TELEGRAM] Backend storage result:', exportResult);
|
|
805
|
+
}
|
|
806
|
+
setNewPlatformExportProgress(100);
|
|
807
|
+
setIsNewPlatformExporting(false);
|
|
808
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
809
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
810
|
+
setNewPlatformStatus('Connected!');
|
|
811
|
+
onSuccess('success');
|
|
812
|
+
setTimeout(() => {
|
|
813
|
+
if (onComplete) onComplete();
|
|
814
|
+
}, 2000);
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
// Telegram export error
|
|
819
|
+
if (data.type === 'TELEGRAM_EXPORT_ERROR' && isTelegram) {
|
|
820
|
+
console.error('❌ [TELEGRAM] Export error:', data.message);
|
|
821
|
+
setIsNewPlatformExporting(false);
|
|
822
|
+
setNewPlatformExportProgress(0);
|
|
823
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
824
|
+
newPlatformExtractionStartedRef.current = false;
|
|
825
|
+
setHasStartedNewPlatformExtraction(false);
|
|
826
|
+
_reactNative.Alert.alert('Export Failed', `Failed to export Telegram data: ${data.message}`, [{
|
|
827
|
+
text: 'Retry',
|
|
828
|
+
onPress: () => triggerNewPlatformExport()
|
|
829
|
+
}, {
|
|
830
|
+
text: 'Close',
|
|
831
|
+
onPress: onClose,
|
|
832
|
+
style: 'cancel'
|
|
833
|
+
}]);
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
// Consent handling for new platforms
|
|
838
|
+
if (data.type === 'HINGE_CONSENT' || data.type === 'INSTAGRAM_CONSENT' || data.type === 'SEPHORA_CONSENT' || data.type === 'TELEGRAM_CONSENT') {
|
|
839
|
+
if (data.status === 'denied') {
|
|
840
|
+
console.log(`⛔ [${platform.toUpperCase()}] User denied consent`);
|
|
841
|
+
_reactNative.Alert.alert('Connection Cancelled', `You denied access to your ${platform} data.`, [{
|
|
842
|
+
text: 'OK',
|
|
843
|
+
onPress: onClose
|
|
844
|
+
}]);
|
|
845
|
+
} else if (data.status === 'allowed') {
|
|
846
|
+
console.log(`✅ [${platform.toUpperCase()}] User allowed consent`);
|
|
847
|
+
}
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
850
|
+
console.log(`📩 [${platform.toUpperCase()}] Unknown message type:`, data.type);
|
|
851
|
+
} catch (error) {
|
|
852
|
+
console.error(`❌ [${platform.toUpperCase()}] Error parsing WebView message:`, error);
|
|
853
|
+
}
|
|
854
|
+
}, [platform, username, onSuccess, onComplete, onClose, isLinkedIn, isChatGPT, isClaude, isHinge, isInstagram, isSephora, isTelegram, triggerChatGPTExport, triggerClaudeExport, triggerNewPlatformExport, initiateConversationExport, initiateClaudeExport, initiateHingeExport, initiateInstagramExport, initiateSephoraExport, initiateTelegramExport, storeMemories, newPlatformProgressAnim]);
|
|
855
|
+
|
|
856
|
+
/**
|
|
857
|
+
* Handle LinkedIn-specific navigation
|
|
858
|
+
*/
|
|
859
|
+
const handleLinkedInNavigation = (0, _react.useCallback)((navState, isLoadEnd = false) => {
|
|
860
|
+
const currentUrl = navState.url || '';
|
|
861
|
+
const urlLower = currentUrl.toLowerCase();
|
|
862
|
+
console.log(`🔍 [LINKEDIN] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
863
|
+
if ((0, _webviewScripts.isLinkedInOAuthCallback)(currentUrl)) {
|
|
864
|
+
console.log('💼 [LINKEDIN] On OAuth callback URL - connection successful!');
|
|
865
|
+
setExtractionStatus('Connected!');
|
|
866
|
+
|
|
867
|
+
// LinkedIn OAuth completed successfully - show success animation
|
|
868
|
+
// The backend has already processed the connection
|
|
869
|
+
if (!linkedInConnectionComplete) {
|
|
870
|
+
console.log('✅ [LINKEDIN] OAuth callback detected - showing success animation');
|
|
871
|
+
setLinkedInConnectionComplete(true);
|
|
872
|
+
setShowLinkedInSuccessAnimation(true);
|
|
873
|
+
|
|
874
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
875
|
+
// onSuccess triggers parent to close WebView, so delay it
|
|
876
|
+
setTimeout(() => {
|
|
877
|
+
onSuccess('success');
|
|
878
|
+
if (onComplete) onComplete();
|
|
879
|
+
}, 2000);
|
|
880
|
+
}
|
|
881
|
+
return;
|
|
882
|
+
}
|
|
883
|
+
const profilePage = (0, _webviewScripts.isLinkedInProfilePage)(currentUrl);
|
|
884
|
+
setIsOnProfilePage(profilePage);
|
|
885
|
+
if (profilePage) {
|
|
886
|
+
setLinkedInLoggedIn(true);
|
|
887
|
+
console.log('✅ [LINKEDIN] On profile page');
|
|
888
|
+
|
|
889
|
+
// TODO: LinkedIn DOM scraping is disabled for now - using URL extraction instead
|
|
890
|
+
// To enable DOM scraping, uncomment the block below and comment out the URL extraction block
|
|
891
|
+
/*
|
|
892
|
+
if (!hasStartedAutoExtraction && !isExtracting && isLoadEnd && !navState.loading && !hasStartedLinkedInProfileScraping) {
|
|
893
|
+
console.log('🚀 [LINKEDIN] Auto-triggering profile DOM scraping...');
|
|
894
|
+
setHasStartedAutoExtraction(true);
|
|
895
|
+
|
|
896
|
+
setTimeout(() => {
|
|
897
|
+
if (webViewRef.current) {
|
|
898
|
+
console.log('💉 [LINKEDIN] Showing consent popup and starting DOM scraping...');
|
|
899
|
+
setIsExtracting(true);
|
|
900
|
+
setExtractionStatus('Preparing extraction...');
|
|
901
|
+
// Use new DOM scraping flow instead of URL extraction
|
|
902
|
+
triggerLinkedInProfileScraping();
|
|
903
|
+
}
|
|
904
|
+
}, 1500);
|
|
905
|
+
}
|
|
906
|
+
*/
|
|
907
|
+
|
|
908
|
+
// Using legacy URL extraction flow (backend Apify scraping)
|
|
909
|
+
if (!hasStartedAutoExtraction && !isExtracting && isLoadEnd && !navState.loading) {
|
|
910
|
+
console.log('🚀 [LINKEDIN] Auto-triggering profile URL extraction...');
|
|
911
|
+
setHasStartedAutoExtraction(true);
|
|
912
|
+
setTimeout(() => {
|
|
913
|
+
if (webViewRef.current) {
|
|
914
|
+
console.log('💉 [LINKEDIN] Auto-injecting profile extraction script...');
|
|
915
|
+
setIsExtracting(true);
|
|
916
|
+
setExtractionStatus('Connecting');
|
|
917
|
+
webViewRef.current.injectJavaScript(_webviewScripts.LINKEDIN_PROFILE_EXTRACTOR_SCRIPT);
|
|
918
|
+
}
|
|
919
|
+
}, 1000);
|
|
920
|
+
}
|
|
921
|
+
return;
|
|
922
|
+
}
|
|
923
|
+
if (!urlLower.includes('linkedin.com')) {
|
|
924
|
+
return;
|
|
925
|
+
}
|
|
926
|
+
if ((0, _webviewScripts.isLinkedInLoginPage)(currentUrl)) {
|
|
927
|
+
console.log('🔍 [LINKEDIN] On login page - waiting for user to log in...');
|
|
928
|
+
setLinkedInLoggedIn(false);
|
|
929
|
+
setHasAutoNavigatedToProfile(false);
|
|
930
|
+
return;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
// 🚀 OPTIMIZATION: Navigate to profile IMMEDIATELY when we detect user is logged in
|
|
934
|
+
// Don't wait for page to fully load - just redirect as soon as we're on a non-login LinkedIn page
|
|
935
|
+
if (!hasAutoNavigatedToProfile) {
|
|
936
|
+
console.log('🚀 [LINKEDIN] User logged in! Immediately navigating to profile...');
|
|
937
|
+
setExtractionStatus('Connecting');
|
|
938
|
+
setLinkedInLoggedIn(true);
|
|
939
|
+
setHasAutoNavigatedToProfile(true);
|
|
940
|
+
|
|
941
|
+
// Navigate immediately - no delay to avoid showing the feed
|
|
942
|
+
if (webViewRef.current) {
|
|
943
|
+
console.log('🚀 [LINKEDIN] Navigating directly to /me...');
|
|
944
|
+
webViewRef.current.injectJavaScript(`
|
|
945
|
+
window.location.href = 'https://www.linkedin.com/me';
|
|
946
|
+
true;
|
|
947
|
+
`);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
}, [hasStartedAutoExtraction, isExtracting, hasAutoNavigatedToProfile, linkedInConnectionComplete, hasStartedLinkedInProfileScraping, triggerLinkedInProfileScraping, onSuccess, onComplete]);
|
|
951
|
+
|
|
952
|
+
/**
|
|
953
|
+
* Handle ChatGPT-specific navigation - detect login and trigger export
|
|
954
|
+
*/
|
|
955
|
+
const handleChatGPTNavigation = (0, _react.useCallback)((navState, isLoadEnd = false) => {
|
|
956
|
+
const currentUrl = navState.url || '';
|
|
957
|
+
const urlLower = currentUrl.toLowerCase();
|
|
958
|
+
console.log(`🔍 [CHATGPT] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
959
|
+
console.log(`🔍 [CHATGPT] State: loggedIn=${chatGPTLoggedIn}, exporting=${isChatGPTExporting}, started=${hasStartedChatGPTExtraction}`);
|
|
960
|
+
|
|
961
|
+
// Check if on login/auth pages
|
|
962
|
+
const isOnAuthPage = urlLower.includes('/auth/login') || urlLower.includes('auth.openai.com') || urlLower.includes('/login') || urlLower.includes('/signup') || urlLower.includes('/api/auth/');
|
|
963
|
+
|
|
964
|
+
// Check if on main ChatGPT page (logged in)
|
|
965
|
+
const isOnMainPage = (urlLower.includes('chatgpt.com') || urlLower.includes('chat.openai.com')) && !isOnAuthPage && !urlLower.includes('/api/') && !navState.loading;
|
|
966
|
+
if (isOnAuthPage) {
|
|
967
|
+
console.log('🔐 [CHATGPT] On auth/login page - waiting for user to log in...');
|
|
968
|
+
setChatGPTLoggedIn(false);
|
|
969
|
+
return;
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
// User logged in - trigger extraction
|
|
973
|
+
if (isOnMainPage && !chatGPTLoggedIn && !hasStartedChatGPTExtraction && !chatGPTExtractionStartedRef.current && isLoadEnd) {
|
|
974
|
+
console.log('✅ [CHATGPT] User logged in! Detected main page navigation');
|
|
975
|
+
setChatGPTLoggedIn(true);
|
|
976
|
+
|
|
977
|
+
// Small delay to ensure page is fully loaded
|
|
978
|
+
setTimeout(() => {
|
|
979
|
+
triggerChatGPTExport();
|
|
980
|
+
}, 2000);
|
|
981
|
+
}
|
|
982
|
+
}, [chatGPTLoggedIn, isChatGPTExporting, hasStartedChatGPTExtraction, triggerChatGPTExport]);
|
|
983
|
+
|
|
984
|
+
/**
|
|
985
|
+
* Handle Claude-specific navigation - detect login and trigger export
|
|
986
|
+
*/
|
|
987
|
+
const handleClaudeNavigation = (0, _react.useCallback)((navState, isLoadEnd = false) => {
|
|
988
|
+
const currentUrl = navState.url || '';
|
|
989
|
+
const urlLower = currentUrl.toLowerCase();
|
|
990
|
+
console.log(`🔍 [CLAUDE] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
991
|
+
|
|
992
|
+
// Check if on login page
|
|
993
|
+
const isOnLoginPage = urlLower.includes('/login') || urlLower.includes('/auth') || urlLower.includes('/signin');
|
|
994
|
+
|
|
995
|
+
// Check if on main Claude page (logged in)
|
|
996
|
+
const isOnMainPage = urlLower.includes('claude.ai') && !isOnLoginPage && !navState.loading;
|
|
997
|
+
if (isOnLoginPage) {
|
|
998
|
+
console.log('🔐 [CLAUDE] On login page - waiting for user to log in...');
|
|
999
|
+
setClaudeLoggedIn(false);
|
|
1000
|
+
return;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
// User logged in - trigger extraction
|
|
1004
|
+
if (isOnMainPage && !claudeLoggedIn && !hasStartedClaudeExtraction && !claudeExtractionStartedRef.current && isLoadEnd) {
|
|
1005
|
+
console.log('✅ [CLAUDE] User logged in! Detected main page navigation');
|
|
1006
|
+
setClaudeLoggedIn(true);
|
|
1007
|
+
setTimeout(() => {
|
|
1008
|
+
triggerClaudeExport();
|
|
1009
|
+
}, 2000);
|
|
1010
|
+
}
|
|
1011
|
+
}, [claudeLoggedIn, hasStartedClaudeExtraction, triggerClaudeExport]);
|
|
1012
|
+
|
|
1013
|
+
/**
|
|
1014
|
+
* Handle new platforms navigation (Hinge, Instagram, Sephora) - detect login and trigger export
|
|
1015
|
+
*/
|
|
1016
|
+
const handleNewPlatformNavigation = (0, _react.useCallback)((navState, isLoadEnd = false) => {
|
|
1017
|
+
const currentUrl = navState.url || '';
|
|
1018
|
+
const urlLower = currentUrl.toLowerCase();
|
|
1019
|
+
console.log(`🔍 [${platform.toUpperCase()}] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
1020
|
+
|
|
1021
|
+
// Determine login page patterns based on platform
|
|
1022
|
+
let isOnLoginPage = false;
|
|
1023
|
+
let isOnMainPage = false;
|
|
1024
|
+
if (isHinge) {
|
|
1025
|
+
isOnLoginPage = urlLower.includes('/login') || urlLower.includes('/auth') || urlLower.includes('/signup');
|
|
1026
|
+
isOnMainPage = urlLower.includes('hinge.co') && !isOnLoginPage && !navState.loading;
|
|
1027
|
+
} else if (isInstagram) {
|
|
1028
|
+
isOnLoginPage = urlLower.includes('/accounts/login') || urlLower.includes('/accounts/signup') || urlLower.includes('/challenge');
|
|
1029
|
+
isOnMainPage = urlLower.includes('instagram.com') && !isOnLoginPage && !navState.loading;
|
|
1030
|
+
} else if (isSephora) {
|
|
1031
|
+
isOnLoginPage = urlLower.includes('/login') || urlLower.includes('/signin') || urlLower.includes('/registration');
|
|
1032
|
+
isOnMainPage = urlLower.includes('sephora.com') && !isOnLoginPage && !navState.loading;
|
|
1033
|
+
} else if (isTelegram) {
|
|
1034
|
+
// Telegram Web shows QR code login or phone number auth
|
|
1035
|
+
isOnLoginPage = urlLower.includes('/auth') || !urlLower.includes('#'); // No hash means still loading/auth
|
|
1036
|
+
isOnMainPage = urlLower.includes('web.telegram.org') && urlLower.includes('#') &&
|
|
1037
|
+
// Has hash (app loaded)
|
|
1038
|
+
!isOnLoginPage && !navState.loading;
|
|
1039
|
+
}
|
|
1040
|
+
if (isOnLoginPage) {
|
|
1041
|
+
console.log(`🔐 [${platform.toUpperCase()}] On login page - waiting for user to log in...`);
|
|
1042
|
+
setNewPlatformLoggedIn(false);
|
|
1043
|
+
return;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// User logged in - trigger extraction
|
|
1047
|
+
if (isOnMainPage && !newPlatformLoggedIn && !hasStartedNewPlatformExtraction && !newPlatformExtractionStartedRef.current && isLoadEnd) {
|
|
1048
|
+
console.log(`✅ [${platform.toUpperCase()}] User logged in! Detected main page navigation`);
|
|
1049
|
+
setNewPlatformLoggedIn(true);
|
|
1050
|
+
setTimeout(() => {
|
|
1051
|
+
triggerNewPlatformExport();
|
|
1052
|
+
}, 2000);
|
|
1053
|
+
}
|
|
1054
|
+
}, [platform, isHinge, isInstagram, isSephora, isTelegram, newPlatformLoggedIn, hasStartedNewPlatformExtraction, triggerNewPlatformExport]);
|
|
1055
|
+
|
|
1056
|
+
/**
|
|
1057
|
+
* Handle navigation state changes
|
|
1058
|
+
*/
|
|
1059
|
+
const handleNavigationStateChange = navState => {
|
|
1060
|
+
console.log(`Navigation state changed for ${platform}:`, navState.url);
|
|
1061
|
+
|
|
1062
|
+
// LinkedIn Platform Flow
|
|
1063
|
+
if (isLinkedIn) {
|
|
1064
|
+
handleLinkedInNavigation(navState);
|
|
1065
|
+
try {
|
|
1066
|
+
const url = new URL(navState.url);
|
|
1067
|
+
const hasCode = url.searchParams.has('code');
|
|
1068
|
+
const hasAccessToken = url.searchParams.has('access_token');
|
|
1069
|
+
if (hasCode || hasAccessToken) {
|
|
1070
|
+
console.log(`✅ [LINKEDIN] OAuth SUCCESS - Authorization code/token received`);
|
|
1071
|
+
setLinkedInLoggedIn(true);
|
|
1072
|
+
setTimeout(() => {
|
|
1073
|
+
if (webViewRef.current) {
|
|
1074
|
+
console.log('💼 [LINKEDIN] Navigating to profile page...');
|
|
1075
|
+
setExtractionStatus('Connecting');
|
|
1076
|
+
webViewRef.current.injectJavaScript(`
|
|
1077
|
+
window.location.href = 'https://www.linkedin.com/me';
|
|
1078
|
+
true;
|
|
1079
|
+
`);
|
|
1080
|
+
}
|
|
1081
|
+
}, 500);
|
|
1082
|
+
return;
|
|
1083
|
+
}
|
|
1084
|
+
} catch (e) {
|
|
1085
|
+
// URL parsing failed
|
|
1086
|
+
}
|
|
1087
|
+
return;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
// ChatGPT Platform Flow
|
|
1091
|
+
if (isChatGPT) {
|
|
1092
|
+
handleChatGPTNavigation(navState);
|
|
1093
|
+
return;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
// Claude Platform Flow
|
|
1097
|
+
if (isClaude) {
|
|
1098
|
+
handleClaudeNavigation(navState);
|
|
1099
|
+
return;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
// New Platforms Flow (Hinge, Instagram, Sephora)
|
|
1103
|
+
if (isNewPlatform) {
|
|
1104
|
+
handleNewPlatformNavigation(navState);
|
|
1105
|
+
return;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
// Other LLM Platform Flow
|
|
1109
|
+
if (isLLM) {
|
|
1110
|
+
if ((0, _webviewScripts.isLoggedInUrl)(navState.url, platform)) {
|
|
1111
|
+
console.log(`✅ [${platform.toUpperCase()}] Login detected!`);
|
|
1112
|
+
}
|
|
1113
|
+
return;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
// OAuth Flow: Check for callback URLs
|
|
1117
|
+
const isFinalRedirect = navState.url.includes('onairos.uk/Home') || navState.url.includes('onairos.uk/home') || navState.url.includes('onairos.uk/success') || navState.url.startsWith('https://onairos.uk/Home') || navState.url.startsWith('https://onairos.uk/home');
|
|
1118
|
+
|
|
1119
|
+
// Check for oauth-callback.html success URL (used by Reddit, Pinterest, etc.)
|
|
1120
|
+
const isOAuthCallbackSuccess = navState.url.includes('oauth-callback.html') && navState.url.includes('success=true');
|
|
1121
|
+
if (isFinalRedirect || isOAuthCallbackSuccess) {
|
|
1122
|
+
console.log(`✅ ${platform} OAuth completed - backend callback finished, URL: ${navState.url}`);
|
|
1123
|
+
|
|
1124
|
+
// Show success animation with brand color before closing
|
|
1125
|
+
setShowOAuthSuccessAnimation(true);
|
|
1126
|
+
|
|
1127
|
+
// Delay calling onSuccess to show the animation for 2 seconds
|
|
1128
|
+
setTimeout(() => {
|
|
1129
|
+
onSuccess('success');
|
|
1130
|
+
if (onComplete) onComplete();
|
|
1131
|
+
}, 2000);
|
|
1132
|
+
return;
|
|
1133
|
+
}
|
|
1134
|
+
};
|
|
1135
|
+
|
|
1136
|
+
/**
|
|
1137
|
+
* Handle onLoadEnd
|
|
1138
|
+
*/
|
|
1139
|
+
const handleLoadEnd = syntheticEvent => {
|
|
1140
|
+
const currentUrl = syntheticEvent.nativeEvent.url;
|
|
1141
|
+
console.log(`📄 [LOAD END] Page loaded: ${currentUrl}`);
|
|
1142
|
+
setIsLoading(false);
|
|
1143
|
+
if (isLinkedIn) {
|
|
1144
|
+
handleLinkedInNavigation({
|
|
1145
|
+
url: currentUrl,
|
|
1146
|
+
loading: false
|
|
1147
|
+
}, true);
|
|
1148
|
+
} else if (isChatGPT) {
|
|
1149
|
+
handleChatGPTNavigation({
|
|
1150
|
+
url: currentUrl,
|
|
1151
|
+
loading: false
|
|
1152
|
+
}, true);
|
|
1153
|
+
} else if (isClaude) {
|
|
1154
|
+
handleClaudeNavigation({
|
|
1155
|
+
url: currentUrl,
|
|
1156
|
+
loading: false
|
|
1157
|
+
}, true);
|
|
1158
|
+
} else if (isNewPlatform) {
|
|
1159
|
+
handleNewPlatformNavigation({
|
|
1160
|
+
url: currentUrl,
|
|
1161
|
+
loading: false
|
|
1162
|
+
}, true);
|
|
1163
|
+
}
|
|
1164
|
+
};
|
|
1165
|
+
|
|
1166
|
+
/**
|
|
1167
|
+
* Prevent LinkedIn app from opening
|
|
1168
|
+
*/
|
|
1169
|
+
const handleShouldStartLoadWithRequest = request => {
|
|
1170
|
+
const requestUrl = request.url || '';
|
|
1171
|
+
const urlLower = requestUrl.toLowerCase();
|
|
1172
|
+
if (isLinkedIn) {
|
|
1173
|
+
const blockedSchemes = ['linkedin://', 'linkedinapp://', 'linkedinssl://', 'linkedin-mobile://'];
|
|
1174
|
+
const isBlockedScheme = blockedSchemes.some(scheme => urlLower.startsWith(scheme));
|
|
1175
|
+
if (isBlockedScheme) {
|
|
1176
|
+
console.log('🚫 [LINKEDIN] Blocked app deep link:', requestUrl);
|
|
1177
|
+
return false;
|
|
1178
|
+
}
|
|
1179
|
+
if (urlLower.startsWith('intent://') && urlLower.includes('linkedin')) {
|
|
1180
|
+
console.log('🚫 [LINKEDIN] Blocked intent:// deep link:', requestUrl);
|
|
1181
|
+
return false;
|
|
1182
|
+
}
|
|
1183
|
+
if (urlLower.startsWith('http://') || urlLower.startsWith('https://')) {
|
|
1184
|
+
return true;
|
|
1185
|
+
}
|
|
1186
|
+
if (urlLower.startsWith('about:')) {
|
|
1187
|
+
return true;
|
|
1188
|
+
}
|
|
1189
|
+
console.log('🚫 [LINKEDIN] Blocked non-HTTP scheme:', requestUrl);
|
|
1190
|
+
return false;
|
|
1191
|
+
}
|
|
1192
|
+
return true;
|
|
1193
|
+
};
|
|
1194
|
+
|
|
1195
|
+
/**
|
|
1196
|
+
* Get injected JavaScript for anti-detection
|
|
1197
|
+
*/
|
|
1198
|
+
const getInjectedJavaScriptBeforeLoad = () => {
|
|
1199
|
+
if (isLLM || isLinkedIn || isNewPlatform) {
|
|
1200
|
+
return (0, _webviewScripts.getAntiDetectionScript)(platform);
|
|
1201
|
+
}
|
|
1202
|
+
return undefined;
|
|
1203
|
+
};
|
|
1204
|
+
|
|
1205
|
+
// Determine if we're showing export progress (ChatGPT only - Claude uses full-screen overlay)
|
|
1206
|
+
const showExportProgress = isChatGPT && isChatGPTExporting;
|
|
1207
|
+
const currentExportProgress = chatGPTExportProgress;
|
|
1208
|
+
const progressAnim = chatGPTProgressAnim;
|
|
1209
|
+
|
|
1210
|
+
// Determine if showing success animation
|
|
1211
|
+
const showSuccessAnimation = showLinkedInSuccessAnimation || showChatGPTSuccessAnimation || showClaudeSuccessAnimation || showOAuthSuccessAnimation || showNewPlatformSuccessAnimation;
|
|
1212
|
+
|
|
1213
|
+
// Brand colors for all platforms
|
|
1214
|
+
const getPlatformBrandColor = platformName => {
|
|
1215
|
+
const colors = {
|
|
1216
|
+
linkedin: '#0077B5',
|
|
1217
|
+
// LinkedIn Blue
|
|
1218
|
+
chatgpt: '#10A37F',
|
|
1219
|
+
// ChatGPT Green
|
|
1220
|
+
openai: '#10A37F',
|
|
1221
|
+
// OpenAI Green
|
|
1222
|
+
claude: '#D97706',
|
|
1223
|
+
// Claude Amber
|
|
1224
|
+
anthropic: '#D97706',
|
|
1225
|
+
// Anthropic Amber
|
|
1226
|
+
reddit: '#FF4500',
|
|
1227
|
+
// Reddit Orange
|
|
1228
|
+
youtube: '#FF0000',
|
|
1229
|
+
// YouTube Red
|
|
1230
|
+
pinterest: '#E60023',
|
|
1231
|
+
// Pinterest Red
|
|
1232
|
+
gmail: '#EA4335',
|
|
1233
|
+
// Google Red
|
|
1234
|
+
gemini: '#4285F4',
|
|
1235
|
+
// Gemini Blue
|
|
1236
|
+
grok: '#000000',
|
|
1237
|
+
// Grok Black
|
|
1238
|
+
// New platforms
|
|
1239
|
+
hinge: '#7C3AED',
|
|
1240
|
+
// Hinge Purple
|
|
1241
|
+
instagram: '#E1306C',
|
|
1242
|
+
// Instagram Pink/Magenta
|
|
1243
|
+
sephora: '#000000',
|
|
1244
|
+
// Sephora Black
|
|
1245
|
+
telegram: '#0088CC' // Telegram Blue
|
|
1246
|
+
};
|
|
1247
|
+
return colors[platformName.toLowerCase()] || '#10B981'; // Default to green
|
|
1248
|
+
};
|
|
1249
|
+
const successColor = getPlatformBrandColor(platform);
|
|
1250
|
+
|
|
1251
|
+
// Trigger checkmark scale animation when success animation shows
|
|
1252
|
+
_react.default.useEffect(() => {
|
|
1253
|
+
if (showSuccessAnimation) {
|
|
1254
|
+
// Reset animation values
|
|
1255
|
+
checkmarkScaleAnim.setValue(0);
|
|
1256
|
+
checkmarkOpacityAnim.setValue(0);
|
|
1257
|
+
|
|
1258
|
+
// Pop/scale animation sequence
|
|
1259
|
+
_reactNative.Animated.sequence([
|
|
1260
|
+
// Quick fade in
|
|
1261
|
+
_reactNative.Animated.timing(checkmarkOpacityAnim, {
|
|
1262
|
+
toValue: 1,
|
|
1263
|
+
duration: 150,
|
|
1264
|
+
useNativeDriver: true
|
|
1265
|
+
})]).start();
|
|
1266
|
+
|
|
1267
|
+
// Bouncy scale animation (runs in parallel)
|
|
1268
|
+
_reactNative.Animated.spring(checkmarkScaleAnim, {
|
|
1269
|
+
toValue: 1,
|
|
1270
|
+
friction: 4,
|
|
1271
|
+
tension: 100,
|
|
1272
|
+
useNativeDriver: true
|
|
1273
|
+
}).start();
|
|
1274
|
+
}
|
|
1275
|
+
}, [showSuccessAnimation, checkmarkScaleAnim, checkmarkOpacityAnim]);
|
|
1276
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1277
|
+
style: styles.modalContainer
|
|
1278
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
|
|
1279
|
+
style: styles.container
|
|
1280
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1281
|
+
style: styles.header
|
|
1282
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1283
|
+
style: styles.title
|
|
1284
|
+
}, "Connect ", platform.charAt(0).toUpperCase() + platform.slice(1)), timeoutReached && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1285
|
+
style: styles.timeoutText
|
|
1286
|
+
}, "Taking longer than expected..."), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
1287
|
+
onPress: onClose,
|
|
1288
|
+
style: styles.closeButton
|
|
1289
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1290
|
+
style: styles.closeButtonText
|
|
1291
|
+
}, "\u2715"))), isLinkedInConnecting && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1292
|
+
style: styles.linkedinProgressContainer
|
|
1293
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1294
|
+
style: styles.linkedinProgressTrack
|
|
1295
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
1296
|
+
style: [styles.linkedinProgressIndicator, {
|
|
1297
|
+
transform: [{
|
|
1298
|
+
translateX: linkedinProgressAnim.interpolate({
|
|
1299
|
+
inputRange: [0, 1],
|
|
1300
|
+
outputRange: [0, width - 120] // Slide across the screen (minus indicator width and padding)
|
|
1301
|
+
})
|
|
1302
|
+
}]
|
|
1303
|
+
}]
|
|
1304
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1305
|
+
style: styles.linkedinProgressText
|
|
1306
|
+
}, "Connecting to LinkedIn...")), showExportProgress && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1307
|
+
style: styles.exportProgressContainer
|
|
1308
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1309
|
+
style: styles.progressBarContainer
|
|
1310
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
1311
|
+
style: [styles.progressBar, {
|
|
1312
|
+
width: progressAnim.interpolate({
|
|
1313
|
+
inputRange: [0, 100],
|
|
1314
|
+
outputRange: ['0%', '100%']
|
|
1315
|
+
}),
|
|
1316
|
+
backgroundColor: successColor
|
|
1317
|
+
}]
|
|
1318
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1319
|
+
style: styles.progressText
|
|
1320
|
+
}, currentExportProgress < 100 ? `Exporting... ${Math.round(currentExportProgress)}%` : 'Complete!')), isClaude && showClaudeExtractionAnimation && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1321
|
+
style: styles.claudeExtractionOverlay
|
|
1322
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1323
|
+
style: styles.extractionContent
|
|
1324
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
1325
|
+
size: "large",
|
|
1326
|
+
color: "#D97706"
|
|
1327
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1328
|
+
style: styles.claudeExtractionTitle
|
|
1329
|
+
}, "Extracting Data"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1330
|
+
style: styles.claudeExtractionSubtitle
|
|
1331
|
+
}, claudeStatus), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1332
|
+
style: styles.claudeExtractionProgressContainer
|
|
1333
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
1334
|
+
style: [styles.claudeExtractionProgressFill, {
|
|
1335
|
+
width: claudeProgressAnim.interpolate({
|
|
1336
|
+
inputRange: [0, 100],
|
|
1337
|
+
outputRange: ['0%', '100%']
|
|
1338
|
+
})
|
|
1339
|
+
}]
|
|
1340
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1341
|
+
style: styles.claudeExtractionProgressText
|
|
1342
|
+
}, Math.round(claudeExportProgress), "%"))), isNewPlatform && showNewPlatformExtractionAnimation && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1343
|
+
style: styles.newPlatformExtractionOverlay
|
|
1344
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1345
|
+
style: styles.extractionContent
|
|
1346
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
1347
|
+
size: "large",
|
|
1348
|
+
color: successColor
|
|
1349
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1350
|
+
style: styles.newPlatformExtractionTitle
|
|
1351
|
+
}, "Extracting Data"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1352
|
+
style: styles.newPlatformExtractionSubtitle
|
|
1353
|
+
}, newPlatformStatus), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1354
|
+
style: styles.newPlatformExtractionProgressContainer
|
|
1355
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
1356
|
+
style: [styles.newPlatformExtractionProgressFill, {
|
|
1357
|
+
backgroundColor: successColor,
|
|
1358
|
+
width: newPlatformProgressAnim.interpolate({
|
|
1359
|
+
inputRange: [0, 100],
|
|
1360
|
+
outputRange: ['0%', '100%']
|
|
1361
|
+
})
|
|
1362
|
+
}]
|
|
1363
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1364
|
+
style: [styles.newPlatformExtractionProgressText, {
|
|
1365
|
+
color: successColor
|
|
1366
|
+
}]
|
|
1367
|
+
}, Math.round(newPlatformExportProgress), "%"))), showSuccessAnimation && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1368
|
+
style: styles.successOverlay
|
|
1369
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
1370
|
+
style: [styles.successCheckmark, {
|
|
1371
|
+
backgroundColor: successColor,
|
|
1372
|
+
transform: [{
|
|
1373
|
+
scale: checkmarkScaleAnim
|
|
1374
|
+
}],
|
|
1375
|
+
opacity: checkmarkOpacityAnim
|
|
1376
|
+
}]
|
|
1377
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1378
|
+
style: styles.successCheckmarkIcon
|
|
1379
|
+
}, "\u2713")), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.Text, {
|
|
1380
|
+
style: [styles.successText, {
|
|
1381
|
+
opacity: checkmarkOpacityAnim
|
|
1382
|
+
}]
|
|
1383
|
+
}, "Connected!")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1384
|
+
style: styles.webViewContainer
|
|
1385
|
+
}, isLoading && !showExportProgress && !showSuccessAnimation && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
1386
|
+
style: styles.loadingContainer
|
|
1387
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
1388
|
+
size: "large",
|
|
1389
|
+
color: successColor
|
|
1390
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1391
|
+
style: styles.loadingText
|
|
1392
|
+
}, "Loading ", platform, "..."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
1393
|
+
style: styles.loadingHint
|
|
1394
|
+
}, "Please log in to your ", platform, " account")), /*#__PURE__*/_react.default.createElement(_reactNativeWebview.WebView, {
|
|
1395
|
+
ref: webViewRef,
|
|
1396
|
+
source: {
|
|
1397
|
+
uri: url
|
|
1398
|
+
},
|
|
1399
|
+
onShouldStartLoadWithRequest: handleShouldStartLoadWithRequest,
|
|
1400
|
+
onNavigationStateChange: handleNavigationStateChange,
|
|
1401
|
+
onLoadStart: () => setIsLoading(true),
|
|
1402
|
+
onLoadEnd: handleLoadEnd,
|
|
1403
|
+
onMessage: handleWebViewMessage,
|
|
1404
|
+
injectedJavaScriptBeforeContentLoaded: getInjectedJavaScriptBeforeLoad(),
|
|
1405
|
+
style: styles.webView,
|
|
1406
|
+
javaScriptEnabled: true,
|
|
1407
|
+
domStorageEnabled: true,
|
|
1408
|
+
cacheEnabled: !isLinkedIn,
|
|
1409
|
+
incognito: isLinkedIn,
|
|
1410
|
+
thirdPartyCookiesEnabled: !isLinkedIn,
|
|
1411
|
+
sharedCookiesEnabled: !isLinkedIn,
|
|
1412
|
+
userAgent: (0, _webviewScripts.getPlatformUserAgent)(platform),
|
|
1413
|
+
originWhitelist: ['https://*', 'http://*'],
|
|
1414
|
+
allowsBackForwardNavigationGestures: true,
|
|
1415
|
+
setSupportMultipleWindows: false,
|
|
1416
|
+
onError: syntheticEvent => {
|
|
1417
|
+
const {
|
|
1418
|
+
nativeEvent
|
|
1419
|
+
} = syntheticEvent;
|
|
1420
|
+
console.error(`WebView error for ${platform}:`, nativeEvent);
|
|
1421
|
+
},
|
|
1422
|
+
onHttpError: syntheticEvent => {
|
|
1423
|
+
const {
|
|
1424
|
+
nativeEvent
|
|
1425
|
+
} = syntheticEvent;
|
|
1426
|
+
console.error(`WebView HTTP error for ${platform}: ${nativeEvent.statusCode}`, nativeEvent.url);
|
|
1427
|
+
if (nativeEvent.url && nativeEvent.url.includes('onairos.uk')) {
|
|
1428
|
+
console.log('HTTP error on onairos.uk domain - treating as potential success');
|
|
1429
|
+
onSuccess('success');
|
|
1430
|
+
if (onComplete) {
|
|
1431
|
+
setTimeout(() => onComplete(), 1000);
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1435
|
+
}))));
|
|
1436
|
+
};
|
|
1437
|
+
exports.OAuthWebView = OAuthWebView;
|
|
1438
|
+
const styles = _reactNative.StyleSheet.create({
|
|
1439
|
+
modalContainer: {
|
|
1440
|
+
position: 'absolute',
|
|
1441
|
+
top: 0,
|
|
1442
|
+
left: 0,
|
|
1443
|
+
right: 0,
|
|
1444
|
+
bottom: 0,
|
|
1445
|
+
width: width,
|
|
1446
|
+
height: height,
|
|
1447
|
+
backgroundColor: '#fff',
|
|
1448
|
+
zIndex: 9999,
|
|
1449
|
+
borderTopLeftRadius: 20,
|
|
1450
|
+
borderTopRightRadius: 20,
|
|
1451
|
+
overflow: 'hidden'
|
|
1452
|
+
},
|
|
1453
|
+
container: {
|
|
1454
|
+
flex: 1,
|
|
1455
|
+
backgroundColor: '#fff',
|
|
1456
|
+
width: width,
|
|
1457
|
+
height: height,
|
|
1458
|
+
position: 'absolute',
|
|
1459
|
+
top: 0,
|
|
1460
|
+
left: 0,
|
|
1461
|
+
right: 0,
|
|
1462
|
+
bottom: 0,
|
|
1463
|
+
zIndex: 999,
|
|
1464
|
+
borderTopLeftRadius: 20,
|
|
1465
|
+
borderTopRightRadius: 20,
|
|
1466
|
+
overflow: 'hidden'
|
|
1467
|
+
},
|
|
1468
|
+
header: {
|
|
1469
|
+
flexDirection: 'row',
|
|
1470
|
+
alignItems: 'center',
|
|
1471
|
+
justifyContent: 'space-between',
|
|
1472
|
+
paddingHorizontal: 16,
|
|
1473
|
+
paddingVertical: 8,
|
|
1474
|
+
borderBottomWidth: 1,
|
|
1475
|
+
borderBottomColor: '#E5E5E5',
|
|
1476
|
+
backgroundColor: '#fff',
|
|
1477
|
+
zIndex: 1000
|
|
1478
|
+
},
|
|
1479
|
+
title: {
|
|
1480
|
+
fontSize: 18,
|
|
1481
|
+
fontWeight: '600',
|
|
1482
|
+
color: '#333',
|
|
1483
|
+
flex: 1,
|
|
1484
|
+
textAlign: 'center'
|
|
1485
|
+
},
|
|
1486
|
+
closeButton: {
|
|
1487
|
+
padding: 8
|
|
1488
|
+
},
|
|
1489
|
+
closeButtonText: {
|
|
1490
|
+
fontSize: 20,
|
|
1491
|
+
color: '#666'
|
|
1492
|
+
},
|
|
1493
|
+
webViewContainer: {
|
|
1494
|
+
flex: 1,
|
|
1495
|
+
width: width,
|
|
1496
|
+
height: height - 60
|
|
1497
|
+
},
|
|
1498
|
+
webView: {
|
|
1499
|
+
flex: 1,
|
|
1500
|
+
width: '100%',
|
|
1501
|
+
height: '100%'
|
|
1502
|
+
},
|
|
1503
|
+
loadingContainer: {
|
|
1504
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
1505
|
+
alignItems: 'center',
|
|
1506
|
+
justifyContent: 'center',
|
|
1507
|
+
backgroundColor: 'rgba(255, 255, 255, 0.9)',
|
|
1508
|
+
zIndex: 1
|
|
1509
|
+
},
|
|
1510
|
+
loadingText: {
|
|
1511
|
+
marginTop: 12,
|
|
1512
|
+
fontSize: 16,
|
|
1513
|
+
color: '#666'
|
|
1514
|
+
},
|
|
1515
|
+
loadingHint: {
|
|
1516
|
+
marginTop: 8,
|
|
1517
|
+
fontSize: 14,
|
|
1518
|
+
color: '#999',
|
|
1519
|
+
textAlign: 'center',
|
|
1520
|
+
paddingHorizontal: 40
|
|
1521
|
+
},
|
|
1522
|
+
timeoutText: {
|
|
1523
|
+
fontSize: 12,
|
|
1524
|
+
color: '#FF6B6B',
|
|
1525
|
+
textAlign: 'center',
|
|
1526
|
+
marginTop: 4
|
|
1527
|
+
},
|
|
1528
|
+
// LinkedIn-specific styles - Smooth sliding progress bar
|
|
1529
|
+
linkedinProgressContainer: {
|
|
1530
|
+
paddingHorizontal: 16,
|
|
1531
|
+
paddingVertical: 12,
|
|
1532
|
+
backgroundColor: '#FAFBFC',
|
|
1533
|
+
borderBottomWidth: 1,
|
|
1534
|
+
borderBottomColor: '#E5E5E5',
|
|
1535
|
+
alignItems: 'center'
|
|
1536
|
+
},
|
|
1537
|
+
linkedinProgressTrack: {
|
|
1538
|
+
width: '100%',
|
|
1539
|
+
height: 4,
|
|
1540
|
+
backgroundColor: '#E1E9EE',
|
|
1541
|
+
borderRadius: 2,
|
|
1542
|
+
overflow: 'hidden'
|
|
1543
|
+
},
|
|
1544
|
+
linkedinProgressIndicator: {
|
|
1545
|
+
width: 80,
|
|
1546
|
+
height: 4,
|
|
1547
|
+
backgroundColor: '#0077B5',
|
|
1548
|
+
borderRadius: 2
|
|
1549
|
+
},
|
|
1550
|
+
linkedinProgressText: {
|
|
1551
|
+
color: '#0077B5',
|
|
1552
|
+
fontSize: 13,
|
|
1553
|
+
fontWeight: '500',
|
|
1554
|
+
marginTop: 8,
|
|
1555
|
+
fontFamily: 'IBM Plex Sans'
|
|
1556
|
+
},
|
|
1557
|
+
// Export progress bar styles
|
|
1558
|
+
exportProgressContainer: {
|
|
1559
|
+
paddingHorizontal: 16,
|
|
1560
|
+
paddingVertical: 6,
|
|
1561
|
+
backgroundColor: '#F9FAFB',
|
|
1562
|
+
borderBottomWidth: 1,
|
|
1563
|
+
borderBottomColor: '#E5E5E5'
|
|
1564
|
+
},
|
|
1565
|
+
progressBarContainer: {
|
|
1566
|
+
height: 6,
|
|
1567
|
+
backgroundColor: '#E5E7EB',
|
|
1568
|
+
borderRadius: 3,
|
|
1569
|
+
overflow: 'hidden'
|
|
1570
|
+
},
|
|
1571
|
+
progressBar: {
|
|
1572
|
+
height: '100%',
|
|
1573
|
+
borderRadius: 3
|
|
1574
|
+
},
|
|
1575
|
+
progressText: {
|
|
1576
|
+
fontSize: 12,
|
|
1577
|
+
color: '#6B7280',
|
|
1578
|
+
textAlign: 'center',
|
|
1579
|
+
marginTop: 6
|
|
1580
|
+
},
|
|
1581
|
+
// Success Animation Overlay
|
|
1582
|
+
successOverlay: {
|
|
1583
|
+
position: 'absolute',
|
|
1584
|
+
top: 0,
|
|
1585
|
+
left: 0,
|
|
1586
|
+
right: 0,
|
|
1587
|
+
bottom: 0,
|
|
1588
|
+
backgroundColor: '#FFFFFF',
|
|
1589
|
+
justifyContent: 'center',
|
|
1590
|
+
alignItems: 'center',
|
|
1591
|
+
zIndex: 2000
|
|
1592
|
+
},
|
|
1593
|
+
successCheckmark: {
|
|
1594
|
+
width: 80,
|
|
1595
|
+
height: 80,
|
|
1596
|
+
borderRadius: 40,
|
|
1597
|
+
justifyContent: 'center',
|
|
1598
|
+
alignItems: 'center',
|
|
1599
|
+
shadowColor: '#000',
|
|
1600
|
+
shadowOffset: {
|
|
1601
|
+
width: 0,
|
|
1602
|
+
height: 4
|
|
1603
|
+
},
|
|
1604
|
+
shadowOpacity: 0.2,
|
|
1605
|
+
shadowRadius: 20,
|
|
1606
|
+
elevation: 10
|
|
1607
|
+
},
|
|
1608
|
+
successCheckmarkIcon: {
|
|
1609
|
+
fontSize: 50,
|
|
1610
|
+
color: '#FFFFFF',
|
|
1611
|
+
fontWeight: 'bold'
|
|
1612
|
+
},
|
|
1613
|
+
successText: {
|
|
1614
|
+
fontFamily: 'IBM Plex Sans',
|
|
1615
|
+
fontSize: 24,
|
|
1616
|
+
fontWeight: '700',
|
|
1617
|
+
color: '#1a1a1a',
|
|
1618
|
+
marginTop: 24
|
|
1619
|
+
},
|
|
1620
|
+
// Claude-specific styles (matches Enoch)
|
|
1621
|
+
claudeExtractionOverlay: {
|
|
1622
|
+
position: 'absolute',
|
|
1623
|
+
top: 0,
|
|
1624
|
+
left: 0,
|
|
1625
|
+
right: 0,
|
|
1626
|
+
bottom: 0,
|
|
1627
|
+
backgroundColor: '#FFFFFF',
|
|
1628
|
+
justifyContent: 'center',
|
|
1629
|
+
alignItems: 'center',
|
|
1630
|
+
zIndex: 1000
|
|
1631
|
+
},
|
|
1632
|
+
extractionContent: {
|
|
1633
|
+
alignItems: 'center',
|
|
1634
|
+
paddingHorizontal: 32
|
|
1635
|
+
},
|
|
1636
|
+
claudeExtractionTitle: {
|
|
1637
|
+
fontSize: 24,
|
|
1638
|
+
fontWeight: '700',
|
|
1639
|
+
color: '#1a1a1a',
|
|
1640
|
+
marginTop: 24,
|
|
1641
|
+
marginBottom: 8
|
|
1642
|
+
},
|
|
1643
|
+
claudeExtractionSubtitle: {
|
|
1644
|
+
fontSize: 16,
|
|
1645
|
+
color: '#6B7280',
|
|
1646
|
+
textAlign: 'center',
|
|
1647
|
+
marginBottom: 24
|
|
1648
|
+
},
|
|
1649
|
+
claudeExtractionProgressContainer: {
|
|
1650
|
+
width: 200,
|
|
1651
|
+
height: 8,
|
|
1652
|
+
backgroundColor: '#E5E7EB',
|
|
1653
|
+
borderRadius: 4,
|
|
1654
|
+
overflow: 'hidden'
|
|
1655
|
+
},
|
|
1656
|
+
claudeExtractionProgressFill: {
|
|
1657
|
+
height: '100%',
|
|
1658
|
+
backgroundColor: '#D97706',
|
|
1659
|
+
// Claude amber color
|
|
1660
|
+
borderRadius: 4
|
|
1661
|
+
},
|
|
1662
|
+
claudeExtractionProgressText: {
|
|
1663
|
+
fontSize: 14,
|
|
1664
|
+
color: '#D97706',
|
|
1665
|
+
fontWeight: '600',
|
|
1666
|
+
marginTop: 8
|
|
1667
|
+
},
|
|
1668
|
+
// LinkedIn-specific extraction overlay styles
|
|
1669
|
+
linkedInExtractionOverlay: {
|
|
1670
|
+
position: 'absolute',
|
|
1671
|
+
top: 0,
|
|
1672
|
+
left: 0,
|
|
1673
|
+
right: 0,
|
|
1674
|
+
bottom: 0,
|
|
1675
|
+
backgroundColor: '#FFFFFF',
|
|
1676
|
+
justifyContent: 'center',
|
|
1677
|
+
alignItems: 'center',
|
|
1678
|
+
zIndex: 1000
|
|
1679
|
+
},
|
|
1680
|
+
linkedInExtractionTitle: {
|
|
1681
|
+
fontSize: 24,
|
|
1682
|
+
fontWeight: '700',
|
|
1683
|
+
color: '#1a1a1a',
|
|
1684
|
+
marginTop: 24,
|
|
1685
|
+
marginBottom: 8
|
|
1686
|
+
},
|
|
1687
|
+
linkedInExtractionSubtitle: {
|
|
1688
|
+
fontSize: 16,
|
|
1689
|
+
color: '#6B7280',
|
|
1690
|
+
textAlign: 'center',
|
|
1691
|
+
marginBottom: 24
|
|
1692
|
+
},
|
|
1693
|
+
linkedInExtractionProgressContainer: {
|
|
1694
|
+
width: 200,
|
|
1695
|
+
height: 8,
|
|
1696
|
+
backgroundColor: '#E5E7EB',
|
|
1697
|
+
borderRadius: 4,
|
|
1698
|
+
overflow: 'hidden'
|
|
1699
|
+
},
|
|
1700
|
+
linkedInExtractionProgressFill: {
|
|
1701
|
+
height: '100%',
|
|
1702
|
+
backgroundColor: '#0077B5',
|
|
1703
|
+
// LinkedIn blue color
|
|
1704
|
+
borderRadius: 4
|
|
1705
|
+
},
|
|
1706
|
+
linkedInExtractionProgressText: {
|
|
1707
|
+
fontSize: 14,
|
|
1708
|
+
color: '#0077B5',
|
|
1709
|
+
fontWeight: '600',
|
|
1710
|
+
marginTop: 8
|
|
1711
|
+
},
|
|
1712
|
+
// New platforms extraction overlay styles
|
|
1713
|
+
newPlatformExtractionOverlay: {
|
|
1714
|
+
position: 'absolute',
|
|
1715
|
+
top: 0,
|
|
1716
|
+
left: 0,
|
|
1717
|
+
right: 0,
|
|
1718
|
+
bottom: 0,
|
|
1719
|
+
backgroundColor: '#FFFFFF',
|
|
1720
|
+
justifyContent: 'center',
|
|
1721
|
+
alignItems: 'center',
|
|
1722
|
+
zIndex: 1000
|
|
1723
|
+
},
|
|
1724
|
+
newPlatformExtractionTitle: {
|
|
1725
|
+
fontSize: 24,
|
|
1726
|
+
fontWeight: '700',
|
|
1727
|
+
color: '#1a1a1a',
|
|
1728
|
+
marginTop: 24,
|
|
1729
|
+
marginBottom: 8
|
|
1730
|
+
},
|
|
1731
|
+
newPlatformExtractionSubtitle: {
|
|
1732
|
+
fontSize: 16,
|
|
1733
|
+
color: '#6B7280',
|
|
1734
|
+
textAlign: 'center',
|
|
1735
|
+
marginBottom: 24
|
|
1736
|
+
},
|
|
1737
|
+
newPlatformExtractionProgressContainer: {
|
|
1738
|
+
width: 200,
|
|
1739
|
+
height: 8,
|
|
1740
|
+
backgroundColor: '#E5E7EB',
|
|
1741
|
+
borderRadius: 4,
|
|
1742
|
+
overflow: 'hidden'
|
|
1743
|
+
},
|
|
1744
|
+
newPlatformExtractionProgressFill: {
|
|
1745
|
+
height: '100%',
|
|
1746
|
+
borderRadius: 4
|
|
1747
|
+
},
|
|
1748
|
+
newPlatformExtractionProgressText: {
|
|
1749
|
+
fontSize: 14,
|
|
1750
|
+
fontWeight: '600',
|
|
1751
|
+
marginTop: 8
|
|
1752
|
+
}
|
|
1753
|
+
});
|
|
1754
|
+
//# sourceMappingURL=OAuthWebView.js.map
|