+
    djRl                   v   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHt ^ R	IHt ^ R
IHt ^ RI H!t!H"t"H#t#H$t$ ^ RI%H&t&H't' ^ RI(H)t) ^ RI*H+t+ ^ RI,H-t- ^ RI.H/t/H0t0H1t1H2t2 ^ RI3H4t4 ^ RI5H6t6 ^ RI7H8t8H9t9H:t: ^ RI;H<t< ^ RI=H>t>H?t?H@t@ ^ RIAHBtB ^ RICHDtD ^ RIEHFtF ^ RIGtG^ RIHHItI ^ RIJHKtKHLtLHMtMHNtN ^ RIOHPtP ^ RIQHRtRHStSHTtT ^ RIUHVtVHWtWHXtXHYtY ^ RIZH[t[H\t\H]t]H^t^H_t_H`t` ]P                  P                  RR 4      tc]P                  P                  R!R"4      td]P                  P                  R#R$4      te]P                  P                  R%R&4      tfR'tg^thR( R) ltiR* R+ ltj]! R,4      tkR- R. ltlR/ R0 ltmR1 R2 ltnR3 R4 lto ! R5 R64      tpR# )7    )annotationsN)replace)Path)AnyCallableTypeVar)escape)AccountLockError)AccountAccountRegistryAccountRegistryKindRESERVED_SLUGSROUTING_RULES_FILENAMES)ClaudeAuthOperation)ClaudeHealthClient)DeviceAuthFlowDeviceAuthPromptDeviceAuthSessionterminate_process)ClaudeCodeEntryDialogDeviceAuthDialog)DeviceAuthOperation) FactoryDecisionNotificationStore)build_factory_menu_items)FactoryAvailabilityFactoryStatusSnapshotdeck_factory_urlload_factory_status)GrokAuthOperation)GrokHealthClient)GatewayAccountStateLocalGatewayAccountManagergateway_account_state)MigrationError)AccountHealthClientAccountSnapshotHealthStatus)HealthSnapshotStore)QuotaNotificationStore)
load_rules)PopupWindow)CodexHealthAdapterCodexLifecycleAdapterProviderServiceMapProviderServices)runtime_dir)RefreshSchedulerdefault_idle_addstart_background_thread)TrayMenuItemTrayMenuItemKindformat_account_labelformat_title_part)AccountInputAlertKeyDashboardCallbacksDashboardVMProviderInputbuild_dashboard_vmCODEX_TRAY_APPINDICATOR_IDz
systray-aiCODEX_TRAY_ICON_NAMEzcodex-account-switcherCODEX_TRAY_ICON_WARNING_NAMEzcodex-account-switcher-warning!CODEX_TRAY_ICON_WARNING_LIVE_NAMEz#codex-account-switcher-warning-livez
Systray AIc                   V ^8  d   QhRR/#    returnztuple[Any, Any] )formats   "W/home/user/overdeck-private-tests/workstation-ai-indicator/modules/systray/indicator.py__annotate__rI   F   s     % %? %    c                 h    ^ RI p V P                  RR4       V P                  RR4       ^ RIHpHp W!3# )r   NGtkz3.0AyatanaAppIndicator3z0.1)rM   rL   )girequire_versiongi.repositoryrM   rL   )rN   rM   rL   s      rH   _load_gtk_modulesrQ   F   s2    ue$-u57$$rJ   c                   V ^8  d   QhRR/# rD   rE   
Any | NonerF   )rG   s   "rH   rI   rI   P   s      : rJ   c                      ^ RI p \        P                  ! RR\        R7       V P	                  RR4       ^ RIHp V#   \         d     R# i ; i)r   NignorezMGLib.unix_signal_add_full is deprecated; use GLibUnix.signal_add_full instead)messagecategoryGLibz2.0)rY   )rN   warningsfilterwarningsDeprecationWarningrO   rP   rY   	Exception)rN   rY   s     rH   _load_glib_moduler^   P   sM    c'	

 	65)& s   := AA_Tc               $    V ^8  d   QhRRRRRR/# )rD   reset_atfloat | NonenowfloatrE   boolrF   )rG   s   "rH   rI   rI   d   s!     4 4| 4% 4D 4rJ   c                "    V RJ;'       d    W8*  # )zGA reading describes its window only until that window's reset boundary.NrF   )ra   rc   s   &&rH   _expiredrg   d   s    433HO3rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   valuez	_T | Nonera   rb   rc   rd   rE   rF   )rG   s   "rH   rI   rI   i   s(     6 6i 6< 6e 6	 6rJ   c                ,    \        W4      '       d   R # T # Nrg   )ri   ra   rc   s   &&&rH   
_unexpiredrm   i   s    H**455rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   used_pct
int | Nonera   rb   rc   rd   rE   rF   )rG   s   "rH   rI   rI   m   s,     6 66$067<66rJ   c                8    V f   R# \        W4      '       d   ^ # T # )zMPast its boundary a window's counter has zeroed, so the whole window is free.Nrl   )ro   ra   rc   s   &&&rH   _percent_after_resetrr   m   s"     ''15X5rJ   c                   V ^8  d   QhRR/# )rD   rE   r   rF   )rG   s   "rH   rI   rI   v   s      4 rJ   c                     \        4       p  V P                  R R R7       V #   \         d>    \        \        P
                  ! 4       4      R,          pTP                  R R R7       Tu # i ; i)T)parentsexist_okzoverdeck-systray)r0   mkdirOSErrorr   tempfile
gettempdir)	directoryfallbacks     rH   _runtime_tray_dirr}   v   sa    It4 ++-.1CCtd3s   ! AA)(A)c                     ] tR t^tERR R lltR R ltR R ltR R	 lt]R
 R l4       t	R R lt
