@oxyhq/services 16.0.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -98
- package/lib/commonjs/index.js +40 -51
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/client.js +0 -14
- package/lib/commonjs/ui/client.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialog.js +742 -0
- package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -0
- package/lib/commonjs/ui/components/OxyConsentScreen.js +461 -0
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -0
- package/lib/commonjs/ui/components/OxyProvider.js +13 -6
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +180 -22
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +25 -112
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/RequireOxyAuth.js +299 -0
- package/lib/commonjs/ui/components/RequireOxyAuth.js.map +1 -0
- package/lib/commonjs/ui/components/oauthNavigation.js +73 -0
- package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +122 -4
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/commonjs/ui/hooks/useAuth.js +19 -30
- package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +37 -267
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/commonjs/ui/index.js +5 -40
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/accountDialogManager.js +91 -0
- package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -0
- package/lib/commonjs/ui/navigation/routes.js +0 -2
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +4 -3
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/session/createSessionClient.js +10 -2
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/index.js +19 -16
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/client.js +1 -2
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialog.js +739 -0
- package/lib/module/ui/components/OxyAccountDialog.js.map +1 -0
- package/lib/module/ui/components/OxyConsentScreen.js +454 -0
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -0
- package/lib/module/ui/components/OxyProvider.js +13 -6
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +181 -22
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +26 -112
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/RequireOxyAuth.js +294 -0
- package/lib/module/ui/components/RequireOxyAuth.js.map +1 -0
- package/lib/module/ui/components/oauthNavigation.js +70 -0
- package/lib/module/ui/components/oauthNavigation.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +123 -5
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/module/ui/hooks/useAuth.js +19 -30
- package/lib/module/ui/hooks/useAuth.js.map +1 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js +38 -267
- package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/module/ui/index.js +1 -5
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/accountDialogManager.js +81 -0
- package/lib/module/ui/navigation/accountDialogManager.js.map +1 -0
- package/lib/module/ui/navigation/routes.js +0 -2
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +4 -3
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/session/createSessionClient.js +10 -2
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +8 -12
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/client.d.ts +0 -4
- package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +51 -0
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +45 -0
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +56 -0
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -23
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +55 -0
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +36 -0
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +27 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +13 -152
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -5
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +49 -0
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +9 -2
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +27 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +8 -12
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +0 -4
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +51 -0
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +45 -0
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyProvider.d.ts +2 -2
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts +56 -0
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -23
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +55 -0
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts +36 -0
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts +27 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +13 -152
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -5
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +49 -0
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -0
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +9 -2
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +27 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +33 -27
- package/src/ui/client.ts +0 -4
- package/src/ui/components/OxyAccountDialog.tsx +735 -0
- package/src/ui/components/OxyConsentScreen.tsx +456 -0
- package/src/ui/components/OxyProvider.tsx +14 -6
- package/src/ui/components/OxySignInButton.tsx +227 -22
- package/src/ui/components/ProfileButton.tsx +23 -126
- package/src/ui/components/RequireOxyAuth.tsx +266 -0
- package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +130 -0
- package/src/ui/components/oauthNavigation.ts +89 -0
- package/src/ui/context/OxyContext.tsx +176 -9
- package/src/ui/context/__tests__/OxyContext.coldBoot.test.tsx +165 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
- package/src/ui/hooks/useAuth.ts +19 -31
- package/src/ui/hooks/useSwitchableAccounts.ts +42 -376
- package/src/ui/index.ts +2 -5
- package/src/ui/navigation/accountDialogManager.ts +84 -0
- package/src/ui/navigation/routes.ts +0 -4
- package/src/ui/screens/ManageAccountScreen.tsx +3 -2
- package/src/ui/session/createSessionClient.ts +9 -1
- package/src/ui/types/navigation.ts +27 -0
- package/lib/commonjs/ui/components/AccountMenu.js +0 -598
- package/lib/commonjs/ui/components/AccountMenu.js.map +0 -1
- package/lib/commonjs/ui/components/AccountMenuButton.js +0 -135
- package/lib/commonjs/ui/components/AccountMenuButton.js.map +0 -1
- package/lib/commonjs/ui/components/AccountSwitcher.js +0 -780
- package/lib/commonjs/ui/components/AccountSwitcher.js.map +0 -1
- package/lib/commonjs/ui/components/AnotherDeviceQR.js +0 -116
- package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +0 -1
- package/lib/commonjs/ui/components/ProfileMenu.js +0 -518
- package/lib/commonjs/ui/components/ProfileMenu.js.map +0 -1
- package/lib/commonjs/ui/components/SignInAccountChooser.js +0 -189
- package/lib/commonjs/ui/components/SignInAccountChooser.js.map +0 -1
- package/lib/commonjs/ui/components/SignInModal.js +0 -600
- package/lib/commonjs/ui/components/SignInModal.js.map +0 -1
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js +0 -501
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +0 -1
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js +0 -170
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +0 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +0 -51
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +0 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +0 -312
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +0 -1
- package/lib/commonjs/utils/deviceFlowSignIn.js +0 -109
- package/lib/commonjs/utils/deviceFlowSignIn.js.map +0 -1
- package/lib/module/ui/components/AccountMenu.js +0 -593
- package/lib/module/ui/components/AccountMenu.js.map +0 -1
- package/lib/module/ui/components/AccountMenuButton.js +0 -130
- package/lib/module/ui/components/AccountMenuButton.js.map +0 -1
- package/lib/module/ui/components/AccountSwitcher.js +0 -774
- package/lib/module/ui/components/AccountSwitcher.js.map +0 -1
- package/lib/module/ui/components/AnotherDeviceQR.js +0 -110
- package/lib/module/ui/components/AnotherDeviceQR.js.map +0 -1
- package/lib/module/ui/components/ProfileMenu.js +0 -514
- package/lib/module/ui/components/ProfileMenu.js.map +0 -1
- package/lib/module/ui/components/SignInAccountChooser.js +0 -183
- package/lib/module/ui/components/SignInAccountChooser.js.map +0 -1
- package/lib/module/ui/components/SignInModal.js +0 -591
- package/lib/module/ui/components/SignInModal.js.map +0 -1
- package/lib/module/ui/hooks/useOxyAuthSession.js +0 -495
- package/lib/module/ui/hooks/useOxyAuthSession.js.map +0 -1
- package/lib/module/ui/hooks/usePasswordSignIn.js +0 -165
- package/lib/module/ui/hooks/usePasswordSignIn.js.map +0 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +0 -48
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +0 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +0 -306
- package/lib/module/ui/screens/OxyAuthScreen.js.map +0 -1
- package/lib/module/utils/deviceFlowSignIn.js +0 -106
- package/lib/module/utils/deviceFlowSignIn.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +0 -47
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts +0 -26
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +0 -46
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +0 -34
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +0 -49
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +0 -29
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +0 -28
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +0 -105
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +0 -31
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts +0 -11
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +0 -22
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +0 -97
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountMenu.d.ts +0 -47
- package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts +0 -26
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +0 -46
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +0 -34
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts +0 -49
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +0 -29
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts +0 -28
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +0 -105
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +0 -31
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts +0 -11
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +0 -22
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +0 -1
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +0 -97
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +0 -1
- package/src/ui/components/AccountMenu.tsx +0 -645
- package/src/ui/components/AccountMenuButton.tsx +0 -126
- package/src/ui/components/AccountSwitcher.tsx +0 -751
- package/src/ui/components/AnotherDeviceQR.tsx +0 -119
- package/src/ui/components/ProfileMenu.tsx +0 -564
- package/src/ui/components/SignInAccountChooser.tsx +0 -162
- package/src/ui/components/SignInModal.tsx +0 -530
- package/src/ui/hooks/useOxyAuthSession.ts +0 -635
- package/src/ui/hooks/usePasswordSignIn.ts +0 -207
- package/src/ui/screens/AccountSwitcherScreen.tsx +0 -43
- package/src/ui/screens/OxyAuthScreen.tsx +0 -324
- package/src/utils/__tests__/deviceFlowSignIn.test.ts +0 -231
- package/src/utils/deviceFlowSignIn.ts +0 -152
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","OxyServices","oxyClient","KeyManager","runSessionColdBoot","installAuthRefreshHandler","startTokenRefreshScheduler","logger","loggerUtil","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","isWebBrowser","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","jsx","_jsx","OxyContext","DEFAULT_SESSION_VALIDITY_MS","SESSION_HANDOFF_DEADLINE","getHttpStatus","error","undefined","status","response","isUnauthorizedStatus","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","onAuthStateChange","onError","oxyServicesRef","current","authStoreRef","authStore","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","sessionClientPairRef","clearError","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","subscribe","signIn","logoutAll","store","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","refreshToken","userId","deviceToken","loadDeviceToken","next","sessionId","expiresAt","save","persistError","now","Date","deviceId","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","fullUser","getCurrentUser","profileError","debug","commitSessionRef","handleWebSession","session","signInWithPassword","identifier","password","opts","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","platform","isWeb","isNative","onSession","handoff","handoffDeadlineId","race","setTimeout","clearTimeout","onSignedOut","onStepError","String","refreshSessionsForContext","bootstrap","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","setAccounts","refreshAccounts","list","listAccounts","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","deviceState","some","createAccountFn","data","createAccount","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","OxyServices","oxyClient","KeyManager","runSessionColdBoot","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","registerAccountDialogControls","notifyAccountDialogVisibility","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","isWebBrowser","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","jsx","_jsx","OxyContext","DEFAULT_SESSION_VALIDITY_MS","SESSION_HANDOFF_DEADLINE","getHttpStatus","error","undefined","status","response","isUnauthorizedStatus","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","coldBoot","onAuthStateChange","onError","oxyServicesRef","current","authStoreRef","authStore","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","runColdBootRef","sessionClientPairRef","clearError","signedOutSocketAuth","loadDeviceToken","onSessionAppeared","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","subscribe","signIn","logoutAll","store","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","refreshToken","userId","deviceToken","next","sessionId","expiresAt","save","persistError","now","Date","deviceId","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","fullUser","getCurrentUser","profileError","debug","commitSessionRef","handleWebSession","session","handleWebSessionRef","accountDialogControllerRef","locale","onSignedIn","openUrl","url","openURL","accountDialogController","openAccountDialog","view","setView","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPassword","identifier","password","opts","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","platform","isWeb","isNative","onSession","handoff","handoffDeadlineId","race","setTimeout","clearTimeout","onSignedOut","startError","onStepError","String","refreshSessionsForContext","bootstrap","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","setAccounts","refreshAccounts","list","listAccounts","refresh","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","deviceState","some","createAccountFn","data","createAccount","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":";;AACA,SACEA,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QAEH,OAAO;AACd,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,WAAW,EAAEC,SAAS,QAAQ,aAAa;AAapD,SACEC,UAAU,EACVC,kBAAkB,EAClBC,yBAAyB,EACzBC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,MAAM,IAAIC,UAAU,QACf,aAAa;AACpB,SACEC,6BAA6B,EAC7BC,6BAA6B,QACxB,uCAAoC;AAC3C,SAASC,YAAY,QAAwB,wBAAqB;AAClE,SAASC,UAAU,QAAQ,uBAAuB;AAElD,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,oBAAoB,QAAQ,kCAA+B;AACpE,SAASC,iBAAiB,EAAEC,sBAAsB,QAAQ,8BAA2B;AACrF,SAASC,mBAAmB,QAAQ,iCAA8B;AAClE,SAASC,cAAc,EAAEC,qBAAqB,QAA+B,4BAAyB;AAEtG,SAASC,eAAe,IAAIC,qBAAqB,QAAQ,qCAAkC;AAC3F,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,eAAe,QAAQ,yBAAsB;AACtD,SAASC,eAAe,QAAQ,6BAA0B;AAC1D,SAASC,eAAe,QAAQ,2BAAwB;AACxD,SAASC,YAAY,QAAQ,0BAAuB;AACpD,SACEC,mBAAmB,EACnBC,4BAA4B,EAC5BC,2BAA2B,EAC3BC,iBAAiB,EACjBC,YAAY,EACZC,YAAY,QACP,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAqJpB,MAAMC,UAAU,gBAAG3C,aAAa,CAAyB,IAAI,CAAC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4C,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG,IAAI;;AAErC;AACA;AACA;;AAeA,SAASC,aAAaA,CAACC,KAAc,EAAsB;EACzD,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,OAAOC,SAAS;EAClB;EACA,IAAI,QAAQ,IAAID,KAAK,EAAE;IACrB,MAAME,MAAM,GAAIF,KAAK,CAA0BE,MAAM;IACrD,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MAC9B,OAAOA,MAAM;IACf;EACF;EACA,IAAI,UAAU,IAAIF,KAAK,EAAE;IACvB,MAAMG,QAAQ,GAAIH,KAAK,CAA4BG,QAAQ;IAC3D,IAAIA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAIA,QAAQ,EAAE;MACpE,MAAMD,MAAM,GAAIC,QAAQ,CAA0BD,MAAM;MACxD,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAOA,MAAM;MACf;IACF;EACF;EACA,OAAOD,SAAS;AAClB;AAEA,SAASG,oBAAoBA,CAACJ,KAAc,EAAW;EACrD,OAAOD,aAAa,CAACC,KAAK,CAAC,KAAK,GAAG;AACrC;AAEA,IAAIK,mBAAyC,GAAG,IAAI;AAEpD,MAAMC,iBAAiB,GAAGA,CAAA,KAAqB;EAC7C,IAAID,mBAAmB,EAAE;IACvB,OAAOA,mBAAmB;EAC5B;EACA,IAAI;IACF;IACA,MAAM;MAAEE;IAAU,CAAC,GAAGC,OAAO,CAAC,oBAAoB,CAAC;IACnDH,mBAAmB,GAAGE,SAA0B;IAChD,OAAOF,mBAAmB;EAC5B,CAAC,CAAC,OAAOL,KAAK,EAAE;IACd,IAAIS,OAAO,EAAE;MACXxC,UAAU,CAACyC,IAAI,CACb,yFAAyF,EACzF;QAAEC,SAAS,EAAE,YAAY;QAAEC,MAAM,EAAE;MAAoB,CAAC,EACxDZ,KACF,CAAC;IACH;IACA,MAAMa,QAAuB,GAAGA,CAAA,KAAM;MACpC,MAAM,IAAIC,KAAK,CAAC,oFAAoF,CAAC;IACvG,CAAC;IACDT,mBAAmB,GAAGQ,QAAQ;IAC9B,OAAOR,mBAAmB;EAC5B;AACF,CAAC;AAED,OAAO,MAAMU,WAA8C,GAAGA,CAAC;EAC7DC,QAAQ;EACRC,WAAW,EAAEC,mBAAmB;EAChCC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfC,gBAAgB,GAAG,aAAa;EAChCC,QAAQ,EAAEC,YAAY;EACtBC,QAAQ,GAAG,IAAI;EACfC,iBAAiB;EACjBC;AACF,CAAC,KAAK;EACJ,MAAMC,cAAc,GAAGtE,MAAM,CAAqB,IAAI,CAAC;EACvD,IAAI,CAACsE,cAAc,CAACC,OAAO,EAAE;IAC3B,IAAIX,mBAAmB,EAAE;MACvBU,cAAc,CAACC,OAAO,GAAGX,mBAAmB;IAC9C,CAAC,MAAM,IAAIC,OAAO,EAAE;MAClB;MACA;MACAS,cAAc,CAACC,OAAO,GAAG,IAAIpE,WAAW,CAAC;QAAE0D,OAAO;QAAEC,UAAU;QAAEC;MAAgB,CAAC,CAAC;IACpF,CAAC,MAAM;MACL,MAAM,IAAIP,KAAK,CAAC,sEAAsE,CAAC;IACzF;EACF;EACA,MAAMG,WAAW,GAAGW,cAAc,CAACC,OAAO;;EAE1C;EACA;EACA;EACA,MAAMC,YAAY,GAAGxE,MAAM,CAAwB,IAAI,CAAC;EACxD,IAAI,CAACwE,YAAY,CAACD,OAAO,EAAE;IACzBC,YAAY,CAACD,OAAO,GAAGxC,4BAA4B,CAAC,CAAC;EACvD;EACA,MAAM0C,SAAS,GAAGD,YAAY,CAACD,OAAO;EAEtC,MAAM;IACJG,IAAI;IACJC,eAAe;IACfC,SAAS;IACTlC,KAAK;IACLmC,YAAY;IACZC,YAAY;IACZC;EACF,CAAC,GAAGjE,YAAY,CACdC,UAAU,CAAEiE,KAAgB,KAAM;IAChCN,IAAI,EAAEM,KAAK,CAACN,IAAI;IAChBC,eAAe,EAAEK,KAAK,CAACL,eAAe;IACtCC,SAAS,EAAEI,KAAK,CAACJ,SAAS;IAC1BlC,KAAK,EAAEsC,KAAK,CAACtC,KAAK;IAClBmC,YAAY,EAAEG,KAAK,CAACH,YAAY;IAChCC,YAAY,EAAEE,KAAK,CAACF,YAAY;IAChCC,WAAW,EAAEC,KAAK,CAACC;EACrB,CAAC,CAAC,CACJ,CAAC;EAED,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGlF,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACmF,cAAc,EAAEC,iBAAiB,CAAC,GAAGpF,QAAQ,CAAC,MAAMqF,OAAO,CAAC3B,WAAW,CAAC4B,cAAc,CAAC,CAAC,CAAC,CAAC;EACjG,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGxF,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAMyF,eAAe,GAAG1F,MAAM,CAAC,KAAK,CAAC;EACrC,MAAM2F,OAAO,GAAG3F,MAAM,CAAc0E,IAAI,CAAC;EACzC,MAAMkB,kBAAkB,GAAG5F,MAAM,CAAC2E,eAAe,CAAC;EAClDgB,OAAO,CAACpB,OAAO,GAAGG,IAAI;EACtBkB,kBAAkB,CAACrB,OAAO,GAAGI,eAAe;EAC5C,MAAM,CAACkB,WAAW,EAAEC,cAAc,CAAC,GAAG7F,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC8F,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG/F,QAAQ,CAAC,KAAK,CAAC;EACjE,MAAMgG,YAAY,GAAGnF,YAAY,CAACoF,QAAQ;;EAE1C;EACA;EACA;EACA;EACApG,SAAS,CAAC,MAAM;IACd,IAAI6D,WAAW,KAAKvD,SAAS,EAAE;MAC7B;IACF;IACA,MAAM+F,gBAAgB,GAAIC,WAA0B,IAAK;MACvD,IAAIA,WAAW,EAAE;QACfhG,SAAS,CAACiG,SAAS,CAACD,WAAW,CAAC;MAClC,CAAC,MAAM;QACLhG,SAAS,CAACkG,WAAW,CAAC,CAAC;MACzB;IACF,CAAC;IACDH,gBAAgB,CAACxC,WAAW,CAAC4B,cAAc,CAAC,CAAC,CAAC;IAC9C,OAAO5B,WAAW,CAAC4C,eAAe,CAACJ,gBAAgB,CAAC;EACtD,CAAC,EAAE,CAACxC,WAAW,CAAC,CAAC;EAEjB,MAAMjD,MAAM,GAAGd,WAAW,CAAC,CAAC4G,OAAe,EAAEC,GAAa,KAAK;IAC7D,IAAItD,OAAO,EAAE;MACXxC,UAAU,CAACyC,IAAI,CAACoD,OAAO,EAAE;QAAEnD,SAAS,EAAE;MAAa,CAAC,EAAEoD,GAAG,CAAC;IAC5D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,WAAW,GAAG3G,OAAO,CAAC,MAAMsB,cAAc,CAAC2C,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEvF,MAAMC,QAAQ,GAAGlE,OAAO,CAAC,MAAM;IAC7B,MAAM4G,OAAO,GAAGzC,YAAY,EAAE0C,IAAI,CAAC,CAAC;IACpC,OAAOD,OAAO,GAAGA,OAAO,GAAG,IAAI;EACjC,CAAC,EAAE,CAACzC,YAAY,CAAC,CAAC;;EAElB;EACA;EACA;EACA,MAAM2C,UAAU,GAAG7G,MAAM,CAA0B,IAAI,CAAC;EACxD,MAAM,CAAC8G,OAAO,EAAEC,UAAU,CAAC,GAAG9G,QAAQ,CAA0B,IAAI,CAAC;EACrE,MAAM+G,oBAAoB,GAAGA,CAAA,KAAM;IACjC,IAAIC,OAA4C,GAAGA,CAAA,KAAMtE,SAAS;IAClE,MAAMuE,OAAO,GAAG,IAAIC,OAAO,CAAoBC,GAAG,IAAK;MACrDH,OAAO,GAAGG,GAAG;IACf,CAAC,CAAC;IACF,OAAO;MAAEF,OAAO;MAAED;IAAQ,CAAC;EAC7B,CAAC;EACD,MAAMI,eAAe,GAAGrH,MAAM,CAAiD,IAAI,CAAC;EACpF,IAAIqH,eAAe,CAAC9C,OAAO,KAAK,IAAI,EAAE;IACpC8C,eAAe,CAAC9C,OAAO,GAAGyC,oBAAoB,CAAC,CAAC;EAClD;EACA,MAAMM,YAAY,GAAGD,eAAe,CAAC9C,OAAO;EAE5CzE,SAAS,CAAC,MAAM;IACd,IAAIyH,OAAO,GAAG,IAAI;IAClBjG,qBAAqB,CAAC,CAAC,CACpBkG,IAAI,CAAEC,eAAe,IAAK;MACzBZ,UAAU,CAACtC,OAAO,GAAGkD,eAAe;MACpCH,YAAY,CAACL,OAAO,CAACQ,eAAe,CAAC;MACrC,IAAIF,OAAO,EAAE;QACXR,UAAU,CAACU,eAAe,CAAC;MAC7B;IACF,CAAC,CAAC,CACDC,KAAK,CAAEjB,GAAG,IAAK;MACd,IAAIc,OAAO,EAAE;QACX7G,MAAM,CAAC,8BAA8B,EAAE+F,GAAG,CAAC;QAC3CpC,OAAO,GAAG;UAAEmC,OAAO,EAAE,8BAA8B;UAAEmB,IAAI,EAAE,oBAAoB;UAAE/E,MAAM,EAAE;QAAI,CAAC,CAAC;MACjG;IACF,CAAC,CAAC;IACJ,OAAO,MAAM;MACX2E,OAAO,GAAG,KAAK;IACjB,CAAC;EACH,CAAC,EAAE,CAAC7G,MAAM,EAAE2D,OAAO,EAAEiD,YAAY,CAAC,CAAC;EAEnC,MAAM;IACJM,eAAe;IACfC,QAAQ,EAAEC,uBAAuB;IACjCC,YAAY,EAAEC,mBAAmB;IACjCC,kBAAkB,EAAEC,yBAAyB;IAC7CC,WAAW;IACXC;EACF,CAAC,GAAGpH,qBAAqB,CAAC;IACxB8F,OAAO;IACPuB,WAAW,EAAE3B,WAAW,CAAC4B,QAAQ;IACjCjE,OAAO;IACP3D;EACF,CAAC,CAAC;EAEF,MAAM6H,WAAW,GAAG9G,cAAc,CAAC,CAAC;EAEpC,MAAM;IACJ+G,QAAQ;IACRC,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC;EACF,CAAC,GAAG7H,oBAAoB,CAAC;IACvB0C,WAAW;IACXmD,OAAO;IACP9C,gBAAgB;IAChBa,YAAY;IACZE,WAAW;IACXqD,uBAAuB;IACvBhE,iBAAiB;IACjBC,OAAO;IACP0E,YAAY,EAAGvC,OAAO,IAAKP,YAAY,CAAC;MAAEvD,KAAK,EAAE8D;IAAQ,CAAC,CAAC;IAC3D9F,MAAM;IACNyE,aAAa;IACboD;EACF,CAAC,CAAC;;EAEF;EACA;EACA,MAAMS,gBAAgB,GAAGhJ,MAAM,CAAC4I,aAAa,CAAC;EAC9CI,gBAAgB,CAACzE,OAAO,GAAGqE,aAAa;EACxC,MAAMK,oBAAoB,GAAGjJ,MAAM,CAAC6I,iBAAiB,CAAC;EACtDI,oBAAoB,CAAC1E,OAAO,GAAGsE,iBAAiB;EAChD,MAAMK,qBAAqB,GAAGlJ,MAAM,CAAC0I,kBAAkB,CAAC;EACxDQ,qBAAqB,CAAC3E,OAAO,GAAGmE,kBAAkB;EAClD,MAAMS,eAAe,GAAGnJ,MAAM,CAAC6E,YAAY,CAAC;EAC5CsE,eAAe,CAAC5E,OAAO,GAAGM,YAAY;EACtC,MAAMuE,oBAAoB,GAAGpJ,MAAM,CAACoE,iBAAiB,CAAC;EACtDgF,oBAAoB,CAAC7E,OAAO,GAAGH,iBAAiB;;EAEhD;EACA;EACA,MAAMiF,gBAAgB,GAAGzJ,WAAW,CAAC,MAAM;IACzC,IAAI8F,eAAe,CAACnB,OAAO,EAAE;MAC3B;IACF;IACAmB,eAAe,CAACnB,OAAO,GAAG,IAAI;IAC9BY,aAAa,CAAC,IAAI,CAAC;IACnBM,eAAe,CAAC,IAAI,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EACN,MAAM6D,mBAAmB,GAAGtJ,MAAM,CAACqJ,gBAAgB,CAAC;EACpDC,mBAAmB,CAAC/E,OAAO,GAAG8E,gBAAgB;;EAE9C;EACA;EACA;EACA;EACA,MAAME,cAAc,GAAGvJ,MAAM,CAA+B,IAAI,CAAC;;EAEjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMwJ,oBAAoB,GAAGxJ,MAAM,CAAgD,IAAI,CAAC;EACxF,IAAI,CAACwJ,oBAAoB,CAACjF,OAAO,EAAE;IACjCiF,oBAAoB,CAACjF,OAAO,GAAGzC,mBAAmB,CAChD6B,WAAW,EACXc,SAAS,EACT,MAAM;MACJtD,sBAAsB,CAACsD,SAAS,EAAE/D,MAAM,CAAC;MACzC,KAAKuI,oBAAoB,CAAC1E,OAAO,CAAC,CAAC,CAACmD,KAAK,CAAE+B,UAAU,IAAK;QACxD/I,MAAM,CAAC,gDAAgD,EAAE+I,UAAU,CAAC;MACtE,CAAC,CAAC;IACJ,CAAC,EACD;MACEC,mBAAmB,EAAE,MAAAA,CAAA,KAAY;QAC/B;QACA;QACA,IAAI7H,YAAY,CAAC,CAAC,EAAE,OAAO,IAAI;QAC/B;QACA,IAAI;UACF,OAAO,CAAC,MAAM4C,SAAS,CAACkF,eAAe,CAAC,CAAC,KAAK,KAAK;QACrD,CAAC,CAAC,MAAM;UACN,OAAO,KAAK;QACd;MACF,CAAC;MACDC,iBAAiB,EAAEA,CAAA,KAAM;QACvB,KAAKL,cAAc,CAAChF,OAAO,GAAG,CAAC;MACjC;IACF,CACF,CAAC;EACH;EACA,MAAM;IAAEsF,MAAM,EAAEC,aAAa;IAAEC,IAAI,EAAEC;EAAkB,CAAC,GAAGR,oBAAoB,CAACjF,OAAO;;EAEvF;EACA;EACA;EACA,MAAM0F,cAAc,GAAGrK,WAAW,CAAC,YAA2B;IAC5D,MAAMoF,KAAK,GAAG8E,aAAa,CAACI,QAAQ,CAAC,CAAC;IACtC,IAAIlF,KAAK,KAAK,IAAI,EAAE;MAClB;IACF;IACA,IAAIA,KAAK,CAACmF,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;MAC/BJ,iBAAiB,CAACK,mBAAmB,CAAC,IAAI,CAAC;MAC3ClJ,sBAAsB,CAACsD,SAAS,EAAE/D,MAAM,CAAC;MACzC,MAAMmI,iBAAiB,CAAC,CAAC;MACzB;IACF;IACA;IACA;IACA,MAAMyB,gBAAgB,GAAGtF,KAAK,CAACuF,QAAQ;IACvC,MAAMC,GAAG,GAAGrI,YAAY,CAAC6C,KAAK,CAAC;IAC/B,IAAIyF,KAAa,GAAG,EAAE;IACtB,IAAI;MACFA,KAAK,GAAGD,GAAG,CAACJ,MAAM,GAAG,CAAC,GAAG,MAAMzG,WAAW,CAAC+G,aAAa,CAACF,GAAG,CAAC,GAAG,EAAE;IACpE,CAAC,CAAC,OAAOG,UAAU,EAAE;MACnBjK,MAAM,CAAC,0DAA0D,EAAEiK,UAAU,CAAC;MAC9E;IACF;IACA,MAAMC,MAAM,GAAGd,aAAa,CAACI,QAAQ,CAAC,CAAC;IACvC,IAAI,CAACU,MAAM,IAAIA,MAAM,CAACL,QAAQ,KAAKD,gBAAgB,EAAE;MACnD;IACF;IACA,MAAMO,SAAS,GAAG,IAAIC,GAAG,CAACL,KAAK,CAACM,GAAG,CAAEC,YAAY,IAAK,CAACA,YAAY,CAACC,EAAE,EAAED,YAAY,CAAC,CAAC,CAAC;IACvFrC,cAAc,CAAC3G,2BAA2B,CAAC4I,MAAM,EAAEC,SAAS,CAAC,CAAC;IAC9DnC,kBAAkB,CAACzG,iBAAiB,CAAC2I,MAAM,CAAC,CAAC;IAC7C,MAAMM,UAAU,GAAGhJ,YAAY,CAAC0I,MAAM,EAAEC,SAAS,CAAC;IAClD,IAAIK,UAAU,EAAE;MACdrG,YAAY,CAACqG,UAAU,CAAC;IAC1B;IACAlB,iBAAiB,CAACK,mBAAmB,CAACO,MAAM,CAACO,eAAe,CAAC;EAC/D,CAAC,EAAE,CACDxH,WAAW,EACXmG,aAAa,EACbE,iBAAiB,EACjBvF,SAAS,EACTkE,cAAc,EACdD,kBAAkB,EAClB7D,YAAY,EACZgE,iBAAiB,EACjBnI,MAAM,CACP,CAAC;EACF,MAAM0K,iBAAiB,GAAGpL,MAAM,CAACiK,cAAc,CAAC;EAChDmB,iBAAiB,CAAC7G,OAAO,GAAG0F,cAAc;EAE1CnK,SAAS,CAAC,MAAM;IACd,OAAOgK,aAAa,CAACuB,SAAS,CAAC,MAAM;MACnC,KAAKpB,cAAc,CAAC,CAAC;IACvB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACH,aAAa,EAAEG,cAAc,CAAC,CAAC;EAEnC,MAAM;IAAEqB,MAAM;IAAErG,MAAM;IAAEsG;EAAU,CAAC,GAAGrK,iBAAiB,CAAC;IACtDyC,WAAW;IACX6H,KAAK,EAAE/G,SAAS;IAChBqC,OAAO;IACP2B,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdG,mBAAmB;IACnBD,iBAAiB;IACjBD,aAAa;IACbkB,aAAa;IACbG,cAAc;IACd7B,uBAAuB;IACvBhE,iBAAiB;IACjBC,OAAO;IACPQ,YAAY;IACZC,YAAY;IACZC,WAAW;IACXkB,YAAY;IACZvF;EACF,CAAC,CAAC;EAEF,MAAM+K,mBAAmB,GAAG7L,WAAW,CAAC,YAA2B;IACjE2I,WAAW,CAACmD,KAAK,CAAC,CAAC;IACnB,IAAI5E,OAAO,EAAE;MACX,IAAI;QACF,MAAMpF,eAAe,CAACoF,OAAO,CAAC;MAChC,CAAC,CAAC,OAAOpE,KAAK,EAAE;QACdhC,MAAM,CAAC,uCAAuC,EAAEgC,KAAK,CAAC;MACxD;IACF;IACA,MAAMmG,iBAAiB,CAAC,CAAC;IACzB;IACA;IACA,MAAMpE,SAAS,CAACiH,KAAK,CAAC,CAAC;IACvB9J,eAAe,CAACsI,QAAQ,CAAC,CAAC,CAACyB,KAAK,CAAC,CAAC;IAClChI,WAAW,CAACiI,UAAU,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACrD,WAAW,EAAEzB,OAAO,EAAE+B,iBAAiB,EAAEpE,SAAS,EAAE/D,MAAM,EAAEiD,WAAW,CAAC,CAAC;EAE7E,MAAM;IAAEkI,iBAAiB;IAAEC,uBAAuB;IAAEC;EAAiB,CAAC,GAAG3K,mBAAmB,CAAC;IAC3FuC,WAAW;IACX8E,eAAe;IACfpE,OAAO;IACPwE,iBAAiB;IACjBnI;EACF,CAAC,CAAC;EAEF,MAAMsL,aAAa,GAAGhJ,iBAAiB,CAAC,CAAC;;EAEzC;EACA;EACA;EACA;EACA;EACA;EACA,MAAMiJ,uBAAuB,GAAGjM,MAAM,CAAC,KAAK,CAAC;EAC7CF,SAAS,CAAC,MAAM;IACd,MAAMoM,iBAAiB,GAAI9F,WAA0B,IAAK;MACxDf,iBAAiB,CAACC,OAAO,CAACc,WAAW,CAAC,CAAC;MACvC,IAAIA,WAAW,EAAE;QACfjB,aAAa,CAAC,IAAI,CAAC;QACnB;MACF;MACA,IAAIQ,OAAO,CAACpB,OAAO,IAAIqB,kBAAkB,CAACrB,OAAO,EAAE;QACjDY,aAAa,CAAC,KAAK,CAAC;QACpB,IAAI8G,uBAAuB,CAAC1H,OAAO,EAAE;UACnC;QACF;QACA0H,uBAAuB,CAAC1H,OAAO,GAAG,IAAI;QACtC0E,oBAAoB,CAAC1E,OAAO,CAAC,CAAC,CAC3BmD,KAAK,CAAE+B,UAAU,IAAK;UACrB/I,MAAM,CAAC,0CAA0C,EAAE+I,UAAU,CAAC;QAChE,CAAC,CAAC,CACD0C,OAAO,CAAC,MAAM;UACbF,uBAAuB,CAAC1H,OAAO,GAAG,KAAK;UACvC,IAAImB,eAAe,CAACnB,OAAO,EAAE;YAC3BY,aAAa,CAAC,IAAI,CAAC;UACrB;QACF,CAAC,CAAC;QACJ;MACF;MACA,IAAIO,eAAe,CAACnB,OAAO,EAAE;QAC3BY,aAAa,CAAC,IAAI,CAAC;MACrB;IACF,CAAC;IACD+G,iBAAiB,CAACvI,WAAW,CAAC4B,cAAc,CAAC,CAAC,CAAC;IAC/C,OAAO5B,WAAW,CAAC4C,eAAe,CAAC2F,iBAAiB,CAAC;EACvD,CAAC,EAAE,CAACxL,MAAM,EAAEiD,WAAW,CAAC,CAAC;;EAEzB;EACA;EACA;EACA;EACA;EACA7D,SAAS,CAAC,MAAM;IACd,MAAMsM,OAAO,GAAG7L,yBAAyB,CAAC;MAAE8L,GAAG,EAAE1I,WAAW;MAAE6H,KAAK,EAAE/G;IAAU,CAAC,CAAC;IACjF,MAAM6H,SAAS,GAAG9L,0BAA0B,CAACmD,WAAW,CAAC;IACzD,OAAO,MAAM;MACX2I,SAAS,CAACF,OAAO,CAAC,CAAC;MACnBA,OAAO,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EAAE,CAACzI,WAAW,EAAEc,SAAS,CAAC,CAAC;;EAE5B;EACA;EACA;EACA;EACA;EACA,MAAM8H,aAAa,GAAG3M,WAAW,CAC/B,OAAO4M,KAAkB,EAAEC,OAA8B,KAAoB;IAC3E,IAAID,KAAK,CAACpG,WAAW,EAAE;MACrBzC,WAAW,CAAC0C,SAAS,CAACmG,KAAK,CAACpG,WAAW,CAAC;IAC1C;;IAEA;IACA;IACA;IACA;IACA,IAAIoG,KAAK,CAACE,YAAY,IAAIF,KAAK,CAACG,MAAM,EAAE;MACtC,IAAI;QACF,MAAMC,WAAW,GAAG,CAAC,MAAMnI,SAAS,CAACkF,eAAe,CAAC,CAAC,KAAKhH,SAAS;QACpE,MAAMkK,IAAwB,GAAG;UAC/BC,SAAS,EAAEN,KAAK,CAACM,SAAS;UAC1BJ,YAAY,EAAEF,KAAK,CAACE,YAAY;UAChCC,MAAM,EAAEH,KAAK,CAACG,MAAM;UACpB,IAAIC,WAAW,GAAG;YAAEA;UAAY,CAAC,GAAG,CAAC,CAAC,CAAC;UACvC,IAAIJ,KAAK,CAACpG,WAAW,GAAG;YAAEA,WAAW,EAAEoG,KAAK,CAACpG;UAAY,CAAC,GAAG,CAAC,CAAC,CAAC;UAChE,IAAIoG,KAAK,CAACO,SAAS,GAAG;YAAEA,SAAS,EAAEP,KAAK,CAACO;UAAU,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,MAAMtI,SAAS,CAACuI,IAAI,CAACH,IAAI,CAAC;MAC5B,CAAC,CAAC,OAAOI,YAAY,EAAE;QACrBvM,MAAM,CAAC,wCAAwC,EAAEuM,YAAY,CAAC;MAChE;IACF;;IAEA;IACA;IACA,IAAIT,KAAK,CAACG,MAAM,EAAE;MAChB,MAAMO,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;MACtBxE,cAAc,CACZ,CACE;QACEmE,SAAS,EAAEN,KAAK,CAACM,SAAS;QAC1BM,QAAQ,EAAEZ,KAAK,CAACY,QAAQ,IAAI,EAAE;QAC9BL,SAAS,EAAEP,KAAK,CAACO,SAAS,IAAI,IAAII,IAAI,CAACD,GAAG,CAACG,OAAO,CAAC,CAAC,GAAG9K,2BAA2B,CAAC,CAAC+K,WAAW,CAAC,CAAC;QACjGC,UAAU,EAAEL,GAAG,CAACI,WAAW,CAAC,CAAC;QAC7BX,MAAM,EAAEH,KAAK,CAACG,MAAM;QACpBa,SAAS,EAAE;MACb,CAAC,CACF,EACD;QAAEC,KAAK,EAAE;MAAK,CAChB,CAAC;MACD/E,kBAAkB,CAAC8D,KAAK,CAACM,SAAS,CAAC;IACrC;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAI;MACF,IAAIL,OAAO,CAACiB,QAAQ,EAAE;QACpB,MAAM5D,aAAa,CAAC6D,mBAAmB,CAACnB,KAAK,CAACG,MAAM,CAAC;MACvD,CAAC,MAAM;QACL,MAAM7C,aAAa,CAAC8D,iBAAiB,CAAC,CAAC;MACzC;MACA,MAAM9D,aAAa,CAAC+D,KAAK,CAAC,CAAC;MAC3B,MAAM5D,cAAc,CAAC,CAAC;IACxB,CAAC,CAAC,OAAO6D,iBAAiB,EAAE;MAC1BnN,UAAU,CAACyC,IAAI,CACb,+CAA+C,EAC/C;QAAEC,SAAS,EAAE,YAAY;QAAEC,MAAM,EAAE;MAAgB,CAAC,EACpDwK,iBACF,CAAC;IACH;;IAEA;IACA;IACA,IAAIC,QAAqB,GAAG,IAAI;IAChC,IAAI;MACFA,QAAQ,GAAG,MAAMpK,WAAW,CAACqK,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrB,IAAI9K,OAAO,EAAE;QACXxC,UAAU,CAACuN,KAAK,CACd,6DAA6D,EAC7D;UAAE7K,SAAS,EAAE,YAAY;UAAEC,MAAM,EAAE;QAAgB,CAAC,EACpD2K,YACF,CAAC;MACH;MACAF,QAAQ,GAAIvB,KAAK,CAAC9H,IAAI,IAAwB,IAAI;IACpD;IACA,IAAIqJ,QAAQ,EAAE;MACZlJ,YAAY,CAACkJ,QAAQ,CAAC;MACtB3E,oBAAoB,CAAC7E,OAAO,GAAGwJ,QAAQ,CAAC;IAC1C;IACAzE,mBAAmB,CAAC/E,OAAO,CAAC,CAAC;EAC/B,CAAC,EACD,CAACZ,WAAW,EAAEc,SAAS,EAAEkE,cAAc,EAAED,kBAAkB,EAAEoB,aAAa,EAAEG,cAAc,EAAEpF,YAAY,EAAEnE,MAAM,CAClH,CAAC;EACD,MAAMyN,gBAAgB,GAAGnO,MAAM,CAACuM,aAAa,CAAC;EAC9C4B,gBAAgB,CAAC5J,OAAO,GAAGgI,aAAa;;EAExC;EACA;EACA,MAAM6B,gBAAgB,GAAGxO,WAAW,CAClC,MAAOyO,OAA6B,IAAoB;IACtD,IAAI,CAACA,OAAO,EAAE3J,IAAI,IAAI,CAAC2J,OAAO,EAAEvB,SAAS,IAAI,CAACuB,OAAO,CAACjI,WAAW,EAAE;MACjE,MAAM,IAAI5C,KAAK,CAAC,mDAAmD,CAAC;IACtE;IACA,MAAM+I,aAAa,CACjB;MACEO,SAAS,EAAEuB,OAAO,CAACvB,SAAS;MAC5B1G,WAAW,EAAEiI,OAAO,CAACjI,WAAW;MAChC;MACA;MACAsG,YAAY,EAAG2B,OAAO,CAA+B3B,YAAY;MACjEU,QAAQ,EAAEiB,OAAO,CAACjB,QAAQ;MAC1BL,SAAS,EAAEsB,OAAO,CAACtB,SAAS;MAC5BJ,MAAM,EAAE0B,OAAO,CAAC3J,IAAI,CAACuG,EAAE;MACvBvG,IAAI,EAAE2J,OAAO,CAAC3J;IAChB,CAAC,EACD;MAAEgJ,QAAQ,EAAE;IAAK,CACnB,CAAC;EACH,CAAC,EACD,CAACnB,aAAa,CAChB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA,MAAM+B,mBAAmB,GAAGtO,MAAM,CAACoO,gBAAgB,CAAC;EACpDE,mBAAmB,CAAC/J,OAAO,GAAG6J,gBAAgB;EAE9C,MAAMG,0BAA0B,GAAGvO,MAAM,CAAiC,IAAI,CAAC;EAC/E,IAAI,CAACuO,0BAA0B,CAAChK,OAAO,EAAE;IACvCgK,0BAA0B,CAAChK,OAAO,GAAG9D,6BAA6B,CAAC;MACjEkD,WAAW;MACXmG,aAAa;MACb7F,QAAQ;MACRuK,MAAM,EAAE5G,eAAe;MACvB2E,aAAa,EAAG8B,OAAO,IAAKC,mBAAmB,CAAC/J,OAAO,CAAC8J,OAAO,CAAC;MAChEI,UAAU,EAAEA,CAAA,KAAMzI,oBAAoB,CAAC,KAAK,CAAC;MAC7C0I,OAAO,EAAGC,GAAG,IAAK;QAChB,KAAKzO,OAAO,CAAC0O,OAAO,CAACD,GAAG,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EACA,MAAME,uBAAuB,GAAGN,0BAA0B,CAAChK,OAAO;EAElE,MAAMuK,iBAAiB,GAAGlP,WAAW,CAAEmP,IAAwB,IAAW;IACxER,0BAA0B,CAAChK,OAAO,EAAEyK,OAAO,CAACD,IAAI,IAAI,UAAU,CAAC;IAC/D/I,oBAAoB,CAAC,IAAI,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMiJ,kBAAkB,GAAGrP,WAAW,CAAC,MAAY;IACjD2O,0BAA0B,CAAChK,OAAO,EAAE2K,YAAY,CAAC,CAAC;IAClDlJ,oBAAoB,CAAC,KAAK,CAAC;EAC7B,CAAC,EAAE,EAAE,CAAC;;EAEN;EACAlG,SAAS,CAAC,MAAM;IACd,MAAMqP,UAAU,GAAGZ,0BAA0B,CAAChK,OAAO;IACrD4K,UAAU,EAAEtB,KAAK,CAAC,CAAC;IACnB,OAAO,MAAMsB,UAAU,EAAEC,OAAO,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACAtP,SAAS,CACP,MAAMc,6BAA6B,CAAC;IAAEyO,IAAI,EAAEP,iBAAiB;IAAEQ,KAAK,EAAEL;EAAmB,CAAC,CAAC,EAC3F,CAACH,iBAAiB,EAAEG,kBAAkB,CACxC,CAAC;;EAED;EACA;EACAnP,SAAS,CAAC,MAAM;IACde,6BAA6B,CAACkF,iBAAiB,CAAC;EAClD,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;;EAEvB;EACA,MAAMwJ,kBAAkB,GAAG3P,WAAW,CACpC,OACE4P,UAAkB,EAClBC,QAAgB,EAChBC,IAA0D,KACxB;IAClC,MAAM9C,WAAW,GAAG,CAAC,MAAMnI,SAAS,CAACkF,eAAe,CAAC,CAAC,KAAKhH,SAAS;IACpE,MAAMgN,MAAM,GAAG,MAAMhM,WAAW,CAACiM,cAAc,CAACJ,UAAU,EAAEC,QAAQ,EAAE;MACpE7C,WAAW;MACXiD,UAAU,EAAEH,IAAI,EAAEG,UAAU;MAC5BC,iBAAiB,EAAEJ,IAAI,EAAEI;IAC3B,CAAC,CAAC;IACF,IAAI,mBAAmB,IAAIH,MAAM,EAAE;MACjC,OAAO;QAAE/M,MAAM,EAAE,cAAc;QAAEmN,UAAU,EAAEJ,MAAM,CAACI;MAAW,CAAC;IAClE;IACA;IACA,MAAMxD,aAAa,CACjB;MACEO,SAAS,EAAE6C,MAAM,CAAC7C,SAAS;MAC3B1G,WAAW,EAAEuJ,MAAM,CAACvJ,WAAW;MAC/BsG,YAAY,EAAEiD,MAAM,CAACjD,YAAY;MACjCU,QAAQ,EAAEuC,MAAM,CAACvC,QAAQ;MACzBL,SAAS,EAAE4C,MAAM,CAAC5C,SAAS;MAC3BJ,MAAM,EAAEgD,MAAM,CAACjL,IAAI,CAACuG,EAAE;MACtBvG,IAAI,EAAEiL,MAAM,CAACjL;IACf,CAAC,EACD;MAAEgJ,QAAQ,EAAE;IAAK,CACnB,CAAC;IACD,OAAO;MAAE9K,MAAM,EAAE;IAAK,CAAC;EACzB,CAAC,EACD,CAACe,WAAW,EAAEc,SAAS,EAAE8H,aAAa,CACxC,CAAC;EAED,MAAMyD,uBAAuB,GAAGpQ,WAAW,CACzC,MAAOqQ,MAKN,IAAoB;IACnB,MAAMrD,WAAW,GAAG,CAAC,MAAMnI,SAAS,CAACkF,eAAe,CAAC,CAAC,KAAKhH,SAAS;IACpE,MAAMgN,MAAM,GAAG,MAAMhM,WAAW,CAACqM,uBAAuB,CAAC;MACvDD,UAAU,EAAEE,MAAM,CAACF,UAAU;MAC7BG,KAAK,EAAED,MAAM,CAACC,KAAK;MACnBC,UAAU,EAAEF,MAAM,CAACE,UAAU;MAC7BvD,WAAW;MACXiD,UAAU,EAAEI,MAAM,CAACJ;IACrB,CAAC,CAAC;IACF,MAAMtD,aAAa,CACjB;MACEO,SAAS,EAAE6C,MAAM,CAAC7C,SAAS;MAC3B1G,WAAW,EAAEuJ,MAAM,CAACvJ,WAAW;MAC/BsG,YAAY,EAAEiD,MAAM,CAACjD,YAAY;MACjCU,QAAQ,EAAEuC,MAAM,CAACvC,QAAQ;MACzBL,SAAS,EAAE4C,MAAM,CAAC5C,SAAS;MAC3BJ,MAAM,EAAEgD,MAAM,CAACjL,IAAI,CAACuG,EAAE;MACtBvG,IAAI,EAAEiL,MAAM,CAACjL;IACf,CAAC,EACD;MAAEgJ,QAAQ,EAAE;IAAK,CACnB,CAAC;EACH,CAAC,EACD,CAAC/J,WAAW,EAAEc,SAAS,EAAE8H,aAAa,CACxC,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM6D,WAAW,GAAGxQ,WAAW,CAAC,YAA2B;IACzDuF,aAAa,CAAC,KAAK,CAAC;IACpB,IAAI;MACF,MAAM7E,kBAAkB,CAAC;QACvB+L,GAAG,EAAE1I,WAAW;QAChB6H,KAAK,EAAE/G,SAAS;QAChB4L,QAAQ,EAAE;UAAEC,KAAK,EAAEzO,YAAY,CAAC,CAAC;UAAE0O,QAAQ,EAAE,CAAC1O,YAAY,CAAC;QAAE,CAAC;QAC9D2O,SAAS,EAAE,MAAOnC,OAAO,IAAK;UAC5B;UACA;UACA;UACA,MAAMoC,OAAO,GAAGtC,gBAAgB,CAAC5J,OAAO,CACtC;YAAEuI,SAAS,EAAEuB,OAAO,CAACvB,SAAS;YAAE1G,WAAW,EAAEiI,OAAO,CAACjI,WAAW;YAAEuG,MAAM,EAAE0B,OAAO,CAAC1B;UAAO,CAAC,EAC1F;YAAEe,QAAQ,EAAE;UAAM,CACpB,CAAC;UACD,IAAIgD,iBAA4D;UAChE,MAAMvJ,OAAO,CAACwJ,IAAI,CAAC,CACjBF,OAAO,EACP,IAAItJ,OAAO,CAAQF,OAAO,IAAK;YAC7ByJ,iBAAiB,GAAGE,UAAU,CAAC3J,OAAO,EAAEzE,wBAAwB,CAAC;UACnE,CAAC,CAAC,CACH,CAAC,CAAC2J,OAAO,CAAC,MAAM;YACf,IAAIuE,iBAAiB,KAAK/N,SAAS,EAAE;cACnCkO,YAAY,CAACH,iBAAiB,CAAC;YACjC;UACF,CAAC,CAAC;UACFpH,mBAAmB,CAAC/E,OAAO,CAAC,CAAC;QAC/B,CAAC;QACDuM,WAAW,EAAEA,CAAA,KAAM;UACjBxH,mBAAmB,CAAC/E,OAAO,CAAC,CAAC;UAC7B;UACA;UACA;UACA,KAAKuF,aAAa,CAAC+D,KAAK,CAAC,CAAC,CAACnG,KAAK,CAAEqJ,UAAU,IAAK;YAC/C,IAAI5N,OAAO,EAAE;cACXxC,UAAU,CAACuN,KAAK,CACd,4CAA4C,EAC5C;gBAAE7K,SAAS,EAAE,YAAY;gBAAEC,MAAM,EAAE;cAAc,CAAC,EAClDyN,UACF,CAAC;YACH;UACF,CAAC,CAAC;QACJ,CAAC;QACDC,WAAW,EAAEA,CAAC/F,EAAE,EAAEvI,KAAK,KAAK;UAC1B,IAAIS,OAAO,EAAE;YACXxC,UAAU,CAACuN,KAAK,CACd,mBAAmBjD,EAAE,wCAAwC,EAC7D;cAAE5H,SAAS,EAAE,YAAY;cAAEC,MAAM,EAAE;YAAc,CAAC,EAClDZ,KACF,CAAC;UACH;QACF;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOA,KAAK,EAAE;MACd,IAAIS,OAAO,EAAE;QACXxC,UAAU,CAAC+B,KAAK,CACd,iBAAiB,EACjBA,KAAK,YAAYc,KAAK,GAAGd,KAAK,GAAG,IAAIc,KAAK,CAACyN,MAAM,CAACvO,KAAK,CAAC,CAAC,EACzD;UAAEW,SAAS,EAAE,YAAY;UAAEC,MAAM,EAAE;QAAc,CACnD,CAAC;MACH;IACF,CAAC,SAAS;MACR;MACAgG,mBAAmB,CAAC/E,OAAO,CAAC,CAAC;IAC/B;EACF,CAAC,EAAE,CAACZ,WAAW,EAAEc,SAAS,EAAEqF,aAAa,CAAC,CAAC;EAC3C;EACA;EACAP,cAAc,CAAChF,OAAO,GAAG6L,WAAW;EAEpCtQ,SAAS,CAAC,MAAM;IACd,IAAI+F,WAAW,EAAE;MACf;IACF;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,CAAC1B,QAAQ,EAAE;MACb2B,cAAc,CAAC,IAAI,CAAC;MACpBuD,gBAAgB,CAAC,CAAC;MAClB;IACF;IACA,IAAI,CAACvC,OAAO,EAAE;MACZ;IACF;IACAhB,cAAc,CAAC,IAAI,CAAC;IACpBsK,WAAW,CAAC,CAAC,CAAC1I,KAAK,CAAEhF,KAAK,IAAK;MAC7B,IAAIS,OAAO,EAAE;QACXzC,MAAM,CAAC,kBAAkB,EAAEgC,KAAK,CAAC;MACnC;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACyB,QAAQ,EAAEiM,WAAW,EAAEtJ,OAAO,EAAEjB,WAAW,EAAEnF,MAAM,EAAE2I,gBAAgB,CAAC,CAAC;;EAE3E;EACA;EACA,MAAM6H,yBAAyB,GAAGtR,WAAW,CAAC,YAA2B;IACvE,MAAMkK,aAAa,CAACqH,SAAS,CAAC,CAAC;IAC/B,MAAMlH,cAAc,CAAC,CAAC;EACxB,CAAC,EAAE,CAACH,aAAa,EAAEG,cAAc,CAAC,CAAC;;EAEnC;EACA;EACA;EACA,MAAMmH,uBAAuB,GAAGxR,WAAW,CACzC,MAAOkN,SAAiB,IAAoB;IAC1C,MAAMuE,eAAe,GAAGvH,aAAa,CAClCI,QAAQ,CAAC,CAAC,EACTC,QAAQ,CAACmH,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACzE,SAAS,KAAKA,SAAS,CAAC,EAAE0E,SAAS;IAC1E,IAAI,CAACH,eAAe,EAAE;MACpB,MAAM,IAAI7N,KAAK,CAAC,wCAAwCsJ,SAAS,GAAG,CAAC;IACvE;IACA,MAAMhD,aAAa,CAAC2H,aAAa,CAACJ,eAAe,CAAC;IAClD,MAAMpH,cAAc,CAAC,CAAC;IACtB,MAAMiB,UAAU,GAAGpK,YAAY,CAACoJ,QAAQ,CAAC,CAAC,CAACxF,IAAI;IAC/C,IAAI,CAACwG,UAAU,EAAE;MACf,MAAM,IAAI1H,KAAK,CAAC,2DAA2D,CAAC;IAC9E;IACA,OAAO0H,UAAU;EACnB,CAAC,EACD,CAACpB,aAAa,EAAEG,cAAc,CAChC,CAAC;EAED,MAAMyH,WAAW,GAAG9R,WAAW,CAAC,YAA8BS,UAAU,CAACqR,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;EAC3F,MAAMC,YAAY,GAAG/R,WAAW,CAAC,YAAoCS,UAAU,CAACsR,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;EAEnG,MAAMC,yBAAyB,GAAGhS,WAAW,CAC1CiS,cAAkF,IAAK;IACtFrQ,qBAAqB,CAACqQ,cAAc,CAAC;EACvC,CAAC,EACD,EACF,CAAC;EAED,MAAM;IAAEC;EAAiB,CAAC,GAAGnQ,eAAe,CAAC;IAC3CgC,WAAW;IACXiE,eAAe;IACfa,eAAe;IACfF,WAAW;IACXhH,eAAe,EAAEqQ;EACnB,CAAC,CAAC;;EAEF;EACA,MAAM,CAACzH,QAAQ,EAAE4H,WAAW,CAAC,GAAG9R,QAAQ,CAAgB,EAAE,CAAC;EAE3D,MAAM+R,eAAe,GAAGpS,WAAW,CAAC,YAA2B;IAC7D,IAAI,CAAC+E,eAAe,IAAI,CAACO,UAAU,IAAI,CAACvB,WAAW,CAAC4B,cAAc,CAAC,CAAC,EAAE;MACpEwM,WAAW,CAAC,EAAE,CAAC;MACf;IACF;IACA,IAAI;MACF,MAAME,IAAI,GAAG,MAAMtO,WAAW,CAACuO,YAAY,CAAC,CAAC;MAC7CH,WAAW,CAACE,IAAI,CAAC;IACnB,CAAC,CAAC,OAAOxL,GAAG,EAAE;MACZ,IAAI3D,oBAAoB,CAAC2D,GAAG,CAAC,EAAE;QAC7BsL,WAAW,CAAC,EAAE,CAAC;QACf,MAAM9I,oBAAoB,CAAC1E,OAAO,CAAC,CAAC;QACpC;MACF;MACA,IAAIpB,OAAO,EAAE;QACXxC,UAAU,CAACuN,KAAK,CAAC,yBAAyB,EAAE;UAAE7K,SAAS,EAAE;QAAa,CAAC,EAAEoD,GAAc,CAAC;MAC1F;IACF;EACF,CAAC,EAAE,CAAC9B,eAAe,EAAEhB,WAAW,EAAEuB,UAAU,CAAC,CAAC;EAE9CpF,SAAS,CAAC,MAAM;IACd,IAAI6E,eAAe,IAAIkB,WAAW,IAAIX,UAAU,EAAE;MAChD8M,eAAe,CAAC,CAAC;MACjB;MACA;MACA,KAAKzD,0BAA0B,CAAChK,OAAO,EAAE4N,OAAO,CAAC,CAAC;IACpD;EACF,CAAC,EAAE,CAACxN,eAAe,EAAEkB,WAAW,EAAEX,UAAU,EAAE8M,eAAe,CAAC,CAAC;EAE/D,MAAMI,+BAA+B,GAAGxS,WAAW,CAAC,YAA2B;IAC7E,MAAMoS,eAAe,CAAC,CAAC;IACvBzJ,WAAW,CAAC8J,iBAAiB,CAAC,CAAC;EACjC,CAAC,EAAE,CAACL,eAAe,EAAEzJ,WAAW,CAAC,CAAC;;EAElC;EACA;EACA,MAAM+J,eAAe,GAAG1S,WAAW,CACjC,MAAO4R,SAAiB,IAAoB;IAC1C,MAAMe,WAAW,GAAGzI,aAAa,CAACI,QAAQ,CAAC,CAAC;IAC5C,IAAIqI,WAAW,EAAEpI,QAAQ,CAACqI,IAAI,CAAEjB,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKA,SAAS,CAAC,EAAE;MAC5E,MAAM1H,aAAa,CAAC2H,aAAa,CAACD,SAAS,CAAC;MAC5C,MAAMvH,cAAc,CAAC,CAAC;MACtB,MAAMmI,+BAA+B,CAAC,CAAC;MACvC;IACF;IAEA,MAAMzC,MAAM,GAAG,MAAMhM,WAAW,CAAC2O,eAAe,CAACd,SAAS,CAAC;IAC3D,IAAI,CAAC7B,MAAM,EAAEjL,IAAI,IAAI,CAACiL,MAAM,EAAE7C,SAAS,EAAE;MACvC,MAAM,IAAItJ,KAAK,CAAC,+CAA+C,CAAC;IAClE;IACA;IACA;IACA;IACA,MAAM+I,aAAa,CACjB;MACEO,SAAS,EAAE6C,MAAM,CAAC7C,SAAS;MAC3B1G,WAAW,EAAEuJ,MAAM,CAACvJ,WAAW;MAC/BsG,YAAY,EAAGiD,MAAM,CAA+BjD,YAAY;MAChEU,QAAQ,EAAEuC,MAAM,CAACvC,QAAQ;MACzBL,SAAS,EAAE4C,MAAM,CAAC5C,SAAS;MAC3BJ,MAAM,EAAEgD,MAAM,CAACjL,IAAI,CAACuG,EAAE;MACtBvG,IAAI,EAAEiL,MAAM,CAACjL;IACf,CAAC,EACD;MAAEgJ,QAAQ,EAAE;IAAK,CACnB,CAAC;IACD,MAAM0E,+BAA+B,CAAC,CAAC;EACzC,CAAC,EACD,CAACzO,WAAW,EAAEmG,aAAa,EAAEG,cAAc,EAAEsC,aAAa,EAAE6F,+BAA+B,CAC7F,CAAC;EAED,MAAMK,eAAe,GAAG7S,WAAW,CACjC,MAAO8S,IAAwB,IAA2B;IACxD,MAAMnB,OAAO,GAAG,MAAM5N,WAAW,CAACgP,aAAa,CAACD,IAAI,CAAC;IACrD,MAAMV,eAAe,CAAC,CAAC;IACvB,OAAOT,OAAO;EAChB,CAAC,EACD,CAAC5N,WAAW,EAAEqO,eAAe,CAC/B,CAAC;EAED,MAAMY,gBAAgB,GAAGpN,YAAY,IAAIb,eAAe,IAAIO,UAAU,IAAIE,cAAc;EACxF,MAAMyN,mBAAmB,GAAG,CAACrN,YAAY,IAAKb,eAAe,KAAK,CAACO,UAAU,IAAI,CAACE,cAAc,CAAE;EAElG,MAAM0N,YAA6B,GAAG/S,OAAO,CAC3C,OAAO;IACL2E,IAAI;IACJ8D,QAAQ;IACRC,eAAe;IACf9D,eAAe;IACfC,SAAS;IACTmO,YAAY,EAAE7N,UAAU;IACxBE,cAAc;IACdwN,gBAAgB;IAChBC,mBAAmB;IACnBG,cAAc,EAAExN,YAAY;IAC5ByN,cAAc,EAAEnM,OAAO,KAAK,IAAI;IAChCpE,KAAK;IACLkF,eAAe;IACfE,uBAAuB;IACvBE,mBAAmB;IACnBE,yBAAyB;IACzBwJ,WAAW;IACXC,YAAY;IACZrG,MAAM;IACNiE,kBAAkB;IAClBS,uBAAuB;IACvB5B,gBAAgB;IAChBnJ,MAAM;IACNsG,SAAS;IACT3C,aAAa,EAAEwI,uBAAuB;IACtC8B,aAAa,EAAEjO,MAAM;IACrBkO,eAAe,EAAEjC,yBAAyB;IAC1C/I,WAAW;IACX0D,iBAAiB;IACjBC,uBAAuB;IACvBC,gBAAgB;IAChBlD,iBAAiB;IACjB4C,mBAAmB;IACnBzH,gBAAgB;IAChBC,QAAQ;IACRN,WAAW;IACXV,SAAS,EAAE+I,aAAa;IACxBzK,eAAe,EAAEqQ,yBAAyB;IAC1CE,gBAAgB;IAChBjD,uBAAuB;IACvBuE,mBAAmB,EAAErN,iBAAiB;IACtC+I,iBAAiB;IACjBG,kBAAkB;IAClB9E,QAAQ;IACRmI,eAAe;IACfN,eAAe;IACfW,aAAa,EAAEF;EACjB,CAAC,CAAC,EACF,CACE/N,IAAI,EACJ8D,QAAQ,EACRC,eAAe,EACf9D,eAAe,EACfC,SAAS,EACTM,UAAU,EACVE,cAAc,EACdwN,gBAAgB,EAChBC,mBAAmB,EACnBrN,YAAY,EACZsB,OAAO,EACPpE,KAAK,EACLkF,eAAe,EACfE,uBAAuB,EACvBE,mBAAmB,EACnBE,yBAAyB,EACzBwJ,WAAW,EACXC,YAAY,EACZrG,MAAM,EACNiE,kBAAkB,EAClBS,uBAAuB,EACvB5B,gBAAgB,EAChBnJ,MAAM,EACNsG,SAAS,EACT6F,uBAAuB,EACvBF,yBAAyB,EACzB/I,WAAW,EACX0D,iBAAiB,EACjBC,uBAAuB,EACvBC,gBAAgB,EAChBlD,iBAAiB,EACjB4C,mBAAmB,EACnBzH,gBAAgB,EAChBC,QAAQ,EACRN,WAAW,EACXqI,aAAa,EACb4F,yBAAyB,EACzBE,gBAAgB,EAChBjD,uBAAuB,EACvB9I,iBAAiB,EACjB+I,iBAAiB,EACjBG,kBAAkB,EAClB9E,QAAQ,EACRmI,eAAe,EACfN,eAAe,EACfS,eAAe,CAEnB,CAAC;EAED,oBAAOpQ,IAAA,CAACC,UAAU,CAAC+Q,QAAQ;IAACC,KAAK,EAAER,YAAa;IAAApP,QAAA,EAAEA;EAAQ,CAAsB,CAAC;AACnF,CAAC;AAED,OAAO,MAAM6P,kBAAkB,GAAG9P,WAAW;;AAE7C;AACA;AACA;AACA;AACA,MAAM+P,8BAA8B,GAClC,6FAA6F;AAE/F,MAAMC,qBAAqB,GAAGA,CAAA,KAC5BtM,OAAO,CAACuM,MAAM,CAAC,IAAIlQ,KAAK,CAACgQ,8BAA8B,CAAC,CAAC;AAE3D,MAAMG,0BAA0B,GAAG,IAAIxT,WAAW,CAAC;EAAE0D,OAAO,EAAE;AAAc,CAAC,CAAC;AAE9E,MAAM+P,aAA8B,GAAG;EACrClP,IAAI,EAAE,IAAI;EACV8D,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrB9D,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAE,IAAI;EACfmO,YAAY,EAAE,KAAK;EACnB3N,cAAc,EAAE,KAAK;EACrBwN,gBAAgB,EAAE,KAAK;EACvBC,mBAAmB,EAAE,IAAI;EACzBG,cAAc,EAAE,KAAK;EACrBC,cAAc,EAAE,KAAK;EACrBvQ,KAAK,EAAE,IAAI;EACXkF,eAAe,EAAE,IAAI;EACrBE,uBAAuB,EAAE,IAAI;EAC7BE,mBAAmB,EAAE,SAAS;EAC9BE,yBAAyB,EAAE,SAAS;EACpCwJ,WAAW,EAAEA,CAAA,KAAMvK,OAAO,CAACF,OAAO,CAAC,KAAK,CAAC;EACzC0K,YAAY,EAAEA,CAAA,KAAMxK,OAAO,CAACF,OAAO,CAAC,IAAI,CAAC;EACzCqE,MAAM,EAAEA,CAAA,KAAMmI,qBAAqB,CAAO,CAAC;EAC3ClE,kBAAkB,EAAEA,CAAA,KAAMkE,qBAAqB,CAAuB,CAAC;EACvEzD,uBAAuB,EAAEA,CAAA,KAAMyD,qBAAqB,CAAO,CAAC;EAC5DrF,gBAAgB,EAAEA,CAAA,KAAMqF,qBAAqB,CAAO,CAAC;EACrDxO,MAAM,EAAEA,CAAA,KAAMwO,qBAAqB,CAAO,CAAC;EAC3ClI,SAAS,EAAEA,CAAA,KAAMkI,qBAAqB,CAAO,CAAC;EAC9C7K,aAAa,EAAEA,CAAA,KAAM6K,qBAAqB,CAAO,CAAC;EAClDP,aAAa,EAAEA,CAAA,KAAMO,qBAAqB,CAAO,CAAC;EAClDN,eAAe,EAAEA,CAAA,KAAMM,qBAAqB,CAAO,CAAC;EACpDtL,WAAW,EAAEA,CAAA,KAAMsL,qBAAqB,CAAO,CAAC;EAChD5H,iBAAiB,EAAEA,CAAA,KAAM1E,OAAO,CAACF,OAAO,CAAC,EAAE,CAAC;EAC5C6E,uBAAuB,EAAEA,CAAA,KAAM2H,qBAAqB,CAAO,CAAC;EAC5D1H,gBAAgB,EAAEA,CAAA,KAAM0H,qBAAqB,CAAO,CAAC;EACrD5K,iBAAiB,EAAEA,CAAA,KAAM4K,qBAAqB,CAAO,CAAC;EACtDhI,mBAAmB,EAAEA,CAAA,KAAMgI,qBAAqB,CAAO,CAAC;EACxDzP,gBAAgB,EAAE,aAAa;EAC/BC,QAAQ,EAAE,IAAI;EACdN,WAAW,EAAEgQ,0BAA0B;EACvC7B,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BjD,uBAAuB,EAAE,IAAI;EAC7BuE,mBAAmB,EAAE,KAAK;EAC1BtE,iBAAiB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC3BG,kBAAkB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC5B9E,QAAQ,EAAE,EAAE;EACZmI,eAAe,EAAEA,CAAA,KAAMmB,qBAAqB,CAAO,CAAC;EACpDzB,eAAe,EAAEA,CAAA,KAAMyB,qBAAqB,CAAO,CAAC;EACpDd,aAAa,EAAEA,CAAA,KAAMc,qBAAqB,CAAc;AAC1D,CAAC;AAED,OAAO,MAAMI,MAAM,GAAGA,CAAA,KAAuB;EAC3C,MAAMC,OAAO,GAAGjU,UAAU,CAACyC,UAAU,CAAC;EACtC,IAAI,CAACwR,OAAO,EAAE;IACZ,OAAOF,aAAa;EACtB;EACA,OAAOE,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -99,7 +99,7 @@ export const useUpdateProfile = () => {
|
|
|
99
99
|
refreshAvatarInStore(activeSessionId, updates.avatar, oxyServices);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
// Invalidate all related queries so every consumer (
|
|
102
|
+
// Invalidate all related queries so every consumer (the account dialog,
|
|
103
103
|
// session lists, managed accounts, etc.) refetches the fresh profile.
|
|
104
104
|
// This is critical right after `username` is set the first time, when
|
|
105
105
|
// every cached "session profile" still reports the user as unnamed.
|
|
@@ -28,7 +28,6 @@
|
|
|
28
28
|
import { useCallback } from 'react';
|
|
29
29
|
import { useOxy } from "../context/OxyContext.js";
|
|
30
30
|
import { isWebBrowser } from "../utils/isWebBrowser.js";
|
|
31
|
-
import { showSignInModal } from "../components/SignInModal.js";
|
|
32
31
|
/**
|
|
33
32
|
* Unified auth hook for all Oxy apps
|
|
34
33
|
*
|
|
@@ -57,43 +56,33 @@ export function useAuth() {
|
|
|
57
56
|
hasIdentity,
|
|
58
57
|
getPublicKey,
|
|
59
58
|
showBottomSheet,
|
|
60
|
-
openAvatarPicker
|
|
59
|
+
openAvatarPicker,
|
|
60
|
+
openAccountDialog
|
|
61
61
|
} = useOxy();
|
|
62
62
|
const signIn = useCallback(async publicKey => {
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
// already restored a session if one existed; an explicit click presents the
|
|
66
|
-
// SDK sign-in surface (password / QR device flow / add account).
|
|
67
|
-
if (isWebBrowser() && !publicKey) {
|
|
68
|
-
showSignInModal();
|
|
69
|
-
// Resolves when the modal commits a session; the caller typically reacts
|
|
70
|
-
// to `isAuthenticated` rather than this promise.
|
|
71
|
-
return new Promise(() => undefined);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Native: use the cryptographic identity directly when a public key is given.
|
|
63
|
+
// Native: sign in directly with the cryptographic identity when a public key
|
|
64
|
+
// is provided, or an existing keychain identity is found.
|
|
75
65
|
if (publicKey) {
|
|
76
66
|
return oxySignIn(publicKey);
|
|
77
67
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
68
|
+
if (!isWebBrowser()) {
|
|
69
|
+
const hasExisting = await hasIdentity();
|
|
70
|
+
if (hasExisting) {
|
|
71
|
+
const existingKey = await getPublicKey();
|
|
72
|
+
if (existingKey) {
|
|
73
|
+
return oxySignIn(existingKey);
|
|
74
|
+
}
|
|
85
75
|
}
|
|
86
76
|
}
|
|
87
77
|
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}, [oxySignIn, hasIdentity, getPublicKey, showBottomSheet]);
|
|
78
|
+
// Web, or native without a keychain identity: open the unified account dialog
|
|
79
|
+
// on its sign-in view (device flow / QR / password hand-off). There is NO
|
|
80
|
+
// automatic navigation to a login page — the device-first cold boot already
|
|
81
|
+
// restored a session if one existed. The caller reacts to `isAuthenticated`,
|
|
82
|
+
// so this promise intentionally never resolves.
|
|
83
|
+
openAccountDialog('signin');
|
|
84
|
+
return new Promise(() => undefined);
|
|
85
|
+
}, [oxySignIn, hasIdentity, getPublicKey, openAccountDialog]);
|
|
97
86
|
const signOut = useCallback(async () => {
|
|
98
87
|
await logout();
|
|
99
88
|
}, [logout]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useOxy","isWebBrowser","
|
|
1
|
+
{"version":3,"names":["useCallback","useOxy","isWebBrowser","useAuth","user","isAuthenticated","isLoading","isTokenReady","hasAccessToken","canUsePrivateApi","isPrivateApiPending","isAuthResolved","error","signIn","oxySignIn","logout","logoutAll","refreshSessions","oxyServices","hasIdentity","getPublicKey","showBottomSheet","openAvatarPicker","openAccountDialog","publicKey","hasExisting","existingKey","Promise","undefined","signOut","signOutAll","refresh","isReady"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAuth.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,MAAM,QAAQ,0BAAuB;AAE9C,SAASC,YAAY,QAAQ,0BAAuB;AAkFpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAAA,EAAkB;EACvC,MAAM;IACJC,IAAI;IACJC,eAAe;IACfC,SAAS;IACTC,YAAY;IACZC,cAAc;IACdC,gBAAgB;IAChBC,mBAAmB;IACnBC,cAAc;IACdC,KAAK;IACLC,MAAM,EAAEC,SAAS;IACjBC,MAAM;IACNC,SAAS;IACTC,eAAe;IACfC,WAAW;IACXC,WAAW;IACXC,YAAY;IACZC,eAAe;IACfC,gBAAgB;IAChBC;EACF,CAAC,GAAGtB,MAAM,CAAC,CAAC;EAEZ,MAAMY,MAAM,GAAGb,WAAW,CAAC,MAAOwB,SAAkB,IAAoB;IACtE;IACA;IACA,IAAIA,SAAS,EAAE;MACb,OAAOV,SAAS,CAACU,SAAS,CAAC;IAC7B;IACA,IAAI,CAACtB,YAAY,CAAC,CAAC,EAAE;MACnB,MAAMuB,WAAW,GAAG,MAAMN,WAAW,CAAC,CAAC;MACvC,IAAIM,WAAW,EAAE;QACf,MAAMC,WAAW,GAAG,MAAMN,YAAY,CAAC,CAAC;QACxC,IAAIM,WAAW,EAAE;UACf,OAAOZ,SAAS,CAACY,WAAW,CAAC;QAC/B;MACF;IACF;;IAEA;IACA;IACA;IACA;IACA;IACAH,iBAAiB,CAAC,QAAQ,CAAC;IAC3B,OAAO,IAAII,OAAO,CAAO,MAAMC,SAAS,CAAC;EAC3C,CAAC,EAAE,CAACd,SAAS,EAAEK,WAAW,EAAEC,YAAY,EAAEG,iBAAiB,CAAC,CAAC;EAE7D,MAAMM,OAAO,GAAG7B,WAAW,CAAC,YAA2B;IACrD,MAAMe,MAAM,CAAC,CAAC;EAChB,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMe,UAAU,GAAG9B,WAAW,CAAC,YAA2B;IACxD,MAAMgB,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMe,OAAO,GAAG/B,WAAW,CAAC,YAA2B;IACrD,MAAMiB,eAAe,CAAC,CAAC;EACzB,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAErB,OAAO;IACL;IACAb,IAAI;IACJC,eAAe;IACfC,SAAS,EAAEA,SAAS,IAAI,CAACK,cAAc;IACvCqB,OAAO,EAAEzB,YAAY;IACrBC,cAAc;IACdC,gBAAgB;IAChBC,mBAAmB;IACnBC,cAAc;IACdC,KAAK;IAEL;IACAC,MAAM;IACNgB,OAAO;IACPC,UAAU;IACVC,OAAO;IAEP;IACAb,WAAW;IACXG,eAAe;IACfC;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,283 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
-
import { useQuery } from '@tanstack/react-query';
|
|
5
|
-
import { getAccountDisplayName, getAccountFallbackHandle } from '@oxyhq/core';
|
|
3
|
+
import { useCallback, useMemo, useSyncExternalStore } from 'react';
|
|
6
4
|
import { useOxy } from "../context/OxyContext.js";
|
|
7
|
-
import { useI18n } from "./useI18n.js";
|
|
8
|
-
import { queryKeys } from "./queries/queryKeys.js";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* The per-account user shape carried by a {@link SwitchableAccount}. The SDK's
|
|
12
|
-
* canonical {@link User} document — either the freshest `useOxy().user` (the
|
|
13
|
-
* active row), a profile resolved via `oxyServices.getUsersByIds()` (every other
|
|
14
|
-
* device row), or the `account` document embedded in an account-graph node.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* One account the signed-in user can switch INTO, in the uniform switch model.
|
|
19
|
-
*
|
|
20
|
-
* A switchable account is either a device sign-in, an account-graph node (owned
|
|
21
|
-
* org / shared-with-you), or BOTH (an account that has been switched into
|
|
22
|
-
* becomes a device session while still being a graph node — the two are deduped
|
|
23
|
-
* into a single row). Every row carries a canonical `accountId` (the uniform
|
|
24
|
-
* switch key passed to `switchToAccount`); `sessionId` is present IFF the
|
|
25
|
-
* account is currently signed in on THIS device.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
/** The minimal device-session shape {@link buildSwitchableAccounts} reads. */
|
|
29
|
-
|
|
30
5
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* Primary signal: `entry.sessionId === activeSessionId` — both are projected
|
|
34
|
-
* from the same `SessionClient` state, so this normally matches exactly.
|
|
35
|
-
* Fallbacks exist only to bridge the brief window between the two sequential
|
|
36
|
-
* `updateSessions` / `setActiveSessionId` calls in `OxyContext.syncFromClient`,
|
|
37
|
-
* applied only when the `sessionId` match found nothing AND the user is
|
|
38
|
-
* authenticated:
|
|
39
|
-
* 1. Match the live `user.id` against each entry's per-account user id.
|
|
40
|
-
* 2. If still nothing and there is exactly one account, mark that one current.
|
|
41
|
-
*
|
|
42
|
-
* At most ONE entry is ever marked current. Runs over DEVICE rows only (graph
|
|
43
|
-
* rows are never active — the active account is always a device session), so the
|
|
44
|
-
* single-account fallback counts device rows.
|
|
45
|
-
*
|
|
46
|
-
* Pure & side-effect free so it is unit-testable without rendering React.
|
|
6
|
+
* Stable empty snapshot for the no-provider loading state, so `useSyncExternalStore`
|
|
7
|
+
* always has a getSnapshot that returns a constant reference before mount.
|
|
47
8
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const byUser = bySession.map(account => {
|
|
62
|
-
if (!matched && account.user.id === liveUserId) {
|
|
63
|
-
matched = true;
|
|
64
|
-
return {
|
|
65
|
-
...account,
|
|
66
|
-
isCurrent: true
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
return account;
|
|
70
|
-
});
|
|
71
|
-
if (matched) {
|
|
72
|
-
return byUser;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Authenticated, nothing matched, but there is exactly one account → it must
|
|
77
|
-
// be the current one.
|
|
78
|
-
if (bySession.length === 1) {
|
|
79
|
-
return [{
|
|
80
|
-
...bySession[0],
|
|
81
|
-
isCurrent: true
|
|
82
|
-
}];
|
|
9
|
+
const EMPTY_SNAPSHOT = {
|
|
10
|
+
view: 'accounts',
|
|
11
|
+
accounts: [],
|
|
12
|
+
activeAccountId: null,
|
|
13
|
+
loading: false,
|
|
14
|
+
error: null,
|
|
15
|
+
switchingAccountId: null,
|
|
16
|
+
signIn: {
|
|
17
|
+
phase: 'idle',
|
|
18
|
+
authorizeCode: null,
|
|
19
|
+
qrPayload: null,
|
|
20
|
+
expiresAt: null,
|
|
21
|
+
error: null
|
|
83
22
|
}
|
|
84
|
-
|
|
85
|
-
}
|
|
23
|
+
};
|
|
86
24
|
|
|
87
25
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* (
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const {
|
|
99
|
-
sessions,
|
|
100
|
-
activeSessionId,
|
|
101
|
-
liveUser,
|
|
102
|
-
isAuthenticated,
|
|
103
|
-
graph,
|
|
104
|
-
profilesById,
|
|
105
|
-
locale,
|
|
106
|
-
resolveAvatarUrl
|
|
107
|
-
} = input;
|
|
108
|
-
|
|
109
|
-
// Nothing is switchable when signed out — never surface a lingering device
|
|
110
|
-
// session or graph node once the user is unauthenticated.
|
|
111
|
-
if (!isAuthenticated) {
|
|
112
|
-
return [];
|
|
113
|
-
}
|
|
114
|
-
const toRow = (accountUser, opts) => {
|
|
115
|
-
const displayName = getAccountDisplayName(accountUser, locale);
|
|
116
|
-
const handle = getAccountFallbackHandle(accountUser);
|
|
117
|
-
const secondaryHandle = handle ? `@${handle}` : null;
|
|
118
|
-
return {
|
|
119
|
-
accountId: accountUser.id?.toString() ?? '',
|
|
120
|
-
sessionId: opts.sessionId,
|
|
121
|
-
authuser: opts.authuser,
|
|
122
|
-
isCurrent: Boolean(opts.sessionId) && opts.sessionId === activeSessionId,
|
|
123
|
-
onDevice: Boolean(opts.sessionId),
|
|
124
|
-
relationship: opts.relationship,
|
|
125
|
-
kind: opts.kind,
|
|
126
|
-
parentAccountId: opts.parentAccountId,
|
|
127
|
-
callerMembership: opts.callerMembership,
|
|
128
|
-
displayName,
|
|
129
|
-
// Real email, or the `@handle` fallback (NEVER synthesized).
|
|
130
|
-
email: accountUser.email ?? secondaryHandle,
|
|
131
|
-
avatarUrl: resolveAvatarUrl(accountUser.avatar),
|
|
132
|
-
color: accountUser.color ?? null,
|
|
133
|
-
user: accountUser
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
// --- Device rows ---
|
|
138
|
-
const built = sessions.flatMap(session => {
|
|
139
|
-
const isCurrent = session.sessionId === activeSessionId;
|
|
140
|
-
// The active row always uses the live `user` — freshest available —
|
|
141
|
-
// regardless of whether the batch profile fetch has resolved yet.
|
|
142
|
-
const accountUser = isCurrent && liveUser ? liveUser : session.userId ? profilesById.get(session.userId) : undefined;
|
|
143
|
-
if (!accountUser) {
|
|
144
|
-
return [];
|
|
145
|
-
}
|
|
146
|
-
return [toRow(accountUser, {
|
|
147
|
-
sessionId: session.sessionId,
|
|
148
|
-
authuser: session.authuser
|
|
149
|
-
})];
|
|
150
|
-
});
|
|
151
|
-
const flagged = markCurrentAccount(built, activeSessionId, liveUser?.id ?? null, isAuthenticated);
|
|
152
|
-
|
|
153
|
-
// The signed-in user must ALWAYS be represented, even before the device
|
|
154
|
-
// session set has synced (e.g. immediately after cold boot). Synthesize a
|
|
155
|
-
// single current row from the live `useOxy().user` in that case.
|
|
156
|
-
const deviceRows = flagged.length === 0 && isAuthenticated && liveUser && activeSessionId ? [toRow(liveUser, {
|
|
157
|
-
sessionId: activeSessionId
|
|
158
|
-
})] : flagged;
|
|
159
|
-
|
|
160
|
-
// --- Merge graph nodes, deduping by account id ---
|
|
161
|
-
const byAccountId = new Map();
|
|
162
|
-
const order = [];
|
|
163
|
-
const remember = row => {
|
|
164
|
-
if (!row.accountId || byAccountId.has(row.accountId)) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
byAccountId.set(row.accountId, row);
|
|
168
|
-
order.push(row.accountId);
|
|
169
|
-
};
|
|
170
|
-
for (const row of deviceRows) {
|
|
171
|
-
remember(row);
|
|
172
|
-
}
|
|
173
|
-
for (const node of graph) {
|
|
174
|
-
const existing = byAccountId.get(node.accountId);
|
|
175
|
-
if (existing) {
|
|
176
|
-
// On-device account that is ALSO in the graph: enrich the device row
|
|
177
|
-
// with graph metadata; keep its (freshest) profile + sessionId.
|
|
178
|
-
byAccountId.set(node.accountId, {
|
|
179
|
-
...existing,
|
|
180
|
-
relationship: node.relationship,
|
|
181
|
-
kind: node.kind,
|
|
182
|
-
parentAccountId: node.parentAccountId,
|
|
183
|
-
callerMembership: node.callerMembership
|
|
184
|
-
});
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
// Graph-only account (owned org / shared, not yet a device session).
|
|
188
|
-
remember(toRow(node.account, {
|
|
189
|
-
relationship: node.relationship,
|
|
190
|
-
kind: node.kind,
|
|
191
|
-
parentAccountId: node.parentAccountId,
|
|
192
|
-
callerMembership: node.callerMembership
|
|
193
|
-
}));
|
|
194
|
-
}
|
|
195
|
-
return order.flatMap(id => {
|
|
196
|
-
const row = byAccountId.get(id);
|
|
197
|
-
return row ? [row] : [];
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Resolve every account the signed-in user can switch into — device sign-ins
|
|
203
|
-
* AND linked graph accounts (owned orgs + shared-with-you) — as one flat list
|
|
204
|
-
* with real per-account name / email / avatar / color, deduped by account id.
|
|
205
|
-
*
|
|
206
|
-
* ## Data sources
|
|
207
|
-
*
|
|
208
|
-
* - Device sign-ins: `useOxy().sessions` — a `ClientSession[]` projected by
|
|
209
|
-
* `OxyContext.syncFromClient` from the server-authoritative `SessionClient`.
|
|
210
|
-
* Each session carries only `sessionId` + `userId`, so this hook additionally
|
|
211
|
-
* fetches every device account's profile via `oxyServices.getUsersByIds()`.
|
|
212
|
-
* The ACTIVE row always uses `useOxy().user` directly (the freshest copy).
|
|
213
|
-
* - Linked accounts: `useOxy().accounts` — the `AccountNode[]` graph the context
|
|
214
|
-
* loads from `GET /accounts`. Each node already embeds its `account` `User`
|
|
215
|
-
* document, so graph-only rows need no extra fetch.
|
|
216
|
-
*
|
|
217
|
-
* An account present as BOTH a device session and a graph node is deduped into
|
|
218
|
-
* ONE row (see {@link buildSwitchableAccounts}). EVERY row switches the same
|
|
219
|
-
* way — through `useOxy().switchToAccount(row.accountId)`.
|
|
220
|
-
*
|
|
221
|
-
* ## Error handling
|
|
222
|
-
*
|
|
223
|
-
* `getUsersByIds()` resolves to `[]` on a failed chunk (logged internally)
|
|
224
|
-
* rather than throwing. Device accounts whose profile could not be resolved are
|
|
225
|
-
* omitted until a subsequent fetch succeeds (except the active one, which never
|
|
226
|
-
* depends on this fetch); graph accounts are unaffected.
|
|
26
|
+
* Every account the signed-in user can switch into — device sign-ins AND linked
|
|
27
|
+
* graph accounts (owned orgs + shared-with-you) — as one flat, deduped list with
|
|
28
|
+
* real per-account name / email / avatar / color.
|
|
29
|
+
*
|
|
30
|
+
* This is a thin binding over the shared `AccountDialogController` in
|
|
31
|
+
* `@oxyhq/core` (the SAME headless source the {@link OxyAccountDialog} renders),
|
|
32
|
+
* so there is ONE projection (`projectSwitchableAccounts`) and one switch path
|
|
33
|
+
* (`controller.switchTo`) across the whole SDK — the local duplicate projection
|
|
34
|
+
* this hook used to own has been removed. Every switch routes through
|
|
35
|
+
* `useOxy().switchToAccount(accountId)` (or the dialog's row press).
|
|
227
36
|
*/
|
|
228
37
|
export function useSwitchableAccounts() {
|
|
229
38
|
const {
|
|
230
|
-
|
|
231
|
-
sessions,
|
|
232
|
-
activeSessionId,
|
|
233
|
-
user,
|
|
234
|
-
isAuthenticated,
|
|
235
|
-
accounts: graph
|
|
39
|
+
accountDialogController: controller
|
|
236
40
|
} = useOxy();
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
const ids = new Set();
|
|
245
|
-
for (const session of sessions ?? []) {
|
|
246
|
-
if (session.userId) {
|
|
247
|
-
ids.add(session.userId);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return Array.from(ids).sort();
|
|
251
|
-
}, [sessions]);
|
|
252
|
-
const profilesQuery = useQuery({
|
|
253
|
-
queryKey: queryKeys.users.list(accountIds),
|
|
254
|
-
queryFn: () => oxyServices.getUsersByIds(accountIds),
|
|
255
|
-
enabled: isAuthenticated && accountIds.length > 0,
|
|
256
|
-
staleTime: 5 * 60 * 1000,
|
|
257
|
-
// 5 minutes — matches useUserProfile's convention
|
|
258
|
-
gcTime: 30 * 60 * 1000 // 30 minutes
|
|
259
|
-
});
|
|
260
|
-
const profilesById = useMemo(() => {
|
|
261
|
-
const map = new Map();
|
|
262
|
-
for (const profile of profilesQuery.data ?? []) {
|
|
263
|
-
map.set(profile.id, profile);
|
|
264
|
-
}
|
|
265
|
-
return map;
|
|
266
|
-
}, [profilesQuery.data]);
|
|
267
|
-
const accounts = useMemo(() => buildSwitchableAccounts({
|
|
268
|
-
sessions: sessions ?? [],
|
|
269
|
-
activeSessionId: activeSessionId ?? null,
|
|
270
|
-
liveUser: user ?? null,
|
|
271
|
-
isAuthenticated,
|
|
272
|
-
graph: graph ?? [],
|
|
273
|
-
profilesById,
|
|
274
|
-
locale,
|
|
275
|
-
resolveAvatarUrl: avatar => avatar ? oxyServices.getFileDownloadUrl(avatar, 'thumb') : undefined
|
|
276
|
-
}), [sessions, activeSessionId, user, isAuthenticated, graph, profilesById, locale, oxyServices]);
|
|
41
|
+
const subscribe = useCallback(listener => controller ? controller.subscribe(listener) : () => undefined, [controller]);
|
|
42
|
+
const getSnapshot = useCallback(() => controller ? controller.getSnapshot() : EMPTY_SNAPSHOT, [controller]);
|
|
43
|
+
const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
44
|
+
const currentSessionId = useMemo(() => {
|
|
45
|
+
const active = snapshot.accounts.find(account => account.accountId === snapshot.activeAccountId);
|
|
46
|
+
return active?.sessionId ?? null;
|
|
47
|
+
}, [snapshot]);
|
|
277
48
|
return {
|
|
278
|
-
accounts,
|
|
279
|
-
isLoading:
|
|
280
|
-
currentSessionId
|
|
49
|
+
accounts: snapshot.accounts,
|
|
50
|
+
isLoading: snapshot.loading,
|
|
51
|
+
currentSessionId
|
|
281
52
|
};
|
|
282
53
|
}
|
|
283
54
|
//# sourceMappingURL=useSwitchableAccounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useSyncExternalStore","useOxy","EMPTY_SNAPSHOT","view","accounts","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","useSwitchableAccounts","accountDialogController","controller","subscribe","listener","undefined","getSnapshot","snapshot","currentSessionId","active","find","account","accountId","sessionId","isLoading"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,oBAAoB,QAAQ,OAAO;AAElE,SAASC,MAAM,QAAQ,0BAAuB;AAW9C;AACA;AACA;AACA;AACA,MAAMC,cAAqC,GAAG;EAC1CC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,kBAAkB,EAAE,IAAI;EACxBC,MAAM,EAAE;IAAEC,KAAK,EAAE,MAAM;IAAEC,aAAa,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEN,KAAK,EAAE;EAAK;AAChG,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,qBAAqBA,CAAA,EAAgC;EACjE,MAAM;IAAEC,uBAAuB,EAAEC;EAAW,CAAC,GAAGf,MAAM,CAAC,CAAC;EAExD,MAAMgB,SAAS,GAAGnB,WAAW,CACxBoB,QAAoB,IAAMF,UAAU,GAAGA,UAAU,CAACC,SAAS,CAACC,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACH,UAAU,CACf,CAAC;EACD,MAAMI,WAAW,GAAGtB,WAAW,CAC3B,MAAOkB,UAAU,GAAGA,UAAU,CAACI,WAAW,CAAC,CAAC,GAAGlB,cAAe,EAC9D,CAACc,UAAU,CACf,CAAC;EACD,MAAMK,QAAQ,GAAGrB,oBAAoB,CAACiB,SAAS,EAAEG,WAAW,EAAEA,WAAW,CAAC;EAE1E,MAAME,gBAAgB,GAAGvB,OAAO,CAAgB,MAAM;IAClD,MAAMwB,MAAM,GAAGF,QAAQ,CAACjB,QAAQ,CAACoB,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKL,QAAQ,CAAChB,eAAe,CAAC;IAClG,OAAOkB,MAAM,EAAEI,SAAS,IAAI,IAAI;EACpC,CAAC,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHjB,QAAQ,EAAEiB,QAAQ,CAACjB,QAAQ;IAC3BwB,SAAS,EAAEP,QAAQ,CAACf,OAAO;IAC3BgB;EACJ,CAAC;AACL","ignoreList":[]}
|