+
    5mj  c                     R t ^ RIHt ^ RIt^ RIHu Ht ^ RI	t
^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt]P,                  P/                  ^ ]! ]! ]4      P5                  4       P6                  ^,          4      4       ^ RIt^ RIHt ^ RIH t H!t!H"t"H#t#H$t$H%t%H&t& ^ RI'H(t( Rt)R R lt*R	 R
 lt+R R lt,]PZ                  R R l4       t.R R lt/R R lt0R R lt1R R lt2R R lt3R R lt4R R lt5R R lt6R R  lt7R! R" lt8R# R$ lt9R% R& lt:R' R( lt;R) R* lt<R+ R, lt=R- R. lt>R/ R0 lt?R1 R2 lt@R3 R4 ltAR5 R6 ltBR7 R8 ltCR9 R: ltD ! R; R<4      tER= R> ltFR? R@ ltGRA RB ltHRC RD ltIRE RF ltJRG RH ltKRI RJ ltLRK RL ltMRM RN ltNRO RP ltORQ RR ltPRS RT ltQRU RV ltRRW RX ltSRY RZ ltTR[ R\ ltUR] R^ ltVR_ R` ltWRa Rb ltXRc Rd ltYRe Rf ltZRg Rh lt[Ri Rj lt\Rk Rl lt]Rm Rn lt^Ro Rp lt_Rq Rr lt`Rs Rt ltaRu Rv ltbRw Rx ltcRy Rz ltF]P                  P                  RR{R|R}R~//3RRR/3.4      R R l4       tfR R ltgR R lth]P                  P                  RRR.4      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tp]P                  P                  R. RO4      R R l4       tqR R ltrR R ltsR R lttR R ltu]vR8X  d   ]w! ]u! 4       4      hR R ltxR R ltyR# )z;:"