R R ltR R ltR R ltR R ltR R ltR R lt]RRRR/R R ll4       t]R R  l4       t]R! R" l4       tR# R$ ltR% R& ltR' R( lt]R) R* l4       tR+ R, ltR- R. ltERR/ R0 lltR1 R2 ltERR3 R4 lltR5 R6 lt]R7R8/R9 R: ll4       tERR; R< llt]ERR=R8R>RR7R/R? R@ lll4       t ]RA RB l4       t!RC RD lt"]RE RF l4       t#]RG RH l4       t$RI RJ lt%RK RL lt&RM RN lt'RO RP lt(RQ RR lt)RS RT lt*RU RV lt+ERRW RX llt,^_t-RY RZ lt.R[ R\ lt/R] R^ lt0R_ R` lt1Ra Rb lt2Rc Rd lt3Re Rf lt4Rg Rh lt5Ri Rj lt6Rk Rl lt7Rm Rn lt8Ro Rp lt9Rq Rr lt:Rs Rt lt;Ru Rv lt<Rw Rx lt=Ry Rz lt>R{ R| lt?R} R~ lt@R R ltAR R ltBR R ltCR R ltDR R ltER R ltFR R ltG]R R l4       tH]R R l4       tIR R ltJR R ltKR R ltLR R ltMR R ltNR R ltOR R ltPR R ltQR R ltRR R ltSERR R lltTR R ltUR R ltVRRRR/R R lltWRRRRRR/R R lltXRRRR/R R lltYR R ltZR R lt[R R lt\R R lt]R R lt^R R lt_R R lt`R R ltaR R ltbERR R lltcR R ltdR R lteR R ltfR R ltgR R lth]R R l4       tiR R ltjR R ltkR R ltlR R ltmR R ltnR R ltoR R ltpR R ltqERR R lltr]R R l4       tsR R lttR R ltuR R ltvR R ltwR R ltxR R ltyR R ltzR R lt{R R lt|R R lt}R R lt~ER  ER ltER ER ltERtR# (  	IndicatorNc          0     x    V ^8  d   QhRRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R!R"R#R$R%R&R'/# )(rD   registryr   health_clientr%   claude_registryAccountRegistry | Nonegrok_registryprovider_serviceszProviderServiceMap | None
gtk_modulerT   appindicator_moduledevice_auth_flowzDeviceAuthFlow | Nonedevice_auth_operationzDeviceAuthOperation | Nonedialog_factoryCallable[..., Any] | Noneidle_addthread_runnerz*Callable[[Callable[[], None]], Any] | Nonepopup_window_factorydashboard_factorysettings_dialog_factorylimits_dialog_factorysettings_storehealth_snapshot_storeHealthSnapshotStore | Noneclaude_health_snapshot_storequota_notification_storezQuotaNotificationStore | Nonefactory_status_loaderz*Callable[[], FactoryStatusSnapshot] | Nonefactory_url_openerzCallable[[str], None] | None#factory_decision_notification_storez'FactoryDecisionNotificationStore | NonerE   NonerF   )rG   s   "rH   rI   Indicator.__annotate__   s    [/ [/![/ +[/ 0	[/
 .[/ 5[/ [/ ([/ 0[/  :[/ 2[/ ,[/ B[/ 8[/ 5[/  ";![/"  9#[/$ #%[/&  :'[/( 'A)[/* #@+[/,  J-[/. 9/[/0 .U1[/2 
3[/rJ   c                	  a  VS n         VS n        VS n        T;'       g    \        4       S n        T	;'       g    \        VS P                  4      S n        T;'       g     S P                  VVVVS P                  4      S n        S P                  P                  \        P                  4      P                  S n        S P                  \        P                  4      S n        S P                  \        P                   4      S n        T
;'       g    \$        S n        T;'       g    \(        S n        T;'       g    \,        S n        T;'       g    \0        S n        VS n        VS n        VS n        T;'       g    S P;                  4       S n        S P<                  P?                  4       S n         T;'       g    S PC                  4       S n"        T;'       g    S PG                  4       S n$        S PK                  4       S n&        T;'       g    \O        \Q        4       R ,          4      S n)        RS n*        \V        PV                  S n,        \[        S P*                  S P.                  V 3R lR7      S n.        RS n/        RS n0        RS n1        RS n2        RS n3        / S n4        \k        4       S n6        RS n7        RS n8        \Q        4       S n9        \t        S n;        S Pr                  S Pv                   R2,          S n<        / S n=        / S n>        / S n?        / S n@        T;'       g    \        S nB        T;'       g    S P                  S nD        T;'       g    \        \Q        4       R,          4      S nF        \        P                  ! 4       S nI        RS nJ        R# )zquota_notifications.jsonNc                 $   < S P                  4       # rk   )_timeselfs   rH   <lambda>$Indicator.__init__.<locals>.<lambda>   s    DJJLrJ   )r   r   time_fnFz.svgz#factory_decision_notifications.json)Kr   _gtk_appindicatorr   _device_auth_flowr   _device_auth_operation_build_provider_services_provider_servicesfor_toolr   CODEXr   _provider_registryCLAUDEr   GROKr   r   _dialog_factoryr2   	_idle_addr3   _thread_runnerr+   _popup_window_factory_dashboard_factory_settings_dialog_factory_limits_dialog_factory_default_settings_store_settings_storeread	_settings_default_health_store_health_store_default_claude_health_store_claude_health_store_default_grok_health_store_grok_health_storer)   r}   _quota_notification_store_glibtimer   r1   
_scheduler	indicatormenupopup
_dashboard_health_timer_id	snapshotsset_dismissed_alert_keys_icon_warning_active_warning_icon_remaining_warning_icon_theme_pathAPPINDICATOR_ICON_WARNING_LIVE_warning_icon_name_warning_icon_pathlast_fetched_menu_items_busy_actions_provider_busy_actionsr   _factory_status_loader_default_factory_url_opener_factory_url_openerr   $_factory_decision_notification_storer   unavailable_factory_snapshot_factory_refresh_inflight)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   f&&&&&&&&&&&&&&&&&&&&&&&rH   __init__Indicator.__init__   s   4 +	0!1!E!E^5E&; '
 '
?R""@
# #4 #
 #
t7T7T''8
 //889L9R9RS\\#667J7Q7QR!445H5M5MN-AA1A!55%5+FF/F%9%H%H[""3(?%&;#-OO1M1M1O--2242RRd6P6P6R(OOD,M,M,O 	! #'"A"A"C)A *
 *
E["<<F
& "&
*.))
*^^--(

 &* $	!%
&*,05747E"*/!37$.?.A%'E(,(E(E4KbKbJccgHh(h.0+-24;=#&;&R&R?R##5#Y#Y9Y9Y / m m/0A0CFk0kl 	1 9N8Y8Y8[).&rJ   c                   V ^8  d   QhRR/# rD   rE   r   rF   )rG   s   "rH   rI   r      s      t rJ   c                	  a  S P                  4       w  rVP                  P                  \        \        VP
                  P                  4      S n        S P                  P                  VP                  P                  4       \        S P                  R 4      '       d"    S P                  P                  RV 3R l4       S P                  4        S P                  4        S P!                  4        S P#                  RR7       S P%                  4       pVeL   \        VR4      '       d8   VP'                  S P(                  P*                  S P,                  4      S n        R# R# R#   \         d     Li ; i)connectactivatec                 $   < SP                  4       # rk   )_toggle_popup_argsr   s   *rH   r   !Indicator.build.<locals>.<lambda>   s    $BTBTBVrJ   TforceNtimeout_add_seconds)_modulesr   newAPPINDICATOR_IDAPPINDICATOR_ICONIndicatorCategoryAPPLICATION_STATUSr   
set_statusIndicatorStatusACTIVEhasattrr   r]   _load_health_cache_rebuild_menu_update_title_refresh_all_glib_moduler   r   refresh_interval_seconds_refresh_all_timerr   )r   gtkappindicatorglibs   f   rH   buildIndicator.build   s&    MMO%//33**==

 	!!,">">"E"EF4>>9--&&z3VW 	!%  ".C D D$($<$<779P9P%D! !E  s    E! !E/.E/c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r      s      T rJ   c                	J    V P                  4       w  rVP                  4        R # rk   )r   main)r   r   r   s   &  rH   runIndicator.run   s    !]]_
rJ   c                   V ^8  d   QhRR/# rC   rF   )rG   s   "rH   rI   r      s     - -/ -rJ   c                	    V P                   e   V P                  f   \        4       w  V n         V n        V P                   V P                  3# rk   )r   r   rQ   r   s   &rH   r   Indicator._modules   s>    99 2 2 :,=,?)DIt)yy$,,,,rJ   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )rD   r   r   r   r%   r   r   r   r   r   rE   r.   rF   )rG   s   "rH   rI   r      sD     !- !-!!-*!- 0!- .	!-
  3!- 
!-rJ   c           	     	|   \        \        P                  V \        V4      \	        V4      R 7      .pVe>   VP                  \        \        P                  V\        V4      \        4       R 7      4       Ve>   VP                  \        \        P                  V\        V4      \        4       R 7      4       \        V4      # ))toolr   	lifecyclehealth)r/   r   r   r-   r,   appendr   r   r   r   r   r    r.   )r   r   r   r   r   	providerss   &&&&& rH   r   "Indicator._build_provider_services   s     (..!/0EF)-8	
	 & ,33,1/B-/	 $ ,11*/>+-	 "),,rJ   c                    V ^8  d   QhRRRR/# )rD   r  r   rE   r   rF   )rG   s   "rH   rI   r   #  s      ': ?U rJ   c                	r     V P                   P                  V4      P                  #   \         d     R # i ; irk   )r   r   r   LookupError)r   r  s   &&rH   r   Indicator._provider_registry#  s6    	**33D9BBB 		s   $' 66c                   V ^8  d   QhRR/# )rD   rE   ztuple[ProviderServices, ...]rF   )rG   s   "rH   rI   r   )  s        8  rJ   c                	   . p\         P                  \         P                  \         P                  3 F.  p VP	                  V P
                  P                  V4      4       K0  	  \        V4      #   \         d     KK  i ; irk   )	r   r   r   r   r  r   r   r  tuple)r   r  r  s   &  rH   
_providersIndicator._providers)  ss    ,.	%%&&$$
D
  !8!8!A!A$!GH
 Y  s   *A//A>=A>c                   V ^8  d   QhRR/# )rD   rE   *dict[str, tuple[Account, AccountRegistry]]rF   )rG   s   "rH   rI   r   6  s     	 	!K 	rJ   c           	     	    / pV P                  4        FW  pTP                  VP                  P                  4        Uu/ uF   pV P	                  V4      W2P                  3bK"  	  up4       KY  	  V# u upi rk   )r  updater   list_account_key)r   lookupprovideraccounts   &   rH   _account_lookupIndicator._account_lookup6  su    =?)HMM $,#4#4#9#9#;#; %%g.:K:K0LL#; * s   &A0
c                   V ^8  d   QhRR/# )rD   rE   tuple[TrayMenuItem, ...]rF   )rG   s   "rH   rI   r   A  s      #; rJ   c           	     	6   V P                  4       p\        \        V P                  4      4      p\	        V4      ^8X  d   V^ ,          pV P                  V4      pV'       d    VP                  V P                  4       4       VP                  V4       VP                  V P                  4       4       VP                  V P                  RRR7      4       VP                  V P                  RV P                  V4      4      4       VP                  V P                  RRR7      4       \        V4      # V Uu. uF=  pV P                  V P                  VP                  4      V P                  V4      4      NK?  	  ppVP                  V P                  4       4       VP                  V4       VP                  V P                  4       4       VP                  V P                  RRR7      4       VP                  V P                  RRR7      4       \        V4      # u upi )   zOpen dashboardopen_dashboard)actionManage accountsQuitquit)r  r   r   r   len_provider_account_itemsr  
_separatorextend_action_item_submenu_item_manage_itemsr  _provider_labelr  _provider_menu)r   r  factory_itemsr#  itemss   &    rH   _build_menu_itemsIndicator._build_menu_itemsA  s   OO%	5d6L6LMNy>Q |H00:ET__./LL'LL*+LL**+;DT*UVLL++,=t?Q?QRZ?[\]LL**6&*AB< &%
% t33HMMBDDWDWX`Dab% 	 %
 	T__&']#T__&'T&&'7@P&QRT&&vf&=>U|%
s   3AHc                    V ^8  d   QhRRRR/# rD   r#  r/   rE   r(  rF   )rG   s   "rH   rI   r   [  s      '7 <T rJ   c                	    V P                  V4      pV'       d    VP                  V P                  4       4       VP                  V P                  R V P	                  V4      4      4       \        V4      # )r-  )r1  r  r2  r5  r6  r  )r   r#  r:  s   && rH   r8  Indicator._provider_menu[  sW    ,,X6LL*+T''(94;M;Mh;WXYU|rJ   c                    V ^8  d   QhRRRR/# )rD   r#  r/   rE   zlist[TrayMenuItem]rF   )rG   s   "rH   rI   r   b  s      0@ EW rJ   c                	J   . pVP                   P                  4       pVP                   P                  4        F  pV P                  VP                   VP                  4      pV P                  V4      '       d+   V P                  P                  V P                  V4      4      MR pV P                  VVV P                  V4      V P                  4       VR7      pVP                  \        \        P                  VVP                  V8H  V'       * VP                  R7      4       K  	  V# )Nshow_healthrc   locked)kindlabelactive	sensitiveaccount_key)r   default_slugr   _account_is_lockedslug_show_health_in_menur   getr!  _account_labelr   r  r4   r5   RADIOtray_key)r   r#  r:  rK  r$  rE  snapshotrG  s   &&      rH   r1  !Indicator._provider_account_itemsb  s   $&((557((--/G,,X->->MF ,,W55 ""4#4#4W#=> 
 '' 55g>JJL ( E LL)//"<<<7"(j ' 0 0 0. rJ   c                    V ^8  d   QhRRRR/# r>  rF   )rG   s   "rH   rI   r   ~  s      e e&6 e;S erJ   c                	   V P                  R RVP                  P                   2V P                  VP                  P                  R4      '       * R7      .pVP                  P                  4       pV'       d    VP                  V P                  4       4       VP                  P                  4       pV EF.  pV P                  V4      pV P                  VP                  VP                  4      p\        V4      p. p	V\        P                  J dY   T	P                  T P                  RVP                   R2RTV'       * ;'       d    V P!                  VR4      '       * R7      4       EMV\        P"                  J d   T	P%                  T P                  R	VP                   2R
TV'       * ;'       d    V P!                  VR4      '       * R7      V P                  RVP                   2RVV P!                  VR4      '       * R7      .4       MzT	P                  T P                  V\        P&                  J d   RVP                   R2MRVP                   R2RTV'       * ;'       d    V P!                  VR4      '       * R7      4       TP%                  T P                  V'       d   RMR RVP                   2RVV P!                  VR4      '       * R7      T P                  RVP                   2RTVP                  V8g  ;'       d    V'       * R7      T P                  RVP                   2RTV'       * ;'       d    V P!                  VR4      '       * R7      T P                  RVP                   R2RTV'       * ;'       d    V P!                  VR4      '       * R7      V P                  RVP                   R2R VR!7      V P                  R"VP                   R2R#VR!7      .V	O4       EK1  	  \)        V4      # )$u   Add account…add_account:add_account)r,  rI  zMove u    to Gateway…gateway_migrategateway)r,  rJ  rI  zActivate Gateway for gateway_activatezCancel Gateway migration for gateway_cancelzContinue return of u    to native…zReturn gateway_rollbackreauthenticateUnlockLock toggle_account_lockaccount_lockzSet default set_defaultzReload reload_accountreloadzRe-authenticate u   …repair_accountzRename rename_account)r,  rJ  zRemove remove_account)r4  r  ri   _provider_action_busyr   r   r  r2  rK  r!  rL  rM  r#   r!   NATIVEalias_account_action_busyTESTINGr3  PAUSEDr  )
r   r#  r:  accountsrK  r$  keyrE  stategateway_itemss
   &&        rH   r6  Indicator._manage_items~  s    %hmm&9&9%:;"889L9Lm\\  %
 $$))+LL*+((557G##G,C,,X->->MF)'2E02M+222$$%%n=0$'&,*"b"bT5N5NwXa5b1b	 &  -555$$))3GMM?C#5(+*0j&f&f9R9RSZ\e9f5f	 *  ));GMM?K#3(+*.*C*CGY*W&W	 * " $$%%  %(;(B(BB 2'--N#*7==/!G1$'&,*"i"iT5N5NwXh5i1i & 	 LL%%'-86:!GMM?K4$'&*&?&?&X"X	 &  %%&w}}o6,$'"),,,">"M"Mv:	 &  %%!'--1/$' &J Q Q$($=$=gx$P P &  %%*7==/=/$' &J Y Y$($=$=gGW$X X &  %%!'--4/$' & 
 %%!'--4/$' & I*R #S*,Y  r U|rJ   rJ  rI  Tc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rD   rG  strr,  rJ  
str | NonerI  re   rE   r4   rF   )rG   s   "rH   rI   r     s<     
 

 
  	

 
 

rJ   c               	>    \        \        P                  V VVVR 7      # ))rF  rG  r,  rJ  rI  )r4   r5   ACTION)rG  r,  rJ  rI  s   &$$$rH   r4  Indicator._action_item  s&     !((#
 	
rJ   c               $    V ^8  d   QhRRRRRR/# )rD   rG  rv  childrenr(  rE   r4   rF   )rG   s   "rH   rI   r     s"     
 
S 
,D 
 
rJ   c                	:    \        \        P                  V VR 7      # ))rF  rG  r|  )r4   r5   SUBMENU)rG  r|  s   &&rH   r5  Indicator._submenu_item  s    !))
 	
rJ   c                   V ^8  d   QhRR/# )rD   rE   r4   rF   )rG   s   "rH   rI   r     s     = = =rJ   c                 	6    \        \        P                  R 7      # ))rF  )r4   r5   	SEPARATORrF   rJ   rH   r2  Indicator._separator  s    !1!;!;<<rJ   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rD   r   r   r   r:  r(  account_lookupr  rE   r   rF   )rG   s   "rH   rI   r     s=     ! !! ! (	!
 C! 
!rJ   c                	    R pV FO  pV P                  WWE4      pVP                  V4       VP                  \        P                  8X  g   KG  Ve   KM  TpKQ  	  R # rk   )_render_menu_itemr  rF  r5   rQ  )r   r   r   r:  r  groupitemrendereds   &&&&&   rH   _append_rendered_menu_items%Indicator._append_rendered_menu_items  sM     D--cOHKK!yy,222u} 	 rJ   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rD   r   r   r  r4   r  r  r  rT   rE   rF   )rG   s   "rH   rI   r     s=     + ++ + C	+
 + 
+rJ   c                	   VP                   \        P                  8X  d   VP                  4       # VP                   \        P                  8X  d   VP                  VP                  R 7      pVP                  4       pV P                  WVP                  V4       VP                  V4       \        VR4      '       d   VP                  VP                  4       V# VP                   \        P                  8X  Ed   VP                  VP                  R 7      pVe   VP!                  V4       VP"                  e   VP%                  VP"                  4      pVek   Vw  rVP'                  RV P)                  W4      4      p
VP*                  '       d4   VP-                  V
4       VP/                  R4       VP1                  V
4       WPP2                  VP"                  &   \        VR4      '       d   VP                  VP                  4       V# V P5                  W#4      pVP                  VP                  R 7      pVe   VP'                  RV4       \        VR4      '       d   VP                  VP                  4       V# )rG  set_sensitiver   T)rF  r5   r  SeparatorMenuItemr~  MenuItemrG  Menur  r|  set_submenur   r  rI  rQ  RadioMenuItem
join_grouprJ  rO  r   _make_activate_handlerrH  handler_block
set_activehandler_unblockr   _menu_action_callback)r   r   r  r  r  	menu_itemsubmenuaccount_stater$  r   handlecallbacks   &&&&&       rH   r  Indicator._render_menu_item  s    99(222((**99(0004::6IhhjG,,S4==.Y!!'*y/22''799(...))

);I $$U++ . 2 243C3C D ,(5%G&..z4;V;VW^;ijF{{{!//7!,,T2!11&95>  !1!12y/22''7--dCLLtzzL2	j(39o..##DNN3rJ   c               $    V ^8  d   QhRRRRRR/# )rD   r  r4   r  r  rE   r   rF   )rG   s   "rH   rI   r   <  s)     ( (( C( 
#	(rJ   c                	  a  VP                   R 8X  d   V 3R l# VP                   R8X  d   V 3R l# VP                   R8X  d   V 3R l# VP                   eN   VP                   P                  R4      '       d-   VP                   P                  R^4      ^,          pV3V 3R	 ll# VP                  f   R# VP	                  VP                  4      pVf   R# Vw  rVVP                   R
8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# VP                   R8X  d
   V3V 3R ll# R# )r/  c                N   < SP                  4       ^ ,          P                  4       # )r   )r   	main_quit_itemr   s   &rH   r   1Indicator._menu_action_callback.<locals>.<lambda>B  s    !3!=!=!?rJ   r+  c                $   < SP                  4       # rk   )_open_popupr  s   &rH   r   r  D  s    !1!1!3rJ   open_factoryc                $   < SP                  4       # rk   )_open_factory_in_deckr  s   &rH   r   r  F  s    !;!;!=rJ   NrW  :c                &   < SP                  V4      # rk    _prompt_and_add_account_for_tool)r  r  r   s   &&rH   r   r  I  s    D,Q,QRV,WrJ   rb  c                &   < SP                  V4      # rk   )_toggle_account_lockr  r$  r   s   &&rH   r   r  Q      $2K2KG2TrJ   rd  c                &   < SP                  V4      # rk   )_set_default_accountr  s   &&rH   r   r  S  r  rJ   re  c                &   < SP                  V4      # rk   )_refresh_accountr  s   &&rH   r   r  U  s    $2G2G2PrJ   rg  c                &   < SP                  V4      # rk   _repair_accountr  s   &&rH   r   r  W      $2F2Fw2OrJ   rh  c                &   < SP                  V4      # rk   )_rename_accountr  s   &&rH   r   r  Y  r  rJ   ri  c                &   < SP                  V4      # rk   )_remove_accountr  s   &&rH   r   r  [  r  rJ   rY  c                &   < SP                  V4      # rk   )_migrate_account_to_gatewayr  s   &&rH   r   r  ]  s    $2R2RSZ2[rJ   r[  c                &   < SP                  V4      # rk   )_activate_gateway_accountr  s   &&rH   r   r  _      $2P2PQX2YrJ   r\  c                &   < SP                  V4      # rk   )_cancel_gateway_migrationr  s   &&rH   r   r  a  r  rJ   r]  c                &   < SP                  V4      # rk   )_return_account_to_nativer  s   &&rH   r   r  c  r  rJ   )r,  
startswithsplitrJ  rO  )r   r  r  r  r  r$  	_registrys   f&&    rH   r  Indicator._menu_action_callback<  s   
 ;;& ??;;**33;;.(==;;"t{{'='=n'M'M;;$$S!,Q/D&*WW#&**4+;+;< *;;//)0TT;;-')0TT;;**)0PP;;**)0OO;;**)0OO;;**)0OO;;++)0[[;;,,)0YY;;**)0YY;;,,)0YYrJ   c                    V ^8  d   QhRRRR/# )rD   r   r   rE   rv  rF   )rG   s   "rH   rI   r   g  s      !7 C rJ   c                	z    \        V R R4      p\        VRR4      p\        V\        4      '       d   V'       d   V# R# )rF  Nri   codex)getattr
isinstancerv  )r   rF  r  s   &  rH   _registry_toolIndicator._registry_toolf  s5    x.tWd+dC  TKrJ   c                    V ^8  d   QhRRRR/# )rD   r$  r   rE   rv  rF   )rG   s   "rH   rI   r   n  s        G    rJ   c                	    VP                   # rk   )rR  r   r$  s   &&rH   r!  Indicator._account_keyn  s    rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   r  rv  rM  new_slugrE   r   rF   )rG   s   "rH   rI   r   q  s(     4 4S 4 4s 4t 4rJ   c                	    V R V 2pV R V 2pV P                   V P                  3 F  pWF9   g   K  VP                  V4      We&   K   	  R# )r  N)r   r   pop)r   r  rM  r  old_keynew_keystores   &&&&   rH   _rekey_snapshotsIndicator._rekey_snapshotsq  sQ    F!D6"F!H:&nnd&7&78E!&7!3 9rJ   c               $    V ^8  d   QhRRRRRR/# )rD   r   dict[str, AccountSnapshot]r   r   rE   rF   )rG   s   "rH   rI   r   x  s(     	 	-	 )	 
$		rJ   c                	    / pV P                  V4      pVP                  4        F  w  rVYcR V9   d   TMV R V 2&   K  	  V# )r  )r  r:  )r   r   r   
normalizedr  rq  rS  s   &&&    rH   _normalize_snapshot_keys"Indicator._normalize_snapshot_keysx  sL    
 24
""8,&__.MCAIcSjsauo> /rJ   c                    V ^8  d   QhRRRR/# )rD   r   r   rE   r  rF   )rG   s   "rH   rI   r     s     	
 	
-C 	
Hb 	
rJ   c                	^   Vf   / # V P                  V4       R2pVP                  4        Uu0 uF  q0P                  V4      kK  	  ppV P                  P	                  4        UUu/ uF5  w  rVVP                  V4      '       g   K  WT9   g   K&  V\        V4      R  VbK7  	  upp# u upi u uppi )Nr  )r  r   r!  r   r:  r  r0  )r   r   prefixr$  active_keysrq  rS  s   &&     rH   _bare_slug_snapshotsIndicator._bare_slug_snapshots  s    I''12!4AIQg((1Q "&!5!5!7
!7~~f% (*-*< (CFx'!7
 	
 R
s   B$%B)B)B)c                    V ^8  d   QhRRRR/# )rD   r$  r   r   r   rF   )rG   s   "rH   rI   r     s      g AW rJ   c                	"   a aa R  VVV 3R llpV# )c                    V ^8  d   QhRRRR/# )rD   r  r   rE   r   rF   )rG   s   "rH   rI   6Indicator._make_activate_handler.<locals>.__annotate__  s     	/ 	/c 	/d 	/rJ   c                  < V P                  4       '       g   R # S;'       g    SP                  pSP                  VSP                  4      '       d2   SP	                  RSP
                   R24       SP                  4        R # SP                  P                  SP                  S4      4      pVSP                  J d7   Ve3   VP                  \        P                  8X  d   SP                  S4       R # SP                  S4       R # )NAccount 
 is locked)
get_activer   rL  rM  _notifyrl  r   r   rO  r!  statusr'   BROKENr  r  )r  target_registryrS  r$  r   r   s   &  rH   on_activate5Indicator._make_activate_handler.<locals>.on_activate  s    ??$$&77$--O&&EExjAB""$~~))$*;*;G*DEH4==0(OO|':'::$$W-%%g.rJ   rF   )r   r$  r   r  s   fff rH   r   Indicator._make_activate_handler  s    	/ 	/$ rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s     E Et ErJ   c                	8   V P                   f   R # V P                  V P                  4      pT P                  RTVR J;'       d'    V P	                  V P                  VP
                  4      R7      pV P                  f   V P                   P                  V4       R # V P                  V P                  4      pT P                  RTVR J;'       d'    V P	                  V P                  VP
                  4      R7      pV P                   P                  V RV 24       R # )NCodexrE  Claudeu    · )r   _default_accountr   _title_partrL  rM  r   	set_title)r   codex_defaultcodex_titleclaude_defaultclaude_titles   &    rH   r   Indicator._update_title  s   >>!--dmm<&&T) O O++DMM=;M;MN ' 
 'NN$$[1..t/C/CD''d* W W++D,@,@.BUBUV ( 
 	  K=\N!CDrJ   rE  Fc               (    V ^8  d   QhRRRRRRRR/# )rD   rG  rv  r$  Account | NonerE  re   rE   rF   )rG   s   "rH   rI   r     s6     @ @@@ 	@
 
@rJ   c               	    \        WVR 7      # )r  )r7   )rG  r$  rE  s   &&$rH   r  Indicator._title_part  s     !??rJ   c                    V ^8  d   QhRRRR/# )rD   r   r   rE   r  rF   )rG   s   "rH   rI   r     s      )? > rJ   c                	    T;'       g    V P                   pVP                  4       pVf   R # VP                  4        F  pVP                  V8X  g   K  Vu # 	  R # rk   )r   rK  r   rM  )r   r   r  rK  r$  s   &&   rH   r  Indicator._default_account  sS    "33dmm&335&++-G|||+ . rJ   rD  rc   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rD   r$  r   rS  AccountSnapshot | NonerD  re   rc   rb   rE  zbool | NonerE   rv  rF   )rG   s   "rH   rI   r     sD     
 

(
 	

 
 
 

rJ   c               	"    \        V VVVVR 7      # )rC  )r6   )r$  rS  rD  rc   rE  s   &&$$$rH   rP  Indicator._account_label  s      $#
 	
rJ   c               $    V ^8  d   QhRRRRRR/# )rD   r   r   rM  rv  rE   re   rF   )rG   s   "rH   rI   r     s!      _ C D rJ   c                	    \        V R R4      p\        V4      '       g   R#  \        V! V4      4      #   \        \        3 d*   p\        RT 2\        P                  R7        Rp?R# Rp?ii ; i)	is_lockedNFz,systray-ai: account lock state unavailable: fileT)r  callablere   r
   rx   printsysstderr)r   rM  checkerexcs   &&  rH   rL  Indicator._account_is_locked  s`    (K6  	&& '* 	@FSZZX	s   3 A-A((A-c                    V ^8  d   QhRRRR/# )rD   r$  r   rE   re   rF   )rG   s   "rH   rI   r     s      G  rJ   c                	    R # )TrF   r  s   &&rH   rN  Indicator._show_health_in_menu  s    rJ   c                    V ^8  d   QhRRRR/# )rD   r  zAccountRegistryKind | strrE   rv  rF   )rG   s   "rH   rI   r     s      7 C rJ   c                	r    \        V \        4      '       d   V P                  MT pVR 8X  d   R# VR8X  d   R# R# )claudezClaude CodegrokGrokr   )r  r   ri   )r  r  s   & rH   r7  Indicator._provider_label  s3    #-d4G#H#HTZZd
! rJ   c                    V ^8  d   QhRRRR/# )rD   rW   rv  rE   r   rF   )rG   s   "rH   rI   r     s        rJ   c                	j     \         P                  ! R \        V .RR7       R#   \         d     R# i ; i)znotify-sendFcheckN)
subprocessr  APP_DISPLAY_NAMEFileNotFoundError)rW   s   &rH   r  Indicator._notify  s5    	NN 0': ! 		s   # 22c               $    V ^8  d   QhRRRRRR/# )rD   r$  r   r,  rv  rE   re   rF   )rG   s   "rH   rI   r     s&     S SG SS ST SrJ   c                	l    W P                   P                  V P                  V4      \        4       4      9   # rk   )r   rO  r!  r   )r   r$  r,  s   &&&rH   rm  Indicator._account_action_busy  s+    ++//0A0A'0JCERRRrJ   c               $    V ^8  d   QhRRRRRR/# )rD   r  rv  r,  rE   re   rF   )rG   s   "rH   rI   r     s&     F F# Fs Ft FrJ   c                	N    W P                   P                  V\        4       4      9   # rk   )r   rO  r   )r   r  r,  s   &&&rH   rj  Indicator._provider_action_busy  s     4488suEEErJ   c               (    V ^8  d   QhRRRRRRRR/# )	rD   r$  r   r,  rv  busyre   rE   r   rF   )rG   s   "rH   rI   r     s)     	0 	0 	0 	0D 	0UY 	0rJ   c                	0   V P                  V4      pV P                  P                  V\        4       4      pV'       d   VP	                  V4       M5VP                  V4       V'       g   V P                  P                  VR 4       V P                  V4       R # rk   )r!  r   
setdefaultr   adddiscardr  _update_dashboard_account)r   r$  r,  r:  rq  actionss   &&&&  rH   _set_account_action_busy"Indicator._set_account_action_busy  sn    ($$//SU;KKOOF#""&&sD1&&w/rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   r  rv  r,  r:  re   rE   r   rF   )rG   s   "rH   rI   r     s(     & &c &3 &d &t &rJ   c                	   V P                   P                  V\        4       4      pV'       d   VP                  V4       M5VP	                  V4       V'       g   V P                   P                  VR 4       V P                  4        R # rk   )r   r<  r   r=  r>  r  _rebuild_popup_if_open)r   r  r,  r:  r@  s   &&&& rH   _set_provider_action_busy#Indicator._set_provider_action_busy  s\    --88suEKKOOF#++//d;##%rJ   c                    V ^8  d   QhRRRR/# rD   r$  r   rE   r   rF   )rG   s   "rH   rI   r     s     (C (CG (C (CrJ   c           	     	8   V P                   P                  V4      P                  pV P                  W!P                  4      pV'       d   V P                  4       w  rEVP                  R ^ VP                  P                  VP                  P                  RVP                   R2R7      p\        VR4      '       d   VP                  R4       VP                  4       pVP                  4        WtP                   P"                  8w  d   R #  VP%                  VP                  V'       * 4       T P3                  4        T P5                  4        T P7                  4        T P9                  4        T'       g   RMRp	T'       g   R	MR
p
T P/                  RTP                   RT	 RT
 24       R #   \&        \(        \*        3 d^   pT P-                  T4       T P/                  T P1                  RT4      4       T P3                  4        T P5                  4         R p?R # R p?ii ; i)NzUnlock account ?transient_forflagsmessage_typebuttonstextformat_secondary_textz=Agents and commands may select this account for new sessions.zCould not change account lockrE  unlockedzNew sessions are blocked.zNew sessions may use it again.r  ra  z. )r   for_accountr   rL  rM  r   MessageDialogMessageTypeQUESTIONButtonsTypeYES_NOrl  r   rR  r  destroyResponseTypeYES
set_lockedKeyErrorrx   RuntimeError_log_exceptionr  _failure_messager   rE  r   _update_warning_icon)r   r$  r   rE  r   r   dialogresponser   rr  details   &&         rH   r  Indicator._toggle_account_lock  s   **66w?HH((<<@!%C&&" __55..&w}}oQ7 ' F v677,,S zz|HNN++///	&j9 	##%!!# &J  (1 	
 	xawbAB# '<0 	$LL../NPSTU '')	s   !F& &H<AHHc                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r   G  s     @ @G @ @rJ   c                	   V P                   P                  V4      P                  pV P                  W!P                  4      '       dB   V P                  R VP                   R24       V P                  4        V P                  4        R#  VP                  V4       T P                  4        T P                  4        T P                  4        T P                  4        T P                  RTP                   24       R#   \         dF   pT P                  \        T4      4       T P                  4        T P                  4         Rp?R# Rp?ii ; i)r  r  NzDefault account set to )r   rT  r   rL  rM  r  rl  r   rE  rd  r
   rv  r   rb  )r   r$  r   r   s   &&  rH   r  Indicator._set_default_accountG  s   **66w?HH""8\\::LL8GMM?*=> '')	  ) 	##%!!#.w}}o>?   	LLS" '')		s   	C: :E
:EE
c                    V ^8  d   QhRRRR/# )rD   rS  r&   rE   rF   )rG   s   "rH   rI   r   [  s      O  rJ   c           	     	j   V P                  4       p\        V\        VP                  VP                  V4      \        VP
                  VP                  V4      R 7      pVP                  \        P                  8X  d8   VP                  f   VP
                  e   \        V\        P                  R7      # V# ))primary_used_pctsecondary_used_pct)r  )r   r   rr   rl  primary_reset_atrm  secondary_reset_atr  r'   UNKNOWNOK)r   rS  rc   s   && rH   _breach_evaluation_snapshot%Indicator._breach_evaluation_snapshot[  s    jjl1))8+D+Dc  4++X-H-H# 
 OO|333))5..: 8LOO<<rJ   c               (    V ^8  d   QhRRRRRRRR/# )	rD   r$  r   merged_snapshotr&   previous_snapshotr  rE   r   rF   )rG   s   "rH   rI   r   p  s2     *$ *$*$ )*$ 2	*$
 
*$rJ   c                	   V P                   P                  V4      P                  pVP                  4       VP                  8w  d   R # V P                  V4      pV P                  V4      pVP                  \        P                  8w  d   R # \        P                  VP                  V'       d   VP                  MR V P                  P                  3\        P                  VP                   V'       d   VP                   MR \        P"                  33 EF  w  rxrVf   K  ^d\%        \'        V^ 4      ^d4      ,
          p\        P(                  ! W4      '       de   V P*                  P-                  WW4      '       dB   V P/                  VP0                  P3                  4        RVP4                   RV RV R24       K  K  W8  g   K  V P*                  P7                  WW4      '       g   K  V P/                  VP0                  P3                  4        RVP4                   RV
 RV RV R2
4       EK  	  V P9                  W4       V P;                  4        R # )	N
 account 'z' u    limit reset — z% availablez' is under z% remaining on its z limit (z% left))r   rT  r   rK  rM  r!  rr  r  r'   rq  limit_warning	WINDOW_5Hrl  r   warning_threshold_pct	WINDOW_7Drm  SEVEN_DAY_WARNING_THRESHOLD_PCTminmaxwindow_resetr   record_warning_resetr  r  
capitalizerl  record_warning_check_quota_lifecyclerb  )r   r$  ru  rv  r   rq  	evaluatedwindowro   previous_used_pct	threshold	remainings   &&&&        rH   _check_limit_warningIndicator._check_limit_warningp  s    **66w?HH  "gll2(44_E	|. ''**6G!22T44	 '',,8I!44t==	?
:F/ c#h"2C88I))*;FF11FFsSSLL"<<2245ZbQWPX Y%%.K{< T
 &4+I+I+X+XY\+e+e||..01GMM?+ k!4VHHYKwX1?
8 	##G7!!#rJ   c               $    V ^8  d   QhRRRRRR/# )rD   r$  r   rS  r&   rE   r   rF   )rG   s   "rH   rI   r     s"      g  UY rJ   c           	     	   R VP                   VP                  3RVP                  VP                  33 F  w  r4pVe   Vf   K  \	        V4      pV^d8  dr   V P
                  P                  V P                  V4      W64      '       d?   V P                  VP                  P                  4        RVP                   RV R24       K  K  W@P                  8:  g   K  V P
                  P                  V P                  V4      W64       K  	  R# )5h7dNrx  z' has 0% left on its z limit)rl  rn  rm  ro  rv  r   record_exhaustionr!  r  r  r  rl  QUOTA_REARM_USED_PCTrecord_reset)r   r$  rS  r  ro   ra   reset_cycles   &&&    rH   r   Indicator._check_quota_lifecycle  s    8,,h.G.GH8..0K0KL+
&Fh 8#3h-K311CC%%g.  LL"<<2245ZNcdjckkqr 666..;;%%g.+
rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s     9 9d 9rJ   c                	    V P                   f   R # V P                  4       pVR JpW P                  8w  d   V'       dt   \        V P                   R4      '       dW   V P	                  V4      pV P                  VP                  4       V P                   P                  V P                  RV R24       M@\        V P                   R4      '       d%   V P                   P                  \        \        4       W n        Wn        R # V'       d   WP                  8w  ds   \        V P                   R4      '       dW   V P	                  V4      pV P                  VP                  4       V P                   P                  V P                  RV R24       Wn        R # )Nset_icon_fullzUsage limit warning (!) z% left)r   _warning_icon_remaining_pctr   r   _render_warning_icon_set_indicator_icon_themeparentr  r   r   r0  r   )r   warning_remainingwarning_active	icon_paths   &   rH   rb  Indicator._update_warning_icon  sN   >>! <<>*$66664>>?;; $ 9 9:K LI2293C3CDNN00//23D2EVL
 4>>?;;NN001BDTU(6%+<(/3O3OOT[NNOU
 U
 112CDI**9+;+;<NN((''*+<*=VD (9$rJ   c                   V ^8  d   QhRR/# )rD   rE   rp   rF   )rG   s   "rH   rI   r     s     % %Z %rJ   c           
     	   . pV P                   V P                  V P                  3 Uu. uF  pVf   K	  VNK  	  ppV EF(  pV P                  V4      pVf   K  V P                  P                  V P                  V4      4      pVf   KK  V P                  V4      p\        P                  ! V4      p\        P                  V9   dE   VP                  e7   VP                  ^d\        \        VP                  ^ 4      ^d4      ,
          4       \        P                  V9   g   K  VP                   f   K  VP                  ^d\        \        VP                   ^ 4      ^d4      ,
          4       EK+  	  V'       g   R # \        V4      # u upi rk   )r   r   r   r  r   rO  r!  rr  ry  breached_windowsrz  rl  r  r~  r  r|  rm  )r   remaining_valuesr   
registriesr$  rS  r  breacheds   &       rH   r  %Indicator._warning_icon_remaining_pct  sO   &( "]]D,@,@$BTBTU
U HU 	 

 #H++H5G~~))$*;*;G*DEH88BI$55i@H&&(2y7Q7Q7] ''c#i6P6PRS2TVY.Z(Z[&&(2y7S7S7_ ''c#i6R6RTU2VX[.\(\] #  #$$)
s
   E?E?c                    V ^8  d   QhRRRR/# )rD   remaining_pctintrE   r   rF   )rG   s   "rH   rI   r     s     ' '# '$ 'rJ   c                	    \        V R 24      pV^
8  d   RMRpV^
8  d   RMRpRV RV RV R2pV P                  P                  VR	R
7       V P                  # )%g      /@g      1@z4.6z6.2a  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
  <path fill="#8ab4f8" d="M12 2 L13.8 9.2 L21 11 L13.8 12.8 L12 20 L10.2 12.8 L3 11 L10.2 9.2 Z"/>
  <path fill="#8ab4f8" d="M19 2 L19.7 4.3 L22 5 L19.7 5.7 L19 8 L18.3 5.7 L16 5 L18.3 4.3 Z"/>
  <path fill="#8ab4f8" d="M5 15 L5.6 17 L7.5 17.6 L5.6 18.2 L5 20.2 L4.4 18.2 L2.5 17.6 L4.4 17 Z"/>
  <circle cx="17.6" cy="6.4" r="4.2" fill="#dc2626"/>
  <rect x="16.9" y="3.6" width="1.4" height="4.6" rx="0.7" fill="#ffffff"/>
  <circle cx="17.6" cy="9.5" r="0.9" fill="#ffffff"/>
  <rect x="8.8" y="14.2" width="13" height="6.4" rx="3.2" fill="#111827"/>
  <text x="zK" y="18.7" text-anchor="middle" font-family="DejaVu Sans, Sans" font-size="z#" font-weight="700" fill="#f8fafc">z</text>
</svg>
zutf-8)encoding)r	   r   
write_text)r   r  rQ  x	font_sizesvgs   &&    rH   r  Indicator._render_warning_icon  s    q)*!R'DT*b0Ee	 3YZcYd  eH  IM  HN N
 	**3*A&&&rJ   c                    V ^8  d   QhRRRR/# )rD   
theme_pathr   rE   r   rF   )rG   s   "rH   rI   r     s     < <D <T <rJ   c                	    V P                   e   \        V P                   R4      '       g   R # V P                   P                  \        V4      4       R # )Nset_icon_theme_path)r   r   r  rv  )r   r  s   &&rH   r  #Indicator._set_indicator_icon_theme  s6    >>!AV)W)W**3z?;rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s      t rJ   c                	    V P                   e9   V P                   P                  '       g   V P                   P                  4        R # V P                  4        R # rk   )r   	is_closedcloser  r   s   &rH   r   Indicator._toggle_popup  s:    ::!$***>*>*>JJrJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s     
& 
&T 
&rJ   c                	   V P                  4        V P                  f   R # V P                  e4   V P                  P                  V P	                  4       P
                  4       \        V P                  R4      '       d   V P                  P                  4        \        V P                  R4      '       d   V P                  P                  4        V P                  RR7       R # )Nshowshow_allTr   )
_ensure_popupr   r   show_tab_build_dashboard_vm
active_tabr   r  r  r   r   s   &rH   r  Indicator._open_popup  s    ::??&OO$$T%=%=%?%J%JK4::v&&JJOO4::z**JJ!%rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s      t rJ   c                	8   V P                   f8   V P                  RV P                  P                  V P                  R7      V n         V P
                  f   V P                  pVf	   ^ RIHp TpV! V P                  4       4      V n        V P                   P                  4       p\        V P
                  RV P
                  4      p\        VR4      '       d   VP                  V4       MVP                  VRR^ 4       V P                  4        V P!                  4        R # )NAccounts)title
auto_closerM  )	Dashboardwidgetr=  T)r   r   r   r  r   r   r   ui.dashboardr  _dashboard_callbacksget_content_arear  r   r=  
pack_start_apply_dashboard_theme_rebuild_popup)r   factoryr  contentr  s   &    rH   r  Indicator._ensure_popup  s    ::33 >>44"ii 4 DJ
 ??"--G2#%d&?&?&ABDOjj113GT__hHFw&&F#""64q9##%rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r   +  s     	- 	- 	-rJ   c                	    V P                   f   R # \        V P                   RR 4      p\        V4      '       g   R # ^ RIHp \        V P
                  RR4      pV! V! V4      4       R # )N	set_theme)resolve_themethemesystem)r   r  r  ui.themer  r   )r   r  r  
preferences   &   rH   r   Indicator._apply_dashboard_theme+  sQ    ??"DOO[$?		""*T^^Wh?
-
+,rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r   6  s       rJ   c                	F    V P                   f   R # V P                  4        R # rk   )r   r  r   s   &rH   rE   Indicator._rebuild_popup_if_open6  s    ::rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r   ;  s     ; ; ;rJ   c                	    V P                   e   V P                  f   R # V P                  4        V P                  P                  V P	                  4       4       R # rk   )r   r   r  r  r  r   s   &rH   r  Indicator._rebuild_popup;  s?    ::!8##%t779:rJ   c                   V ^8  d   QhRR/# )rD   rE   r;   rF   )rG   s   "rH   rI   r   A  s     ,
 ,
[ ,
rJ   c                	  a aaa S P                  4        Uu/ uF=  pVP                  P                  S P                  VP                  P                  4      bK?  	  pp. pS P                  4        F  oSP                  P                  4       oVP                  SP                  P                  / 4      o\        ;QJ d2    . VVV V3R  lSP                  P                  4        4       F  NK  	  5M+! VVV V3R  lSP                  P                  4        4       4      pVP                  \        SP                  P                  S P                  SP                  4      VR7      4       K  	  \        TS P                  4       S P                  P                  ;'       g    RS P                  P                   \#        R S P$                  P'                  4        4       4      \#        S P(                  4      R7      # u upi )c              3  `  <"   T EF"  p\        SP                  P                  VP                  VP                  VP
                  VP                  S8H  SP                  P                  SP                  V4      4      SP                  P                  SP                  V4      4      \        SP                  P                  SP                  V4      \        4       4      4      SP                  VP                  / 4      SP                  SP                  VP                  4      R 7
      x  EK%  	  R# 5i))
r  rM  rl  plan
is_defaultrS  
checked_atbusy_actionsaccount_capsrE  N)r8   r  ri   rM  rl  r  r   rO  r!  r   	frozensetr   r   rL  r   ).0r$  rK  r#  r   	tool_capss   & rH   	<genexpr>0Indicator._build_dashboard_vm.<locals>.<genexpr>J  s        8G !,, !-- &|||;!^^//0A0A'0JK#0044T5F5Fw5OP!***..t/@/@/I35Q" "+w||R!@2283D3DgllS   8s   D+D.)r  rG  rp  Nc              3  <   "   T F  w  rR V9   g   K  Vx  K  	  R# 5i)rX  NrF   )r  r  r@  s   &  rH   r  r  g  s#      %%HMD G+ %Hs   
)rc   last_used_tabr{  busy_add_toolsdismissed_alert_keys)r  r  ri   _account_caps_for_toolr   rK  rO  r  r   r  r<   r7  r=   r   r   last_tabr{  r  r   r:  r   )r   r#  account_caps_by_toolr  rp  rK  r  s   f`   @@rH   r  Indicator._build_dashboard_vmA  s    !OO- 
- MM!<!<X]]=P=P!QQ- 	  
 *,	)H#,,99;L,001D1DbIIu   (00557uu   (00557 H" !,,..x}}=%) *6 "

..1199T"&.."F"F$ %%)%@%@%F%F%H% 
 "+4+E+E!F
 	
A 
s   AG3c                   V ^8  d   QhRR/# )rD   rE   r:   rF   )rG   s   "rH   rI   r   o  s     
 
&8 
rJ   c                	   a  \        V 3R  lS P                  V 3R lV 3R lV 3R lV 3R lS P                  V 3R lV 3R lS P                  S P                  R7      # )c                <   < SP                  WSP                  4      # rk   )_with_accountr  r  rM  r   s   &&rH   r   0Indicator._dashboard_callbacks.<locals>.<lambda>q      d.@.@D55/rJ   c                <   < SP                  WSP                  4      # rk   )r  r  r  s   &&rH   r   r  u      ););DH\H\)]rJ   c                <   < SP                  WSP                  4      # rk   )r  r  r  s   &&rH   r   r  v  r  rJ   c                <   < SP                  WSP                  4      # rk   )r  r  r  s   &&rH   r   r  w  r  rJ   c                &   < SP                  V 4      # rk   r  )r  r   s   &rH   r   r  x  s     E Ed KrJ   c                <   < SP                  WSP                  4      # rk   )r  _open_limits_dialogr  s   &&rH   r   r  z  s    T-?-?D44.rJ   c                <   < SP                  WSP                  4      # rk   )r  r  r  s   &&rH   r   r  }  r  rJ   )on_set_default	on_reload	on_repair	on_rename	on_removeon_addon_open_settingson_set_limitson_toggle_lockon_tab_changedon_dismiss_alert)r:   _dashboard_reload_open_settings_dialog_persist_last_tab_dismiss_alertr   s   frH   r  Indicator._dashboard_callbackso  sS    ! ,,]]]K!77  11!00#
 	
rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   rF  rv  r  rM  rE   r   rF   )rG   s   "rH   rI   r     s(     $ $3 $c $ $ $rJ   c                	   V P                   P                  WV34       V P                  4        V P                  eR   V P                  P                  '       d4   \        V P                  RR 4      p\        V4      '       d
   V! 4        R # R # R # R # )Nresize_to_content)r   r=  rE  r   
is_visibler  r  )r   rF  r  rM  r  s   &&&& rH   r  Indicator._dismiss_alert  ss    ""&&D'9:##%::!djj&;&;&; '

4G N)**!# + '<!rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   r  rv  rM  r,  zCallable[[Account], None]rE   r   rF   )rG   s   "rH   rI   r     s2     	 		 	 *		
 
	rJ   c                	D    V P                  W4      pVf   R # V! V4       R # rk   )_resolve_account)r   r  rM  r,  r$  s   &&&& rH   r  Indicator._with_account  s#     ''3?wrJ   c               $    V ^8  d   QhRRRRRR/# )rD   r  rv  rM  rE   r  rF   )rG   s   "rH   rI   r     s!      S   rJ   c                	     V P                   P                  V4      P                  pTP	                  4        F  pTP
                  T8X  g   K  Tu # 	  R #   \         d     R # i ; irk   )r   r   r   r  r   rM  r   r  rM  r   r$  s   &&&  rH   r  Indicator._resolve_account  s_    	..77=FFH  }}G||t# '   		s   %A A$#A$c               $    V ^8  d   QhRRRRRR/# )rD   r  rw  rM  rE   r   rF   )rG   s   "rH   rI   r     s!     > >j >
 >t >rJ   c                	:   Vf   V P                  RR7       R # VfQ    V P                  P                  V4      P                  pTP                  4        F  pT P                  T4       K  	  R # V P                  WV P                  4       R #   \         d     R # i ; i)NTr   )r   r   r   r   r  r   r  r  r#  s   &&&  rH   r  Indicator._dashboard_reload  s    <D)<22;;DAJJ $==?%%g. +4t'<'<=  s   %B BBc                    V ^8  d   QhRRRR/# )rD   tab_idrv  rE   r   rF   )rG   s   "rH   rI   r     s     3 3 3 3rJ   c                	  a \         ;QJ d-    V3R  lV P                  4        4       F  '       d   K   RM"	  RM! V3R  lV P                  4        4       4      '       d   R# V P                  P                  S8X  d   R# \	        V P                  SR7      V n        V P
                  P                  V P                  4       R# )c              3  T   <"   T F  qP                   P                  S8g  x  K  	  R # 5irk   )r  ri   )r  r#  r)  s   & rH   r  .Indicator._persist_last_tab.<locals>.<genexpr>  s      O=N}}""f,=Ns   %(FTN)r  )allr  r   r  r   r   write)r   r)  s   &frH   r  Indicator._persist_last_tab  st    3OT__=NO333OT__=NOOO>>""f, &A""4>>2rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s      t rJ   c           	     	    V P                   pVf	   ^ RIHp TpV! V P                  V P                  \        V P                  RR 4      R7      pVP                  4        R # )N)SettingsDialogr  )on_saverM  )r   ui.settings_dialogr2  r   _apply_settingsr  r   open)r   r  r2  rc  s   &   rH   r  Indicator._open_settings_dialog  sO    //?9$GNN((!$**h=

 	rJ   c                    V ^8  d   QhRRRR/# )rD   r  rv  rE   zPath | NonerF   )rG   s   "rH   rI   r     s     A A A ArJ   c                	     \        V4      pT\        9  d   R # T P                  P	                  T4      P
                  pTP                  \        T,          ,          #   \         d     R # i ; irk   )r   