ACCOUNT_REGISTRY_SHIM_ACTIVE=1 exec python3 "$0" "$@"
":)annotationsN)Path)AccountLockedError)Account
AccountRefAccountRegistryAccountRegistryKindAuthorityBindingAuthorityModeStagedAccount)pin_account_uuidc               (    V ^8  d   QhRRRRRRRR/# )   emailstrplan
account_idreturn )formats   "e/home/user/overdeck-private-tests/workstation-ai-broad/modules/systray/tests/test_account_registry.py__annotate__r   '   s(     
) 
)S 
) 
) 
) 
)    c                    R V RRVRV//p\         P                  ! \        P                  ! V4      P	                  R4      4      P                  R4      pVP                  R4      pRV R2# )	r   https://api.openai.com/authchatgpt_plan_typechatgpt_account_idutf-8ascii=header.
.signaturebase64urlsafe_b64encodejsondumpsencodedecoderstrip)r   r   r   payloadencodeds   &&&  r   make_auth_payloadr+   '   so    % *(
G &&tzz'':'A'A''JKRRSZ[GnnS!GWIZ((r   c               (    V ^8  d   QhRRRRRRRR/# )r   r   r   r   auth_claimsdict[str, object]r   r   )r   s   "r   r   r   4   s0     ) ))) #) 		)r   c                    R V R/ VCRV/C/p\         P                  ! \        P                  ! V4      P	                  R4      4      P                  R4      pVP                  R4      pRV R2# )r   r   r   r   r   r   r   r    r!   )r   r   r-   r)   r*   s   &&&  r   make_auth_payload_with_claimsr0   4   sy     	% (
(
 *(
G &&tzz'':'A'A''JKRRSZ[GnnS!GWIZ((r   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r   pathr   r   r   r   r   r   Noner   )r   s   "r   r   r   E   s/      T # S c d r   c                    V P                   P                  R R R7       V P                  \        P                  ! RR\        WV4      //4      RR7       R# )T)parentsexist_oktokensid_tokenr   encodingN)parentmkdir
write_textr$   r%   r+   )r2   r   r   r   s   &&&&r   
write_authr>   E   sK    KKdT2OO

Hz+<U*+UVWX  r   c                    V ^8  d   QhRRRR/# r   tmp_pathr   r   r   r   )r   s   "r   r   r   N   s     
D 
Dt 
D 
Dr   c                    V R ,          pV R,          pVP                  4        \         F7  pW,          pRV9   d   VP                  VRR7       K'  VP                  4        K9  	  \        W!R7      # )legacytray.r   r9   base_dirlegacy_codex_home)r<   SHARED_FIXTURE_NAMESr=   r   )rA   rC   basenametargets   &    r   registryrM   M   s`     FfD
LLN$$;dW5LLN % DCCr   c                    V ^8  d   QhRRRR/# r   rM   r   r   r3   r   )r   s   "r   r   r   [   s     7 7/ 7^b 7r   c                   V P                   p\        VR ,          RRR4       \        VR,          RRR4       \        VR,          RRR4       VR ,          P                  4       pV P                  4        V P                  4        V P	                  4       pV Uu. uF  qDP
                  NK  	  ppR	R
.qeV8H  qw'       gy   \        P                  ! R(V3R)WV34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvV P                  q! 4       pR	qV8H  q'       g   \        P                  ! R(V3R*Wk34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;rR qV
,          qfP                  q! 4       qV8H  pV'       Eg+   \        P                  ! R(V3R+W34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;p;ppV P                  R	,          R,          pRp
VV
,          qfP                   q! 4       q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p
;p;r\"         EF1  pVV,          pVP$                  q! 4       qf'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;r\&        P(                  q! V4      qV,          p\+        V4      pVV8H  q'       Eg&   \        P                  ! R(V3R,VV34      RR \        P                  ! 4       9   g!   \        P                  ! \&        4      '       d   \        P                  ! \&        4      MR R\        P                  ! V
4      R!R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR"\        P                  ! 4       9   g!   \        P                  ! \*        4      '       d   \        P                  ! \*        4      MR"R#R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRRR$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p
;p;p;ppEK4  	  R# u upi )-zauth.roy.jsonroy@example.complusacct-royzauth.rafa.jsonrafa@example.compro	acct-rafa	auth.jsonrafaroypy1py4assert %(py6)spy6Npy0rM   py2py7assert %(py9)spy9rC   py5original_bytesassert %(py11)spy11
CODEX_HOMEMassert %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).exists
}()
}	rafa_homeEassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.is_symlink
}()
}linkospy3r   py8rK   py12assert %(py14)spy14==z%(py1)s == %(py4)szK%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.default_slug
}()
} == %(py7)s)zU%(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).read_bytes
}()
} == %(py9)s)zz%(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.readlink
}(%(py3)s)
} == %(py12)s
{%(py12)s = %(py7)s((%(py8)s / %(py9)s))
})rH   r>   
read_bytesmigrate_legacylistslug
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationdefault_slug@py_builtinslocals_should_repr_global_nameaccounts_direxistsrI   
is_symlinkrl   readlinkr   )rM   rC   rd   accountsaccount@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert1@py_assert6@py_assert5@py_format8@py_format10@py_assert4@py_assert8@py_format12ri   rK   rk   @py_assert10@py_assert11@py_format13@py_format15s   &                        r   ;test_migrate_legacy_is_additive_idempotent_and_sets_defaultr   [   sb   ''Fv'):FJOv((*<e[Qv#%7L.::<N}}H(01WLLD1fe_D_DDDDD1DDD1DDD_DDDDDDDD  , ",f,f,,,,,",,,,,,8,,,,8,,, ,,,",,,f,,,,,,,,$D_$D00D02DnDDDDD2DDDDDDFDDDDFDDD_DDD0DDD2DDDDDDnDDDDnDDDDDDDDD%%.=I#-I#-++-+---------I----I------+-----------$$4          t    t             {{6{4 66C$66 $666666 $6666666r6666r666{666666466664666 666666C6666C6666666666666666666666666$6666666666 % 2s   _c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   r   s     ' ''	'r   c                   \        V P                  R ,          RRR4       V P                  4        V P                  R4       \	        V P
                  V P                  R7      pVP                  4        VP                  q"! 4       p. qCV8H  qU'       g   \        P                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rTR# )auth.avi.jsonavi@example.comrR   acct-aviavirF   r^   fresh_registryr_   r[   r`   ra   rb   Nrr   zC%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.list
}()
} == %(py7)s)r>   rH   rw   remover   rG   rx   rz   r{   r   r   r   r|   r}   r~   )rM   r   r   r   r   r   r   r   s   &       r   =test_removing_legacy_account_prevents_future_legacy_migrationr   r   s     ""_4	 OOE$"""44N !!#& &B&B&&&&& &&&&&&>&&&&>&&&&&& &&&B&&&&&&&&r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r      s     / //	/r   c                0   \        V P                  R ,          RRR4       V P                  4        V P                  R4       V P	                  RR4       \
        P                  ! V P                  P                  RR7      4      pVR,          p. q2V8H  qD'       gy   \        P                  ! RV3RW#34      R	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCR# )r   r   rR   r   r   Avir   r9   deleted_legacy_slugsrZ   r[   r\   r]   Nrr   rt   )r>   rH   rw   r   add_dirr$   loadsregistry_path	read_textrz   r{   r|   r}   r~   )rM   stater   r   r   r   r   s   &      r   Ctest_explicitly_readding_a_deleted_legacy_slug_clears_its_tombstoner      s     ""_4	 OOEUE"JJx--777IJE'(.B.B.....(...(...B........r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r      s     / //	/r   c                   \        V P                  R ,          RRR4       V P                  4        V P                  R4       V P	                  R4      p\        VP
                  R,          RRR4       VP                  4        \        P                  ! V P                  P                  RR7      4      pVR	,          p. qCV8H  qU'       gy   \        P                  ! RV3RW434      R
\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rTR# )r   r   rR   r   r   r   rW   r   r9   r   rZ   r[   r\   r]   Nrr   rt   )r>   rH   rw   r   	stage_addaccount_homecommitr$   r   r   r   rz   r{   r|   r}   r~   )rM   stagedr   r   r   r   r   r   s   &       r   :test_committing_a_deleted_legacy_slug_clears_its_tombstoner      s     ""_4	 OOE&Fv""[02CVZX
MMOJJx--777IJE'(.B.B.....(...(...B........r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r      s     <F <Fo <FZ^ <Fr   c                `"   V P                   R ,          R,          pVP                  RR7       VR,          P                  RRR7       VR,          P                  R	RR7       VR
,          P                  RRR7       VR,          P                  RRR7       VR,          pVP                  4        VR,          P                  RRR7       VR,          P                  RRR7       V P                  R,          P                  RRR7       V P                  R,          P                  RRR7       V P                  R,          R,          pVP                  P                  4        VP                  RRR7       VR,          R,          pVP                  P                  4        VP                  RRR7       V P                  R,          R,          R,          R,          pVP                  P                  RR7       VP                  RRR7       VR,          R,          R,          R,          pVP                  P                  RR7       VP                  RRR7       V P                  V4       . \        ORNRNRNRNRNRN EF  pW,          pVP                  q! 4       q'       g   R R!R"\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR"R#\        P                  ! V	4      R$\        P                  ! V
4      /,          p\        \        P                  ! V4      4      hR%;rVP                  q! 4       qP                  qV,          qP                  q! 4       qV8H  pV'       Eg   \        P                   ! RCV3RDW34      R!R"\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR"R#\        P                  ! V	4      R$\        P                  ! V
4      R&R'\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR'R(\        P                  ! V4      R)R*\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR*R+\        P                  ! V4      R,\        P                  ! V4      /,          pR-R.V/,          p\        \        P                  ! V4      4      hR%;p	;p
;p;p;p;rEK  	  RqV	,          p
RpV
V,          pVP"                  pRpV! VR7      pRpVV8H  q'       Eg    \        P                   ! RCV3REVV34      R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R(\        P                  ! V4      R1\        P                  ! V4      R+\        P                  ! V4      R2\        P                  ! V4      /,          pR3R4V/,          p\        \        P                  ! V4      4      hR%;p	;p
;p;p;p;p;p;ppV P                  p	RqV
,          pVP"                  pRpV! VR7      qP$                  pV! 4       pR5R6.pVV8H  pV'       EgL   \        P                   ! RCV3RFVV34      R!R'\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR'R#\        P                  ! V	4      R$\        P                  ! V
4      R7\        P                  ! V4      R)\        P                  ! V4      R8\        P                  ! V4      R9\        P                  ! V4      R2\        P                  ! V4      R:\        P                  ! V4      /	,          pR;R<V/,          p\        \        P                  ! V4      4      hR%;p	;p
;p;p;p;p;p;p;ppRqV	,          qP"                  pRpV! VR7      pRpVV8H  q'       Eg
   \        P                   ! RCV3RGVV34      R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R7\        P                  ! V4      R)\        P                  ! V4      R+\        P                  ! V4      /,          pR=R,V/,          p\        \        P                  ! V4      4      hR%;p	;p
;p;p;p;rRqV	,          qP                  pV! 4       pV'       * pV'       g   R>R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R7\        P                  ! V4      /,          p \        \        P                  ! V 4      4      hR%;p	;p
;p;ppRqV	,          qP"                  pRpV! VR7      pR	pVV8H  q'       Eg
   \        P                   ! RCV3RGVV34      R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R7\        P                  ! V4      R)\        P                  ! V4      R+\        P                  ! V4      /,          pR=R,V/,          p\        \        P                  ! V4      4      hR%;p	;p
;p;p;p;rRqV	,          qP                  pV! 4       pV'       * pV'       g   R>R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R7\        P                  ! V4      /,          p \        \        P                  ! V 4      4      hR%;p	;p
;p;ppR
qV	,          qP"                  pRpV! VR7      pRpVV8H  q'       Eg
   \        P                   ! RCV3RGVV34      R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R7\        P                  ! V4      R)\        P                  ! V4      R+\        P                  ! V4      /,          pR=R,V/,          p\        \        P                  ! V4      4      hR%;p	;p
;p;p;p;rR
qV	,          qP                  pV! 4       pV'       * pV'       g   R>R!R/\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/R#\        P                  ! V	4      R0\        P                  ! V4      R7\        P                  ! V4      /,          p \        \        P                  ! V 4      4      hR%;p	;p
;p;ppVP"                  p	Rq! V
R7      pR?pVV8H  q'       g   \        P                   ! RCV3RHVV34      R!R@\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR@R#\        P                  ! V	4      R$\        P                  ! V
4      R&\        P                  ! V4      R)\        P                  ! V4      /,          p!RAR8V!/,          p"\        \        P                  ! V"4      4      hR%;p	;p
;p;ppVP"                  p	Rq! V
R7      pRpVV8H  q'       g   \        P                   ! RCV3RHVV34      R!RB\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRBR#\        P                  ! V	4      R$\        P                  ! V
4      R&\        P                  ! V4      R)\        P                  ! V4      /,          p!RAR8V!/,          p"\        \        P                  ! V"4      4      hR%;p	;p
;p;ppR%# )IrY   rg   Tr5   rW   zaccount-authr   r9   zauth.json.bakzaccount-backupzstate_5.sqlitez
account-dbzhistory.jsonlz1{"session_id":"account","ts":2,"text":"account"}
agentszreviewer.mdreviewerzfuture-state.jsonfuturez/{"session_id":"shared","ts":1,"text":"shared"}
z
hooks.jsonhookslogzcodex-login.logzshared-log
zaccount-log
z.tmppluginsz.git
FETCH_HEADzshared-cachezaccount-cacherj   r^   shared_entryr_   r[   Nr]   rM   rn   rb   rK   ro   rq   assert %(py16)spy16
codex_homerc   py10py15zassert %(py17)spy17z.{"session_id":"shared","ts":1,"text":"shared"}z0{"session_id":"account","ts":2,"text":"account"}r`   rf   py13py18zassert %(py20)spy20rp   zUassert not %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).is_symlink
}()
}zshared-log
account-log

shared_logre   shared_cacherr   )z%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}()
} == %(py14)s
{%(py14)s = %(py12)s
{%(py12)s = (%(py8)s
{%(py8)s = %(py6)s.legacy_codex_home
} / %(py9)s).resolve
}()
})zt%(py12)s
{%(py12)s = %(py8)s
{%(py8)s = ((%(py0)s / %(py2)s) / %(py5)s).read_text
}(encoding=%(py10)s)
} == %(py15)s)z%(py15)s
{%(py15)s = %(py13)s
{%(py13)s = %(py11)s
{%(py11)s = %(py7)s
{%(py7)s = (%(py2)s
{%(py2)s = %(py0)s.legacy_codex_home
} / %(py4)s).read_text
}(encoding=%(py9)s)
}.splitlines
}()
} == %(py18)sze%(py9)s
{%(py9)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).read_text
}(encoding=%(py7)s)
} == %(py12)szX%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.read_text
}(encoding=%(py4)s)
} == %(py9)s)r   r<   r=   rH   r;   sync_shared_linksrI   r   r   r   rz   r   r|   r}   r~   resolver{   r   
splitlines)#rM   r   r   r   account_logr   account_cacherK   r   r   r   r   @py_assert7r   r   @py_assert13r   r   @py_format17r   r   @py_assert9@py_assert14@py_format16@py_format18r   @py_assert12@py_assert17@py_assert16@py_format19@py_format21r   @py_format9r   r   s#   &                                  r   7test_sync_shared_links_shares_every_noncredential_entryr      s   &&.=JT"+)).7)K/!--.>-Q""..|g.N/!--< .  ("F
LLNm''
W'E%%11(W1M/1==: >  ,.::7W:U++e36GGJ.7;u$'88K?W=--6BVKlZLd+NW=')3f<|KMt,_w?z*	 	 		
 	 	 	 "(&&(&(((((((((|((((|(((&((((((((((##V#%V*D*DVt*KV)T)TV)T)VV)VVVVVV%VVVVVV|VVVV|VVV#VVV%VVVVVV(VVVV(VVV*DVVVVVVtVVVVtVVV)TVVV)VVVVVVVVVV "\!\M\!M1\1<<\g\<gN\R\\NR\\\\\\NR\\\\\\\J\\\\J\\\\\\M\\\<\\\g\\\N\\\R\\\\\\\\\\&&  8 8CC C j    	9:   
   
  
 H  
 H  
 &  
   
 C  
  
    
    
    
     
     %S$S//SS/AS^SA^SSSSSA^SSSSSSJSSSSJSSSSSS/SSSSSSASSS^SSSSSSSSS(6[(64464666666666666
6666
666[666466666666666(Y(Y33YWY3WEYIYYEIYYYYYYEIYYYYYYYJYYYYJYYYYYY3YYYWYYYEYYYIYYYYYYYYYY,:_,:88:8::::::::::::
::::
:::_:::8:::::::::::)V))V44VgV4gFV,VF,VVVVVF,VVVVVVJVVVVJVVV)VVV4VVVgVVVFVVV,VVVVVVVVV-;--;99;9;;;;;;;;;;;;
;;;;
;;;-;;;9;;;;;;;;;;;PP1P5PP15PPPPPP15PPPPPPP:PPPP:PPPPPPPPP1PPP5PPPPPPPPP!!E7E!73E~E3~EEEEE3~EEEEEE<EEEE<EEE!EEE7EEE3EEE~EEEEEEEEEr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r      s     ! !!	!r   c                   V P                   R ,          R,          pV P                   R,          R,          p\        R4      p\        R4      p\        R4      pW3 FB  pVR,          V,          pVP                  P                  RR7       VP	                  R	R
R7       KD  	  VR,          V,          pVP	                  RR
R7       VR,          V,          p	V	P                  P                  RR7       V	P	                  RR
R7       V P                  4        V P                  4        W3 EF  pRqV
,          qP                  q! 4       q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p
;p;rRqV
,          qP                  q! 4       q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p
;p;rRqV
,          qV,          qP                  pR
pV! VR7      pR	pVV8H  pV'       EgX   \        P                  ! RV3R VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;p;p;p;p;ppRqV
,          qV,          qP                  pR
pV! VR7      pRpVV8H  pV'       EgX   \        P                  ! RV3R VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;p;p;p;p;ppRqV
,          qV,          qP                  pR
pV! VR7      pRpVV8H  pV'       EgX   \        P                  ! RV3R VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;p;p;p;p;ppEK  	  R# )!rX   rg   rY   z2026/07/02/rollout-shared.jsonlz2026/07/02/rollout-rafa.jsonlz2026/07/01/rollout-roy.jsonlsessionsTr   zshared
r   r9   rafa
archived_sessionsroy
zQassert %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).is_symlink
}()
}r^   r   r_   rc   r`   Nr[   shared_sessionrb   rf   rq   r   r   rafa_only_sessionroy_only_archiverr   )zs%(py11)s
{%(py11)s = %(py7)s
{%(py7)s = ((%(py0)s / %(py2)s) / %(py4)s).read_text
}(encoding=%(py9)s)
} == %(py14)s)r   r   r;   r<   r=   sync_all_shared_linksr   r   r   rz   r   r|   r}   r~   r   r{   )rM   ri   roy_homer   r   r   r   r2   	rafa_onlyroy_archiver   r   r   r   r   r   r   r   r   r   r   r   s   &                     r   =test_sync_all_shared_links_merges_existing_conversation_stater      s    %%.=I$$u,|;H;<N<=:; +
J&7$'
W5 , J&)::IG4003CCKT*7W5""$""$ +
'5Z'53353555555555
5555
555Z5553555555555550>00><<><>>>>>>>>>
>>>>
>>>0>>><>>>>>>>>>>>' 	
Z' 	
.8 	
CC 	
W 	
CWU 	
	
U
 	
 	
 	
U	
 	
	6	
 	
 	

 	
 	
 			

 	
 	
 			
Z 	
 	
	6	
 	
 	
. 	
 	
 			
. 	
 	
 			
C 	
 	
 			
W 	
 	
 			
U 	
 	
 			
	
 	
 	
 	
 	
 	
 	
 	
 	
 ( 	Z' 	*;; 	FF 		F
 		 
 	 		 
	 	v	 	 	
 	 	I	
 	 	I	Z 	 	v	 	 	*; 	 	I	*; 	 	I	F 	 	I		 	I	 
 	 	I		 	 	 	 		 	 	 	 1 	00 	3CC 	NN 		N
 		 
 	 		 
	 	f	 	 	
 	 	9	
 	 	9	0 	 	f	 	 	3C 	 	9	3C 	 	9	N 	 	9		 	9	 
 	 	9		 	 	 	 		 	 	 	 ,r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     > >>	>r   c                .   \        R 4      pV P                  R,          R,          R,          V,          pV P                  R,          R,          R,          V,          pVP                  P                  RR7       VP                  P                  RR7       VP	                  RRR	7       VP	                  R
RR	7       V P                  4       pW49   qU'       g   \        P                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hRpV P                  R,          V,          pVP                  pRq! V	R	7      p
RqV8H  q'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p
;rVP                  pRq! V	R	7      p
R
qV8H  q'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p
;rR# )z!2026/07/02/rollout-conflict.jsonlrX   rg   r   rY   Tr   r   r   r9   r   r^   roy_sessionr_   	conflictszassert %(py4)sr[   N	canonicalr]   rb   re   rf   in)z%(py0)s in %(py2)srr   r   )r   r   r;   r<   r=   r   rz   r{   r   r   r   r|   r}   r~   rH   r   )rM   relative_pathrafa_sessionr   r   r   @py_format3r   r   r   r   r   r   r   r   s   &              r   >test_sync_all_shared_links_preserves_conflicting_session_filesr     su    <=M((61L@:MP]]L''%/,>Km[Kd+T*Hw77W5..0I#####;######;####;#######)####)########**Z7-GI<<0<H<H<<<<<0<<<<<<9<<<<9<<<<<<<<<0<<<H<<<<<<<<  ='= '2=g=g=====2======;====;=== ==='===2===g=========r   c               $    V ^8  d   QhRRRRRR/# )r   rM   r   capsyszpytest.CaptureFixture[str]r   r3   r   )r   s   "r   r   r   $  s)     M MM'AM	Mr   c           	        V P                  R R4      pVR,          P                  RRR7       V P                  4       pVP                  4       p\	        \        RR 4      RVRRRR7      .qSV8H  qf'       g   \        P                  ! RV3RW534      R	R
\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR
R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;reV^ ,          qP                  pRqV
8H  q'       g   \        P                  ! RV3RWZ34      R\        P                  ! V	4      R\        P                  ! V4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;p;rRqP                  qV9   qU'       g   \        P                  ! RV3RW34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;r[R# )brokenBrokenrW   z	{not-jsonr   r9   codexNrefaliasr   r   r   r   r^   r   rm   assert %(py5)src   zcodex:brokenrZ   r]   assert %(py8)srn   z/failed to decode auth.json for account 'broken'capturedassert %(py7)sr`   rr   z%(py0)s == %(py3)s)z0%(py3)s
{%(py3)s = %(py1)s.tray_key
} == %(py6)sr   )z+%(py1)s in %(py5)s
{%(py5)s = %(py3)s.err
})r   r=   rx   
readouterrr   r   rz   r{   r   r   r   r|   r}   r~   tray_keyerr)rM   r   r   r   r  r   r   @py_format4@py_format6r   r   r   r   r   r   s   &&             r   (test_list_keeps_undecodable_auth_entriesr  $  s    !!(H5J+))+)H}}H  "H 	7H-#	
	 	 	 	 	 	 	8 	 	 	 	 	8 	 	 	8 	 	 	 	 	 	 	 	 	 	 	 A;11>1>11111111;111111>11111111<LLLLLLL<LLL<LLLLLLLLLLLLLLLLLLLLLr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   ;  s      	r   c                   V P                  R R4      pVR,          P                  \        P                  ! RR\	        RRRRR	R
/4      //4      RR7       V P
                  q"! 4       p\        \        RR 4      RVRR
RR7      .qCV8H  qU'       g   \        P                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rTR# )rX   RafarW   r7   r8   rT   rV   r   profiler   rR   r   r9   r   r   r^   rM   r_   r[   r`   ra   rb   Nrr   r   )r   r=   r$   r%   r0   rx   r   r   rz   r{   r   r   r   r|   r}   r~   rM   r   r   r   r   r   r   r   s   &       r   =test_list_ignores_profile_account_type_and_uses_plan_fallbackr  ;  ss    !!&&1J+))

 =*#/"F!		
  * $ == 	=? 	7F+#$"	
	 	 	 	 	 	 	? 	 	 	 	 	8 	 	 	8 	 	 	= 	 	 	? 	 	 	 	 	 	 	 	 	 	 	 	r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   ]  s      o $ r   c                   V P                  R R4      pVP                  R4      P                  \        P                  ! RR\        RRR4      /RR	R
RR//4      RR7       V P                  q"! 4       p\        R RVRRRR7      .qCV8H  qU'       g   \        P                  ! RV3RW434      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rTR# )rX   r  rW   r7   r8   rT   rR   rV   rate_limitsprimary_reset_atz2026-07-01T12:00:00Zsecondary_reset_atz2026-07-07T00:00:00Zr   r9   )ry   r  r   r   r   r   r^   rM   r_   r[   r`   ra   rb   Nrr   r   )r   joinpathr=   r$   r%   r+   rx   r   rz   r{   r   r   r   r|   r}   r~   r  s   &       r   'test_list_ignores_unrelated_auth_fieldsr  ]  sr   !!&&1J$//

:'89KVU`'ab&(>(*@ 	
  0  == 	=? 	!$"	
	 	 	 	 	 	 	? 	 	 	 	 	8 	 	 	8 	 	 	= 	 	 	? 	 	 	 	 	 	 	 	 	 	 	 	r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   x  s      F FF	Fr   c                   V P                  R R4      pV P                  RR4      p\        VR,          RRR4       \        VR,          RRR	4       V P                  4       ^ ,          pV P                  V4       V P                  qDP
                  pR
qe! VR7      pRqV8H  q'       Eg	   \        P                  ! R#V	3R$Wx34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;p;p;p;rV P                  R,          pVP                  qD! 4       qU'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;rEVP                   qD! 4       pRqqV,          qP                   q! 4       qV8H  qf'       EgW   \        P                  ! R#V3R%W^34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p	;rRqBV,          qUP"                  pV! 4       pV'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;ppVR,          P%                  R R
R7       VP
                  pR
qT! VR7      pR pVV8H  qw'       g   \        P                  ! R#V3R&VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R!\        P                  ! V4      /,          pR"RV/,          p
\        \        P                  ! V
4      4      hR;p;p;p;ppV P                  V P                  4       ^,          4       VP                  qD! 4       qU'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;rEVP                   qD! 4       pRqrV,          qP                   q! 4       qV8H  qf'       EgW   \        P                  ! R#V3R%W^34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p	;rR# )'rX   r  rY   RoyrW   rT   rR   rV   rQ   rS   r   r9   r   r^   rM   r_   r[   r]   rn   rf   assert %(py13)sr   Nrj   courtesyr   assert %(py15)sr   rh   
other_homerc   r`   z{"rotated": true}rb   re   rr   z{%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.default_path
}.read_text
}(encoding=%(py6)s)
} == %(py11)sz%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}()
} == %(py13)s
{%(py13)s = %(py11)s
{%(py11)s = (%(py6)s / %(py8)s).resolve
}()
}r   )r   r>   rx   set_defaultdefault_pathr   rz   r{   r   r   r   r|   r}   r~   rH   r   r   r   r=   )rM   r   r!  r   r   r   r   r   r   r   r   @py_format14r  r   r   r   r   r   r   r   r   s   &                    r   :test_set_default_writes_pointer_and_symlinks_courtesy_authr'  x  s    !!&&1J!!%/JzK');V[QzK'):FJOmmoa G!  H**HGH*G<HHHHHHH<HHHHHH8HHHH8HHH HHH*HHHGHHH<HHHHHHHHHHHH))K7H          8    8             EE{E{":E!C!CE!C!EE!EEEEEEEEEEEE8EEEE8EEEEEEEEEEEE*EEEE*EEE{EEE!CEEE!EEEEEEEEEE$.$.,,.,.........J....J......,...........+))*=)PFwFw/F3FF/3FFFFFF/3FFFFFFF8FFFF8FFFFFFwFFF/FFF3FFFFFFFFF+,          8    8             EE{E{":E!C!CE!C!EE!EEEEEEEEEEEE8EEEE8EEEEEEEEEEEE*EEEE*EEE{EEE!CEEE!EEEEEEEEEEr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s      ? t r   c           	        V P                  R R4      p\        VR,          RRR4       V P                  R,          pVP                  q3! 4       qD'       * qU'       g   RRR	\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR	R
\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;rEV P                  V P                  4       ^ ,          4       VP                  q3! 4       qD'       g   RRR	\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR	R
\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;r4R# )rX   r  rW   rT   rR   rV   zratelimit-wakeEassert not %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}r^   waker_   r[   NzAassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
})r   r>   rG   r   r   r   rz   r   r|   r}   r~   r$  rx   )rM   r   r+  r   r   r   r  r   s   &       r   ,test_set_default_touches_ratelimit_wake_filer,    s   !!&&1JzK');V[Q//D{{{}tt{}+,;;;==44;=r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s      G GG	Gr   c                   V P                  R R4      p\        VR,          RRR4       V P                  4       ^ ,          pV P                  V4       V P                  R,          pVP
                  qD! 4       qU'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;rEV P                  pR pRqt! WW4      pRqV	J q'       Eg	   \        P                  ! RV
3RW34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR	\        P                  ! V4      R
\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;rV P                  pR qT! V4      pRqVJ q'       g   \        P                  ! RV3RW}34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR	\        P                  ! V4      R
\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;rVP                   qD! 4       qU'       * qw'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;rWVP
                  qD! 4       qU'       * qw'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;rW\"        P$                  ! \&        4      ;_uu_ 4        V P                  V4       RRR4       V P                  pR pRqt! WW4      pRqV	J q'       Eg	   \        P                  ! RV
3RW34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR	\        P                  ! V4      R
\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;rV P                  pR qT! V4      pRqVJ q'       g   \        P                  ! RV3RW}34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR	\        P                  ! V4      R
\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;rVP
                  qD! 4       qU'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;rEVP(                  qD! 4       pRqV,          qP(                  q! 4       pVV8H  qw'       EgX   \        P                  ! RV3RVV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR	\        P                  ! V4      R
\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p
;p	pR#   + '       g   i     EL; i) rX   r  rW   rT   rR   rV   rj   r^   	live_authr_   r[   NTrM   r]   rn   rf   r  r   rb   re   r*  Iassert not %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.is_symlink
}()
}Fr   r   r   is)zZ%(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.set_locked
}(%(py4)s, %(py6)s)
} is %(py11)szO%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.is_locked
}(%(py4)s)
} is %(py9)srr   r#  )r   r>   rx   r$  rH   r   r   r   rz   r   r|   r}   r~   
set_lockedr{   	is_lockedr   pytestraisesr   r   )rM   r   r   r/  r   r   r   r   r   r   r   r   r&  r   r   r  r   r   s   &                 r   Atest_locking_default_disconnects_live_auth_and_unlock_restores_itr8    s    !!&&1JzK');V[Qmmoa G!**[8I!!!!!!!!!!9!!!!9!!!!!!!!!!!!!4v4t4v,4444444,444444844448444444v444t444,444444444444-f-f%-------%------8----8------f---%-----------!!!!!!!!!!!!y!!!!y!!!!!!!!!!!!!##%#%%%%%%%%%%%y%%%%y%%%#%%%%%%%%%%	)	*	*W% 
+ 5v5u5v-5555555-555555855558555555v555u555-555555555555.f.f%.......%......8....8......f...%...........!!!!!!!!!!9!!!!9!!!!!!!!!!!!!FFF#;F"D"DF"D"FF"FFFFFF"FFFFFFF9FFFF9FFFFFFFFFFFF:FFFF:FFFFFF"DFFF"FFFFFFFFFF 
+	*	*s   "g..g?	c               $    V ^8  d   QhRRRRRR/# r   rM   r   monkeypatchpytest.MonkeyPatchr   r3   r   )r   s   "r   r   r     s&     & &&#& 
&r   c                "  a aa S P                  R R4      o\        SR,          RRR4       S P                  S P                  4       ^ ,          4       S P	                  R R4       S P
                  R,          oR VVV 3R llpVP                  S R	V4       \        P                  ! \        R
R7      ;_uu_ 4        S P	                  R R4       RRR4       S P                  pR qC! V4      pRqeVJ qw'       g   \        P                  ! RV3RWV34      RR\        P                  ! 4       9   g   \        P                  ! S 4      '       d   \        P                   ! S 4      MRR\        P                   ! V4      R\        P                   ! V4      R\        P                   ! V4      R\        P                   ! V4      /,          pRRV/,          p	\#        \        P$                  ! V	4      4      hR;p;p;p;rvSP&                  q3! 4       qD'       * qU'       g   RRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                   ! S4      MRR\        P                   ! V4      R\        P                   ! V4      /,          p
\#        \        P$                  ! V
4      4      hR;p;rESP(                  q3! 4       qD'       * qU'       g   RRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                   ! S4      MRR\        P                   ! V4      R\        P                   ! V4      /,          p
\#        \        P$                  ! V
4      4      hR;p;rER#   + '       g   i     EL; i)rX   r  rW   rT   rR   rV   Tc                    V ^8  d   QhRRRR/# )r   ry   
str | Noner   r3   r   )r   s   "r   r   \test_failed_unlock_relocks_and_removes_partially_activated_credentials.<locals>.__annotate__  s     0 0J 04 0r   c                  < R qV8H  q"'       g   \         P                  ! R	V3R
W34      RR\        P                  ! 4       9   g   \         P                  ! V 4      '       d   \         P
                  ! V 4      MRR\         P
                  ! V4      /,          pRRV/,          p\        \         P                  ! V4      4      hR;r!SP                  SR,          S4       \        R4      h)rX   r^   ry   rm   r  rc   NrW   activation failedrr   r  )
rz   r{   r   r   r   r|   r}   r~   _atomic_symlinkRuntimeError)ry   r   r   r  r  r   r/  rM   s   &    r   fail_after_activationetest_failed_unlock_relocks_and_removes_partially_activated_credentials.<locals>.fail_after_activation  s    v~tttv  k!99E.//r   _sync_active_linksrB  matchFNr^   rM   r_   r[   r]   rb   re   rf   r*  r/  r0  r1  r3  )r   r>   r$  rx   r4  rH   setattrr6  r7  rD  r5  rz   r{   r   r   r   r|   r}   r~   r   r   )rM   r;  rE  r   r   r   r   r   r   r   r  r   r/  s   f&         @@r   Ftest_failed_unlock_relocks_and_removes_partially_activated_credentialsrK    s/    !!&&1JzK');V[Q+,%**[8I0 0
 "68MN	|+>	?	?FE* 
@ -f-f%-------%------8----8------f---%-----------!!!!!!!!!!!!y!!!!y!!!!!!!!!!!!!##%#%%%%%%%%%%%y%%%%y%%%#%%%%%%%%%%% 
@	?	?s   8M==N	c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s      L LL	Lr   c                	   V P                  R R4      p\        VR,          RRR4       V P                  V P                  4       ^ ,          4       V P                  R,          pVP                  4        VP                  RRR7       V P                  R R	4       VP                  q3! 4       qD'       * qU'       g   R
RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;rERq1V,          qDP                   pRq! VR7      p	RqV
8H  q'       Eg	   \        P"                  ! RV3R W34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p	;r\$        P&                  pRqqV,          qP$                  q! 4       qP(                  q! V
4      pRpVV8H  pV'       Eg   \        P"                  ! RV3R!VV34      RR\        P                  ! 4       9   g!   \        P                  ! \$        4      '       d   \        P                  ! \$        4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /	,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p;p
;p;ppR# )"rX   r  rW   rT   rR   zacct-old{"rotated":true}r   r9   Tr*  r^   r/  r_   r[   Nr   rc   r`   rb   ro   rp   rq     statrm   rn   r   r   assert %(py19)spy19rr   r   z%(py14)s
{%(py14)s = %(py2)s
{%(py2)s = %(py0)s.S_IMODE
}(%(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = (%(py3)s / %(py5)s).stat
}()
}.st_mode
})
} == %(py17)s)r   r>   r$  rx   rH   unlinkr=   r4  r   r   r   rz   r   r|   r}   r~   r   r{   rP  S_IMODEst_mode)rM   r   r/  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   @py_assert15r   @py_format20s   &                    r   Dtest_locking_default_moves_vendor_replaced_live_auth_back_to_accountrY    s    !!&&1JzK');VZP+,**[8I+g>%!!!!!!!!!!!!y!!!!y!!!!!!!!!!!!!$W$W//WW/AWEWWEWWWWWWAWWWWWWJWWWWJWWWWWW/WWWWWWAWWWEWWWWWWWWWW<<KkKk1K77K79KAAK<ABKeKBeKKKKKBeKKKKKK4KKKK4KKK<KKKKKKKKKKKKKkKKK7KKK9KKKAKKKBKKKeKKKKKKKKKKr   c               $    V ^8  d   QhRRRRRR/# r   rA   r   r;  r<  r   r3   r   )r   s   "r   r   r     s)     J JJ!3J	Jr   c                j  aaa V R ,          R,          oV R,          R,          oSP                   P                  4        SP                   P                  4        SP                  RRR7       SP                  RRR7       \        P                  oR VVV3R llpVP                  \        P                  R	V4       \        P                  ! SS4       SP                  q3! 4       qD'       * qU'       g   R
RR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                   ! V4      4      hR;p;rESP"                  pRqC! VR7      pRquV8H  q'       g   \        P$                  ! R V3R!WW34      RR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                   ! V
4      4      hR;p;p;p;r\&        P(                  pSP&                  q! 4       qP*                  qs! V4      pRqV8H  q'       Egu   \        P$                  ! R V3R"W34      RR\        P                  ! 4       9   g!   \        P                  ! \&        4      '       d   \        P                  ! \&        4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p;p;p;rSP                   pVP,                  pRq! V4      p\/        V4      p. qV8H  q'       Egu   \        P$                  ! R V3R#W34      RR\        P                  ! 4       9   g!   \        P                  ! \.        4      '       d   \        P                  ! \.        4      MRRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p;p;p;rR# )$liverW   r   rN  r   r9   z{"old":true}c               $    V ^8  d   QhRRRRRR/# )r   sourcezstr | os.PathLike[str]rL   r   r3   r   )r   s   "r   r   Rtest_locked_credential_cleanup_falls_back_across_filesystems.<locals>.__annotate__  s$     % %/E %Oe %jn %r   c                   < \        V 4      S8X  d+   \        V4      S8X  d   \        \        P                  R 4      hS! W4       R# )zcross-device linkN)r   OSErrorerrnoEXDEV)r_  rL   account_copyactivereal_replaces   &&r   replace_with_cross_device_oncedtest_locked_credential_cleanup_falls_back_across_filesystems.<locals>.replace_with_cross_device_once  s4    <6!d6ll&B%++':;;V$r   replacer*  r^   rf  r_   r[   Nre  r]   rb   re   rf   rO  rP  rm   rc   r`   rq   r   r   z.auth.json.lock-move-*rx   rZ   rr   r   )z%(py11)s
{%(py11)s = %(py2)s
{%(py2)s = %(py0)s.S_IMODE
}(%(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.stat
}()
}.st_mode
})
} == %(py14)s)z%(py11)s
{%(py11)s = %(py0)s(%(py9)s
{%(py9)s = %(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.parent
}.glob
}(%(py7)s)
})
} == %(py14)s)r;   r<   r=   rl   rj  rJ  account_registry_moduler   _deactivate_live_pathr   r   r   rz   r   r|   r}   r~   r   r{   rP  rU  rV  globrx   )rA   r;  rh  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   re  rf  rg  s   &&                 @@@r   <test_locked_credential_cleanup_falls_back_across_filesystemsrn    s    ,Fi'+5L
MM
(7;NW=::L% %
 /22I?]^))&,?}}}vv}!!I7I!73I7II7IIIIII3IIIIII<IIII<III!III7III3III7IIIIIIIII<<=))=)+=33=<34=======4======4====4===<=============)===+===3===4============##I#((I)AI()ABI4BCIrIrIIIIICIIIIII4IIII4IIIIIIIIIIIIII#III(III)AIIIBIIICIIIrIIIIIIIIIr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     2 22	2r   c                p	   V P                  R R4      p\        VR,          RRR4       V P                  R R4       V P                  R R4      pRq2V8H  qD'       g   \        P
                  ! RV3RW#34      R	R
\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR
R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;rCV P                  pR qt! V4      pRqV	J q'       g   \        P
                  ! RV
3RW34      R	R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;rV P                  pRqt! V4      pRqV	J q'       g   \        P
                  ! RV
3RW34      R	R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;rV P                  R4       V P                  qD! 4       p\        4       qV
8H  q'       Eg3   \        P
                  ! RV3RWz34      R	R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rR# ) workWorkrW   zwork@example.comrR   z	acct-workTzNight Accountznight-accountr^   renamedrm   r  rc   NFrM   r_   r[   r]   rb   re   rf   	frozensetrn   assert %(py10)sr   rr   r  r1  r3  )zb%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.locked_slugs
}()
} == %(py8)s
{%(py8)s = %(py6)s()
})r   r>   r4  renamerz   r{   r   r   r   r|   r}   r~   r5  r   locked_slugsrt  )rM   r   rs  r   r   r  r  r   r   r   r   r   r   r   @py_format11s   &              r   9test_rename_and_remove_keep_account_lock_state_consistentry    s    !!&&1JzK');V[Q%oofo6G%%o%%%%%7%%%%%%7%%%%7%%%o%%%%%%%%.f.f%.......%......8....8......f...%...........6o6o.6$6$66666.666666866668666666o666.666$66666666OOO$  1 "1ik1k11111"111111811118111 111"111111i1111i111k11111111r   c               $    V ^8  d   QhRRRRRR/# r:  r   )r   s   "r   r   r     s$     ! !!,>!	!r   c           !     (  a a S P                  R 4      p\        V\        4      q3'       Eg9   RRR\        P                  ! 4       9   g!   \
        P                  ! \        4      '       d   \
        P                  ! \        4      MRRR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRRR\        P                  ! 4       9   g!   \
        P                  ! \        4      '       d   \
        P                  ! \        4      MRR\
        P                  ! V4      /,          p\        \
        P                  ! V4      4      hR	pVP                  pR
qeV8H  q3'       g   \
        P                  ! R/V3R0WV34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      R\
        P                  ! V4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR	;p;r6VP                  qUP                  pRqV	8H  q'       g   \
        P                  ! R/V
3R1W934      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V	4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR	;p;p;r\        VP                  R,          RRR4       S P                  oR VV 3R llpVP!                  S RV4       VP#                  4       pRpR
p	\%        Wi4      pR pS P&                  pR
pVV,          pRpVV,          pRpRpRp\)        VVVVVVR7      pVV8H  qU'       Eg   \
        P                  ! R/V3R2VV34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRRR\        P                  ! 4       9   g!   \
        P                  ! \(        4      '       d   \
        P                  ! \(        4      MRRR\        P                  ! 4       9   g!   \
        P                  ! \$        4      '       d   \
        P                  ! \$        4      MRR\
        P                  ! V4      R\
        P                  ! V	4      R\
        P                  ! V4      R\
        P                  ! V4      RR \        P                  ! 4       9   g   \
        P                  ! S 4      '       d   \
        P                  ! S 4      MR R!\
        P                  ! V4      R"\
        P                  ! V4      R#\
        P                  ! V4      R$\
        P                  ! V4      R%\
        P                  ! V4      R&\
        P                  ! V4      R'\
        P                  ! V4      /,          pR(R)V/,          p\        \
        P                  ! V4      4      hR	;p;p;p	;p;p;p;p;p;p;p;p;p;ppVP                  qUP*                  q3! 4       q'       g   R*RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      R\
        P                  ! V4      R+\
        P                  ! V
4      /,          p\        \
        P                  ! V4      4      hR	;p;r:VP,                  qUP*                  q3! 4       q'       * pV'       g   R,RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      R\
        P                  ! V4      R+\
        P                  ! V
4      /,          p\        \
        P                  ! V4      4      hR	;p;p;p
pS P.                  qU! 4       q=.qV	8H  q'       g   \
        P                  ! R/V
3R3W934      RR \        P                  ! 4       9   g   \
        P                  ! S 4      '       d   \
        P                  ! S 4      MR R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V	4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR	;p;p;r\0        P2                  ! \4        R-R.7      ;_uu_ 4        VP#                  4        R	R	R	4       \0        P2                  ! \4        R-R.7      ;_uu_ 4        VP7                  4        R	R	R	4       R	#   + '       g   i     LO; i  + '       g   i     R	# ; i)4z	Rafa Workz5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}r^   
isinstancerZ   r   r_   r
   r[   Nz	rafa-workrc   r  r`   rg   ra   rb   rW   rT   rR   rV   c                    V ^8  d   QhRRRR/# )r   r)   zdict[str, list[dict[str, str]]]r   r3   r   )r   s   "r   r   \test_stage_add_commit_registers_account_without_exposing_partial_state.<locals>.__annotate__  s     ) )*I )d )r   c                  < SP                   q! 4       p. q2V8H  qD'       g   \        P                  ! R	V3R
W#34      RR\        P                  ! 4       9   g   \        P
                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rCS! V 4       R# )rs   r^   rM   r_   r[   r`   ra   rb   Nrr   r   )	rx   rz   r{   r   r   r   r|   r}   r~   )	r)   r   r   r   r   r   r   original_write_registryrM   s	   &      r   verifying_write_registryhtest_stage_add_commit_registers_account_without_exposing_partial_state.<locals>.verifying_write_registry  s    }}$}$"$"$$$$$$$$$$$x$$$$x$$$}$$$$$$"$$$$$$$$(r   _write_registryr   r   r   r   rm   r   rf   ro   rM   rq   r   rR  py22py24py26py28zassert %(py30)spy30zcassert %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.account_home
}.exists
}()
}r]   zfassert not %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s._staged_dir
}.exists
}()
}staged account already closedrH  rr   z,%(py2)s
{%(py2)s = %(py0)s.slug
} == %(py5)s)zN%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.account_home
}.name
} == %(py7)s)z%(py0)s == %(py28)s
{%(py28)s = %(py2)s(ref=%(py9)s
{%(py9)s = %(py3)s(%(py5)s, %(py7)s)
}, alias=%(py11)s, account_home=((%(py14)s
{%(py14)s = %(py12)s.accounts_dir
} / %(py16)s) / %(py19)s), email=%(py22)s, plan=%(py24)s, account_id=%(py26)s)
}r   )r   r|  r
   r   r   rz   r   r|   r}   r~   ry   r{   r   rK   r>   r  rJ  r   r   r   r   r   _staged_dirrx   r6  r7  rD  rollback)rM   r;  r   r   r   r   r   r  r   r   r   r   r  r   r   r   r   rW  r   @py_assert18@py_assert20@py_assert21@py_assert23@py_assert25@py_assert27@py_format29@py_format31r   r   r  s   f&                           @r   Ftest_stage_add_commit_registers_account_without_exposing_partial_stater    s    ,Ffm,,,,,,,,,:,,,,:,,,,,,,f,,,,f,,,,,,,m,,,,m,,,,,,,,,,;;%+%+%%%%%;%%%%%%6%%%%6%%%;%%%+%%%%%%%%3##3|3|33333#333333633336333333#333|33333333v""[02DfkZ&66) ) "35MNmmoG  +w, ** .9 +[8 <H 9<G !	
  g,G  7     7      7   7     g   g            +  ,             +   .9   <H   !	  
                  (&&(&(((((((((7((((7((((((&((((((((((!!*((*(***********v****v***!***(***********=='=?'i'i'''''?''''''8''''8'''='''?'''i''''''''	|+J	K	K 
L	|+J	K	K 
L	K 
L	K	K	K	Ks   g-h -g=	 h	c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   /  s     * *o *RV *r   c           	        V P                  R RR7      pVP                  pRq2V8H  qD'       g   \        P                  ! R
V3RW#34      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;rCVP                  pR q2V8H  qD'       g   \        P                  ! R
V3RW#34      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p;rCR	# )zDisplay Namezmy-work)ry   r^   r   r_   rc   r  r`   Nrr   r  )z-%(py2)s
{%(py2)s = %(py0)s.alias
} == %(py5)s)r   ry   rz   r{   r   r   r   r|   r}   r~   r  )rM   r   r   r   r   r  r   s   &      r   /test_stage_add_uses_explicit_slug_when_providedr  /  s    Y?F;;#)#)#####;######6####6###;###)########<<)>)>)))))<))))))6))))6)))<)))>))))))))r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   5  s      	r   c                   V P                  R 4      p\        VP                  R,          RRR4       VP                  4        V P                  q"! 4       p. qCV8H  qU'       g   \
        P                  ! RV3RW434      RR\        P                  ! 4       9   g   \
        P                  ! V 4      '       d   \
        P                  ! V 4      MRR\
        P                  ! V4      R\
        P                  ! V4      R	\
        P                  ! V4      /,          pR
RV/,          p\        \
        P                  ! V4      4      hR;p;p;rTVP                  q"P                  q3! 4       qU'       * q'       g   RRR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      /,          p\        \
        P                  ! V4      4      hR;p;p;rX\        P                  ! \         RR7      ;_uu_ 4        VP                  4        RRR4       \        P                  ! \         RR7      ;_uu_ 4        VP#                  4        RRR4       R#   + '       g   i     LO; i  + '       g   i     R# ; i)
DisposablerW   ztemp@example.comrR   z	acct-tempr^   rM   r_   r[   r`   ra   rb   Nzgassert not %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.account_home
}.exists
}()
}r   r]   r  rH  rr   r   )r   r>   r   r  rx   rz   r{   r   r   r   r|   r}   r~   r   r6  r7  rD  r   )	rM   r   r   r   r   r   r   r   r   s	   &        r   ?test_stage_add_rollback_discards_directory_and_cannot_be_reusedr  5  s    -Fv""[02DfkZ
OO== =? b b     ?      8    8   =   ?   b        ""+))+)+++++++++++v++++v+++"+++)+++++++++++	|+J	K	K 
L	|+J	K	K 
L	K 
L	K	K	K	Ks   J(J;(J8	;K	c                    V ^8  d   QhRRRR/# r   rA   r   r   r3   r   )r   s   "r   r   r   E  s     '3 '3 '3RV '3r   c                  aa V R ,          pV R,          pVP                  4        \         F7  pW,          pRV9   d   VP                  VRR7       K'  VP                  4        K9  	  \        W!R7      p\        W!R7      pVP	                  R4      pVP	                  R4      p\        VP                  R,          RR	R
4       \        VP                  R,          RRR4       \        P                  ! ^4      o. oR VV3R llp	\        P                  ! W3R7      p
\        P                  ! W3R7      pV
P                  4        VP                  4        V
P                  4        VP                  4        S UUu. uF  w  rVR8X  g   K  VNK  	  pppS UUu. uF  w  rVR8X  g   K  VNK  	  ppp\        V4      p^pVV8H  pV'       Eg   \        P                  ! R&V3R'VV34      RR\        P                   ! 4       9   g!   \        P"                  ! \        4      '       d   \        P$                  ! \        4      MRRR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P$                  ! V4      MRR\        P$                  ! V4      R\        P$                  ! V4      /,          pRRV/,          p\'        \        P(                  ! V4      4      hR;p;pp\        V4      p^pVV8H  pV'       Eg   \        P                  ! R&V3R'VV34      RR\        P                   ! 4       9   g!   \        P"                  ! \        4      '       d   \        P$                  ! \        4      MRRR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P$                  ! V4      MRR\        P$                  ! V4      R\        P$                  ! V4      /,          pRRV/,          p\'        \        P(                  ! V4      4      hR;p;ppV^ ,          p\+        V\,        4      pV'       Eg   RRR\        P                   ! 4       9   g!   \        P"                  ! \*        4      '       d   \        P$                  ! \*        4      MRR\        P$                  ! V4      RR\        P                   ! 4       9   g!   \        P"                  ! \,        4      '       d   \        P$                  ! \,        4      MRR \        P$                  ! V4      /,          p\'        \        P(                  ! V4      4      hR;ppVP.                  pV! 4       pV^ ,          .pVV8H  pV'       g   \        P                  ! R&V3R(VV34      RR!\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P$                  ! V4      MR!R\        P$                  ! V4      R"\        P$                  ! V4      R#\        P$                  ! V4      /,          pR$R%V/,          p\'        \        P(                  ! V4      4      hR;p;p;ppR# u uppi u uppi ))rC   rD   rE   r   r9   rF   r  rW   rQ   rR   zacct-onerU   zacct-twoc                    V ^8  d   QhRRRR/# )r   r   r
   r   r3   r   )r   s   "r   r   Ptest_stage_add_commit_rejects_concurrent_final_destination.<locals>.__annotate__Y  s     ) )} ) )r   c                   <  SP                  ^R7       SP                  RV P                  4       34       R#   \         d   pSP                  RT34        Rp?R# Rp?ii ; i)   )timeoutokr
  N)waitappendr   BaseException)r   excbarrierresultss   & r   r   Jtest_stage_add_commit_rejects_concurrent_final_destination.<locals>.commitY  sP    	)LLL#NND&--/23 	)NNE3<((	)s   38 A!AA!)rL   argsr  r
  r^   lenrZ   	successesrm   r]   r  rn   Nfailuresz5assert %(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
}r|  r_   FileExistsErrorrc   first_registryr[   r`   ra   rb   rr   z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sr   )r<   rI   r=   r   r   r>   r   	threadingBarrierThreadstartjoinr  rz   r{   r   r   r   r|   r}   r~   r|  r  rx   )rA   rC   rJ   rK   rL   r  second_registryfirst_stagedsecond_stagedr   first_threadsecond_threadkindvaluer  r  r   r   r   r   r   r   r  r   r   r   r   r  r  s   &                          @@r   :test_stage_add_commit_rejects_concurrent_final_destinationr  E  s    FfD
LLN$$;dW5LLN % %dMN%tNO!++E2L#--e4M|((;68I6S]^}))K79JES]^"G(*G) ) ##6HL$$F9IJM*1B';4TT\'IB)0B+$DEMHBy>Q>Q>Q33yy>Qx=A=A=A33xx=Aqk3:k?3333333333:3333:333k333333?3333?33333333332 2Yq\N2 N22222 N222222>2222>222222 222N22222222 CBs   5YYY%#Y%c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   o  s      O OY] Obf Or   c                   ^ RI Hp V R,          pV R,          pVP                  4        \        VV R,          VP                  VR7      pVP                  RR4      pVR,          P                  R	R
R7       VP                  4       ^ ,          pVP                  V4       VP                  pRqV,          qV	8H  q'       Eg   \        P                  ! R.V
3R/Wy34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\!        \        P"                  ! V4      4      hR;p;p
;rVP$                  pRqV,          qV	8H  q'       Eg   \        P                  ! R.V
3R0Wy34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\!        \        P"                  ! V4      4      hR;p;p
;rVP&                  pRqV,          qV	8H  q'       Eg   \        P                  ! R.V
3R1Wy34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\!        \        P"                  ! V4      4      hR;p;p
;rRqV
,          pRqV,          pRqV,          pVV8H  qw'       Eg,   \        P                  ! R.V3R2VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\!        \        P"                  ! V4      4      hR;p;p
;p;p;p;ppVP(                  pRpRp	\+        W4      qV8H  q'       EgI   \        P                  ! R.V
3R3W34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g!   \        P                  ! \*        4      '       d   \        P                  ! \*        4      MRR\        P                  ! V4      R \        P                  ! V	4      R\        P                  ! V4      /,          pR!R"V/,          p\!        \        P"                  ! V4      4      hR;p;p
;p;rVP,                  qwV8H  q'       g   \        P                  ! R.V
3R4Wu34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pR#RV/,          p\!        \        P"                  ! V4      4      hR;rzVP.                  pR$pVV8H  q'       g   \        P                  ! R.V
3R5VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R%\        P                  ! V4      /,          pR&RV/,          p\!        \        P"                  ! V4      4      hR;p;p
pVR,          pVP0                  qw! 4       q'       g   R'RR(\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR(R\        P                  ! V4      R\        P                  ! V
4      /,          p\!        \        P"                  ! V4      4      hR;rzVP2                  qw! 4       p
RqV	,          qP2                  pV! 4       pV
V8H  q'       EgX   \        P                  ! R.V3R6V
V34      RR(\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR(R\        P                  ! V4      R\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR \        P                  ! V	4      R)\        P                  ! V4      R\        P                  ! V4      /,          pR*R+V/,          p\!        \        P"                  ! V4      4      hR;p;p
;p;p	;p;ppVR,          P                  R,R
R7       VP4                  pR
q! V
R7      pR,qV8H  q'       g   \        P                  ! R.V	3R7W34      RR(\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR(R\        P                  ! V4      R\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pR-R)V/,          p\!        \        P"                  ! V4      4      hR;p;p
;p;rR# )8    r   clauderD   r   rG   rH   r  legacy_claude_homerX   r  .credentials.jsonz{"accessToken":"first"}r   r9   claude-accountsr^   rM   r_   r[   rJ   r]   ra   rb   Nzclaude_accounts.jsonclaude_default_slugCLAUDE_HOMEclaude_homer`   r   r  r   r   r   rn   zassert %(py12)sro   r\   zclaude:rafarc   r  rj   r  rf   r   r   z{"accessToken":"rotated"}re   rr   )z@%(py2)s
{%(py2)s = %(py0)s.accounts_dir
} == (%(py4)s / %(py6)s))zA%(py2)s
{%(py2)s = %(py0)s.registry_path
} == (%(py4)s / %(py6)s))z@%(py2)s
{%(py2)s = %(py0)s.default_path
} == (%(py4)s / %(py6)s))z7%(py0)s == (((%(py2)s / %(py4)s) / %(py7)s) / %(py10)s))zT%(py2)s
{%(py2)s = %(py0)s.ref
} == %(py10)s
{%(py10)s = %(py4)s(%(py6)s, %(py8)s)
})z4%(py2)s
{%(py2)s = %(py0)s.account_home
} == %(py4)s)z0%(py2)s
{%(py2)s = %(py0)s.tray_key
} == %(py5)sr#  r   )account_registryr   r<   r   CLAUDEr   r=   rx   r$  r   rz   r{   r   r   r   r|   r}   r~   r   r%  r  r   r   r	  r   r   r   )rA   r   rC   rJ   rM   r  r   r   r   r   r   r   r   r   r   r   r   r   r&  rx  r   r   r   r   r  r  r   r   r   s   &                            r   Jtest_claude_registry_uses_separate_storage_default_and_credentials_symlinkr  o  s   4 FfD
LLN"W, ''!	H ""662K&&223LW^2_mmoa G!  <+<<+<$<<$<<<<<< <<<<<<8<<<<8<<< <<<<<<D<<<<D<<<+<<<<<<<<<!!B,BB,B%BB%BBBBBB!BBBBBB8BBBB8BBB!BBBBBBTBBBBTBBB,BBBBBBBBB  @+@@+@$@@$@@@@@@ @@@@@@8@@@@8@@@ @@@@@@D@@@@D@@@+@@@@@@@@@!2K!22KVKV;KmKmKK;KKKKKK;KKKKKKK;KKKK;KKKKKKK$KKKK$KKK!2KKKVKKKmKKKKKKKKK;;6X6v6*X66666666;666666766667666;666666*6666*666X666v666666666666.;...........7....7.........;....;........,},},,,,,},,,,,,7,,,,7,,,,,,},,,,,,,,++H          8    8             NN0CN0C"CN!L!LN!L!NN!NNNNNN!NNNNNNN8NNNN8NNNNNNNNNNNN+NNNN+NNN0CNNN!LNNN!NNNNNNNNNN&&223NY`2aNwNw/N3NN3NNNNNN/NNNNNN8NNNN8NNNNNNwNNN/NNN3NNNNNNNNNNr   c                  2    ] tR tRtRR R lltR R ltRtR# )	_FakeTokenIdentityi  c                    V ^8  d   QhRRRR/# )r   
owner_uuidr?  r   r3   r   )r   s   "r   r   _FakeTokenIdentity.__annotate__  s     & &: &$ &r   c                	    Wn         R # N_owner_uuid)selfr  s   &&r   __init___FakeTokenIdentity.__init__  s    %r   c                    V ^8  d   QhRRRR/# )r   _credentials_pathr   r   r?  r   )r   s   "r   r   r    s        $  :  r   c                	    V P                   # r  r  )r  r  s   &&r   account_uuid_for#_FakeTokenIdentity.account_uuid_for  s    r   r  Nshared-uuid)__name__
__module____qualname____firstlineno__r  r  __static_attributes__r   r   r   r  r    s    &   r   r  c                    V ^8  d   QhRRRR/# r@   r   )r   s   "r   r   r     s      t  r   c                    V R ,          pVP                  4        \        V R,          V R,          \        P                  VR7      # )r  rD   r   r  r<   r   r   r  )rA   rC   s   & r   _claude_registryr    s>     F
LLNF""W, ''!	 r   c               $    V ^8  d   QhRRRRRR/# r[  r   )r   s   "r   r   r     s&     ; ;;#; 
;r   c                `	   \        V 4      pVP                  R R4      pVP                  RR4      p\        VR4       \        VR4       VP                  R,          pVP	                  RRR	7       VP                  \        R
R RR7       VP                  4        RqcV,          qwP                  pRq! V	R	7      p
RqV8H  q'       Eg	   \        P                  ! R"V3R#W34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p;p	;p
;r\"        P$                  pRqV,          qP"                  q! 4       pVP&                  q! V4      pRpVV8H  pV'       Eg   \        P                  ! R"V3R$VV34      RR\        P                  ! 4       9   g!   \        P                  ! \"        4      '       d   \        P                  ! \"        4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /	,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p	;p;p;p;p;ppRqdV,          qwP(                  q! 4       q'       * q'       g   R RR!\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR!R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          p\        \        P                   ! V4      4      hR;p;p;p;rR# )%zyncZyncotherOtherr  zsome-other-uuidr  rN  r   r9   ClaudeTokenIdentityc                     \        R 4      # r  r  r   r   r   <lambda>\test_preserve_live_claude_grant_writes_only_to_the_pinned_matching_account.<locals>.<lambda>  
    "=1r   Fraisingr^   	zync_homer_   rc   r`   rb   ro   rp   rq   NrO  rP  rm   rn   r   r   rQ  rR  Qassert not %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).exists
}()
}r!  rr   r   rS  )r  r   r   r  r=   rJ  rk  _preserve_live_claude_grantr   rz   r{   r   r   r   r|   r}   r~   rP  rU  rV  r   )rA   r;  rM   r  r!  r]  r   r   r   r   r   r   r   r   r   r   r   r   r   rW  r   rX  r   s   &&                     r   Jtest_preserve_live_claude_grant_writes_only_to_the_pinned_matching_accountr    s     )H  0I!!'73JY.Z!23&&)<<DOO&O91	   ((*+^++^66^^6H^L^^L^^^^^^H^^^^^^I^^^^I^^^+^^^6^^^^^^H^^^L^^^^^^^^^^<<R%8R%88R>>R>@R@HHR<HIRURIURRRRRIURRRRRR4RRRR4RRR<RRRRRRRRRRRRR%8RRR>RRR@RRRHRRRIRRRURRRRRRRRR0:00:88:8:::::::::::
::::
:::0:::8:::::::::::r   c               $    V ^8  d   QhRRRRRR/# r[  r   )r   s   "r   r   r     s&     > >>#> 
>r   c                   \        V 4      pVP                  R R4      pVR,          P                  \        P                  ! RRR//4      RR7       VP
                  R,          pVP                  R	RR7       VP                  \        R
R RR7       VP                  4        RqSV,          qfP                  qw! 4       q'       * q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p
\        \        P                   ! V
4      4      hR;p;p;p;rR# )poisonedPoisoned.claude.jsonoauthAccountaccountUuidr  r   r9   r  rN  r  c                     \        R 4      # r  r  r   r   r   r  ktest_preserve_live_claude_grant_skips_an_account_with_a_poisoned_but_unpinned_claude_json.<locals>.<lambda>  r  r   Fr  r  r^   poisoned_homer_   rc   r`   N)r  r   r=   r$   r%   r  rJ  rk  r  r   r   r   rz   r   r|   r}   r~   )rA   r;  rM   r  r]  r   r   r   r   r   r   s   &&         r   Ytest_preserve_live_claude_grant_skips_an_account_with_a_poisoned_but_unpinned_claude_jsonr    s'     )H$$Z<M^#//

N]M$BCD 0 
 &&)<<DOO&O91	   ((* 3= 33=;;=;================== 3===;===========r   c               $    V ^8  d   QhRRRRRR/# r[  r   )r   s   "r   r   r     s)     D DD!3D	Dr   c                $  a  VP                  \        P                  R V 3R l4       \        P                  ! \        P                  P
                  R7      pVP                  pRpS V,          qSV8H  qf'       Eg   \        P                  ! RV3RW534      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! S 4      '       d   \        P                  ! S 4      MRR	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;p;rEVP                  pRpS V,          qSV8H  qf'       Eg   \        P                  ! RV3RW534      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! S 4      '       d   \        P                  ! S 4      MRR	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;p;rEVP                   pRpS V,          qSV8H  qf'       Eg   \        P                  ! RV3RW534      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! S 4      '       d   \        P                  ! S 4      MRR	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;p;rER# )homec                    < S # r  r   )rA   s   r   r  Rtest_claude_registry_resolves_default_home_paths_at_construction.<locals>.<lambda>  s    hr   )r  z%.local/state/overdeck/systray/runtimer^   rM   r_   r[   rA   r]   ra   rb   N.clauder  rr   )z<%(py2)s
{%(py2)s = %(py0)s.base_dir
} == (%(py4)s / %(py6)s))zF%(py2)s
{%(py2)s = %(py0)s.legacy_claude_home
} == (%(py4)s / %(py6)s)zF%(py2)s
{%(py2)s = %(py0)s.active_claude_json
} == (%(py4)s / %(py6)s))rJ  rk  r   r   r   r  rG   rz   r{   r   r   r   r|   r}   r~   r  active_claude_json)	rA   r;  rM   r   r   r   r   r   r   s	   f&       r   @test_claude_registry_resolves_default_home_paths_at_constructionr    s,    /44f>NO&66$88??H R+RR+R RR RRRRRRRRRRRR8RRRR8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&&>Y>(Y*>>*>>>>>>&>>>>>>8>>>>8>>>&>>>>>>(>>>>(>>>Y>>>>>>>>&&C^C(^*CC*CCCCCC&CCCCCC8CCCC8CCC&CCCCCC(CCCC(CCC^CCCCCCCCr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s      D DD	Dr   c                   V R ,          p\         P                  ! V R,          \         P                  P                  VR7      pVP                  pRq@V,          qSV8H  qf'       Eg   \
        P                  ! RV3RW534      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      RR\        P                  ! 4       9   g   \
        P                  ! V 4      '       d   \
        P                  ! V 4      MRR	\
        P                  ! V4      /,          pR
RV/,          p\        \
        P                  ! V4      4      hR;p;p;rER# )r  rD   )rG   r  r  r  r^   rM   r_   r[   rA   r]   ra   rb   Nrr   r  )rk  r   r   r  r  rz   r{   r   r   r   r|   r}   r~   )	rA   r  rM   r   r   r   r   r   r   s	   &        r   Btest_claude_registry_derives_metadata_path_from_custom_claude_homer    s     Y&K&66F"$88??&H &&C^C^*CC*CCCCCC&CCCCCC8CCCC8CCC&CCCCCC(CCCC(CCC^CCCCCCCCr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     # #VZ #_c #r   c                2
   ^ RI Hp V R,          pV R,          pV R,          pVP                  4        VP                  4        VR,          P                  RRR7       V R	,          pVP                  R
RR7       \	        VVVP
                  VVR7      pVP                  4        VP                  4        VP                  4       pV Uu. uF  qP                  NK  	  p	pR.qV
8H  q'       gy   \        P                  ! R V3R!W34      R\        P                  ! V	4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;rVP                  q! 4       p
RqV8H  pV'       g   \        P                  ! R V3R"W34      RR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p
;ppVR,          R,          R,          pRpVV,          qP$                  pRpV! VR7      pRpVV8H  pV'       Eg
   \        P                  ! R V3R#VV34      RR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p
;p;p;p;ppRpVV,          qP$                  pRpV! VR7      pR
pVV8H  pV'       Eg
   \        P                  ! R V3R#VV34      RR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p
;p;p;p;ppR# u upi )$r  r  r  r   rD   r  z{"accessToken":"legacy"}r   r9   r  zX{"oauthAccount":{"emailAddress":"legacy@example.com","organizationRateLimitTier":"max"}}rG   rH   r  r  r  rC   rZ   r[   r\   r]   Nr^   rM   r_   r`   ra   rb   r  r  r  rc   ro   rp   rq   claude.jsonrr   rt   ru   r   )r  r   r<   r=   r   r  rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   )rA   r   r  rH   rJ   r  rM   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   s   &                         r   Gtest_claude_migrate_legacy_imports_current_credentials_and_sets_defaultr    s   4!H, 7*fD--99" :  "N2!!b "  + ''--H }}H(01WLL?1hZ?Z?????1???1???Z????????  . ".h.h....."......8....8... ..."...h........**X5EK-hK--h88h'h8'JhNhhJNhhhhhhJNhhhhhhhKhhhhKhhh-hhh8hhh'hhhJhhhNhhhhhhhhhh' K-' 22 G 2GD bDb   Db    K   K   -   2   G   D   b        	 2s   Tc                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     $= $=$=	$=r   c                <   ^ RI Hp V R,          pV R,          pV R,          pV R,          pVP                  4        VP                  4        VR,          P                  RRR	7       VP                  R
RR	7       \	        VVVP
                  VVR7      pVP                  RR4      pVR,          P                  RRR	7       VP                  4        VP                  4        Uu. uF  qP                  NK  	  p	pR.qV
8H  q'       gy   \        P                  ! R!V3R"W34      R\        P                  ! V	4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;rVP                  q! 4       p
RqV8H  pV'       g   \        P                  ! R!V3R#W34      RR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p
;ppRqV,          p
RpV
V,          qP&                  pV! 4       pV'       * pV'       g   RRR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R \        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p
;p;p;p;ppR# u upi )$r  r  r  r   r  rD   r  z{"accessToken":"live-other"}r   r9   z5{"oauthAccount":{"emailAddress":"other@example.com"}}r  r   r   {"accessToken":"avi"}rZ   r[   r\   r]   Nr^   rM   r_   r`   ra   rb   r  r  z_assert not %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = ((%(py0)s / %(py2)s) / %(py5)s).exists
}()
}rJ   rc   rn   r   rr   rt   ru   )r  r   r<   r=   r   r  r   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   )rA   r   r  rH   r  rJ   rM   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   &                       r   Gtest_claude_migrate_legacy_does_not_import_phantom_when_registry_existsr    s    5!H, 7*!N2fD--99& :  !!? "  + ''--H ""5%0K&&22 3 
 (08WLLC8UGCGCCCCC8CCC8CCCGCCCCCCCC  + "+e+e+++++"++++++8++++8+++ +++"+++e++++++++(<((<7<(72<::<:<<<<<<<<<<<<<<<<<<<(<<<7<<<:<<<<<<<<<<<< 9s    Nc                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   B  s     > >T >VZ >r   c                   ^ RI Hp V R,          pV R,          pV R,          pVP                  4        VP                  4        \        VVVP                  VV R,          R7      pVP                  RR4      pVP                  R	R
4      pVR,          P                  RRR7       VR,          P                  RRR7       VP                  4       pV U	u. uF  qP                  NK  	  p
p	R.qV8H  q'       gy   \        P                  ! RV3RW34      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;rR# u up	i )r  r  r  r   rD   r  r  r]  LivephantomPhantomr  z@{"claudeAiOauth":{"accessToken":"live-token","refreshToken":""}}r   r9   6{"claudeAiOauth":{"accessToken":"","refreshToken":""}}rZ   r[   r\   r]   Nrr   rt   )r  r   r<   r   r  r   r=   rx   ry   rz   r{   r|   r}   r~   )rA   r   r  rH   rJ   rM   	live_homephantom_homer   r   r   r   r   r   r   s   &              r   >test_claude_list_hides_registry_entries_with_empty_credentialsr&  B  s8   4!H, 7*fD+ ''-#n4H   0I##Iy9L$$00J 1  ''33@ 4 
 }}H(01WLL=1fX=X=====1===1===X========1s   E2c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   a  s      	r   c                   ^ RI Hp V R,          pV R,          pVP                  4        VP                  4        \        V R,          VVP                  VV R,          R7      pVP                  RR4      pVR	,          P                  R
RR7       VR,          P                  RRR7       VP                  4       pV Uu. uF  qwP                  VP                  3NK  	  ppR.qV	8H  q'       gy   \        P                  ! RV
3RW34      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rR# u upi )r  r  r  r   rD   r  r  
logged-outz
Logged outr  r#  r   r9   account_identity.jsonz){"email":"user@example.com","plan":"max"}rZ   r[   r\   r]   N)r)  zuser@example.comrr   rt   )r  r   r<   r   r  r   r=   rx   ry   r   rz   r{   r|   r}   r~   )rA   r   r  rH   rM   r   r   r   r   r   r   r   r   s   &            r   Btest_claude_list_keeps_identified_account_with_cleared_credentialsr+  a  sn    5!H, 7*F"+ ''-#n4H ##L,?L''33@ 4  ++773 8 
 }}H9ABg\\7==) B*G  G    B   B    G        Bs   ; E*c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     . ..	.r   c                   ^ RI Hp V R,          pV R,          pV R,          pVR,          R,          R,          pVP                  4        VP                  4        VP                  RR	7       VR
,          P                  RRR7       VR
,          P	                  VR
,          4       \        VVVP                  VV R,          R7      pVP                  4        VP                  qw! 4       p. qV	8H  q'       g   \        P                  ! RV
3RW34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;rVP"                  qwP$                  q! 4       q'       * q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V
4      /,          p\        \        P                   ! V4      4      hR;p;p;rR# )r  r  r  r   rD   r  r   r  Tr   r  r  r   r9   r  r  r^   rM   r_   r[   r`   ra   rb   Ngassert not %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.default_path
}.exists
}()
}r]   rr   r   )r  r   r<   r=   
symlink_tor   r  rw   rx   rz   r{   r   r   r   r|   r}   r~   r%  r   )rA   r   r  rH   rJ   managed_homerM   r   r   r   r   r   r   r   s   &             r   Btest_claude_migrate_legacy_skips_live_symlink_into_managed_storager1    s    5!H, 7*fD++e3mCLt$''334KV]3^--99,I\:\]+ ''-#n4H == =? b b     ?      8    8   =   ?   b        $$-++-+-----------x----x---$---+-----------r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s      T d r   c                	   ^ RI Hp V R,          pV R,          pV R,          pV R,          pVP                  4        VP                  4        \        VVVP                  VVR7      pVP                  RR4      pVR	,          P                  R
RR7       VR,          P                  RRR7       VP                  VP                  4       ^ ,          4       VP                  q! 4       q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      /,          p
\        \        P                   ! V
4      4      hR;rVP"                  q! 4       p	RqV,          qP"                  q! 4       qV8H  q'       EgW   \        P$                  ! R(V3R)W34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p	;p;p;p;r\&        P(                  qP*                  pRpV! VR7      pV! V4      pRRR/RR/pVV8H  q'       Egv   \        P$                  ! R(V3R*VV34      RR \        P                  ! 4       9   g!   \        P                  ! \&        4      '       d   \        P                  ! \&        4      MR R\        P                  ! V4      R!R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR"\        P                  ! V4      R#\        P                  ! V4      R$\        P                  ! V4      R\        P                  ! V4      R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                   ! V4      4      hR;p;p;p;p;p;ppR# )+r  r  r  r   r  rD   r  r   r   r  r  r   r9   z3{"oauthAccount":{"emailAddress":"avi@example.com"}}rj   r^   r  r_   r[   Nr]   r  rn   rf   r   r   r   r  emailAddressr   hasCompletedOnboardingTr$   rm   rc   r`   rb   rq   r   r   rr   r#  z%(py11)s
{%(py11)s = %(py2)s
{%(py2)s = %(py0)s.loads
}(%(py9)s
{%(py9)s = %(py5)s
{%(py5)s = %(py3)s.read_text
}(encoding=%(py7)s)
})
} == %(py14)sr  r   r<   r   r  r   r=   r$  rx   r   r   r   rz   r   r|   r}   r~   r   r{   r$   r   r   rA   r   r  rH   r  rJ   rM   r  r   r   r   r   r   r   r   r   r&  r   r   r   r   r   r   r   s   &                       r   6test_claude_set_default_links_dot_claude_json_metadatar9    s   4!H, 7*!N2fD+ ''--H ""5%0K&&223JU\2]>!--= . 
 +,((*(****************(**********%%S%'S.S.,HS+Q+QS+Q+SS+SSSSSS'SSSSSSSSSSSSS%SSS'SSSSSSKSSSSKSSS.SSS+QSSS+SSSSSSSSSS:: 22 G 2GD :DE ):; $J E J    E J     4   4   :     (   (   2   G   D   E    J         r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     # # #QU #r   c                "
   ^ RI Hp V R,          pV R,          pV R,          pV R,          pVP                  4        VP                  4        \        VVVP                  VVR7      pVP                  RR4      pVR	,          P                  R
RR7       VR,          P                  RRR7       VR,          P                  RRR7       VP                  VP                  4       ^ ,          4       VP                  q! 4       q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      /,          p
\        \        P                   ! V
4      4      hR;rVP"                  q! 4       p	RqV,          qP"                  q! 4       qV8H  q'       EgW   \        P$                  ! R,V3R-W34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p	;p;p;p;r\&        P(                  qP*                  pRpV! VR7      pV! V4      pRRR/R R!/ /R"R#/pVV8H  q'       Egv   \        P$                  ! R,V3R.VV34      RR$\        P                  ! 4       9   g!   \        P                  ! \&        4      '       d   \        P                  ! \&        4      MR$R\        P                  ! V4      R%R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR&\        P                  ! V4      R'\        P                  ! V4      R(\        P                  ! V4      R\        P                  ! V4      R)\        P                  ! V4      /,          pR*R+V/,          p\        \        P                   ! V4      4      hR;p;p;p;p;p;ppR# )/r  r  r  r   r  rD   r  r   r   r  r  r   r9   z.{"firstStartTime":"now","migrationVersion":13}r  zK{"oauthAccount":{"emailAddress":"avi@example.com"},"projects":{"/repo":{}}}rj   r^   r  r_   r[   Nr]   r  rn   rf   r   r   r   r  r4  r   projectsz/repor5  Tr$   rm   rc   r`   rb   rq   r   r   rr   r#  r6  r7  r8  s   &                       r   9test_claude_set_default_ignores_generated_dot_config_stubr=    s   4!H, 7*!N2fD+ ''--H ""5%0K&&223JU\2]>!--8 .  = ,,U - 
 +,((*(****************(**********%%R%'R-R-,GR+P+PR+P+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RKRRRRKRRR-RRR+PRRR+RRRRRRRRRR:: 22 G 2GD :DE ):;WbM $J E J    	E J   	  	4   	4   	:   	  	(   	(   	2   	G   	D   	E   	 J      	   r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     0 0PT 0Y] 0r   c                   ^ RI Hp V R,          pV R,          pV R,          pVP                  4        VP                  4        \        VVVP                  VR7      pVP                  RR4      pVR,          P                  \        P                  ! R	R
RRRR/4      RR7       VR,          P                  \        P                  ! RRRRRRR//4      RR7       VP                  qw! 4       p\        \        RR4      RVR
RRR7      .qV	8H  q'       g   \        P                  ! R"V
3R#W34      RR\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P"                  ! V4      MRR\        P"                  ! V4      R\        P"                  ! V4      R\        P"                  ! V	4      /,          pRR V/,          p\%        \        P&                  ! V4      4      hR!;p;p;rR!# )$r  r  r  r   rD   r  rX   r  r*  r   zpreferred@example.comorg_idzorg-preferredsubscription_typemaxr   r9   r  r  r4  zlegacy@example.comr  zlegacy-accountorganizationRateLimitTierzlegacy-planr   r^   rM   r_   r[   r`   ra   rb   Nrr   r   )r  r   r<   r   r  r   r=   r$   r%   rx   r   r   rz   r{   r   r   r   r|   r}   r~   )rA   r   r  rH   rJ   rM   r  r   r   r   r   r   r   s   &            r   Atest_claude_list_prefers_account_identity_over_legacy_claude_jsonrD    s   4!H, 7*fD+ ''-	H ""662K**66

0/#U	
  7 	 = ,,

"$8!#3/!	
  -  == 	=? 	8V,$)&	
	 	 	 	 	 	 	? 	 	 	 	 	8 	 	 	8 	 	 	= 	 	 	? 	 	 	 	 	 	 	 	 	 	 	 	r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     1 11	1r   c                H   V P                  R R4      p\        VR,          RRR4       V P                  V P                  4       ^ ,          4       V P                  pR pRqB! W44      pRqeV8H  qw'       Eg	   \
        P                  ! RV3RWV34      RR	\        P                  ! 4       9   g   \
        P                  ! V 4      '       d   \
        P                  ! V 4      MR	R
\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      /,          pRRV/,          p	\        \
        P                  ! V	4      4      hR;p;p;p;p;rvV P                  4       ^ ,          p
V
P                  V
P                  3pRq;V8H  q'       gy   \
        P                  ! RV3RW34      R\
        P                  ! V4      R\
        P                  ! V4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p;rV P                  pRq2V,          pRqV,          pRpVV,          pVP                   pV! 4       pV'       g   RRR	\        P                  ! 4       9   g   \
        P                  ! V 4      '       d   \
        P                  ! V 4      MR	R
\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      /,          p\        \
        P                  ! V4      4      hR;p;p;p;p;p;p;p;ppV P                  pR q2V,          qDP"                  q! 4       pV'       * qf'       g   RRR	\        P                  ! 4       9   g   \
        P                  ! V 4      '       d   \
        P                  ! V 4      MR	R
\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      /,          p\        \
        P                  ! V4      4      hR;p;p;p;p;ppV P$                  q"! 4       pRqV8H  qD'       g   \
        P                  ! RV3R W?34      RR	\        P                  ! 4       9   g   \
        P                  ! V 4      '       d   \
        P                  ! V 4      MR	R
\
        P                  ! V4      R\
        P                  ! V4      R\
        P                  ! V4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p;p;rOR# )!rY   r  rW   rQ   rR   rS   Roy Workroy-workr^   rM   r_   r[   r]   rn   rf   r  r   NrZ   r\   rg   zassert %(py15)s
{%(py15)s = %(py13)s
{%(py13)s = (((%(py2)s
{%(py2)s = %(py0)s.accounts_dir
} / %(py4)s) / %(py7)s) / %(py10)s).is_file
}()
}r`   r   r   zsassert not %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = (%(py2)s
{%(py2)s = %(py0)s.accounts_dir
} / %(py4)s).exists
}()
}rb   ra   rr   zV%(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.rename
}(%(py4)s, %(py6)s)
} == %(py11)s)rH  rG  rt   ru   )r   r>   r$  rx   rv  rz   r{   r   r   r   r|   r}   r~   ry   r  r   is_filer   r   )rM   r   r   r   r   r   r   r   r   r&  r   r   r   r   r   r   r   r   r   r   r   rx  r   r   s   &                       r   7test_rename_moves_the_account_directory_to_the_new_slugrK    sR    !!%/JzK'):FJO+,??;5;*;?5-;;;;;;;-;;;;;;8;;;;8;;;?;;;5;;;*;;;-;;;;;;;;;;;;mmoa GLL'--(D,DD,DDDDDD(DDD(DDD,DDDDDDDDD!!VJVJ.VV=VV=KVKTTVTVVVVVVVVVHVVVVHVVV!VVVJVVVVVVVVVTVVVVVVVVVVVV%%77-755757777777777777777777%777777577777777777  0 "0j0j00000"000000800008000 000"000j00000000r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   (  s     4 44	4r   c                   V P                  R R4       V P                  pR pRq1! W#4      pR qTV8H  qf'       Eg	   \        P                  ! RV3RWE34      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;reV P                  pR q!V,          q3P                  q! 4       q'       g   RRR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      /,          p\        \        P                  ! V4      4      hR;p;p;p;rR# )rY   r  ROYr^   rM   r_   r[   r]   rn   rf   r  r   Noassert %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = (%(py2)s
{%(py2)s = %(py0)s.accounts_dir
} / %(py4)s).is_dir
}()
}r`   rb   rr   rI  )r   rv  rz   r{   r   r   r   r|   r}   r~   r   is_dir)rM   r   r   r   r   r   r   r   r&  r   r   r   s   &           r   :test_rename_keeps_the_slug_when_the_label_still_derives_itrQ  (  sT    UE"??151%1?5(1E1E11111(111111811118111?1115111%111(111E111111111!!3E3E)31131333333333H3333H333!333E333133333333333r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   1  s     : : :TX :r   c                8   V P                  R R4       V P                  RR4       V P                  P                  \        P                  ! R RR/RRR//4      RR7       V P
                  pRq!VJq3'       g   \        P                  ! R V3R!W34      R	R
\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR
R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;r2V P
                  P                  \        P                  ! RRRR /RRR//RR RRR ./4      RR7       V P                  R R4       \        P                  ! V P                  P!                  RR7      4      p\#        V4      pRR0qV8H  q"'       Eg   \        P                  ! R"V3R#Wx34      R	R\        P                  ! 4       9   g!   \        P                  ! \"        4      '       d   \        P                  ! \"        4      MRRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;r(\        P                  ! V P
                  P!                  RR7      4      pVR,          R,          R,          pRq<V8H  qw'       gy   \        P                  ! R"V3R$W34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rsVR,          R,          R,          pRq<V8H  qw'       gy   \        P                  ! R"V3R$W34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rsVR,          pRq<V8H  qw'       gy   \        P                  ! R"V3R$W34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rsVR,          pRR.q<V8H  qw'       gy   \        P                  ! R"V3R$W34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rsR# )%rY   r  r   r   statusr  r   r9   Nr^   rM   r_   rc   r  r`   r<  r  r   r  defaultfallback_chainrG  rH  setrZ   healthrm   r]   r  rn   r[   r\   is notz>%(py2)s
{%(py2)s = %(py0)s.routing_rules_path
} is not %(py5)srr   r  rt   )r   health_cache_pathr=   r$   r%   routing_rules_pathrz   r{   r   r   r   r|   r}   r~   rv  r   r   rW  )rM   r   r   r   r  r   rX  r   r   r   r   rulesr   r   s   &             r   1test_rename_rekeys_health_cache_and_routing_rulesr_  1  s   UE"UE"))

EHd+UXt4DEFQX *  &&2d2d22222&222222822228222&222d22222222**

Vi%79eBTU5 5%.	
  + 	 OOE:&ZZ22<<g<NOFv;-:u--------;------3----3-------v----v---;------------JJx22<<g<NOEV$Y/=:=:=====/===/===:========W%i09E9E9999909990999E99999999)z)z)))))))))))z))))))))!"9uj&99&999999"999"999&999999999r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   N  s     P Po P$ Pr   c                L   V P                  R R4       V P                  RR4       V P                  pRq!VJq3'       g   \        P                  ! RV3RW34      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;p;r2V P                  P                  \        P                  ! R/ RR RR R^(/RR^///4      RR7       V P                  R R4       \        P                  ! V P                  P                  RR7      4      pVR,          pRR^(/RR^//q7V8H  q'       gy   \        P                  ! RV3RWs34      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;rR# )rY   r  r   r   Nr^   rM   r_   rc   r  r`   r<  rU  account_caps7d5hr   r9   rG  rH  rZ   r[   r\   r]   rY  r[  rr   rt   )r   r]  rz   r{   r   r   r   r|   r}   r~   r=   r$   r%   rv  r   r   )rM   r   r   r   r  r   r^  r   r   r   r   s   &          r   test_rename_rekeys_account_capsre  N  s   UE"UE"&&2d2d22222&222222822228222&222d22222222**

B5r
ED": F	
  + 	 OOE:&JJx22<<g<NOE OZ$UT2J$OO$OOOOOO OOO OOO$OOOOOOOOOr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   c  s     8 8_ 8 8r   c                l   V P                  R R4       V P                  RR4      p\        VR,          RRR4       V P                  pRq2VJqD'       g   \        P                  ! RV3RW#34      R	R
\
        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR
R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCV P                  P                  \        P                  ! R/ RRRR R^(/RR^///4      RR7       V P                  R 4       \        P                  ! V P                  P!                  RR7      4      pVR,          pRR^//qHV8H  q'       gy   \        P                  ! RV	3RW34      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rR# )rY   r  r   r   rW   r   rR   r   Nr^   rM   r_   rc   r  r`   r<  rU  rb  rc  rd  r   r9   rZ   r[   r\   r]   rY  r[  rr   rt   )r   r>   r]  rz   r{   r   r   r   r|   r}   r~   r=   r$   r%   r   r   r   )rM   avi_homer   r   r   r  r   r^  r   r   r   r   s   &           r   test_remove_drops_account_capsri  c  s   UE"u-Hx+%'8&*M&&2d2d22222&222222822228222&222d22222222**

B5r
ED": F	
  + 	 OOEJJx22<<g<NOE 7UT2J$77$777777 777 777$777777777r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   y  s     4 4 4SW 4r   c                   V P                  R R4       V P                  R,          P                  4        \        P                  ! \
        RR7      ;_uu_ 4        V P                  R R4       RRR4       V P                  4       ^ ,          qP                  pR q2V8H  qD'       g   \        P                  ! RV3RW#34      R\        P                  ! V4      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;p;rCV P                  pR qV,          q3P                  q! 4       q'       g   RRR\        P                   ! 4       9   g   \        P"                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      /,          p\        \        P                  ! V4      4      hR;p;p;p;rR#   + '       g   i     EL; i)rY   r  rH  z*account directory already in use: roy-workrH  rG  NrZ   rm   r]   r  rn   rO  r^   rM   r_   r[   r`   rb   rr   )z,%(py3)s
{%(py3)s = %(py1)s.slug
} == %(py6)s)r   r   r<   r6  r7  r  rv  rx   ry   rz   r{   r|   r}   r~   rP  r   r   r   )rM   r   r   r   r   r   r   r   r   r   r   r   s   &           r   0test_rename_rejects_a_slug_already_taken_on_diskrl  y  s`   UE"Z'..0	.Z	[	[z* 
\ ==?1+""+e+e+++++"++++++"+++e++++++++!!3E3E)31131333333333H3333H333!333E333133333333333	 
\	[	[s   H>>I	c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     
* 
*
*	
*r   c                   V P                  R R4       \        P                  ! \        RR7      ;_uu_ 4        V P                  RR4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P	                  R4       RRR4       \        P                  ! \
        R	R7      ;_uu_ 4        V P                  R R
4       RRR4       R#   + '       g   i     L; i  + '       g   i     Ld; i  + '       g   i     R# ; i)rY   Personalz account name already in use: ROYrH  rq  rN  Nz%account name already in use: personalpersonalzreserved account name: DynamicDynamic)r   r6  r7  r  r   
ValueErrorrv  rM   s   &r   Etest_account_names_are_unique_across_slugs_aliases_and_reserved_namesrt    s     UJ'	.P	Q	Q' 
R	.U	V	V:& 
W	z)I	J	Jy) 
K	J	 
R	Q	V	V	J	J	Js#   C6C$4C7C!	$C4	7D	c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     ' ''	'r   c                   V P                  R R4       V P                  RR4       V P                  R R4       \        P                  ! \        RR7      ;_uu_ 4        V P                  R R4       RRR4       R#   + '       g   i     R# ; i)rY   ro  rq  OfficerN  z!account name already in use: workrH  N)r   rv  r6  r7  r  rs  s   &r   <test_rename_rejects_another_account_slug_but_allows_own_slugrx    sb     UJ'VX&OOE5!	.Q	R	Rv& 
S	R	R	Rs   A88B		c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     = ==	=r   c                   R F-  pV P                   V,          R,          P                  RR7       K/  	  V P                  RRR RR/RRRR	/./4       V P                  pR q2! V4      pR qTV8H  qf'       g   \        P
                  ! RV3RWE34      R
R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;reV P                  pRq2! V4      pR qTV8H  qf'       g   \        P
                  ! RV3RWE34      R
R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;reV P                  pRq2! V4      pRqTV8H  qf'       g   \        P
                  ! RV3RWE34      R
R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;reV P                  pRq2! V4      pRqTVJ qf'       g   \        P
                  ! RV3RWE34      R
R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;reV P                  pRq2! V4      pRqTVJ qf'       g   \        P
                  ! RV3RWE34      R
R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;reR# )rY   rq  rg   Tr   r   ry   r  ro  r  r^   rM   r_   r[   r]   rb   re   rf   Nz
 personal rN  dynamicmissing)rY   rq  rr   z[%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.resolve_profile_token
}(%(py4)s)
} == %(py9)sr1  z[%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.resolve_profile_token
}(%(py4)s)
} is %(py9)s)r   r<   r  resolve_profile_tokenrz   r{   r   r   r   r|   r}   r~   )	rM   ry   r   r   r   r   r   r   r   s	   &        r   Ctest_resolve_profile_token_prefers_exact_slug_then_casefolded_aliasr    sx     				%	4;;D;I  4%0	
 ))9%9)%09E9E999990999999899998999)999%9990999E99999999))@,@),7@5@5@@@@@7@@@@@@8@@@@8@@@)@@@,@@@7@@@5@@@@@@@@)):%:)%0:F:F:::::0::::::8::::8:::):::%:::0:::F::::::::))<)<))4<<<<<<<4<<<<<<8<<<<8<<<)<<<)<<<4<<<<<<<<<<<))<)<))4<<<<<<<4<<<<<<8<<<<8<<<)<<<)<<<4<<<<<<<<<<<<r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     
D 
Do 
DRV 
Dr   c                l   V P                  R R4       V P                  pRq!! V4      pR qCV8H  qU'       g   \        P                  ! RV3RW434      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;p;p;rTV P                  R R4       V P                  pRq!! V4      pR
qCVJ qU'       g   \        P                  ! RV3RW434      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;p;p;rTV P                  pR q!! V4      pR
qCVJ qU'       g   \        P                  ! RV3RW434      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;p;p;rTV P                  pRq!! V4      pRqCV8H  qU'       g   \        P                  ! RV3RW434      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;p;p;rTV P                  pRq!! V4      pRqCV8H  qU'       g   \        P                  ! RV3RW434      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p;p;p;rTR
# )r   r   r^   rM   r_   r[   r]   rb   re   rf   NzRoy Homezroy-homerr   r}  r1  r~  )r   r  rz   r{   r   r   r   r|   r}   r~   rv  )rM   r   r   r   r   r   r   r   s   &       r   /test_resolve_follows_the_slug_a_rename_producedr    s4   UE"))9%9)%09E9E999990999999899998999)999%9990999E99999999OOE:&))8%8)%08D8D888880888888888888888)888%8880888D88888888))8%8)%08D8D888880888888888888888)888%8880888D88888888))C*C)*5CCCCCCC5CCCCCC8CCCC8CCC)CCC*CCC5CCCCCCCCCCC))C*C)*5CCCCCCC5CCCCCC8CCCC8CCC)CCC*CCC5CCCCCCCCCCCCr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     ! !!	!r   c                z   V P                  R R4      pV P                  RR4      p\        VR,          RRR4       \        VR,          RR	R
4       V P                  V P                  4       ^ ,          4       V P	                  R 4       V P
                  R,          pV P                  4        Uu. uF  qDP                  NK  	  ppR.qeV8H  qw'       gy   \        P                  ! R$V3R%WV34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvV P                  q! 4       pRqV8H  q'       g   \        P                  ! R$V3R&Wk34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;rV P                   qP"                  pRq! VR7      pRpVV8H  pV'       Eg
   \        P                  ! R$V3R'VV34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;p;p;ppVP$                  q! 4       qf'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;rVP&                  q! 4       pRqV,          pVP&                  pV! 4       pVV8H  q'       EgX   \        P                  ! R$V3R(VV34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pR R!V/,          p\        \        P                  ! V4      4      hR;p
;p;p;p;p;ppV P	                  R4       V P                  q! 4       p. qV8H  q'       g   \        P                  ! R$V3R)Wk34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;rV P                  q! 4       pRqVJ q'       g   \        P                  ! R*V3R+Wk34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;rV P                   qP(                  qf! 4       q'       * q'       g   R"RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p
;p;rVP(                  q! 4       qf'       * q'       g   R#RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V
4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p
;rlR# u upi ),rX   r  rY   r  rW   rT   rR   rV   rQ   rU   rS   rZ   r[   r\   r]   Nr^   rM   r_   r`   ra   rb   r   r9   r   rn   rf   r  r   rj   r  r   r   r   r.  r*  rr   rt   ru   r"  r#  r   r1  )zK%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.default_slug
}()
} is %(py7)s)r   r>   r$  rx   r   rH   ry   rz   r{   r|   r}   r~   r   r   r   r   r%  r   r   r   r   )rM   ri   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r&  r   r   r  s   &                      r   Ftest_remove_reassigns_default_and_clears_active_links_on_final_removalr    s      0Iu-Hy;&(:FKPx+%'8%L+,OOF))K7H(08WLLC8UGCGCCCCC8CCC8CCCGCCCCCCCC  + "+e+e+++++"++++++8++++8+++ +++"+++e++++++++  G**GGG*G<GG<GGGGG<GGGGGG8GGGG8GGG GGG*GGGGGGG<GGGGGGGGGGGG          8    8             CC[C["8C"8!A!AC!A!CC!CCCCCC!CCCCCCC8CCCC8CCCCCCCCCCCC(CCCC(CCC[CCC!ACCC!CCCCCCCCCCOOE== =? b b     ?      8    8   =   ?   b          * "*d*d*****"******8****8*** ***"***d********$$-++-+-----------x----x---$---+-----------            x    x               9s   +f8c               $    V ^8  d   QhRRRRRR/# r:  r   )r   s   "r   r   r     s)     !R !R!R,>!R	!Rr   c                :  a aa S P                  R R4      pS P                  RR4      p\        VR,          RRR4       \        VR,          RR	R
4       S P                  S P                  4       ^ ,          4       \        P
                  P                  oRoR VVV 3R llpVP                  \        P
                  R\        V4      4       \        P                  ! \        RR7      ;_uu_ 4        S P                  R 4       RRR4       S P                  R,          pS P                  4        Uu. uF  qfP                  NK  	  ppR R.qV8H  q'       gy   \        P                   ! R'V	3R(Wx34      R\        P"                  ! V4      R\        P"                  ! V4      /,          p
RRV
/,          p\%        \        P&                  ! V4      4      hR;p;rS P(                  q! 4       pR qV8H  q'       g   \        P                   ! R'V3R)W34      RR\*        P,                  ! 4       9   g   \        P.                  ! S 4      '       d   \        P"                  ! S 4      MRR\        P"                  ! V4      R\        P"                  ! V4      R\        P"                  ! V4      /,          pRRV/,          p\%        \        P&                  ! V4      4      hR;p;p;rVP0                  q! 4       q'       g   RRR\*        P,                  ! 4       9   g   \        P.                  ! V4      '       d   \        P"                  ! V4      MRR\        P"                  ! V4      R\        P"                  ! V4      /,          p
\%        \        P&                  ! V
4      4      hR;rVP2                  q! 4       pRpVV,          pVP2                  pV! 4       pVV8H  q'       EgX   \        P                   ! R'V3R*VV34      RR\*        P,                  ! 4       9   g   \        P.                  ! V4      '       d   \        P"                  ! V4      MRR\        P"                  ! V4      R\        P"                  ! V4      RR\*        P,                  ! 4       9   g   \        P.                  ! V4      '       d   \        P"                  ! V4      MRR\        P"                  ! V4      R \        P"                  ! V4      R!\        P"                  ! V4      /,          pR"R#V/,          p\%        \        P&                  ! V4      4      hR;p;p;p;p;p;ppS P4                  pR qV,          pR$qV,          pRpVV,          pVP6                  pV! 4       pV'       g   R%RR\*        P,                  ! 4       9   g   \        P.                  ! S 4      '       d   \        P"                  ! S 4      MRR\        P"                  ! V4      R\        P"                  ! V4      R\        P"                  ! V4      R&\        P"                  ! V4      R!\        P"                  ! V4      R#\        P"                  ! V4      /,          p\%        \        P&                  ! V4      4      hR;p;p;p;p;p;p;p;ppR#   + '       g   i     EL; iu upi )+rX   r  rY   r  rW   rT   rR   rV   rQ   rU   rS   Fc               $    V ^8  d   QhRRRRRR/# )r   r2   r   contentr   r   r3   r   )r   s   "r   r   Utest_remove_restores_quarantined_account_when_state_write_fails.<locals>.__annotate__  s!     " "$ " " "r   c                h   < S! W4       V SP                   8X  d   S'       g   R o\        R4      hR# R# )TboomN)r   rb  )r2   r  failedoriginal_atomic_write_textrM   s   &&r   fail_registry_write\test_remove_restores_quarantined_account_when_state_write_fails.<locals>.fail_registry_write  s2    "418)))&F&/! 39)r   _atomic_write_textr  rH  NrZ   r[   r\   r]   r^   rM   r_   r`   ra   rb   rj   r  ri   rn   rf   r   r   r   rg   zassert %(py15)s
{%(py15)s = %(py13)s
{%(py13)s = (((%(py2)s
{%(py2)s = %(py0)s.accounts_dir
} / %(py4)s) / %(py7)s) / %(py10)s).exists
}()
}r   rr   rt   ru   r#  )r   r>   r$  rx   rk  r   r  rJ  staticmethodr6  r7  rb  r   rH   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   )rM   r;  ri   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  s   f&                        @@r   ?test_remove_restores_quarantined_account_when_state_write_failsr    s	      0Iu-Hy;&(:FKPx+%'8%L+,!8!H!H![![F" " //() 
wf	-	- 
. ))K7H(08WLLK8VUOKOKKKKK8KKK8KKKOKKKKKKKK  , ",f,f,,,,,",,,,,,8,,,,8,,, ,,,",,,f,,,,,,,,          8    8             DDkD)k"9D"9!B!BD!B!DD!DDDDDD!DDDDDDD8DDDD8DDDDDDDDDDDD)DDDD)DDDkDDD!BDDD!DDDDDDDDDD!!QFQF*Q\Q\9QKQ9KGQGOOQOQQQQQQQQQHQQQQHQQQ!QQQFQQQ\QQQKQQQOQQQQQQQQQQQQ 
.	-	- 9s   -Z,ZZ	c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     - -? -t -r   c                    V P                  R R4       \        P                  ! \        4      ;_uu_ 4        V P                  R R4       RRR4       R#   + '       g   i     R# ; i)rY   r  z	Roy AgainN)r   r6  r7  r  rs  s   &r   ,test_add_dir_raises_when_slug_already_existsr    s@    UE"		'	', 
(	'	'	's   AA#	c               $    V ^8  d   QhRRRRRR/# r[  r   )r   s   "r   r   r     s$     !/ !/!/!3!/	!/r   c                  a R RR. R^ /o ! V3R lR4      pVP                  \        RV4       V R,          pV R,          pVP                  4        \        P                  ! WCR	7      pVP                  R
,          R,          pVP                  RR7       VP                  V4       VP                  4        SR ,          qsVP                  3qV8H  q'       gy   \        P                  ! RV	3RWx34      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rSR,          qv.qV8H  q'       gy   \        P                  ! RV	3RWx34      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rSR,          p^qV8H  q'       gy   \        P                  ! RV	3RWx34      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;rR# )initNr   r   c                  N   < ] tR tRtR V 3R lltR V 3R lltR V 3R lltRtR	# )
Ptest_account_registry_delegates_shared_codex_state.<locals>.FakeSharedCodexStatei  c               $    V ^8  d   QhRRRRRR/# )r   rH   r   r   r   r3   r   )r   s   "r   r   ]test_account_registry_delegates_shared_codex_state.<locals>.FakeSharedCodexState.__annotate__  s!     	> 	>d 	>$ 	>4 	>r   c                	   < W3SR &   R# )r  Nr   )r  rH   r   callss   &&&r   r  Ytest_account_registry_delegates_shared_codex_state.<locals>.FakeSharedCodexState.__init__  s    .=E&Mr   c                    V ^8  d   QhRRRR/# )r   r   r   r   r3   r   )r   s   "r   r   r    s     	< 	<$ 	<4 	<r   c                	8   < SR ,          P                  V4       R# )r   Nr  )r  r   r  s   &&r   r   btest_account_registry_delegates_shared_codex_state.<locals>.FakeSharedCodexState.sync_shared_links  s    %&--l;r   c                   V ^8  d   QhRR/# )r   r   r3   r   )r   s   "r   r   r    s     	0 	04 	0r   c                	2   < SR ;;,          ^,          uu&   R# )r   Nr   )r  r  s   &r   r   ftest_account_registry_delegates_shared_codex_state.<locals>.FakeSharedCodexState.sync_all_shared_links  s    )*a/*r   r   N)r  r  r  r  r  r   r   r  )r  s   r   FakeSharedCodexStater    s!    	> 	>	< 	<	0 	0r   r  SharedCodexStaterC   rD   rF   rY   rg   Tr   rZ   r[   r\   r]   rr   rt   )rJ  rk  r<   r   r   r   r   rz   r{   r|   r}   r~   )rA   r;  r  rC   rJ   rM   r   r   r   r   r   r   r  s   &&          @r   2test_account_registry_delegates_shared_codex_stater    s    	R E0 0 /1CEYZ FfD
LLN&66_H((50<?Lt$|,""$=;X%:%:;;;;;;;;=;;;=;;;;;;;;;;;;$%7777777%777%77777777777().Q.Q.....)...)...Q........r   c                    V ^8  d   QhRRRR/# )r   r;  r<  r   r3   r   )r   s   "r   r   r   '  s      K K#K	Kr   c                  a \        \        4      p\        P                  P	                  R V4      pRq2VJqD'       g   \
        P                  ! RV3RW#34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;rCVP                  pRqtVJq'       g   \
        P                  ! RV3RWG34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V4      R\
        P                  ! V4      /,          pRR	V/,          p	\        \
        P                  ! V	4      4      hR;p;r\        P                  P                  V4      p
V
\        P                   VP"                  &   VP                  P%                  V
4       / oR
 V3R llpV P'                  V
P(                  RV4       V
P*                  qD! 4       p^ qV8H  q'       g   \
        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \
        P                  ! V
4      '       d   \
        P                  ! V
4      MRR\
        P                  ! V4      R\
        P                  ! V4      R	\
        P                  ! V4      /,          p	RRV	/,          p\        \
        P                  ! V4      4      hR;p;p;rSR,          pRR.qV8H  q3'       gy   \
        P                  ! RV3RW34      R\
        P                  ! V4      R\
        P                  ! V4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p;r8R# )test_account_registry_shimNr^   specrm   r  rc   r_   r  r`   c                    V ^8  d   QhRRRR/# )r   r  z	list[str]r   intr   )r   s   "r   r   Itest_shell_shim_delegates_to_account_registry_suite.<locals>.__annotate__4  s      y S r   c                   < V SR &   ^ # )r  r   )r  pytest_calls   &r   fake_pytest_mainMtest_shell_shim_delegates_to_account_registry_suite.<locals>.fake_pytest_main4  s    "Fr   mainmoduler[   ra   rb   r  tests/test_account_registry.py-vrZ   r\   r]   rY  )z%(py0)s is not %(py3)s)z2%(py2)s
{%(py2)s = %(py0)s.loader
} is not %(py5)srr   )zC%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.main
}()
} == %(py7)srt   )r   __file__	importlibutilspec_from_file_locationrz   r{   r   r   r   r|   r}   r~   loadermodule_from_specsysmodulesrK   exec_modulerJ  r6  r  )r;  	shim_pathr  r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r  s   &                 @r   3test_shell_shim_delegates_to_account_registry_suiter  '  s5    XI>>112NPYZDt444t;;"d"d""""";""""""4""""4""";"""d""""""""^^,,T2F#CKK		KKF#%'K  v/?@;;;=AA=66;=AvJ#CT"JJ"JJJJJJJJJJJJ"JJJJJJJJJr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   >  s     1 1$ 14 1r   c           	     H   \         P                  P                  R 4      R8X  d   \        P                  ! R4       \        \        4      P                  4       P                  P                  pVR,          R,          p\         P                  P                  4       p\        \        P                  4      P                   \         P                   VP                  RR4       2VR&   \        V 4      VR&   \        P                  ! R\        V4      .VR	R	R
VR7      pVP                   p^ qeV8H  qw'       g   \"        P$                  ! RV3RWV34      RR\&        P(                  ! 4       9   g   \"        P*                  ! V4      '       d   \"        P,                  ! V4      MRR\"        P,                  ! V4      R\"        P,                  ! V4      /,          p\"        P.                  ! VP0                  4      R,           RV/,          p	\3        \"        P4                  ! V	4      4      hR;p;rvR# )ACCOUNT_REGISTRY_SHIM_ACTIVE1z@shell shim subprocess test must not recurse under shim executiontestsztest_account_registry.pyPATH TMPDIRshTF)cwdcapture_outputtextcheckenvr^   resultr_   rc   z
>assert %(py7)sr`   Nrr   )z2%(py2)s
{%(py2)s = %(py0)s.returncode
} == %(py5)s)rl   environgetr6  skipr   r  r   r;   copyr  
executablepathsepr   
subprocessrun
returncoderz   r{   r   r   r   r|   _format_assertmsgstderrr}   r~   )
rA   	repo_rootr  r  r  r   r   r   r  r   s
   &         r   +test_shell_shim_runs_when_invoked_via_shellr  >  s[   	zz~~45<VWX&&(//66IG#&@@I **//
C#..)001"**cggfb>Q=RSCKMCM^^	s9~F 00!000000000060000600000000006==00000000r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   V  s     =% =%=%	=%r   c                   ^ RI Hp V R,          pV R,          pV R,          pV R,          pVP                  4        VP                  4        VP                  \        P
                  ! RRR/R	R
RRRRRRRRRRR^/4      RR7       \        VVVP                  VVR7      pVP                  R4      pVP                  R,          P                  RRR7       VP                  R,          P                  \        P
                  ! RRR/RR/4      RR7       VP                  4        \        P                  ! VR,          R,          R,          R,          P                  RR7      4      pVR,          p	RqV
J q'       gy   \        P                  ! R)V3R*W34      R \        P                  ! V	4      R!\        P                  ! V
4      /,          pR"R#V/,          p\!        \        P"                  ! V4      4      hR$;p	;rVR,          p	RqV
J q'       gy   \        P                  ! R)V3R*W34      R \        P                  ! V	4      R!\        P                  ! V
4      /,          pR"R#V/,          p\!        \        P"                  ! V4      4      hR$;p	;rVR,          p	^qV
8H  q'       gy   \        P                  ! R+V3R,W34      R \        P                  ! V	4      R!\        P                  ! V
4      /,          pR"R#V/,          p\!        \        P"                  ! V4      4      hR$;p	;rVR,          p	RR/qV
8H  q'       gy   \        P                  ! R+V3R,W34      R \        P                  ! V	4      R!\        P                  ! V
4      /,          pR"R#V/,          p\!        \        P"                  ! V4      4      hR$;p	;rVR,          p	RqV
8H  q'       gy   \        P                  ! R+V3R,W34      R \        P                  ! V	4      R!\        P                  ! V
4      /,          pR"R#V/,          p\!        \        P"                  ! V4      4      hR$;p	;rR	qV9  q'       g   \        P                  ! R-V3R.W34      R \        P                  ! V	4      R%R&\$        P&                  ! 4       9   g   \        P(                  ! V4      '       d   \        P                  ! V4      MR&/,          pR'R(V/,          p\!        \        P"                  ! V4      4      hR$;rRqV9  q'       g   \        P                  ! R-V3R.W34      R \        P                  ! V	4      R%R&\$        P&                  ! 4       9   g   \        P(                  ! V4      '       d   \        P                  ! V4      MR&/,          pR'R(V/,          p\!        \        P"                  ! V4      4      hR$;rR$# )/r  r  r  r   r  rD   r  r4  zactive@example.comuserIDzactive-user-id	machineIDzactive-machine-idr5  TlastOnboardingVersionz2.1.211'officialMarketplaceAutoInstallAttempted officialMarketplaceAutoInstalledmigrationVersionr   r9   r  r  r  z{"accessToken":"rafa"}rT   firstStartTime2026-07-16T00:00:00Zr  rX   r  rZ   r[   r\   r]   Nrm   seededr  rc   r1  z%(py1)s is %(py4)srr   rt   not in)z%(py1)s not in %(py3)s)r  r   r<   r=   r$   r%   r   r  r   r   r   r   r   rz   r{   r|   r}   r~   r   r   r   )rA   r   r  rH   r  rJ   rM   r   r  r   r   r   r   r   r  r  s   &               r   Atest_claude_commit_seeds_first_run_flags_without_leaking_identityr  V  s    5!H, 7*!N2fD!!

1E F*0($'942D"B		
  "  + ''--H 'F..:: 7 ;  >)55

1C D "8	
  6  MMOZZ	!	!F	*]	:^	KVV 	W 	
F
 *+3t3t33333+333+333t33333333;<DDDDDDD<DDD<DDDDDDDDDDD$%+++++++%+++%+++++++++++.!In6H%II%IIIIII!III!III%IIIIIIIII"#='=='======#===#==='=========!6!!!!!8!!!8!!!!!!6!!!!6!!!!!!!!$f$$$$$;$$$;$$$$$$f$$$$f$$$$$$$$r   c                    V ^8  d   QhRRRR/# r@   r   )r   s   "r   r   r     s      t  r   c                    V R ,          pV R,          pVP                  RR7       VP                  RR7       \        V R,          V\        P                  VV R,          R7      # )r  r   T)r6   rD   r  r  r  )rA   r  rH   s   &  r   r  r    sf    !H, 7*d+T*F"+ ''-#n4 r   r  r  r4  za@example.comr  r  r  c               (    V ^8  d   QhRRRRRRRR/# )	r   rA   r   metadata_namer   metadatar.   r   r3   r   )r   s   "r   r   r     s0     4 444  4 
	4r   c                   \        V 4      pVP                  P                  \        P                  ! R R/4      RR7       V R,          pVP                  4        WA,          pVP                  \        P                  ! V4      RR7       VP                  V4       \        P                  ! VP                  RR7      4      R,          pRqvVJ q'       gz   \        P                  ! RV3RVV34      R\        P                  ! V4      R\        P                  ! V4      /,          p	RR	V	/,          p
\        \        P                  ! V
4      4      hR
;p;rVR8X  d   RMRpWK,          qP                  qw! 4       q'       * q'       g   RRR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P                  ! V4      MRRR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R	\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR
;p;p;rR
# )r  Tr   r9   r   r5  rZ   r[   r\   r]   Nr  r  zQassert not %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = (%(py0)s / %(py1)s).exists
}()
}r^   r   
other_namer1  r  )r  r  r=   r$   r%   r<   _seed_first_run_flagsr   r   rz   r{   r|   r}   r~   r   r   r   r   )rA   r  r  rM   r   rL   r   r   r   r   r   r  r   r   r   s   &&&            r   3test_seed_first_run_flags_targets_resolved_metadatar    s     )H**

6=> +  i'L)F
djj*W=""<0::f&&&89  		    	 I   I	       #0>"A~J)311313333333333333333333333z3333z333133333333333r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s      	r   c                   \        V 4      pVP                  P                  R RR7       V R,          pVP                  4        VR,          pVP                  \        P
                  ! RRRR/4      RR7       VP                  V4       \        P                  qCP                  pRqe! VR7      qt! V4      pRR	RR/qV	8H  q'       Egu   \        P                  ! RV
3RW34      R
R\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p;p;p;rR# ){}r   r9   r   r  r5  Fidentity	preservedTr^   r$   r_   rm   rL   rc   r`   rb   rf   rq   r   r   Nrr   r6  )r  r  r=   r<   r$   r%   r  r   r   rz   r{   r   r   r   r|   r}   r~   )rA   rM   r   rL   r   r   r   r   r   r   r   r   r   s   &            r   @test_seed_first_run_flags_forces_false_to_true_with_empty_sourcer    s     )H**4'*Bi'LM)F


,eZMN  
 ""<0:: &&  &8 :89  $K>  >    9     4   4   :     f   f   &      8   9    >         r   c               $    V ^8  d   QhRRRRRR/# r[  r   )r   s   "r   r   r     s&      # 
r   c                  a	 \        V 4      pVP                  P                  R RR7       V R,          pVP                  4        VR,          pVP                  \        P
                  ! RR/4      RR7       . o	VP                  VRV	3R l4       VP                  V4       . pS	V8H  qf'       g   \        P                  ! RV3RS	V34      R	R
\        P                  ! 4       9   g   \        P                  ! S	4      '       d   \        P                  ! S	4      MR
R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;reR# )r  r   r9   r   r  r5  Tr  c                (   < SP                  W34      # r  r  )r2   r  writess   &&r   r  9test_seed_first_run_flags_is_idempotent.<locals>.<lambda>  s    6==$6r   r^   r  rm   r  rc   Nrr   r  )r  r  r=   r<   r$   r%   rJ  r  rz   r{   r   r   r   r|   r}   r~   )
rA   r;  rM   r   rL   r   r   r  r  r  s
   &&       @r   'test_seed_first_run_flags_is_idempotentr    s      )H**4'*Bi'LM)F


,d34   &(F6 ""<06R<6R66Rr   	malformednot-jsonz[]c               $    V ^8  d   QhRRRRRR/# )r   rA   r   r  r   r   r3   r   )r   s   "r   r   r     s&     ; ;;; 
;r   c                   \        V 4      pVP                  P                  R RR7       V R,          pVP                  4        VR,          pVP                  VRR7       VP	                  V4       VP
                  pRqe! VR7      qwV8H  q'       Eg+   \        P                  ! RV3RWq34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R	\        P                  ! V4      R
R\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;rxR# )r  r   r9   r   r  r^   rL   r_   r[   r]   rn   r  ru  r   Nrr   )zX%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.read_text
}(encoding=%(py4)s)
} == %(py8)s)r  r  r=   r<   r  r   rz   r{   r   r   r   r|   r}   r~   )rA   r  rM   r   rL   r   r   r   r   r   rx  s   &&         r   =test_seed_first_run_flags_does_not_overwrite_malformed_targetr
    s   
  )H**4'*Bi'LM)F
i'2""<0:W:W-::::::-::::::6::::6::::::W:::-:::::::::::::::::::r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s      d t r   c                4   \        V 4      pVP                  P                  R RR7       VP                  R4      pVP                  R,          P                  R RR7       VP                  R,          pVP                  R RR7       VP                  4       pVP                  R,          pVP                  \        P                  ! RR/4      RR7       VP                  V4       \        P                  ! VP                  RR7      4      R,          pRqeVJ qw'       gz   \        P                  ! RV3RVV34      R	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvR# )r  r   r9   staler  r  r5  FTrZ   r[   r\   r]   Nr1  r  )r  r  r=   r   r   r   r$   r%   r$  r   r   rz   r{   r|   r}   r~   )
rA   rM   r   rL   r   r   r   r   r   r   s
   &         r   7test_set_default_seeds_preexisting_stale_claude_accountr    sx   )H**4'*B(F..::4':R  =0F
dW-mmoG!!M1F


,e45  
 !::f&&&89  		    	 I   I	       r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     < < <QU <r   c                L   \        V 4      pVP                  P                  R RR7       VP                  R4      pVP                  R,          P                  R RR7       VP                  R,          P                  R RR7       VP                  4       pVP                  R,          P                  RRR7       VP                  R,          pVP                  R4       VP                  V4       \        VP                  R	,          P                  R
4      4      p\        V4      p^qvV8H  q'       Eg   \        P                  ! RV3RWg34      RR\        P                  ! 4       9   g!   \        P                   ! \        4      '       d   \        P"                  ! \        4      MRRR	\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P"                  ! V4      MR	R\        P"                  ! V4      R\        P"                  ! V4      /,          p	RRV	/,          p
\%        \        P&                  ! V
4      4      hR;p;rV^ ,          qP(                  qf! 4       pRqV8H  q'       g   \        P                  ! RV3RW34      R\        P"                  ! V4      R\        P"                  ! V4      R\        P"                  ! V4      R\        P"                  ! V4      /,          p
RRV
/,          p\%        \        P&                  ! V4      4      hR;p;p;p;rR# )r  r   r9   r  r  r  r  settings.jsons   {"hooks": ["x"]}
backupssettings.json.*r^   r  rZ   rm   r]   r  rn   Nrc   ru  r   rr   r  )zI%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.read_bytes
}()
} == %(py8)s)r  r  r=   r   r   r   r  write_bytesr$  rx   rm  r  rz   r{   r   r   r   r|   r}   r~   rv   )rA   rM   r   r   settingsr  r   r   r   r   r   r   r   r   rx  s   &              r   9test_set_default_backs_up_settings_even_when_seed_skippedr    s     )H**4'*B,F..::4':R=(44TG4LmmoGM)55j75S**_<H./!H//);AABSTUGw<11<33ww<11:;  ; ";&;;&;;;;;;";;;:;;; ;;;";;;&;;;;;;;;;;r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   ,  s     - -T -d -r   c                   \        V 4      pVP                  R ,          pRpVP                  V4       VP                  4        \	        VP                  R,          P                  R4      4      p\        V4      p^qeV8H  qw'       Eg   \        P                  ! RV3RWV34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pR	R
V/,          p	\        \        P                  ! V	4      4      hR;p;rvV^ ,          qP                  qU! 4       qwV8H  q'       g   \        P                  ! RV3RWs34      R\        P                  ! V
4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;p
;p;r{VP                  q! 4       qV8H  qf'       Eg   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pR	R
V/,          p	\        \        P                  ! V	4      4      hR;p;rR# )r  s   {"hooks": [""]}
 r  r  r^   r  rZ   rm   r]   r  rn   Nrc   r`   originalra   rb   r  r_   r[   rr   r  )zI%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.read_bytes
}()
} == %(py7)s)zI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.read_bytes
}()
} == %(py6)s)r  r  r  _backup_claude_settingsrx   rm  r  rz   r{   r   r   r   r|   r}   r~   rv   )rA   rM   r  r  r  r   r   r   r   r   r   r   r   r   r   r   s   &               r   6test_backup_claude_settings_preserves_bytes_and_sourcer  ,  s   )H**_<H+H"$$&H//);AABSTUGw<11<33ww<11:.  . ".h....."...:... ..."......h....h........, ,H,,,,, ,,,,,,8,,,,8,,,,,, ,,,,,,H,,,,H,,,,,,,,r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   :  s     B Bt B Br   c                V   \        V 4      pVP                  4        VP                  pR q2V,          qDP                  qU! 4       qf'       * qw'       g   RRR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;p;p;rgR# )	r  zyassert not %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = (%(py2)s
{%(py2)s = %(py0)s.legacy_claude_home
} / %(py4)s).exists
}()
}r^   rM   r_   r[   r`   rb   N)r  r  r  r   r   r   rz   r   r|   r}   r~   )	rA   rM   r   r   r   r   r   r   rx  s	   &        r   0test_backup_claude_settings_missing_file_is_noopr  :  s    )H$$&++AiAi7A??A?AAAAAAAAAAAAAAAAAA+AAAiAAA?AAAAAAAAAAAr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r   B  s     / /d /t /r   c                   \        V 4      pVP                  R ,          pVP                  R4       VP                  R,          pVP                  4        \	        ^4       F6  pVRV R2,          P                  \        V4      P                  4       4       K8  	  VP                  4        \        VP                  R4      4      p\        V4      p^qvV8H  q'       Eg   \        P                  ! RV3RWg34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                   ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MRR	\        P                   ! V4      R
\        P                   ! V4      /,          p	RRV	/,          p
\#        \        P$                  ! V
4      4      hR;p;rRqV,          qP&                  q! 4       q'       * q'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MRR\        P                   ! V4      R\        P                   ! V4      R\        P                   ! V4      /,          p
\#        \        P$                  ! V
4      4      hR;p;p;p;rVP(                  q! 4       pRqV8H  qw'       g   \        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MRR\        P                   ! V4      R\        P                   ! V4      R\        P                   ! V4      /,          pRRV/,          p\#        \        P$                  ! V4      4      hR;p;p;r}R# )r  s   currentr  zsettings.json.20260718T00000z.000000Zr  r^   r  rZ   rm   r]   r  rn   Nz%settings.json.20260718T000000.000000Zr  backups_dirr_   rc   r`   r  r[   ra   rb   rr   r  )zI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.read_bytes
}()
} == %(py7)s)r  r  r  r<   ranger   r&   r  sortedrm  r  rz   r{   r   r   r   r|   r}   r~   r   rv   )rA   rM   r  r!  indexr  r   r   r   r   r   r   r   r   r   r   r   s   &                r   /test_backup_claude_settings_retains_newest_fiver%  B  sL   )H**_<H$--	9Kq	5eWHE	ERRJ	
 
 $$&[%%&789Gw<11<33ww<1EOEEOMMOMOOOOOOOOOOOOOOOOOOEOOOMOOOOOOOOOOO. .J.J..... ......8....8...... ...J........r   c               $    V ^8  d   QhRRRRRR/# r   rM   r   rA   r   r   r3   r   )r   s   "r   r   r   U  s$      )-	r   c                L   V P                  R R4      p\        VR,          RRR4       \        \        P                  RRRVR	,          P                  4       R
7      pV P                  R V4      pVP                  qUV8H  qf'       g   \        P                  ! R'V3R(WS34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;rVV P!                  4       ^ ,          qP                  qV8H  q'       g   \        P                  ! R'V3R)W34      R\        P                  ! V	4      R\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;r\"        P$                  ! V P&                  P)                  RR7      4      pVR,          ^ ,          R,          qP*                  q! 4       qV8H  q'       g   \        P                  ! R'V
3R*W34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;p
;rRp	\"        P,                  q! V4      pVP.                  pV! 4       pV	V9  q'       Eg`   \        P                  ! R+V
3R,V	V34      R\        P                  ! V	4      RR\        P                  ! 4       9   g!   \        P                  ! \"        4      '       d   \        P                  ! \"        4      MRR\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR R!\        P                  ! V4      R"\        P                  ! V4      R#\        P                  ! V4      /,          pR$R%V/,          p\        \        P                  ! V4      4      hR;p	;p
;p;p;ppV P                  R R4      pVP                  pRqVJ qf'       g   \        P                  ! R-V3R.W[34      RR&\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR&R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rkRp	\"        P$                  ! V P&                  P)                  RR7      4      R,          ^ ,          qiV9  q'       gy   \        P                  ! R+V
3R/W34      R\        P                  ! V	4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p	;rR# )0darkDarkrW   dark@example.comrR   	acct-darkworkstationroute-fixturer   	grant.keymodeauthority_nameroute_idproviderproxy_grant_refr^   boundr_   r[   bindingr\   r]   NrZ   rm   rc   r  r`   r   r9   r   authority_bindingra   rb   tokenr$   	persistedrn   r   ro   rp   rq   nativerr   )z9%(py2)s
{%(py2)s = %(py0)s.authority_binding
} == %(py4)sz9%(py3)s
{%(py3)s = %(py1)s.authority_binding
} == %(py5)s)zF%(py1)s == %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.as_dict
}()
}r  )z%(py1)s not in %(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py5)s
{%(py5)s = %(py3)s.dumps
}(%(py6)s)
}.lower
}()
}r1  )z9%(py2)s
{%(py2)s = %(py0)s.authority_binding
} is %(py5)s)z%(py1)s not in %(py4)s)r   r>   r   r	   SUBROUTER_DARKr   set_authority_bindingr8  rz   r{   r   r   r   r|   r}   r~   rx   r$   r   r   r   as_dictr%   lower)rM   rA   r   r7  r6  r   r   r   r   r   r   r   r  r   r:  r   r   r   r   r   r   r   r;  s   &&                     r   <test_authority_binding_round_trips_and_native_remains_absentrA  U  sS    ##FF3L|k)+=v{S))$ !K/88:G **67;E""-g-----"------5----5---"------g----g--------==?1://:7:::::/::::::/::::::7::::7::::::::

811;;W;MNIZ #$78MOOMO<MM<MMMMMM8MMM8MMMMMMGMMMMGMMMOMMM<MMMMMMMMM7$**7*Y/7/5575777777777777777777777$7777$777*777777Y7777Y777/77757777777777777++FD9F##+t+t+++++#++++++6++++6+++#+++t++++++++ djj(('(:'''  '     9  9 '       r   c               $    V ^8  d   QhRRRRRR/# r'  r   )r   s   "r   r   r   r  s$     < <<)-<	<r   c                j   V P                  R R4      p\        VR,          RRR4       VR,          pVP                  RRR	7       \        \        P
                  R
RRVP                  4       R7      pV P                  R V4       V P                  R R4      pV P                  4       ^ ,          qfP                  qwV8H  q'       g   \        P                  ! RV3R Wu34      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\#        \        P$                  ! V
4      4      hR;p;rxV P                  4       ^ ,          qfP&                  qwV8H  q'       g   \        P                  ! RV3R!Wt34      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\#        \        P$                  ! V
4      4      hR;p;rxV P)                  V4       VP*                  pRq! VR	7      pRqV8H  q'       g   \        P                  ! RV3R"W34      RR\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\#        \        P$                  ! V4      4      hR;p;p;p;rR# )#r)  r*  rW   r+  rR   r,  r/  	syntheticr   r9   r-  r.  r   r0  RenamedrZ   rm   rc   rs  r  r`   Nr7  r^   grantr_   r[   r]   rb   re   rf   rr   )z,%(py3)s
{%(py3)s = %(py1)s.slug
} == %(py5)sr<  r   )r   r>   r=   r   r	   r=  r   r>  rv  rx   ry   rz   r{   r|   r   r   r   r}   r~   r8  r   r   )rM   rA   r   rF  r7  rs  r   r   r   r  r   r   r   r   r   r   r   r   s   &&                r   Ftest_authority_binding_survives_rekey_and_removal_does_not_touch_grantrG  r  s6    ##FF3L|k)+=v{S{"E	[73))$ G ""673oofi0G==?1-""-g-----"------"------g----g--------==?1://:7:::::/::::::/::::::7::::7::::::::OOG??;G;?G,;;;;;;;,;;;;;;5;;;;5;;;?;;;G;;;,;;;;;;;;;;;;r   r3  c               $    V ^8  d   QhRRRRRR/# )r   r3  r   rA   r   r   r3   r   )r   s   "r   r   r     s$     

 



!

	

r   c           
         \         P                  ! \        R R7      ;_uu_ 4        \        \        P
                  RV RVR,          P                  4       R7       RRR4       R#   + '       g   i     R# ; i)zroute identifierrH  r-  r   r/  r0  N)r6  r7  rr  r   r	   r=  r   )r3  rA   s   &&r   2test_authority_binding_rejects_ambiguous_route_idsrJ    sP     
z);	<	<--(%3<<>	
 
=	<	<	<s   4A##A4	c               $    V ^8  d   QhRRRRRR/# r'  r   )r   s   "r   r   r     s$     : ::)-:	:r   c                6   V P                  R R4       \        \        P                  RRRVR,          P	                  4       R7      p\
        P                  ! \        RR7      ;_uu_ 4        V P                  R V4       R	R	R	4       R	#   + '       g   i     R	# ; i)
r;  Nativer-  r.  r   r/  r0  z	must omitrH  N)	r   r   r	   NATIVEr   r6  r7  rr  r>  )rM   rA   r7  s   && r   +test_registry_rejects_inline_native_bindingrO    ss     Xx(!!$ !K/88:G 
z	5	5&&x9 
6	5	5	5s   *BB	c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s      	r   c                   R RRRRV R,          P                  4       /p\        RR\        P                  RR/VB \        RR\        P                  RR	/VB 3 FQ  p\
        P                  ! \        4      ;_uu_ 4        \        \        RR
4      RV R,          RRRVR7       RRR4       KS  	  R#   + '       g   i     Kh  ; i)r2  r-  r3  r.  r5  r/  r1  r4  r   r  fixtureFixturerg   N)r  r  r   r   r   r   r8  r   )
r   r   r	   rN  r=  r6  r7  rr  r   r   )rA   rJ   r7  s   &  r   Btest_account_construction_rejects_native_or_cross_provider_bindingrT    s     	-OH{2;;=D 	Mm22MWMMVm::VXVQUV ]]:&&w	2%4") '&	 '&&s   =$B//C c               $    V ^8  d   QhRRRRRR/# r'  r   )r   s   "r   r   r     s$      )-	r   c                   V P                  R R4       RRRRRRRR	R
\        VR,          P                  4       4      /pV P                  P	                  \
        P                  ! RRR RRRV/./4      RR7       \        P                  ! \        RR7      ;_uu_ 4        V P                  4        RRR4       RVR&   RVR&   V P                  P	                  \
        P                  ! RRR RRRV/./4      RR7       \        P                  ! \        RR7      ;_uu_ 4        V P                  4        RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r)  r*  r1  zsubrouter-darkr2  r-  r3  r.  r4  r  r5  r/  r   ry   r  r8  r   r9   rH  Nr   rD  refresh_tokenzunknown or missing)r   r   r   r   r=   r$   r%   r6  r7  rr  rx   )rM   rA   r)   s   && r   Ctest_authority_binding_rejects_inline_secrets_and_provider_mismatchrX    s9    VV$ -OH3; 6??ABG %%

J&&'6CVX_!` abc & 
 
z	4	4 
5 "GJ*GO%%

J&&'6CVX_!` abc & 
 
z)=	>	> 
?	> 
5	4 
?	>	>s   D7E
7E	
E	c                   V ^8  d   QhRR/# )r   r   r  r   )r   s   "r   r   r     s     A Ac Ar   c                 2    \         P                  ! R R.4      # )r  r  )r6  r  r   r   r   r  r    s    ;;8$?@@r   __main__c               $    V ^8  d   QhRRRRRR/# r'  r   )r   s   "r   r   r     s$     0 00)-0	0r   c                   V P                  R R4       RRRRRRRR	R
\        VR,          P                  4       4      /pV P                  P	                  \
        P                  ! RRR RRRV/.R. /4      RR7       V P                  4       ^ ,          pVP                  pRqTVJqf'       g   \        P                  ! R&V3R'WE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;reVP                  qDP"                  pRqV	J q'       g   \        P                  ! R(V
3R)Wi34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;r\%        \&        P(                  RRR	VR,          P                  4       RR7      pV P+                  R V4       \
        P,                  ! V P                  P/                  RR7      4      pVR,          ^ ,          R,          R ,          pRqnVJ q'       gy   \        P                  ! R(V3R*W34      R!\        P                  ! V4      R\        P                  ! V4      /,          pR"R#V/,          p\        \        P                   ! V4      4      hR;p;r\1        VR,          ^ ,          R,          4      pR$VR &   VVR,          ^ ,          R&   V P                  P	                  \
        P                  ! V4      RR7       \2        P4                  ! \6        R R%7      ;_uu_ 4        V P                  4        RRR4       R#   + '       g   i     R# ; i)+zfixture-quiescezFixture Quiescer1  	subrouterr2  r-  r3  r.  r4  r   r5  r/  r   ry   r  r8  r   r   r9   Nr^   r   r_   rc   r  r`   Fr[   ra   rb   T)r1  r2  r3  r4  r5  quiescedr_  rZ   r\   r]   yesrH  rY  )z=%(py2)s
{%(py2)s = %(py0)s.authority_binding
} is not %(py5)sr1  )zW%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.authority_binding
}.quiesced
} is %(py7)sr  )r   r   r   r   r=   r$   r%   rx   r8  rz   r{   r   r   r   r|   r}   r~   r_  r   r	   	SUBROUTERr>  r   r   dictr6  r7  rr  )rM   rA   rC   r   r   r   r   r  r   r   r   r   r_  r:  r   r   r   r   bads   &&                 r   Mtest_authority_binding_quiesced_is_additive_and_legacy_payload_defaults_falserd    s    &(9:-OG3; 6??ABF %%

 1!2+V '		
  &   mmoa G$$0D0D00000$000000700007000$000D00000000$$6--6666666-666666766667666$666-66666666666$$$ !K/88:H ""#4h?

811;;W;MNIZ #$78DLLLLLLLDLLLDLLLLLLLLLLL
y$Q'(;<
=CC
O47Ij!01%%djj&;g%N	z	4	4 
5	4	4	4s   #P>>Q	c               (    V ^8  d   QhRRRRRRRR/# )	r   rM   r   rA   r   r;  r<  r   r3   r   )r   s   "r   r   r     s,     1 11)-1<N1	1r   c                $   V P                  R R4       VR,          P                  4       p\        \        P                  RRRVR7      pV P                  R V4       VP                  V RR 4       V P                  pR qe! V4      qwV8H  q'       Eg+   \        P                  ! RV3RWt34      R	R
\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR
R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;rx\         P"                  ! \$        4      ;_uu_ 4        V P                  R4       RRR4       R#   + '       g   i     R# ; i)zfixture-binding-onlyzFixture Binding Onlyr/  r-  routefixture1234567890r   r0  _read_account_metadatac                 .    \         P                  ! R 4      # )z+binding lookup read native account metadata)r6  fail)_args_kwargss   *,r   r  Ytest_authority_binding_for_is_metadata_only_and_never_reads_native_auth.<locals>.<lambda>)  s    &++.["\r   r^   rM   r_   r[   r]   rn   r7  ru  r   Nabsentrr   )z[%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.authority_binding_for
}(%(py4)s)
} == %(py8)s)r   r   r   r	   ra  r>  rJ  authority_binding_forrz   r{   r   r   r   r|   r}   r~   r6  r7  KeyError)rM   rA   r;  rF  r7  r   r   r   r   r   rx  s   &&&        r   Gtest_authority_binding_for_is_metadata_only_and_never_reads_native_authrq    sR    +-CD#,,.E$$$)G ""#97C \ ))L*@L)*@ALWLLLLLALLLLLL8LLLL8LLL)LLL*@LLLALLLLLLWLLLLWLLLLLLLL	x	 	 &&x0 
!	 	 	 s   "G>>H	)zconfig.tomlskillscommands)r  r  )rE   z..z../adminz
route/namezroute%2fname)z__doc__
__future__r   builtinsr   _pytest.assertion.rewrite	assertionrewriterz   importlib.utilr  r"   rc  r$   rl   pathlibr   r  rP  r  r  r6  r2   insertr   r  r   r5   r  rk  account_lockr   r   r   r   r   r   r	   r
   claude_credentialsr   rI   r+   r0   r>   rR  rM   r   r   r   r   r   r   r   r  r  r  r'  r,  r8  rK  rY  rn  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r+  r1  r9  r=  rD  rK  rQ  r_  re  ri  rl  rt  rx  r  r  r  r  r  r  r  r  r  markparametrizer  r  r  r
  r  r  r  r  r%  rA  rG  rJ  rO  rT  rX  r  r  
SystemExitrd  rq  r   r   r   <module>r     s   #        	    
   3tH~--/77:; < 2 +   0 = 
))" 
D 
D7.',/$/(<F~!H>&M.D6F2G2&2L"J42$!H* '3TOD   ;6>4DD#L$=N>>B.8B#L0f1 4::P*8,4
*'=*
D!4!RH-!/HK.10=%@ !	.>?*KLM	)+ABC440*2 z4&89; :; *<*-B/&:<0 %Z[

 \

: 0<A z
TV
0f1r   