ValueErrorr   r   r   r   base_dir)r   r  rF  r   s   &&  rH   _routing_rules_path_for_tool&Indicator._routing_rules_path_for_tool  sf    	&t,D ..**33D9BB  #:4#@@@  		s   A A,+A,c                    V ^8  d   QhRRRR/# )rD   r  rv  rE   zdict[str, dict[str, int]]rF   )rG   s   "rH   rI   r     s     
 
3 
3L 
rJ   c                	&   V P                  V4      pVe   VP                  4       '       g   / # V P                  P                  V4      P                  pVP                  4        Uu0 uF  qDP                  kK  	  pp \        V4      pTP                  P                  4        UU	u/ uF  w  rY9   g   K  T\        T	4      bK  	  up	p# u upi   \        \        3 d.   p\        RT RT 2\        P                  R7       / u R p?# R p?ii ; iu up	pi )Nz	systray: z spend caps unreadable: r  )r<  is_filer   r   r   r   rM  r*   rx   r:  r  r  r  r  r:  dict)
r   r  pathr   r$  known_slugsrulesr   rM  windowss
   &&        rH   r   Indicator._account_caps_for_tool  s    006<t||~~I**33D9BB3;==?C?||?C	t$E "'!3!3!9!9!;
!;"  D$w-!;
 	
 D $ 	IdV#;C5A

SI	
s0   %C<C $
D3DD
"D?D
D
c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s     $ $7 $t $rJ   c                	p  a aaa SP                   pS P                  V4      oSf   R # S P                  P                  S P	                  S4      4      pVf   R # S P                  V4      P                  SP                  / 4      pS P                  pVf	   ^ RIH	p TpS P                  P                  V4      P                  pVP                  4        Uu0 uF  qP                  kK  	  upoR VVVV 3R llp	V! SP                  VVV	\        S P                  RR 4      R7      p
V
P!                  4        R # u upi )N)LimitsDialogc               $    V ^8  d   QhRRRRRR/# )rD   r  rv  cap_pctrp   rE   r   rF   )rG   s   "rH   rI   3Indicator._open_limits_dialog.<locals>.__annotate__  s!     
	* 
	*C 
	** 
	* 
	*rJ   c                b   < ^ RI Hp V! SSP                  V VSR7       SP                  4        R# )r   )update_account_cap)rC  N)routing_resolverrN  rM  rE  )r  rK  rN  r$  rC  rB  r   s   && rH   r3  .Indicator._open_limits_dialog.<locals>.on_save  s/    ;' '')rJ   r  )rM  )r  r<  r   rO  r!  r  rM  r   ui.limits_dialogrI  r   r   r   r   r  r   r6  )r   r$  r  rS  capsr  rI  r   entryr3  rc  rC  rB  s   ff         @@rH   r  Indicator._open_limits_dialog  s   ||006<>>%%d&7&7&@A**4044W\\2F--?5"G**33D9BB/7}}?ezz?
	* 
	* LL!$**h=
 	+ @s   D3c                    V ^8  d   QhRRRR/# )rD   settingsr   rE   r   rF   )rG   s   "rH   rI   r     s     & & & &rJ   c                	<   Wn         V P                  P                  V4       V P                  eB   \	        V P                  R4      '       d&   V P                  P                  VP                  4       V P                  VP                  4       V P                  4        R # )Nset_auto_close)
r   r   r.  r   r   rX  r  _reschedule_health_timerr   rE  )r   rV  s   &&rH   r5  Indicator._apply_settings  sn    !""8,::!gdjj:J&K&KJJ%%h&9&9:%%h&G&GH##%rJ   c                    V ^8  d   QhRRRR/# )rD   interval_secondsr  rE   r   rF   )rG   s   "rH   rI   r     s     
 
 
 
rJ   c                	   V P                  4       pVe   \        VR4      '       g   R # V P                  e.   \        VR4      '       d   VP                  V P                  4       VP	                  WP
                  4      V n        R # )Nr   source_remove)r   r   r   r^  r   r   )r   r\  r   s   && rH   rY  "Indicator._reschedule_health_timer  sm      "<wt-BCC  ,1O1Ot445 $ 8 855!
rJ   c                   V ^8  d   QhRR/# )rD   rE   r   rF   )rG   s   "rH   rI   r     s     : : :rJ   c                	    ^ RI Hp \        V P                  RR4      pVe   \	        V4      M	\        4       pV! VR,          4      # )r   )SettingsStorer;  Nzsettings.json)ui.settings_storerb  r  r   r   r0   )r   rb  r;  r{   s   &   rH   r   !Indicator._default_settings_store  s9    34==*d;&.&:DN	Y899rJ   c                    V ^8  d   QhRRRR/# )rD   _accountr   rE   r   rF   )rG   s   "rH   rI   r     s     & &' &d &rJ   c                	&    V P                  4        R # rk   )rE  )r   rf  s   &&rH   r?  #Indicator._update_dashboard_account  s    ##%rJ   c               $    V ^8  d   QhRRRRRR/# )rD   r  rv  r   r]   rE   rF   )rG   s   "rH   rI   r   "  s!     % % %9 % %rJ   c                	:    \        V4      pV'       g   V # V  R V 2# )z: )rv  )r  r   re  s   && rH   ra  Indicator._failure_message!  s$    SMF8$$rJ   c                    V ^8  d   QhRRRR/# )rD   r   r]   rE   r   rF   )rG   s   "rH   rI   r   )  s     E EI E$ ErJ   c                	Z    \         P                  ! \        V 4      W P                  4       R # rk   )	tracebackprint_exceptiontype__traceback__)r   s   &rH   r`  Indicator._log_exception(  s    !!$s)S2C2CDrJ   c                    V ^8  d   QhRRRR/# )rD   r$  r   rE   r"   rF   )rG   s   "rH   rI   r   ,  s     4 4 44N 4rJ   c                	b    V P                   P                  V4      P                  p\        V4      # rk   )r   rT  r   r"   r   r$  r   s   && rH   _gateway_managerIndicator._gateway_manager,  s)    **66w?HH)(33rJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r   0  s     Q Q7 Qt QrJ   c                	`  a a S P                   P                  S4      P                  pS P                  VSP                  4      '       d"   S P                  R SP                   R24       R# S P                  SR4      '       d   R# S P                  SRR4       S P                  VV 3R l4       R# )r  r  NrZ  Tc                 &   < SP                  S 4      # rk   )_run_gateway_migrate_terminalr$  r   s   rH   r   7Indicator._migrate_account_to_gateway.<locals>.<lambda>8  s    D$F$Fw$OrJ   
r   rT  r   rL  rM  r  rl  rm  rA  r   ru  s   ff rH   r  %Indicator._migrate_account_to_gateway0  s    **66w?HH""8W\\::LL8GMM?*=>$$Wi88%%gy$?OPrJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r   :  s     8
 8
W 8
 8
rJ   c                	   \        R 4      p\         P                  ! 4       R,          pVP                  4       '       d,   \        P                  ! V\        P
                  4      '       g!   V P                  V P                  VRR4       R# VP                  4       '       g!   V P                  V P                  VRR4       R#  \        P                  ! \        V4      R\        V4      RRVP                  R	VP                  R
.	RR7      pTP"                  ^ 8w  d.   T P                  T P                  TRRTP$                   24       R# T P                  T P                  TRTP$                   R24       R#   \         dK   pT P                  T4       T P                  T P                  TRT P!                  RT4      4        Rp?R# Rp?ii ; i)z/usr/bin/x-terminal-emulatorz.local/bin/systray-gatewayFz+Could not open a terminal for Gateway loginNz(Gateway account command is not installedz-emigratez--toolz	--accountz--waitr-  zGateway migration failedzGateway migration failed for T is now managed by Gateway)r   homer@  osaccessX_OKr   _finish_gateway_actionexistsr/  r  rv  r  rM  rx   r`  ra  
returncoderl  )r   r$  terminalcli	completedr   s   &&    rH   r{  'Indicator._run_gateway_migrate_terminal:  s   67iik88!!8RWW)E)ENN++=	 zz||NN++:	 	"MHLLLL
 I. 1$NN++/?	 ''}}o78		
#  	$NN++%%&@#F	 	s    AE2 2G=?GGc                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r   t  s     Z Z ZT ZrJ   c                	   a a S P                  SR 4      '       d   R# S P                  SR R4       S P                  VV 3R l4       R# )rZ  NTc                 (   < SP                  S R 4      # )r   _run_gateway_simple_actionr|  s   rH   r   5Indicator._activate_gateway_account.<locals>.<lambda>x  s    D$C$CGZ$XrJ   rm  rA  r   r  s   ffrH   r  #Indicator._activate_gateway_accountt  s:    $$Wi88%%gy$?XYrJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r   z  s     X X XT XrJ   c                	   a a S P                  SR 4      '       d   R# S P                  SR R4       S P                  VV 3R l4       R# )rZ  NTc                 (   < SP                  S R 4      # )cancelr  r|  s   rH   r   5Indicator._cancel_gateway_migration.<locals>.<lambda>~  s    D$C$CGX$VrJ   r  r  s   ffrH   r  #Indicator._cancel_gateway_migrationz  s:    $$Wi88%%gy$?VWrJ   c               $    V ^8  d   QhRRRRRR/# )rD   r$  r   r,  rv  rE   r   rF   )rG   s   "rH   rI   r     s&     L L' L3 L4 LrJ   c           
     	P    V P                  V4      pVR 8X  d;   VP                  VP                  VP                  4      4       VP                   R2pMLVR8X  d;   VP                  VP                  VP                  4      4       RVP                   2pM\        R4      hV P                  V P                  VRV4       R#   \        \        \        \        3 dK   pT P                  T4       T P                  T P                  TRT P                  RT4      4        Rp?R# Rp?ii ; i)	r   r  r  z Gateway migration cancelled for z"unsupported Gateway account actionFzGateway account action failedNT)rv  r   currentrM  rl  r  r_  r$   rx   r^  r`  r   r  ra  )r   r$  r,  managerrW   r   s   &&&   rH   r  $Indicator._run_gateway_simple_action  s    	++G4G#  !>?$]]O+EF8#ww||<=<W]]OL"#GHH 	t22GT7K x@ 	$NN++%%&EsK	 	s%   AC  A C  C   D%?D  D%c               (    V ^8  d   QhRRRRRRRR/# )	rD   r$  r   successre   rW   rv  rE   r   rF   )rG   s   "rH   rI   r     s,      )-8;	rJ   c                	    V P                  VR R4       V P                  4        V P                  4        V P                  4        V P	                  4        V P                  V4       R# )rZ  FN)rA  r   rE  r   rb  r  )r   r$  r  rW   s   &&&&rH   r   Indicator._finish_gateway_action  sR     	%%gy%@##%!!#WrJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s     I I IT IrJ   c                	`  a a S P                   P                  S4      P                  pS P                  VSP                  4      '       d"   S P                  R SP                   R24       R# S P                  SR4      '       d   R# S P                  SRR4       S P                  VV 3R l4       R# )r  r  Nr^  Tc                 &   < SP                  S 4      # rk   )_run_gateway_rollbackr|  s   rH   r   5Indicator._return_account_to_native.<locals>.<lambda>  s    D$>$>w$GrJ   r~  ru  s   ff rH   r  #Indicator._return_account_to_native  s    **66w?HH""8W\\::LL8GMM?*=>$$W.>??%%g/?FGHrJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s     
 
W 
 
rJ   c                	j  aaa  V P                  S4      oSP                  S4      pV P                  P                  SP                  4      oR TTT3R llpT P!                  TSTSP"                   R2R7       R#   \
        \        \        \        3 d   pT P                  T4       T P                  T P                  SR R4       T P                  T P                  T P                  RT4      4       T P                  T P                  4       T P                  T P                  4        Rp?R# Rp?ii ; i)r^  Fz Could not begin return to nativeNc                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   5Indicator._run_gateway_rollback.<locals>.__annotate__  s     	N 	Nt 	NrJ   c                 B   < SP                  S SP                  R 7       R# ))native_healthN)complete_rollbackr  )r$  r  r#  s   rH   finish_native_cutover>Indicator._run_gateway_rollback.<locals>.finish_native_cutover  s    %%gX__%MrJ   z returned to native credentials)provider_override
on_successsuccess_notice)rv  begin_rollbackr   r   r  r$   rx   r_  r^  r`  r   rA  r  ra  r   rE  _run_repair_flowrl  )r   r$  nativer   r  r  r#  s   &f   @@rH   r  Indicator._run_gateway_rollback  s   	++G4G++G4F..77EH	N 	N 	&,%mm_,KL	 	 	
! x@ 	$NN--w8H% NN%%&H#N NN4--.NN4667	s   AA; ;D2BD--D2c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s     D Dw D4 DrJ   c                	,  a a S P                   P                  S4      P                  pS P                  VSP                  4      '       d"   S P                  R SP                   R24       R# S P                  SRR4       S P                  VV 3R l4       R# )r  r  Nr^  Tc                 &   < SP                  S 4      # rk   )r  r|  s   rH   r   +Indicator._repair_account.<locals>.<lambda>  s    D$9$9'$BrJ   )	r   rT  r   rL  rM  r  rl  rA  r   ru  s   ff rH   r  Indicator._repair_account  st    **66w?HH""8W\\::LL8GMM?*=>%%g/?FBCrJ   c               $    V ^8  d   QhRRRRRR/# )rD   rl  rv  rM  rw  rE   r   rF   )rG   s   "rH   rI   r     s&     Y Y# YZ Y4 YrJ   c                	^    V P                  V P                  V P                  4      WR 7       R# )rM  N)_add_account_for_toolr  r   )r   rl  rM  s   &&&rH   _add_accountIndicator._add_account  s$    ""4#6#6t}}#Eu"XrJ   c                    V ^8  d   QhRRRR/# )rD   r  rv  rE   r   rF   )rG   s   "rH   rI   r     s     : :S :T :rJ   c                	Z    V P                  V4      pVf   R # V P                  WVR7       R # )Nr  )_prompt_account_slugr  )r   r  rM  s   && rH   r  *Indicator._prompt_and_add_account_for_tool  s-    ((.<""4D"9rJ   c                    V ^8  d   QhRRRR/# )rD   r  rv  rE   rw  rF   )rG   s   "rH   rI   r     s     % % % %rJ   c                	   V P                  4       w  r# V P                  P                  V4      pTP                  pTP                  RR7      pTP                  RTP                  P                  4       TP                  RTP                  P                  4       TP                  4       pTP                  TP                  RR7      4       TP                  4       pTP                  T4       TP                  4        TP                  4       p	TP!                  4       P#                  4       p
TP%                  4        YP                  P                  8w  g	   T
'       g   R #  TP'                  T
4      pT\.        9   d   T P+                  RT 24       R # TP1                  4        Uu0 uF  qP2                  kK  	  ppY9   g(   TP4                  T,          P7                  4       '       d   T P+                  RT 24       R # T#   \         d     R # i ; i  \(         d&   pT P+                  \-        T4      4        R p?R # R p?ii ; iu upi )	NzAdd accountr  CancelAddz)Account slug (letters, numbers, hyphens):r  zReserved account slug: zAccount slug already exists: )r   r   r   r  r   Dialog
add_buttonr[  CANCELrq  r  r=  LabelEntryr  r  get_textstriprZ  normalize_slugr:  r  rv  r   r   rM  accounts_dirr  )r   r  r   r   r#  r   rc  r  rS  rd  raw_slugrM  r   r$  rC  s   &&             rH   r  Indicator._prompt_account_slug  s   !]]_	..77=H $$-0(C$4$4$;$;<%!1!1!4!45))+CII$OIPQ		E::<>>#))+''***(	**84D >!LL24&9:3;==?C?||?C8#8#84#?"G"G"I"ILL8?@C  		.  	LLS"	 Ds/   G= H "I=HHH?H::H?rM  
login_hintc          
     ,    V ^8  d   QhRRRRRRRRRR/# 	rD   r  rv  rl  rM  rw  r  rE   r   rF   )rG   s   "rH   rI   r     s<     
 

 

 
 
 

rJ   c               	   a aaaa S P                  SR 4      '       d   R# S P                  SR R4       S P                  VVV VV3R l4       R# )rX  NTc                 .   < SP                  SS SSR 7      # )rM  r  )_run_add_account_flow)rl  r  r   rM  r  s   rH   r   1Indicator._add_account_for_tool.<locals>.<lambda>
  s    D..tUR\.]rJ   )rj  rF  r   )r   r  rl  rM  r  s   fffddrH   r  Indicator._add_account_for_tool  sA     %%dM::&&t]DA]]	
rJ   r  r  r  c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rD   r$  r   r  zProviderServices | Noner  Callable[[], None] | Noner  rw  rE   r   rF   )rG   s   "rH   rI   r     sC     o oo 3	o
 .o #o 
orJ   c          
     	B  aa	 R pT;'       g    V P                   P                  V4      o	V P                  S	P                  VP                  4      '       dK   V P                  V P                  VRR4       V P                  V P                  RVP                   R24       R # S	P                  P                  V4       EF  oSP                  R9   d   K  SP                  R8X  d   SP                  ff   SP                  ;'       g4    SP                  e   SP                  P                  MRVP                   2pV P                  V P                  V4       K   V P!                  SP                  VSP                  4      pK  SP                  R8X  d6    V P7                  SP                  P8                  VV	3R	 lV3R
 lR7      pEK  SP                  R8X  dI   SP:                  e   V P=                  SP:                  4       V P                  V P>                  WQ4        R # SP                  R8X  dL   Ve	    V! 4        V P                  V PH                  WQ4       Ve   V P                  V P                  V4        R # SP                  R8X  g   EK  Vf   T P                  V P                  SP                  ;'       g=    T P1                  RVP                   2SPJ                  ;'       g    \E        R4      4      4       V P                  V P                  VRR4       V P                  V P2                  4       V P                  V P4                  4        R # V P                  V P>                  WQ4        R # 	  R #   \"         d   pT P%                  T4       SP                  e    \'        SP                  P(                  4       T P*                  P-                  TP.                  4       T P                  T P                  T P1                  RTP                   2T4      4       T P                  T P                  TRR4       T P                  T P2                  4       T P                  T P4                  4        R p? R # R p?ii ; i  \"         d   pT P%                  T4       SP                  e    \'        SP                  P(                  4       T P                  T P                  T P1                  RTP                   2T4      4       T P                  T P                  TRR4       T P                  T P2                  4       T P                  T P4                  4        R p? R # R p?ii ; i  \@        \B        \D        \F        3 d   pT P%                  T4       T P                  T P                  TRR4       T P                  T P2                  4       T P                  T P4                  4       T P                  T P                  T P1                  RT4      4        R p? R # R p?ii ; i)Nr^  Fr  r  prompt_readyzComplete re-auth for Re-authentication failed for code_requiredc                P   < SP                   P                  SP                  V 4      # rk   r  submit_codesessioncodeeventr#  s   &rH   r   ,Indicator._run_repair_flow.<locals>.<lambda>>  s    x/A/A/M/Memm]a/brJ   c                 B   < \        S P                  P                  4      # rk   r   r  processr  s   rH   r   r  ?      *;EMM<Q<Q*RrJ   	on_submit	on_cancel	collisionr  zNative cutover failedfailurezrepair failed>   commitstartedrollbackprocess_startedbrowser-waiting)&r   rT  rL  r   rM  r   rA  r  rl  r  r^  rF  r  rW   promptraw_text_show_repair_dialogr]   r`  r   r  r   r  account_homera  r   rE   _create_claude_code_entry_dialogurlr  _mark_account_broken_finish_repair_failurer$   rx   r_  r^  _finish_repair_successerror)
r   r$  r  r  r  rc  rW   r   r  r#  s
   &&$$$   @@rH   r  Indicator._run_repair_flow  s    $TT(?(?(K(KG(T""8#4#4gllCCNN488'CSUZ[NN4<<8GMM?*)MN''66w?Ezzddzz^+==(#mm   <<3 --4W]]OD 
 NN4<<9!55ellGU]][F" zz_,!BB(("b"R C F( zz[(??.--eoo>t::FLzzY&)"  t::FL!-NN4<<@zzY&>NN  00;GMM?K!KKHH<+H NN4#@#@'K[]bcNN4#5#56NN4#>#>?t::FLC @ ! '',}}0)%--*?*?@**33G4H4HINN--;GMM?K NN4#@#@'K[]bcNN4#5#56NN4#>#>?0 ! '',}}0)%--*?*?@NN--;GMM?K NN4#@#@'K[]bcNN4#5#56NN4#>#>?2 +G\8L ++C0 99#,!	 t'9'9:t'B'BC LL 112I3O sK   'M71R5U&7Q>C0Q99Q>U#CUU#&XBXXc          
     ,    V ^8  d   QhRRRRRRRRRR/# r  rF   )rG   s   "rH   rI   r   ~  sC     h hh h
 h h 
hrJ   c          
     	
  aa	 R pV P                   P                  V4      o	S	P                  P                  W#VR7       EF  oSP                  R9   d   K  SP                  R8X  d   SP
                  f\   SP                  ;'       g*    SP                  e   SP                  P                  MRV 2pV P                  V P                  V4       K   T P                  SP                  SP                  ;'       g    . SP
                  4      pK  SP                  R8X  d6    V P3                  SP                  P4                  VV	3R	 lV3R
 lR7      pEK  SP                  R8X  d   EK)  SP                  R8X  dV   SP6                  eE   V P9                  SP6                  4       V P                  V P:                  VVVSP6                  4        R # SP                  R8X  d!   V P                  V P<                  WRV4        R # SP                  R8X  g   EK  Vf   T P                  V P                  SP                  ;'       g4    T P+                  RV R2SP>                  ;'       g    \A        R4      4      4       V P                  V P,                  VRR4       V P                  V P.                  4       V P                  V P0                  4        R # V P                  V PB                  WRV4        R # 	  R #   \         Ed:   pT P                  T4       SP
                  e    \        SP
                  P                   4       SP"                  e^   SP"                  P$                  T8w  dC    S	P&                  P)                  SP"                  P$                  4       M  \         d     Mi ; iT P                  T P                  T P+                  RT R2T4      4       T P                  T P,                  TRR4       T P                  T P.                  4       T P                  T P0                  4        R p? R # R p?ii ; i  \         Ed   pT P                  T4       SP
                  e    \        SP
                  P                   4       S	P&                  P)                  SP"                  e   SP"                  P$                  MT4       T P                  T P                  T P+                  RT R2T4      4       T P                  T P,                  TRR4       T P                  T P.                  4       T P                  T P0                  4        R p? R # R p?ii ; i)Nr  r  zComplete sign-in for Adding account  failedrX  Fr  c                P   < SP                   P                  SP                  V 4      # rk   r  r  s   &rH   r   1Indicator._run_add_account_flow.<locals>.<lambda>  s     x/A/A/M/M!MM 0rJ   c                 B   < \        S P                  P                  4      # rk   r  r  s   rH   r   r    r  rJ   r  r  r  r  r  z
add failed>   r  r  r   )"r   r   r  r=  rF  r  rW   r  r  r   r  _show_add_dialogexisting_accountsr]   r`  r   r  r$  rM  r   removera  rF  r   rE  r  r  r  r  _finish_add_collision_finish_add_successr
  r_  _finish_add_failure)
r   r  rl  rM  r  rc  rW   r   r  r#  s
   &&&$$   @@rH   r  Indicator._run_add_account_flow~  sL    **33D9''++E+TEzzNNzz^+==(#mm   <<3 --4UG< 
 NN4<<9!22//552F, zz_,!BB((# #S C F. zzZ'zz[(??.--eoo>NN22 zzY&t77MzzY&>NN  00-eWG<!KKEE<+E NN4#A#A4X]^NN4#5#56NN4#>#>?t77M} U& ! '',}}0)%--*?*?@}}0U]]5G5G55P!$--44U]]5G5GH( ! !NN--wg.NPST NN4#A#A4X]^NN4#5#56NN4#>#>?!8 ! '',}}0)%--*?*?@%%,,.3mm.G**U NN--wg.NPST NN4#A#A4X]^NN4#5#56NN4#>#>?s]   (K18K11P91P6=A'P1%/NP1N# P1"N##BP11P69UDUUc               (    V ^8  d   QhRRRRRRRR/# )	rD   r  r   r$  r   r  r   rE   r   rF   )rG   s   "rH   rI   r     s2     
 
 
 
 #	

 

rJ   c                	D   a aa S P                  VVV 3R  lV3R lRR7      # )c                 &   < SP                  S 4      # rk   r  r|  s   rH   r   /Indicator._show_repair_dialog.<locals>.<lambda>  s    T11':rJ   c                 .   < \        S P                  4      # rk   r   r  r  s   rH   r   r        /@rJ   Non_retryr  r  _create_device_auth_dialog)r   r  r$  r  s   f&ffrH   r  Indicator._show_repair_dialog  s)     ..:@"	 / 
 	
rJ   c               (    V ^8  d   QhRRRRRRRR/# )	rD   r  r   r  list[tuple[str, str]]r  r   rE   r   rF   )rG   s   "rH   rI   r     s2     
 
 
 1
 #	

 

rJ   c                	6   a V P                  VR V3R lVR7      # )Nc                 .   < \        S P                  4      # rk   r  r   s   rH   r   ,Indicator._show_add_dialog.<locals>.<lambda>  r!  rJ   r"  r$  )r   r  r  r  s   &&&frH   r  Indicator._show_add_dialog  s)     ..@/	 / 
 	
rJ   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rD   r  r   r#  r  r  r  zlist[tuple[str, str]] | NonerE   r   rF   )rG   s   "rH   rI   r     s<           ,  -	 
 8  
 rJ   c                	   a aaaaaa \         P                  ! 4       o/ oR  VVVVVVV 3R llpS P                  V4       SP                  4        SP	                  R4      pVe   VhSR,          # )c                   V ^8  d   QhRR/# rD   rE   re   rF   )rG   s   "rH   rI   :Indicator._create_device_auth_dialog.<locals>.__annotate__  s     	 	d 	rJ   c                    <  SP                  SSSSR 7      SR&   SP                  4        R#   \         d   p T SR&    Rp ? L'Rp ? ii ; i  SP                  4        i ; i)r"  rc  r
  NF)r   r]   r   )r   doner  r  r#  r  resultr   s    rH   build_dialog:Indicator._create_device_auth_dialog.<locals>.build_dialog  sc    
#'#7#7%'&7	 $8 $x  
	  &"%w& 
s%   - AAA
 AA
 
Ar
  rc  	threadingEventr   waitrO  )	r   r  r#  r  r  r5  r
  r3  r4  s	   fffff  @@rH   r%  $Indicator._create_device_auth_dialog  s[      !#	 	 	|$		

7#KhrJ   c               (    V ^8  d   QhRRRRRRRR/# )	rD   r  rv  r  zCallable[[str], None]r  zCallable[[], None]rE   r   rF   )rG   s   "rH   rI   r   !  s2          )	 
 &  
 rJ   c               	   aaaaa \         P                  ! 4       o/ oR  VVVVV3R llpV P                  V4       SP                  4        SP	                  R4      pVe   VhSR,          # )c                   V ^8  d   QhRR/# r0  rF   )rG   s   "rH   rI   @Indicator._create_claude_code_entry_dialog.<locals>.__annotate__+  s     	 	d 	rJ   c                    <  \        SSSR 7      SR&   SP                  4        R#   \         d   p T SR&    Rp ? L'Rp ? ii ; i  SP                  4        i ; i)r  rc  r
  NF)r   r]   r   )r   r3  r  r  r4  r  s    rH   r5  @Indicator._create_claude_code_entry_dialog.<locals>.build_dialog+  sU    	#8''$x  
	  &"%w& 
s#   & A ;A A  A Ar
  rc  r7  )r   r  r  r  r5  r
  r3  r4  s   &fdd  @@rH   r  *Indicator._create_claude_code_entry_dialog!  s[      !#	 	 	|$		

7#KhrJ   c               $    V ^8  d   QhRRRRRR/# rD   rc  r   r$  r   rE   r   rF   )rG   s   "rH   rI   r   ?  s!     : :S :7 :t :rJ   c           
     	V   \        VR 4      '       d   VP                  4        V P                  V4      pV P                  VRR4       V P	                  V\        \        P                  RRV P                  4       R7      4      pVeF   W@P                  V&   VP                  e   VP                  MV P                  4       V P                  V&   V P                  4        V P                  4        V P                  4        V P                  4        V P!                  RVP"                   24       R# )close_successr^  FNr  zRe-authenticated )r   rF  r!  rA  _merge_snapshotr&   r'   rq  r   r   r  r   r   rE  _write_health_cacher   r  rl  )r   rc  r$  rq  mergeds   &&&  rH   r	   Indicator._finish_repair_success?  s    6?++  "(%%g/?G%%LOOT4DJJLQ
 "(NN3:@:K:K:WV%6%6]a]g]g]iDc"##%  "(89rJ   c               $    V ^8  d   QhRRRRRR/# rD  rF   )rG   s   "rH   rI   r   Q  s&     F FS F7 Ft FrJ   c                	    V P                  VR R4       \        VR4      '       d   VP                  RR7       V P                  4        V P	                  4        V P                  RVP                   24       R# )r^  Fshow_failureTretry_availabler  N)rA  r   rN  r   rE  r  rl  )r   rc  r$  s   &&&rH   r   Indicator._finish_repair_failureQ  sc    %%g/?G6>**5##%4W]]ODErJ   c               (    V ^8  d   QhRRRRRRRR/# rD   rc  r   rl  rv  r  rE   r   rF   )rG   s   "rH   rI   r   Y  s(     / /# /c / / /rJ   c                	    V P                  VR R4       \        VR4      '       d   VP                  4        V P                  4        V P	                  4        V P                  4        V P                  RV 24       R# )rX  FrF  zAdded account N)rF  r   rF  r   rE  r   r  r   rc  rl  r  s   &&&&rH   r  Indicator._finish_add_successY  sd    &&t]EB6?++  "##%~eW-.rJ   c               (    V ^8  d   QhRRRRRRRR/# rS  rF   )rG   s   "rH   rI   r   b  s(     7 7# 7c 7 7 7rJ   c                	    V P                  VR R4       \        VR4      '       d   VP                  RR7       V P                  4        V P	                  4        V P                  RV R24       R# )rX  FrN  rO  r  r  N)rF  r   rN  r   rE  r  rU  s   &&&&rH   r  Indicator._finish_add_failureb  s_    &&t]EB6>**6##%ugW56rJ   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rD   rc  r   rl  rv  r  r  r   rE   r   rF   )rG   s   "rH   rI   r   j  s1     
 
C 
 
3 
SZ 
_c 
rJ   c                	    V P                  VR R4       \        VR4      '       d   VP                  RR7       V P                  4        V P	                  4        V P                  RV RVP                   24       R# )rX  FrN  rO  r  z  collided with existing account N)rF  r   rN  r   rE  r  rl  )r   rc  rl  r  r  s   &&&&&rH   r  Indicator._finish_add_collisionj  sl    &&t]EB6>**6##%eW$DY__DUV	
rJ   c                    V ^8  d   QhRRRR/# )rD   r  rw  rE   r(  rF   )rG   s   "rH   rI   r   t  s     
 
z 
EZ 
rJ   c                	(   V P                   P                  T;'       g    V P                  V P                  4      4      pVP                  P	                  4        Uu. uF+  pVP
                  f   K  VP                  VP
                  3NK-  	  up# u upi rk   )r   r   r  r   r   emailrl  )r   r  r#  r$  s   &&  rH   _existing_accounts_for_add$Indicator._existing_accounts_for_addt  s~    **33D4^4^D<O<OPTP]P]<^_ $,,113
3}} +W]]GMM*3
 	
 
s   B0Bc                    V ^8  d   QhRRRR/# )rD   r  rv  rE   r  rF   )rG   s   "rH   rI   r   |  s        rJ   c                	L   R pV P                   P                  4        F  pVP                  V8X  g   K  Tp M	  Ve   VP                  '       g   R # V P                   P                  4        F5  pVP                  V8w  g   K  VP                  VP                  8X  g   K3  Vu # 	  R # rk   )r   r   rM  
account_id)r   r  new_accountr$  s   &&  rH   _find_account_collision!Indicator._find_account_collision|  s    }}))+G||x'% , k&<&<&<}}))+G||x'G,>,>+BXBX,X , rJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s     
0 
0G 
0 
0rJ   c           
     	r   V P                  V4      pV P                  V\        \        P                  R R V P                  4       R7      4      pVeF   W0P                  V&   VP                  e   VP                  MV P                  4       V P                  V&   V P                  4        V P                  V4       R # )NrG  )r!  rH  r&   r'   r  r   r   r  r   rI  r?  )r   r$  rq  rJ  s   &&  rH   r  Indicator._mark_account_broken  s    (%%L//t

U
 "(NN3:@:K:K:WV%6%6]a]g]g]iDc"  "&&w/rJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s      w 4 rJ   c                	   V P                  4       w  r#VP                  R R7      pVP                  RVP                  P                  4       VP                  RVP                  P
                  4       VP                  4       pVP                  VP                  RVP                   2R7      4       VP                  4       pVP                  VP                  4       VP                  V4       VP                  4        VP                  4       pVP                  4       P                  4       pVP!                  4        WrP                  P
                  8w  g	   V'       g   R# V P"                  P%                  V4      P&                  p	VP(                  VP*                  rV	P-                  W4      pV'       d   W8w  d   V P/                  WV4       V P1                  4        V P3                  4        V P5                  4        R# )zRename accountr  r  rq  zRename account: r  N)r   r  r  r[  r  rq  r  r=  r  rl  r  set_textr  r  r  r  rZ  r   rT  r   r  rM  renamer  r   rE  r   )r   r$  r   r   rc  r  rS  rd  	new_aliasr   r  rM  r  s   &&           rH   r  Indicator._rename_account  sq   !]]_"23(C$4$4$;$;<$ 0 0 3 34))+CII&6w}}o$FIGH		w}}%E::<NN$**,	''***)**66w?HH\\7<<d??43(!!$h7##%rJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s      w 4 rJ   c           	     	   V P                  4       w  r#VP                  R ^ VP                  P                  VP                  P
                  RVP                   R2R7      pVP                  4       pVP                  4        WRP                  P                  8w  d   R # V P                  P                  V4      P                  P                  VP                  4       V P!                  4        V P#                  4        V P%                  4        R # )NzRemove account rK  rL  )r   rU  rV  rW  rX  rY  rl  r  rZ  r[  r\  r   rT  r   r  rM  r   rE  r   )r   r$  r   r   rc  rd  s   &&    rH   r  Indicator._remove_account  s    !]]_""11OO**"7==/3 # 
 ::<''+++++G4==DDW\\R##%rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s     & &t &rJ   c                	  a  S P                  4       w  rVP                  4       S n        / S n        \	        S P                  R 4      '       d!   S P                  P                  RV 3R l4       S P                  4       pS P                  VS P                  S P                  4       V4       S P                  P                  4        S P                  e&   S P                  P                  S P                  4       S P                  4        R# )r   r  c                 (   < SP                  R R7      # )Tr   )r   r   s   *rH   r   )Indicator._rebuild_menu.<locals>.<lambda>  s    T5F5FT5F5RrJ   N)r   r  r   r   r   r   r%  r  r;  r  r   set_menurE  )r   r   r   r  s   f   rH   r   Indicator._rebuild_menu  s    !]]_HHJ	499i((IIf&RS--/((dii9O9O9QSab		>>%NN##DII.##%rJ   c               (    V ^8  d   QhRRRRRRRR/# )rD   r   r   r  rG  rv  rE   rF   )rG   s   "rH   rI   r     s(     1 1# 1c 1# 1# 1rJ   c                	    V P                   p\        VR R4      p\        V4      '       d	   V! W4      #  V! VR7      #   \         d    T! Y4      u # i ; i)new_with_label_from_widgetNr  )r  r  r  	TypeError)r   r  rG  radio_menu_itemr  s   &&&  rH   _new_radio_menu_itemIndicator._new_radio_menu_item  s\    ++/+GNG5((	1"// 	1"500	1s   = AAc                   V ^8  d   QhRR/# rS   rF   )rG   s   "rH   rI   r     s      j rJ   c                	T    V P                   f   \        4       V n         V P                   # rk   )r   r^   r   s   &rH   r   Indicator._glib_module  s     ::*,DJzzrJ   c                   V ^8  d   QhRR/# r0  rF   )rG   s   "rH   rI   r     s      D rJ   c                	     V P                  R R7       V P                  4        R#   \         d   pT P                  T4        Rp?R# Rp?ii ; i)Fr   NT)r   rb  r]   r`  )r   r   s   & rH   r   Indicator._refresh_all_timer  sO    	%E*%%'   	%$$	%s   "& AAAc                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r     s     [ [ [D [rJ   c                	H   V P                   P                  V4      P                  pV P                  W!P                  4      '       d"   V P                  R VP                   R24       R# V P                  VRR4       V P                  P                  VRV P                  4       R# )r  r  Nrf  T)r   rT  r   rL  rM  r  rl  rA  r   schedule_refresh_account_run_refresh_accountru  s   && rH   r  Indicator._refresh_account  s}    **66w?HH""8\\::LL8GMM?*=>%%gx>00$@Y@YZrJ   c               $    V ^8  d   QhRRRRRR/# rD   r$  r   
generationrp   rE   r   rF   )rG   s   "rH   rI   r     s'     a a aj aUY arJ   c                	2   V P                   P                  V4      P                  pV P                  W1P                  4      '       d   Ve   V P                  V4       R # V P                  VRR4       V P                  P                  WV P                  4       R # )Nrf  T)
r   rT  r   rL  rM  _finish_refreshrA  r   r  r  r   r$  r  r   s   &&& rH   _schedule_refresh_account#Indicator._schedule_refresh_account  sv    **66w?HH""8\\::%$$Z0%%gx>00dF_F_`rJ   c               $    V ^8  d   QhRRRRRR/# r  rF   )rG   s   "rH   rI   r     s"     
 
G 
 
PT 
rJ   c                	  a  S P                   P                  V4      P                  pS P                  W1P                  4      '       dA   S P                  S P                  VR R4       Ve   S P                  S P                  V4       R# S P                  P                  VVV 3R lS P                  S P                  4       R# )rf  FNc                l   < SP                   P                  V 4      P                  P                  V 4      # rk   )r   rT  r  fetch)target_accountr   s   &rH   r   0Indicator._run_refresh_account.<locals>.<lambda>	  s*    4#:#:#F#F~#V#]#]#c#c$rJ   )r   rT  r   rL  rM  r   rA  r  r   run_refresh_account_apply_snapshot_handle_refresh_errorr  s   f&& rH   r  Indicator._run_refresh_account  s    **66w?HH""8\\::NN488'8US%t33Z@++   &&	
rJ   c               (    V ^8  d   QhRRRRRRRR/# )	rD   r$  r   r  rp   r   r]   rE   r   rF   )rG   s   "rH   rI   r     s2     	- 	-	- 	- 		-
 
	-rJ   c                	|    V P                  V4       V P                  VR R4       Ve   V P                  V4       R# R# )rf  FN)r`  rA  r  )r   r$  r  r   s   &&&&rH   r  Indicator._handle_refresh_error  s=     	C %%gx?!  , "rJ   c               (    V ^8  d   QhRRRRRRRR/# )	rD   r$  r   rS  r&   r  rp   rE   r   rF   )rG   s   "rH   rI   r     s2     # ## "# 	#
 
#rJ   c                	   V P                  V4      pVP                  e   VP                  MV P                  4       pWPP                  V&   V P                  P                  V4      pV P                  V\        W%R7      4      pVe!   WpP                  V&   V P                  WV4       V P                  VRR4       V P                  V4       V P                  V4       Ve   V P                  V4       R # V P                  4        R # )NrG  rf  F)r!  r  r   r   r   rO  rH  r   r  rA  _update_account_menu_itemr?  r  rI  )r   r$  rS  r  rq  r  rv  ru  s   &&&&    rH   r  Indicator._apply_snapshot  s     (,4,?,?,KX((QUQ[Q[Q]
!+# NN..s3..sGH4\]&"1NN3%%g@QR%%gx?&&w/&&w/!  ,  "rJ   c                    V ^8  d   QhRRRR/# rI  rF   )rG   s   "rH   rI   r   1  s       T rJ   c                	   V P                  V4      pV P                  P                  V4      pVf   R # T P                  TV P	                  V4      '       d   V P
                  P                  V4      MR V P	                  V4      V P                  4       V P                  V P                  P                  V4      P                  VP                  4      R7      p\        VR4      '       d   VP                  V4       MWCn        \        VR4      '       dV   VP                  V P                  V P                  P                  V4      P                  VP                  4      '       * 4       R # R # )NrC  	set_labelr  )r!  r   rO  rP  rN  r   r   rL  r   rT  r   rM  r   r  rG  r  )r   r$  rq  r  
model_items   &&   rH   r  #Indicator._update_account_menu_item1  s&   (##C(<(('+'@'@'I'IDNNs#t11':

**''33G<EE ) 	

 4%%NN:&#J4))++++77@IILL  *rJ   c                    V ^8  d   QhRRRR/# )rD   r   re   rE   r   rF   )rG   s   "rH   rI   r   L  s     
 
$ 
4 
rJ   c                	<  a a S P                  4        . pS P                  4        F7  oVP                  VV 3R  lSP                  P	                  4        4       4       K9  	  S P
                  P                  VV 3R l\        VS P                  S P                  4       R# )c              3     <"   T F5  pSP                  SP                  VP                  4      '       d   K1  Vx  K7  	  R # 5irk   )rL  r   rM  )r  r$  r#  r   s   & rH   r  )Indicator._refresh_all.<locals>.<genexpr>P  s4      7G..x/@/@',,O 7s
   .A 
A c                X   < SP                   P                  SP                  V 4      4      # rk   )r   rO  r!  r|  s   &rH   r   (Indicator._refresh_all.<locals>.<lambda>W  s!    D--11$2C2CG2LMrJ   N)
_schedule_factory_refreshr  r3  r   r   r   refresh_allHEALTH_STALE_SECONDSr  rI  )r   r   rp  r#  s   f& @rH   r   Indicator._refresh_allL  s    &&("$)HOO '00557  * 	##M **$$	
rJ   c                    V ^8  d   QhRRRR/# )rD   r  rv  rE   r   rF   )rG   s   "rH   rI   r   _  s     + + + +rJ   c                	6    \         P                  ! R V .4       R# )firefoxN)r/  Popen)r  s   &rH   r   %Indicator._default_factory_url_opener^  s    )S)*rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r   b  s     5 5t 5rJ   c                	8    V P                  \        4       4       R # rk   )r   r   r   s   &rH   r  Indicator._open_factory_in_deckb  s      !1!34rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r   e  s     7 74 7rJ   c                	r    V P                   '       d   R # RV n         V P                  V P                  4       R # )NT)r   r   _run_factory_refreshr   s   &rH   r  #Indicator._schedule_factory_refreshe  s-    ))))-&D556rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r   k  s     ? ?d ?rJ   c                	     V P                  4       pV P                  V P                  V4       R #   \         d1   pT P                  T4       \        P                  ! 4       p R p?LTR p?ii ; irk   )r   r]   r`  r   r   r   _apply_factory_snapshot)r   rS  r   s   &  rH   r  Indicator._run_factory_refreshk  sY    	;224H 	t33X>  	;$,88:H	;s   0 A+&A&&A+c                    V ^8  d   QhRRRR/# rD   rS  r   rE   r   rF   )rG   s   "rH   rI   r   s  s      0E $ rJ   c                	    R V n         WP                  8X  d   R# Wn        V P                  V4       V P                  4        R# )FN)r   r   _notify_new_factory_decisionsr   )r   rS  s   &&rH   r  !Indicator._apply_factory_snapshots  s9    ).&---!)**84rJ   c                    V ^8  d   QhRRRR/# r  rF   )rG   s   "rH   rI   r   {  s     7 76K 7PT 7rJ   c                	   VP                   \        P                  Jd   R # V P                  pVP                   Fh  pVP                  VP                  4      '       g   K&  VP                  P                  4       ;'       g    VP                  pV P                  RV 24       Kj  	  VP                  VP                  4       R # )NzFactory needs a decision: )availabilityr   	AVAILABLEr   pending_decisionsrecord_notifieddecision_idquestionr  r  pruneall_pending_decision_ids)r   rS  r  decisionr  s   &&   rH   r  'Indicator._notify_new_factory_decisions{  s      (;(E(EE99 22H$$X%9%9::#,,224LL8L8L9(DE 3 	H556rJ   c                    V ^8  d   QhRRRR/# )rD   r  r  rE   r   rF   )rG   s   "rH   rI   r     s     M M# M$ MrJ   c                	P    V P                   P                  WP                  4       R # rk   )r   finish_refreshrI  )r   r  s   &&rH   r  Indicator._finish_refresh  s    &&z3K3KLrJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s     	L 	LT 	LrJ   c                	   V P                   pVe+   VP                  V P                  V P                  4      4       V P                  pVe+   VP                  V P                  V P
                  4      4       \        V RR 4      pVe=   V P                  e-   VP                  V P                  V P                  4      4       R # R # R # Nr   )r   r.  r  r   r   r   r  r   )r   r  claude_store
grok_stores   &   rH   rI  Indicator._write_health_cache  s    ""KK11$--@A00#t889M9MNOT#7>
!d&8&8&DT66t7I7IJK 'E!rJ   c                   V ^8  d   QhRR/# r   rF   )rG   s   "rH   rI   r     s      D rJ   c                	(   V P                  V P                  V P                  4       V P                  e'   V P                  V P                  V P                  4       V P
                  e*   V P                  \        V RR 4      V P
                  4       R # R # r  )_load_registry_health_cacher   r   r   r   r   r  r   s   &rH   r   Indicator._load_health_cache  sy    ((););T]]K+,,T-F-FH\H\]),,2D9"" *rJ   c               $    V ^8  d   QhRRRRRR/# )rD   r  r   r   r   rE   r   rF   )rG   s   "rH   rI   r     s-     l l)l )l 
	lrJ   c                	   Vf   R # VP                  4       pV'       g   R # V P                  W24      pV P                  P                  V4       \	        VRR 4      pVe&    \        V4      P                  4       P                  pMV P                  4       pVP                  4        F.  w  rxVP                  e   VP                  MTV P                  V&   K0  	  R #   \         d    T P                  4       p Lai ; i)NrB  )r   r  r   r  r  r   statst_mtimerx   r   r:  r  r   )	r   r  r   r   r  
cache_path
fetched_atrq  rS  s	   &&&      rH   r  %Indicator._load_registry_health_cache  s    
 =JJL	229G
j)UFD1
!*!*-224==
 J'--/MC<D<O<O<[X%8%8akDc" 0	  *!ZZ\
*s   #C C54C5c                   V ^8  d   QhRR/# rD   rE   r   rF   )rG   s   "rH   rI   r     s     @ @'A @rJ   c                	h    \        V P                  R R4      pVf   R# \        \        V4      ^ R7      # )health_cache_pathNstale_after_s)r  r   r(   r   r   rB  s   & rH   r   Indicator._default_health_store  s.    t}}&94@<"4:Q??rJ   c                   V ^8  d   QhRR/# r  rF   )rG   s   "rH   rI   r     s     @ @.H @rJ   c                	    V P                   f   R # \        V P                   RR 4      pVf   R # \        \        V4      ^ R7      # Nr  r  )r   r  r(   r   r  s   & rH   r   &Indicator._default_claude_health_store  s?    't++-@$G<"4:Q??rJ   c                   V ^8  d   QhRR/# r  rF   )rG   s   "rH   rI   r     s     @ @,F @rJ   c                	    V P                   f   R # \        V P                   RR 4      pVf   R # \        \        V4      ^ R7      # r  )r   r  r(   r   r  s   & rH   r   $Indicator._default_grok_health_store  s?    %t))+>E<"4:Q??rJ   c               $    V ^8  d   QhRRRRRR/# )rD   rq  rv  rS  r&   rE   r  rF   )rG   s   "rH   rI   r     s"     0 03 0/ 0F\ 0rJ   c                	n   V P                   P                  V4      pVe0   VP                  \        P                  \        P
                  09   d   V# V P                  4       p\        VP                  VP                  V4      p\        VP                  VP                  V4      p\        TVP                  e   VP                  MTVP                  e   VP                  MTVP                  e   VP                  M)\        VP                  V4      '       d   R MVP                  VP                  e   VP                  M)\        VP                  V4      '       d   R MVP                  VP                  e/   VP                  e!   \        VP                  VP                  4      M%VP                  e   VP                  MVP                  VP                   ;'       g    VP                   VP"                  e   VP"                  MVP"                  VP$                  e   VP$                  MVP$                  R7	      pV# )N)rl  rm  rn  ro  r  named_limitsextra_usagespend)r   rO  r  r'   rq  r  r   rm   rl  rn  rm  ro  r   rg   r  r~  r  r  r  )r   rq  rS  previousrc   carried_primarycarried_secondarys   &&&    rH   rH  Indicator._merge_snapshot  s   >>%%c*x<??LDWDW2XXOjjl$%%x'@'@#
 ''')D)Dc
  ,,8 ))$ ..: ++& ,,8 )) H55s;; .. ..: ++ H77== 00 &&2x7J7J7V H'')<)<= &&2 ((((!..GG(2G2G080D0D0P,,V^VjVj$,NN$>(..HNNG$
J rJ   ).r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )NNNNNNNNNNNNNNNNNNNNNrk   )F)__name__
__module____qualname____firstlineno__r   r  r  r   staticmethodr   r   r  r%  r;  r8  r1  r6  r4  r5  r2  r  r  r  r  r!  r  r  r  r  r   r  r  rP  rL  rN  r7  r  rm  rj  rA  rF  r  r  rr  r  r  r  rb  r  r  r  r   r  r  r  rE  r  r  r  r  r  r  r  r  r  r<  r  r  r5  rY  r   r?  ra  r`  rv  r  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  r  r	  r  r  r  r  r`  rf  r  r  r  r   r  r   r   r  r  r  r  r  r  r   r   r  r  r  r  r  r  rI  r   r  r   r   r   rH  __static_attributes__rF   rJ   rH   r   r      s%   [/ [/z.-
 !- !-F 	48eN 
 #'	

 
 
 
 
 = =!+Z(T   4	 		
 *E4 @ 	@ @  
 "	

 !
 #
 
       SF	0&(CT@(**$ *$\ (9>%0'$<

&.	-
;,
\
*$	>3A
"$L&
:& % % E E4Q8
tZXL,I
8DY Y:%N

  
 "&
o 6:	o
 15o &*obh
  h "&hT

 > <:$F/7

 

0:&& 1 1
[a
"	-#,6
 
$ + +57?7M	Ll.@@@0 0rJ   r   )q
__future__r   r  r/  r  ry   r8  r   rn  rZ   dataclassesr   pathlibr   typingr   r   r   xml.sax.saxutilsr	   rc  r
   account_registryr   r   r   r   r   claude_auth_operationr   claude_health_clientr   device_authr   r   r   r   device_auth_dialogr   r   r   r   r   r   factory_menur   factory_statusr   r   r   r   grok_auth_operationr   grok_health_clientr    gateway_account_managerr!   r"   r#   authority_migrationr$   r   r%   r&   r'   health_storer(   r   r)   rO  r*   ry  popup_windowr+   r   r,   r-   r.   r/   runtime_pathsr0   	schedulerr1   r2   r3   
tray_modelr4   r5   r6   r7   ui.view_modelr8   r9   r:   r;   r<   r=   environrO  r   r   APPINDICATOR_ICON_WARNINGr   r0  r  rQ   r^   r_   rg   rm   rr   r}   r   rF   rJ   rH   <module>r      sG   " 	  
        ) ) # ) s s 5 3 ^ ^ F 5 P 1 l l 1 / j j . L L , ; '  $ m m % Q Q ^ ^  **..  JJNN  JJNN"$  "$')"     %" T]4
66y! y!rJ   