+
    i c                   s   Rt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
t
^ R	IHtHt ^ R
IHtHtHt ^ RIHt ^ RIHtHt ^ RI
Ht  ! R R]4      t]! ]4       U u0 uF  q P7                  R4      '       d   K  V kK  	  up tRt]tR t R t!R t"R t#R t$R t%RR lt&R t'R t(R t)R t*RR lt+RR lt,R  t-R! t.R" t/ ! R# R$]04      t1 ! R% R&]04      t2]2! 4       t3]3Ph                  t4]3Pj                  t6]3Pn                  t80 Rmt9R' t: ! R( R)];4      t<R* t= ! R+ R,]04      t> ! R- R.]04      t? ! R/ R]?4      t@]A! ]! ]@4       U u0 uF-  p V P7                  R04      '       g   K  V P                  R04      kK/  	  up 4      tC ! R1 R2];4      tDR3 tE ! R4 R5]?4      tF ! R6 R ]F]@4      tGR7 tH ! R8 R9]04      tIR: tJ]4RRRRR3R;R/R< lltKRR= ltL]4RRRRR3R;R/R> lltM ! R? R@]04      tNRA tORB tP]K]Mn0        ]N]MnQ        ]L]MnR        ]P]MnS        RC]MnT        RDtUREtVRFP                  RG ]VP                  4        4       4      tYRFP                  RH ]VP                  4        4       4      tZ0 Rmt[RI t\RFP                  ]U]V]Y]Z.4      P                  4        Uu0 uF  pRJV,          kK  	  upt]0 Rmt^RL0t_]^]_,          t`]]][,          ta]a]`,          tb0 RmtcRMRN RORP RQRR RSRT /tdRU]eRV]eRW]eRX]eRY^RZRR[^ R\RR]R^R_R`RaRRb^RKR/tfRc tgRd thRe tiRf tjRg]gRh]hRi]iRL]j/tkRj tl ! Rk Rl]?4      tm ! Rm R]m]@4      tn ! Rn Ro]m4      to ! Rp R]m]G4      tp ! Rq Rr]?4      tq ]P                  ! ]! ]P                  R4      4      tt]! ]4      tu ! Rs Rt]?4      tw ! Ru R]w]o]G4      tx ! Rv Rw]04      ty]y! 4       tzRx t{ ! Ry Rz]|4      t}]}! RR{7      t~RR;R/R| lltR} t ! R~ R]04      t]! ]4      ]! ]zEP                  4      3tRsRsR tRR lt ! R R]G4      t]3EP                  t ! R R]?4      t ! R R]]m]G4      tR t ! R R4      tR# u up i u up i u upi   ]v d    Rtt Li ; i)Mock	MagicMock	AsyncMockThreadingMockNonCallableMockNonCallableMagicMockPropertyMockN)iscoroutinefunction)fieldsis_dataclass)CodeType
ModuleType
MethodType)	safe_repr)wrapspartial)RLockc                   s    ] tR t^,tRtR# )InvalidSpecError N__name__
__module____qualname____firstlineno____static_attributes__r       &/usr/lib64/python3.14/unittest/mock.pyr   r   ,       r   r   _Tc                 s    \        V 4      '       d   \        V \        4      '       g   R # \        V R4      '       d   \	        V R4      p \        V 4      ;'       g    \        P                  ! V 4      # )F__func__)_is_instance_mock
isinstancer   hasattrgetattrr   inspectZisawaitableobj   &r   _is_async_objr&   8   sS    ji&@&@sJc:&s#??w':':3'??r   c                 sB    \        V R R4      '       d   \        V 4      # R# )__code__NF)r!   r   )funcr%   r   _is_async_funcr)   @   s    tZ&&"4((r   c                 s4    \        \        V 4      \        4      # N)
issubclasstyper   r#   r%   r   r   r   G   s     d3i11r   c                 s    \        V \        4      ;'       g)    \        V \        4      ;'       d    \        V \        4      # r*   )r   ZBaseExceptionr,   r+   r#   r%   r   _is_exceptionr-   M   s6    3& 	A 	A3@@*S-"@r   c                 sn    \        V \        4      '       d   \        V R 4      '       d   V P                  # V # mock)r   FunctionTypesr    r/   r#   r%   r   _extract_mockr1   T   s+     #}%%'#v*>*>xx
r   c                 s   \        V \        4      '       d   V'       g   V P                  p R pMd\        V \        \        34      '       d&   \        V \        4      '       d   R pV P
                  p M#\        V \        4      '       g    V P                  p V'       d   \        V R4      pMT p V \        P                  ! V4      3#   \         d     R# i ; i  \         d     R# i ; iTN)r   r,   __init__classmethodstaticmethodr   r0   __call__AttributeErrorr   r"   	signature
ValueError)r(   Zas_instanceZeat_selfZsig_func   &&& r   _get_signature_objectr;   ]   s     $k}}	D;5	6	6dK((H}}m,,	==D 4&W&&x000  		  s$   C *C CCC#"C#Fc                 s   a \        WV4      oSf   R # Sw  p oV3R lp\        W4       V\        V4      n        S\        V4      n        R # )Nc                s,   < SP                   ! V/ VB  R # r*   bind)selfargskwargssig   "*,r   checksigZ"_check_signature.<locals>.checksig       $!&!r   )r;   _copy_func_detailsr,   _mock_check_sig__signature__)r(   r/   	skipfirstinstancerC   rA   s   &&&& @r   _check_signaturerJ      sE    
	
:C
{ID#"t&!)DJ"DJr   c           	      sh    R F  p \        W\        W4      4       K  	  R#   \         d     K-  i ; i)r   N)r   __doc__Z__text_signature__r   __defaults____kwdefaults__)setattrr!   r7   )r(   funcopy	attribute   && r   rE   rE      s6    		G(@A  		s   "11c                 s    \        V \        4      '       d   R # \        V \        \        \        34      '       d   \        V P                  4      # \        V RR4      e   R # R# )Tr6   NF)r   r,   r5   r4   r   	_callabler   r!   r#   r%   r   rR   rR      sJ    #t#k:>??&&sJ%1r   c                 s2    \        V 4      \        \        39   # r*   )r,   listtupler#   r%   r   _is_listrU      s     9u%%r   c                 s    \        V \        4      '       g   \        V R R4      RJ# V 3V P                  ,            F#  pVP                  P                  R 4      f   K"   R# 	  R# )r6   NTF)r   r,   r!   __mro____dict__get)r$   Zbase   & r   _instance_callablerZ      s\     c4  sJ-T99 $$==Z(4 % r   c                 s  a \        V\        4      p\        WV4      pVf   V # Vw  poV3R lp\        WV4       VP                  pVP                  4       '       g   RpRVRV /pRV,          p	\        W4       W,          p
\        WS4       V
# )Nc                  ,   < SP                   ! V / VB  R # r*   r<   r?   r@   rA      *,r   rC   Z _set_signature.<locals>.checksig   rD   r   rO   
_checksig_r/   zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))r   r,   r;   rE   r   Zisidentifierexec_setup_func)r/   originalrI   rH   resultr(   rC   namecontextsrcrO   rA   s   &&&        @r   _set_signaturerf      s    
 8T*I"8yAF~ID#"t&DXvt4G$&*+C 	#mGs#Nr   c                 s   a \        V\        4      p\        WV4      w  poV3R  lp\        WV4       VP                  pRVRV /pRV,          p	\        W4       W,          p
\        WS4       \        V
4       V
# )c                  r[   r*   r<   r\   r]   r   rC   Z&_set_async_signature.<locals>.checksig   rD   r   r^   r/   zeasync def %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return await mock(*args, **kwargs))r   r,   r;   rE   r   r_   r`   _setup_async_mock)r/   ra   rI   Zis_async_mockrH   r(   rC   rc   rd   re   rO   rA   s   &&&&       @r   _set_async_signaturerh      s~    
 8T*I%h)DID#"t&DXvt4G*,01C 	#mGs#gNr   c                 s  a a SS n         V3R  lpV3R lpV3R lpV3R lpV3R lpV3R lpV3R lp	V V3R lp
RS n        ^ S n        R	S n        \	        4       S n        \	        4       S n        \	        4       S n        SP                  S n        SP                  S n	        SP                  S n
        VS n        VS n        VS n        V	S n        V
S n        VS n        VS n        VS n        VS n        S Sn        R	# )
c                  (   < SP                   ! V / VB # r*   )assert_called_withr?   r@   r/   r]   r   rj   Z'_setup_func.<locals>.assert_called_with       &&777r   c                  ri   r*   )assert_calledrk   r]   r   rm   Z"_setup_func.<locals>.assert_called   s    !!42622r   c                  ri   r*   )assert_not_calledrk   r]   r   rn   Z&_setup_func.<locals>.assert_not_called   s    %%t6v66r   c                  ri   r*   )assert_called_oncerk   r]   r   ro   Z'_setup_func.<locals>.assert_called_once   rl   r   c                  ri   r*   )assert_called_once_withrk   r]   r   rp   Z,_setup_func.<locals>.assert_called_once_with   s    ++T<V<<r   c                  ri   r*   )assert_has_callsrk   r]   r   rq   Z%_setup_func.<locals>.assert_has_calls   s    $$d5f55r   c                  ri   r*   )assert_any_callrk   r]   r   rr   Z$_setup_func.<locals>.assert_any_call   s    ##T4V44r   c                  s   < \        4       Sn        \        4       Sn        SP                  4        SP                  p \        V 4      '       d   V SJ g   V P                  4        R # R # R # r*   )	_CallListmethod_calls
mock_calls
reset_mockreturn_valuer   )retrO   r/       r   rv   Z_setup_func.<locals>.reset_mock   sO    ({&[""S!!#+NN +6!r   FN)r/   called
call_count	call_argsrs   call_args_listrt   ru   rw   side_effect_mock_childrenrj   rp   rq   rr   rv   rm   rn   ro   rG   _mock_delegate)rO   r/   rA   rj   rm   rn   ro   rp   rq   rr   rv   s   ff&        r   r`   r`      s    GL8378=65 GNGG&[G$;G"G,,G**G!00G!3G&=G#/G-G#G)G 1G!3GG!Dr   c           	      s   a  \         P                  P                  S n        ^ S n        RS n        \        4       S n        V 3R lpR F  p\        S V\        W4      4       K  	  R# )    Nc                s<   < \        SP                  V 4      ! V/ VB # r*   )r!   r/   )attrr?   r@   r/   rB   r   wrapperZ"_setup_async_mock.<locals>.wrapper#  s    tyy$'888r   )assert_awaitedassert_awaited_onceassert_awaited_withassert_awaited_once_withassert_any_awaitassert_has_awaitsassert_not_awaited)	asyncio
coroutines_is_coroutineawait_count
await_argsrs   await_args_listrN   r   )r/   r   rP   s   f  r   rg   rg     sT     ++99DDDO$;D
9,	 	i!<=,r   c                 s     R V ^R ,          V 8H  # )__%s__ir   rc   r%   r   	_is_magicr   5  s    d1Rj D((r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )_SentinelObjecti9  c                s    Wn         R # r*   r   r>   rc      &&r   r3   Z_SentinelObject.__init__;  s    	r   c                (    R V P                   ,          # zsentinel.%sr   r>   r%   r   __repr__Z_SentinelObject.__repr__>      tyy((r   c                r   r   r   r   r%   r   
__reduce__Z_SentinelObject.__reduce__A  r   r   r   N)	r   r   r   r   r3   r   r   r   __classdictcell____classdict__   @r   r   r   9  s     )) )r   r   c                   r   )	_SentineliE  c                s    / V n         R # r*   
_sentinelsr   r%   r   r3   Z_Sentinel.__init__G  s	    r   c                sf    VR 8X  d   \         hV P                  P                  V\        V4      4      # )Z	__bases__)r7   r   Z
setdefaultr   r   r   r   __getattr__Z_Sentinel.__getattr__J  s,    ;  ))$0EFFr   c                    R # )sentinelr   r   r%   r   r   Z_Sentinel.__reduce__P  s    r   r   N)	r   r   r   r   r3   r   r   r   r   r   r   r   r   r   E  s     G r   r   c                 sl    \         P                  V 4       R V ,           pW3R lpW3R lp\        W#4      # )Z_mock_c                 sN    V P                   pVf   \        W4      # \        W14      # r*   )r   r!   )r>   rc   	_the_namerA   r:   r   _getZ"_delegating_property.<locals>._gete  s(    !!;4++s!!r   c                 s^    V P                   pVf   WP                  V&   R # \        WBV4       R # r*   )r   rW   rN   )r>   valuerc   r   rA      &&&& r   _setZ"_delegating_property.<locals>._setj  s(    !!;',MM)$Cu%r   )_allowed_namesZaddproperty)rc   r   r   r      &   r   _delegating_propertyr   b  s8    t4I "
  $ & Dr   c                   ,   a  ] tR tRt o R tR tRtV tR# )rs   iu  c                s    \        V\        4      '       g   \        P                  W4      # \        V4      p\        V 4      pW#8  d   R # \	        ^ W2,
          ^,           4       F  pWWB,            pWQ8X  g   K   R# 	  R # FT)r   rS   __contains__lenZrange)r>   r   Z	len_valueZlen_selfZiZsub_list   &&    r   r   Z_CallList.__contains__w  sn    %&&$$T11J	t9q(.23Aak*H  4 r   c                s@    \         P                  ! \        V 4      4      # r*   )pprintZpformatrS   r   r%   r   r   Z_CallList.__repr__  s    ~~d4j))r   r   N)r   r   r   r   r   r   r   r   r   r   r   rs   rs   u  s     * *r   rs   c                 sL   \        V4      p\        V4      '       g   R # VP                  '       g/   VP                  '       g   VP                  f   VP
                  e   R # T pVe   WAJ d   R # VP
                  pK  V'       d   Wn        W1n        V'       d   Wn        W!n        R# r   )r1   r   
_mock_name_mock_new_name_mock_parent_mock_new_parent)parentr   rc   Znew_name_parentr   r   _check_and_set_parentr     s    % EU##				U111				'				+G

 **!''#r   c                   r   )	_MockIteri  c                s&    \        V4      V n        R # r*   )iterr$   )r>   r$   r   r   r3   Z_MockIter.__init__  s    9r   c                s,    \        V P                  4      # r*   )nextr$   r   r%   r   __next__Z_MockIter.__next__  s    DHH~r   r#   N)r   r   r   r   r3   r   r   r   r   r   r   r   r     s      r   r   c                   s.   a  ] tR tRt o ]tRtR tRtV t	R# )Basei  Nc               r   r*   r   r>   r?   r@      "*,r   r3   ZBase.__init__  s    r   r   )
r   r   r   r   DEFAULT_mock_return_value_mock_side_effectr3   r   r   r   r   r   r   r     s       r   r   c                   s  a  ] tR tRt o ]! 4       tR.R ltR.R ltR tR/R lt	R0R lt
R	 tR
 tR tRt]! ]]]4      t]R 4       t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      tR tR t]! ]]4      tR1RRRR/V 3R lR llltR tR tR tR tR t R t!R t"R  t#R2R! lt$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R/R) lt,R* t-R+ t.R, t/R-t0V t1R# )3r   i  NFc                s   V 3p\        V \        4      '       g*   T;'       g    TpVe   \        V4      '       d	   \        V 3p\        V P                  VRV P
                  /4      p\        \        V 4      P                  V4      pV# )NrK   )	r+   AsyncMockMixinr&   r,   r   rK   _safe_superr   __new__)clsspecr   rc   spec_setr   _spec_state	_new_name_new_parent_spec_as_instance	_eat_selfunsafer@   ZbasesZspec_argnewrI   s   &&&&&&&&&&&&,    r   r   ZNonCallableMock.__new__  sv     #~..''4H#h(?(?'-3<<CKK(@A4<<SAr   c                s   Vf   TpV P                   pW]R&   W=R&   W}R&   WR&   RVR&   Ve   TpRpV
f   VR Jp
V P                  WW4       / VR&   W-R	&   R VR
&   RVR&   R VR&   ^ VR&   \        4       VR&   \        4       VR&   \        4       VR&   WR&   V'       d   V P                  ! R/ VB  \	        \
        V 4      P                  WW4VV4       R # )Nr   r   r   r   F_mock_sealedTr   _mock_wrapsr   Z_mock_calledZ_mock_call_argsZ_mock_call_countZ_mock_call_args_listZ_mock_mock_callsrt   _mock_unsafer   )rW   _mock_add_specrs   configure_mockr   r   r3   )r>   r   r   rc   r   r   r   r   r   r   r   r   r@   rW   s   &&&&&&&&&&&&, r   r3   ZNonCallableMock.__init__  s   
  K==#) !%%.!"'2#$#( DHd*ID,=I%'!""'%)!"#( &*"#'(#$+4;'('0{#$#,; #) )&)OT*33	
r   c                sl    \        V4      pR Vn        R Vn        RVn        R Vn        \        WV4       R # N )r1   r   r   r   r   rN   )r>   r/   rP   Z
inner_mockr:   r   attach_mockZNonCallableMock.attach_mock  s8    
 #4(
"&
&*
# "
$(
!&r   c                s(    V P                  W4       R # r*   )r   r>   r   r      &&&r   mock_add_specZNonCallableMock.mock_add_spec  s     	D+r   c                s:   \        V4      '       d   \        R V: R24      hRpRp. pVe   \        V4      '       g   \        V\        4      '       d   TpM\	        V4      p\        VW44      pT;'       d
    V^,          p\        V4      p	V	 FW  p
\        P                  ! WR4      pTp \        P                  ! V4      p\        V4      '       g   KF  VP                  V
4       KY  	  T	pV P                  pW]R&   W-R&   WmR&   WR&   W}R&   R#   \         d     LYi ; i)z#Cannot spec a Mock object. [object=]N_spec_class	_spec_set_spec_signature_mock_methods_spec_asyncs)r   r   rU   r   r,   r;   dirr"   Zgetattr_staticZunwrapr9   r   appendrW   )r>   r   r   r   r   r   r   r   ZresZ	spec_listr   Zstatic_attrZunwrapped_attrrW   s   &&&&&         r   r   ZNonCallableMock._mock_add_spec  s   T"""%HPQ#RSSHTNN$%%""4j'(9FC!nnc!fOD	I!%44TF!,%,^^N%CN '~66 ''- " D=="- (&5"#$(!#/  " s   *DDDc                s    V P                   P                  R 4      ;'       g    . pVP                  V4       W P                   R &   R# r   N)rW   rX   extend)r>   Zspec_methodsZmethodsrQ   r   _mock_extend_spec_methodsZ)NonCallableMock._mock_extend_spec_methods<  s6    --##O4::|$)0o&r   c                s    V P                   pV P                  e   V P                  P                  pV\        J d(   V P                  f   V P                  V RR7      pWn        V# )N())r   r   )r   r   rw   r   r   _get_child_mock)r>   rx   rY   r   Z__get_return_valueZ"NonCallableMock.__get_return_valueA  sc    %%*%%22C'>d..6&& D ' C !$
r   c                sl    V P                   e   WP                   n        R # Wn        \        WR R4       R # )Nr   )r   rw   r   r   )r>   r   r   r   Z__set_return_valueZ"NonCallableMock.__set_return_valueN  s,    */4,&+#!$tT:r   z1The value to be returned when the mock is called.c                sL    V P                   f   \        V 4      # V P                   # r*   )r   r,   r   r%   r   	__class__ZNonCallableMock.__class__Z  s$    #:r   rz   r{   r|   r}   ru   c                s    V P                   pVf   V P                  # VP                  pVeJ   \        V4      '       g9   \	        V\
        4      '       g#   \        V4      '       g   \        V4      pW!n        V# r*   )r   r   r~   callabler   r   r-   )r>   	delegatedZsf   &  r   Z__get_side_effectZ!NonCallableMock.__get_side_effectg  sb    ''	)))""N8B<<"2y11-:K:K2B$&!	r   c                sX    \        V4      pV P                  pVf	   Wn        R # Wn        R # r*   )	_try_iterr   r   r~   )r>   r   r   rQ   r   Z__set_side_effectZ!NonCallableMock.__set_side_effectr  s)    % ''	%*"$)!r   rw   r~   c                s&   < V ^8  d   QhRS[ RS[ /# )   rw   r~   boolformatr      "r   __annotate__ZNonCallableMock.__annotate__}  s     $ $!%$ $$r   c               sL   Vf   . p\        V 4      V9   d   R # VP                  \        V 4      4       RV n        R V n        ^ V n        \        4       V n        \        4       V n        \        4       V n        V'       d   \        V n
        V'       d   R V n        V P                  P                  4        F8  p\        V\        4      '       g   V\         J d   K%  VP#                  WVR7       K:  	  V P                  p\%        V4      '       d   WPJd   VP#                  V4       R # R # R # )NF)rw   r~   )idr   rz   r|   r{   rs   ru   r}   rt   r   r   r   r   valuesr   
_SpecState_deletedrv   r   )r>   Zvisitedrw   r~   childrx   s   &&$$  r   rv   ZNonCallableMock.reset_mock}  s     ?Gd8wr$x #+'k%K&-D#%)D"((//1E%,,0AW[Y 2
 %%S!!coNN7# '6!r   c               s    \        VP                  4       R  R7       FH  w  r#VP                  R4      pVP                  4       pT pV F  p\	        Wg4      pK  	  \        WeV4       KJ  	  R# )c                 s2    V ^ ,          P                  R4      # )r   .)Zcount)entryr%   r   <lambda>Z0NonCallableMock.configure_mock.<locals>.<lambda>  s    q1Dr   )keyr   N)sorteditemssplitpopr!   rN   )r>   r@   argvalr?   Zfinalr$   r   s   ",      r   r   ZNonCallableMock.configure_mock  sb     v||~ $E	FHC
 99S>DHHJECc) C$Fr   c                s   VR9   d   \        V4      hV P                  e/   WP                  9  g   V\        9   d   \        RV,          4      hM\        V4      '       d   \        V4      hV P                  '       gX   V P                  '       d   WP                  9  d6   VP                  R4      '       g   V\        9   d   \        V: RV: R24      h\        P                  ;_uu_ 4        V P                  P                  V4      pV\        J d   \        V4      hVfJ   RpV P                  e   \        V P                  V4      pV P                  WW1V R7      pW P                  V&   Mf\        V\         4      '       dQ    \#        VP$                  VP&                  VP(                  VP*                  VP,                  4      pY P                  T&   RRR4       V#   \.         dE    T P0                  R,          ;'       g    T p\/        RT: RT: R	T : R
TP$                  : R2	4      hi ; i  + '       g   i     X# ; i)r   NzMock object has no attribute %rz6 is not a valid assertion. Use a spec for the mock if z is meant to be an attribute.)r   rc   r   r   r   r   Cannot autospec attr  from target , as it has already been mocked out. [target=, attr=r   >   r   r   )ZassertZassretZasertZaseertZassrt)r7   r   _all_magicsr   r   
startswith_ATTRIB_DENY_LISTr   _lockr   rX   r   r   r!   r   r   r   create_autospecr   r   rI   r   rc   r   rW   )r>   rc   rb   r   target_name   &&   r   r   ZNonCallableMock.__getattr__  s   44 &&+---1D$%F%MNN 2Et__ &&   $*<*<*<L^L^@^OPPTX\mTm$h ''+h.KMN N """((,,T2F!$T**##/ $D$4$4d;E--% $ .  .4##D)FJ//
D,V__foov{{F .4##D); #>  ( D"&--"="E"EK*/x}&/ *##'('&++CD DD/ #"> s,   ,BH,AGH,$H)?*H))H,,H=	c                s   V P                   .pV P                  pT pR pVR.8X  d   RpVeH   TpVP                  VP                   V,           4       R pVP                   R8X  d   RpVP                  pKK  \        \	        V4      4      pVP
                  ;'       g    Rp\        V4      ^8  d   V^,          R9  d
   VR ,          pWQ^ &   RP                  V4      # )r   r   r   r/   )r   z().)r   r   r   rS   reversedr   r   join)r>   Z
_name_listr   ZlastdotZ_first   &     r   _extract_mock_nameZ"NonCallableMock._extract_mock_name  s    ))*
''$C!Dg44s:;C%%-..G(:./
**Fz?Q!}M1#1wwz""r   c                s$   V P                  4       pR pVR9  d
   RV,          pR pV P                  e3   RpV P                  '       d   RpW0P                  P                  ,          pR\	        V 4      P                  : V: V: R\        V 4      : R2# )r   z name=%rz spec=%rz spec_set=%rZ<z id='z'>)r/   zmock.)r  r   r   r   r,   r   )r>   rc   Zname_stringZspec_stringr   r   r   ZNonCallableMock.__repr__  s    &&((($t+K'$K~~~,%(8(8(A(AAKJtH	
 	
r   c                sj   \         '       g   \        P                  V 4      # V P                  ;'       g    . p\	        \        V 4      4      p\        V P                  4      pV P                  P                  4        UUu. uF  w  rEV\        Jg   K  VNK  	  pppV Uu. uF  qwP                  R 4      '       d   K  VNK  	  ppV Uu. uF.  qwP                  R 4      '       d   \        V4      '       g   K,  VNK0  	  pp\        \        W,           V,           V,           4      4      # u uppi u upi u upi )r   )
FILTER_DIRobject__dir__r   r   r,   rS   rW   r   r  r   r  r   r  set)r>   ZextrasZ	from_typeZ	from_dictZm_nameZm_valueZfrom_child_mockses   &       r   r  ZNonCallableMock.__dir__  s    z>>$''##))rT
O	'	*.*=*=*C*C*E(*Evh& F*E 	 ( !*C	1c1BQQ		C ) #	1c1B1Bq\ Q		 #c&,y8;KKLMM( D#s$   >D%D%D+;D+)D05D0c                s  a a V\         9   d   \        P                  S W4      # S P                  '       dC   S P                  e5   VS P                  9  d$   VS P
                  9  d   \        RV,          4      hV\        9   d   RV,          p\        V4      hV\        9   d   S P                  e$   VS P                  9  d   \        RV,          4      h\        V4      '       g*   \        \        S 4      V\        W4      4       VoVV 3R lpMe\        S VR V4       \        \        S 4      W4       VS P                  V&   M2VR8X  d
   VS n        R # \        S W!V4      '       d   VS P                  V&   S P                   '       d6   \#        S V4      '       g$   S P%                  4        RV 2p\        RV 24      h\'        V\(        4      '       d   VS P
                  V&   R # \        P                  S W4      # )Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.c                  s   < S! S.V O5/ VB # r*   r   )r?   kwra   r>      *,r   r   Z-NonCallableMock.__setattr__.<locals>.<lambda>7  s    HT,GD,GB,Gr   r   r   zCannot set )r   r  __setattr__r   r   rW   r7   _unsupported_magicsr  r   rN   r,   _get_methodr   r   r   r   r    r  r   r   )r>   rc   r   msg	mock_namera   s   f&&  @r   r  ZNonCallableMock.__setattr__%  s   >!%%dD88nnn!3!3!?***% !Dt!KLL((BTIC %%[ !!-$d>P>P2P$%H4%OPP$U++T
D+d*BC G &dE4>T
D0,1##D)[ $D$T5==,1##D)WT4%8%82245Qtf=I ;yk!:;;e\**"'DMM$!!$44r   c                s   V\         9   dB   V\        V 4      P                  9   d(   \        \        V 4      V4       WP                  9  d   R # V P                  P                  V\        4      pWP                  9   d!   \        \        V 4      P                  V4       MV\        J d   \        V4      hV\        Jd   V P                  V \        V P                  V&   R # r*   )r  r,   rW   delattrr   rX   _missingr   r   __delattr__r   r7   )r>   rc   r$   rQ   r   r&  ZNonCallableMock.__delattr__O  s    ;44:+>+>#>DJ%==( !!%%dH5== .::4@H_ &&h##D)$,D!r   c                sF    V P                   ;'       g    R p\        W1V4      # r.   )r   _format_call_signaturer>   r?   r@   rc   r:   r   _format_mock_call_signatureZ+NonCallableMock._format_mock_call_signaturea  s     ((&%d&99r   c                st    R pV P                  W4      pV P                  pV P                   ! V!  pWCWW3,          # )z0expected %s not found.
Expected: %s
  Actual: %s)r)  r|   )r>   r?   r@   actionmessageexpected_stringr|   Zactual_string   &&&&    r   _format_mock_failure_messageZ,NonCallableMock._format_mock_failure_messagef  s>    F::4HNN	88)D/AAAr   c                s@   V'       g   V P                   # R pVP                  RR4      P                  R4      pV P                  pV FT  pVP	                  V4      pVe   \        V\        4      '       d    V# \        V4      pVP                  pVP                   pKV  	  V# )Nr   r   r   )r   Zreplacer  r   rX   r   r   r1   )r>   rc   rA   ZnamesZchildrenr   r   r   _get_call_signature_from_nameZ-NonCallableMock._get_call_signature_from_namen  s     '''T2&,,S1&&DLL&E}
5* = = 
	 &e, //++  
r   c                s   \        V\        4      '       d*   \        V4      ^8  d   V P                  V^ ,          4      pMV P                  pVeP   \        V4      ^8X  d   RpVw  rEMVw  r4p VP
                  ! V/ VB p\        W6P                  VP                  4      # V#   \         d   pTP                  R4      u Rp?# Rp?ii ; i)r   Nr   )r   rT   r   r/  r   r=   callr?   r@   	TypeErrorZwith_traceback)r>   _callrA   rc   r?   r@   Z
bound_callr  s   &&      r   _call_matcherZNonCallableMock._call_matcher  s     eU##E
Q44U1X>C&&C?5zQ$f%*"F. XXt6v6
D//:3D3DEE L  .''--.s   -1B! !C,C<CCc                s    V P                   ^ 8w  dF   RV P                  ;'       g    R: RV P                   : RV P                  4       : 2p\        V4      hR# )r   
Expected 'r/   z"' to not have been called. Called  times.Nr{   r   _calls_reprAssertionErrorr>   r"  rY   r   rn   Z!NonCallableMock.assert_not_called  sN     ??aoo///oo&&(*C !%%  r   c                sx    V P                   ^ 8X  d)   RV P                  ;'       g    R,          p\        V4      hR# )r   z"Expected '%s' to have been called.r/   N)r{   r   r8  r9  rY   r   rm   ZNonCallableMock.assert_called  s9     ??a7OO--v/C %%  r   c                s    V P                   ^8X  gF   RV P                  ;'       g    R: RV P                   : RV P                  4       : 2p\        V4      hR# )   r4  r/   z#' to have been called once. Called r5  Nr6  r9  rY   r   ro   Z"NonCallableMock.assert_called_once  sN     !#oo///oo&&(*C !%% $r   c               s^  a aa S P                   f*   S P                  SS4      pRpRV: RV: 2p\        V4      hVVV 3R lpS P                  \	        SS3RR7      4      pS P                  S P                   4      pWC8w  d,   \        V\        4      '       d   TMR p\        V! 4       4      VhR # )Nznot called.z#expected call not found.
Expected: 
  Actual: c                  s,   < SP                  SS4      p V # r*   r.  r"  r?   r@   r>       r   _error_messageZ:NonCallableMock.assert_called_with.<locals>._error_message  s    33D&ACJr   Ttwo)r|   r)  r8  r3  _Callr   	Exception)r>   r?   r@   expectedactualZerror_messager?  causes   bjl     r   rj   Z"NonCallableMock.assert_called_with  s    
 >>!77fEH"F)M //	 %%eT6N&EF##DNN3 *8Y ? ?HTE !12= r   c               s    V P                   ^8X  gF   RV P                  ;'       g    R: RV P                   : RV P                  4       : 2p\        V4      hV P                  ! V/ VB # )r:  r4  r/   z' to be called once. Called r5  )r{   r   r7  r8  rj   r>   r?   r@   r"     "*, r   rp   Z'NonCallableMock.assert_called_once_with  s_     !#oo///oo&&(*C !%%&&777r   c           	     s  a  V Uu. uF  pS P                  V4      NK  	  pp\        R  V 4       R4      p\        V 3R lS P                   4       4      pV'       gy   WF9  dq   Vf   RpM9RP	                  V Uu. uF  p\        V\        4      '       d   TMRNK  	  up4      p\        V R\        V4       R\        S P                  4       24      VhR# \        V4      p. p	V F  p
 VP                  V
4       K  	  V	'       d6   \        S P                  ;'       g    R: R\        V	4      : R	V: R
24      VhR# u upi u upi   \         d    T	P                  T
4        K  i ; i)c              3   V   "   T F  p\        V\        4      '       g   K  Vx  K!  	  R # 5ir*   r   rC  .0r  rY   r   	<genexpr>3NonCallableMock.assert_has_calls.<locals>.<genexpr>       FAZ9-Eaa   )
)Nc              3   F   <"   T F  pSP                  V4      x  K  	  R # 5ir*   r3  rL  cr>      & r   rM  rN    s     M_d0033_   !zCalls not found.z+Error processing expected calls.
Errors: {}
Expected: r;  r/   z does not contain all of z in its call list, found z instead)r3  r   rs   ru   r   r   rC  r8  r   rS   remover9   r   r   rT   )r>   calls	any_orderrT  rD  rF  Z	all_callsproblemr  	not_foundkall   f&&        r   rq   Z NonCallableMock.assert_has_calls  sv    4995aD&&q)59FFMMT__MM	(=0G ,-3V-5$7-5 *4Ay)A)AAt$K-5$7.8  %i  !!*5!1 2 3!!*4??!; <> 	
 O		D'  & 
  &*oo&?&?&?&+I&6	C 	 7 :$7  '  &'s   D;8#E 'EE%$E%c               H   V P                  \        W3R R7      4      p\        V\        4      '       d   TMRpV P                   Uu. uF  qPP                  V4      NK  	  ppV'       g   V\        V4      9  d%   V P                  W4      p\        RV,          4      VhR# u upi )Tr@  Nz%s call not found)r3  rB  r   rC  r}   _AnyComparerr)  r8  r>   r?   r@   rD  rF  rT  rE  r,     "*,     r   rr   ZNonCallableMock.assert_any_call  s     %%eTN&EF&x;;151D1DE1DA$$Q'1DEHL$88">>tLO #o5 9 F   Bc               s   V P                   '       d8   R V9   d   RVR ,           2MRpV P                  4       V,           p\        V4      hVP                  R4      pW@P                  R,          9   d   \        R/ VB # \        V 4      p\        V\        4      '       d   V\        9   d   \
        pM\        V\        4      '       d<   V\        9   g#   V P                  '       d   W@P                  9   d   \        pMj\
        pMc\        V\        4      '       g;   \        V\        4      '       d   \        pM0\        V\        4      '       d   \         pMVP"                  ^,          pX! R/ VB # )rc   r   r   r   r   r   )r   r  r7   rX   rW   r   r,   r+   r   _async_method_magicsr   _all_sync_magicsr   CallableMixinr   r   r    rV   )r>   r  rP   r#  r   _typeklasss   ",     r   r   ZNonCallableMock._get_child_mock%  s    ,2bL!BvJ<(dI//1I=I ++FF;'	n55?r?"T
eY''I9M,ME~..--&&&98J8J+J!!E=11%!566!E?33MM!$E{r{r   c                s\    V P                   '       g   R # R\        V P                   4       R2# )r   z
Calls: r   )ru   r   r   r%   r   r7  ZNonCallableMock._calls_reprK  s)     9T__56a88r   )
r   r   r   r|   r}   r{   rz   rt   ru   rw   )NNNNNNr   NFNFFFFr*   )r0  )2r   r   r   r   r   r  r   r3   r   r   r   r   Z"_NonCallableMock__get_return_valueZ"_NonCallableMock__set_return_valueZ"_NonCallableMock__return_value_docr   rw   r   r   rz   r{   r|   r}   ru   Z!_NonCallableMock__get_side_effectZ!_NonCallableMock__set_side_effectr~   rv   r   r   r  r   r  r  r&  r)  r.  r/  r3  rn   rm   ro   rj   rp   rq   rr   r   r7  r   r   r   r   r   r   r     sB     GE&*
Z',%0N1

; M.0B.0L    
 "(+F%l3J$[1I)*:;N%l3J	* ,.?@K$(-$',$ $@%,-`#6
*N$'5T-$:
BB6&&&>,	8*Z #L
9 
9r   Zassert_c                   s&   a  ] tR tRt o R tRtV tR# )r`  i`  c           	     s    V  F6  p\        \        W4       UUu. uF	  w  r4W48H  NK  	  upp4      '       g   K5   R # 	  R# u uppi )TF)ZallZzip)r>   Zitemr2  rD  rE  r  r   r   Z_AnyComparer.__contains__e  sN    E(+D(8(8$H "(8     s   ?r   N)r   r   r   r   r   r   r   r   r   r   r`  r`  `  s     
 r   r`  c                 s    V f   V # \        V 4      '       d   V # \        V 4      '       d   V #  \        V 4      #   \         d    T u # i ; ir*   )r-   rR   r   r1  r#   r%   r   r   r   p  sO    
{
S
~~
Cy  
s   
9 A	A	c            
       s\   a  ] tR tRt o RR]RRRRRRR3
R ltR tR tR tR t	R	 t
R
tV tR# )rf  i  Nr   c           
     sx    W0P                   R &   \        \        V 4      P                  ! WWVVWV
3/ VB  W n        R# )r   N)rW   r   rf  r3   r~   )r>   r   r~   rw   r   rc   r   r   r   r   r   r@   s   &&&&&&&&&&&,r   r3   ZCallableMixin.__init__  sB     /;*+M4(11K	
39	

 'r   c               r   r*   r   r   r   r   rF   ZCallableMixin._mock_check_sig  s    r   c               sn    V P                   ! V/ VB  V P                  ! V/ VB  V P                  ! V/ VB # r*   )rF   _increment_mock_call
_mock_callr   r   r   r6   ZCallableMixin.__call__  s>     	d-f-!!4262///r   c               s&    V P                   ! V/ VB # r*   )_execute_mock_callr   r   r   rl  ZCallableMixin._mock_call  s    &&777r   c               s    R V n         \        W3R R7      pW0n        V P                  P	                  V4       \        V P                  4      V n        V P                  RJpV P                  pV P                  pVR8H  pV P                  P	                  \        RW34      4       V P                  pVe   V'       dW   VP                  P	                  \        WQV34      4       VP                  RJpV'       d   VP                  R,           V,           p\        WaV34      p	VP                  P	                  V	4       VP                  '       d7   V'       d   Rp
MRp
VP                  R8H  pVP                  V
,           V,           pVP                  pK  R# )Tr@  Nr   r   r   )rz   rB  r|   r}   r   r   r{   r   r   r   ru   r   rt   )r>   r?   r@   r2  Zdo_method_callsZmethod_call_nameZmock_call_nameZ	is_a_callr   Zthis_mock_callr  s   "*,        r   rk  Z"CallableMixin._increment_mock_call  si   
 tn$/""5)d112 ++47?? ,,"d*	ub$%789 ++% ((//7Gv6V0WX"-":":$"F"'2'='='CFV'V$ #N&#ABN"")).9)))CC'66$>	!,!;!;c!AN!R &66K- &r   c               s   V P                   pVeX   \        V4      '       d   Vh\        V4      '       g    \        V4      p\        V4      '       d   VhMV! V/ VB pV\        Jd   V# V P
                  \        Jd   V P                  # V P                  '       d+   V P                  P                  \        Jd   V P                  # V P                  e   V P                  ! V/ VB # V P                  # r*   )	r~   r-   rR   r   r   r   rw   r   r   )r>   r?   r@   effectrb   s   "*,  r   rm  Z CallableMixin._execute_mock_call  s     !!V$$v&&f (( L )  00W$""'1$$$4#6#6#C#C7#R$$$'##T4V44   r   )r|   r{   rz   r~   )r   r   r   r   r   r3   rF   r6   rl  rk  rm  r   r   r   r   r   rf  rf    s@      d$d!RT	'
08,7\! !r   rf  c                       ] tR tRtRtR# )r    i  r   Nr   r   r   r   r    r      r   r   c                 sF    RpV F  pW 9   g   K  \        V: R24      h	  R# )	autospectz5 might be a typo; use unsafe=True if this is intendedN)rp  Z	auto_specZset_spec)RuntimeError)Zkwargs_to_checkZtyposZtypor   r   _check_spec_arg_typosrr  '  s/    2E"(OP  r   c                   s   a  ] tR tRt o Rt. tRR/R ltR tR tR t	]
P                  R	 4       tR
 tR tR tR tR tR tR tRtV tR# )_patchi0  Nr   Fc
               s   Ve%   V\         Jd   \        R4      hVe   \        R4      hV
'       g   \        V	4       \        V4      '       d   \	        RV: RV: R24      h\        V4      '       d   \	        RV: RV: R24      hWn        W n        W0n        Wn        W@n	        WPn
        RV n        W`n        Wpn        Wn        . V n        RV n        R # )Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherzCannot spec attr z0 as the spec has already been mocked out. [spec=r   z? as the spec_set target has already been mocked out. [spec_set=F)r   r9   rr  r   r   getterrP   r   new_callabler   create	has_localr   autospecr@   additional_patchers
is_started)r>   rt  rP   r   r   rv  r   rx  ru  r@   r   s   &&&&&&&&&&$r   r3   Z_patch.__init__5  s     #'! B  # G  !&)T"""#I= 166:XQ@A A X&&"#I= 1AAIAOP P "(	  #% r   c                sh   \        V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  V P                  4	      pV P                  Vn
        V P                   Uu. uF  q"P                  4       NK  	  upVn        V# u upi r*   )rs  rt  rP   r   r   rv  r   rx  ru  r@   attribute_namery  copy)r>   patcherZpr   r   r|  Z_patch.copy[  s    KK499KKMM4,,dkk

 "&!4!4"66'
6FFH6'
# '
s   B/c                    \        V\        4      '       d   V P                  V4      # \        P                  ! V4      '       d   V P                  V4      # V P                  V4      # r*   r   r,   decorate_classr"   r   decorate_async_callabledecorate_callable)r>   r(   r   r   r6   Z_patch.__call__h  sS    dD!!&&t,,&&t,,//55%%d++r   c                s    \        V4       Fk  pVP                  \        P                  4      '       g   K*  \	        W4      p\        VR 4      '       g   KI  V P                  4       p\        WV! V4      4       Km  	  V# r6   )r   r  patchTEST_PREFIXr!   r    r|  rN   )r>   rh  r   
attr_valuer}  r  r   r  Z_patch.decorate_classp  sc    JD??5#4#455 -J:z22iikGE!45  r   c              #  s  "   . p\         P                  ! 4       ;_uu_ 4       pVP                   F\  pVP                  V4      pVP                  e   VP                  V4       K5  VP                  \        J g   KK  VP                  V4       K^  	  V\        V4      ,          pW#3x  R R R 4       R #   + '       g   i     R # ; i5ir*   )

contextlib	ExitStack	patchingsenter_contextr{  updater   r   r   rT   )r>   patchedr?   keywargs
extra_args
exit_stackpatchingr  r-  r   decoration_helperZ_patch.decoration_helper~  s     
!!##z#-- ..x8**6OOC(\\W,%%c* . E*%%D"" $###s#    CAB0:,B0&
C0C	;	Cc                   a aa \        SR 4      '       d   SP                  P                  S 4       S# \        S4      VVV 3R l4       oS .Sn        S# )r  c                  s   < SP                  SV V4      ;_uu_ 4       w  r#S! V/ VB uuR R R 4       #   + '       g   i     R # ; ir*   r  r?   r  ZnewargsZnewkeywargsr(   r  r>      *,  r   r  Z)_patch.decorate_callable.<locals>.patched  sE    ''(,(02 25KgW442 2 2 2s	   
2A	r    r  r   r   r>   r(   r     ff@r   r  Z_patch.decorate_callable  sN    4%%NN!!$'K	t	5 
	5 "Fr   c                r  )r  c                  s   <"   SP                  SV V4      ;_uu_ 4       w  r#S! V/ VB G R j  xL
 uuR R R 4       #  L  + '       g   i     R # ; i5ir*   r  r  r  r   r  Z/_patch.decorate_async_callable.<locals>.patched  sT     ''(,(02 25Kg!7:k::2 2 ;2 2 2s%   A><>A>A			Ar  r  r  r   r  Z_patch.decorate_async_callable  sN    4%%NN!!$'K	t	; 
	; "Fr   c                sv   V P                  4       pV P                  p\        pR p VP                  V,          pRpV\        9   d   \        V\        4      '       d   RV n
        V P                  '       g   V\        J d   \	        V: RV: 24      hW43#   \        \
        3 d    \        Y\        4      p L|i ; i)FTz does not have the attribute )rt  rP   r   rW   r7   ZKeyErrorr!   	_builtinsr   r   rv  )r>   targetrc   ra   locals   &    r   get_originalZ_patch.get_original  s    ~~	t,H E9FJ!?!?DK{{{x72 7=tD   ) 	6vW5H	6s   B !B87B8c                s	   V P                   '       d   \        R 4      hV P                  V P                  V P                  r2pV P
                  V P                  rTV P                  pV P                  4       V n	        VRJ d   RpVRJ d   RpVRJ d   RpVe   Ve   \        R4      hVf   Ve   VR9  d   \        R4      hV P                  4       w  rxV\        J Ed   VEf   Rp	VRJ d   TpVRJ d   TpRpMVe   VRJ d   TpRpMVRJ d   TpVf   Ve.   V\        J d   \        R4      h\        V\        4      '       d   Rp	Ve   Tp
MVf   \        V4      '       d   \         p
MkVf   Ve^   TpVe   Tp\#        V4      '       d   RV9  pM\%        V4      '       * p\        V4      '       d   \         p
MV'       d   \&        p
M\(        p
M\(        p
/ pVe   W-R&   Ve   W=R	&   \        V
\        4      '       d8   \+        V
\,        4      '       d"   V P.                  '       d   V P.                  VR
&   VP1                  V4       V
! R/ VB pV	'       dd   \3        V4      '       dS   TpVe   Tp\#        V4      '       g   \5        V4      '       g   \&        p
VP7                  R
4       V
! RRVRR/VB Vn        EMVEe   V\        Jd   \        R4      hV\        J d   \        R4      h\;        V4      pVRJ d   Tp\3        V P                  4      '       d-   \=        RV P.                  : RV P                  : RV: R24      h\3        V4      '       dR   \?        V P                  RV P                  4      p\=        RV P.                  : RV: RV P                  : RV: R2	4      h\A        V3R	VRV P.                  /VB pMV'       d   \        R4      hTpWpn!        Wn"        \F        PH                  ! 4       V n%        RV n          \M        V P                  V P.                  V4       V PN                  e}   / pV P                  \        J d   VVV PN                  &   V PP                   FE  pV PJ                  PS                  V4      pVP                  \        J g   K4  VP1                  V4       KG  	  V# V#    T PT                  ! \V        PX                  ! 4       !  '       g   h  R# ; i)zPatch is already startedFNzCan't specify spec and autospecTz6Can't provide explicit spec_set *and* spec or autospecz!Can't use 'spec' with create=Truer6   r   r   rc   r   r   r   zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=Truer  z: as the patch target has already been mocked out. [target=r  r   r   r	  r
  _namez.Can't pass kwargs to a mock we aren't creatingr2   r   )-rz  rq  r   r   r   rx  r@   ru  rt  r  r1  r  r   r   r,   r&   r   rU   r   r   r   r+   r   rP   r  r   rZ   r  rw   r   r   r!   r  temp_originalis_localr  r  _exit_stackrN   r{  ry  r  __exit__sysexc_info)r>   r   r   r   rx  r@   ru  ra   r  ZinheritKlassZ	this_specZnot_callable_kwargsr  Znew_attrr  r  r  s   &                  r   	__enter__Z_patch.__enter__  s   ???9::"hh		4==8==$++&((kkm 5=DuHuH 4=>>!5L(TUU++-'>h.Gt|t#'HD!t##HDT!#8#7w&#$GHHh--"G '$-"9"9!!X%9 	' (II&&#-Y#>L'/	':#:L ++%E!0E%E!G"&#&.
# 5$''5/22t~~~"&..NN6""'"C,S11 !	' (I ++&y110EF##( $4S $4D $4+2$4 ! '!(  7" GHHH~H4# --&+DNN+= >#{{oWXLCD D !**%dkk:t{{K&+DNN+=]"o &#{{oWXLCD D
 "( BX B(,B:@BC LMM%%//1	DKK:"".
88w&7:Jt223 $ 8 8H**88BC||w."))#. !9 "!J	==#,,.11 2s   =BR* R* (R* *,Sc                sL   V P                   '       g   R # V P                  '       dA   V P                  \        Jd-   \	        V P
                  V P                  V P                  4       M\        V P
                  V P                  4       V P                  '       gc   \        V P
                  V P                  4      '       d   V P                  R9   d,   \	        V P
                  V P                  V P                  4       V =V =V =V P                  pV =
RV n         VP                  ! V!  # )NF)rK   r   rL   __annotations__rM   )rz  r  r  r   rN   r  rP   r$  rv  r    r  r  )r>   r  r  s   &* r   r  Z_patch.__exit__a  s    ===T//w>DKK1C1CDDKK0;;;T^^(L(L += = T^^T5G5GHMK%%
""H--r   c                s\    V P                  4       pV P                  P                  V 4       V# r*   )r  _active_patchesr   r>   rb   rY   r   startZ_patch.startz  s'    !##D)r   c                s     V P                   P                  V 4       T P                  R R R 4      #   \         d     R # i ; ir*   )r  rX  r9   r  r   r%   r   stopZ_patch.stop  sD    	  ''-
 }}T4..	  		s   0 ??)r  ry  rP   rx  rv  rt  rw  r  rz  r@   r   ru  r   r   r  r  )r   r   r   r   r{  r  r3   r|  r6   r  r  Zcontextmanagerr  r  r  r  r  r  r  r  r   r   r   r   r   rs  rs  0  sp     NO# @E# L
, # #""0Xt.2/ /r   rs  c                 s     V P                  R ^4      w  r\	        \
        P                  T 4      T3#   \        \        \        3 d    \        RT : 24      hi ; i)r   z,Need a valid target to patch. You supplied: )Zrsplitr1  r9   r7   r   pkgutilresolve_name)r  rP   rY   r   _get_targetr    sh    G"MM#q1 7''0);; z>2 G:6*EG 	GGs	   2 &Ar   c                sv   a  \        S 4      \        J d   \        S : R 24      hV 3R lp
\        WW#VWVWyVR7
      # )z3 must be the actual object to be patched, not a strc                     < S # r*   r   r     r   r   Z_patch_object.<locals>.<lambda>  s    Vr   r   )r,   strr1  rs  )r  rP   r   r   rv  r   rx  ru  r   r@   rt  s   f&&&&&&&$, r   _patch_objectr    sK    $ F|sjKL
 	
 F3fL r   c                 s  a  \        S 4      \        J d   \        \        P                  S 4      pMV 3R  lpV'       g   \        R4      h\        VP                  4       4      pV^ ,          w  r\        WyWW#WE/ 4	      pWn	        VR,           F5  w  r\        WyWW#WE/ 4	      pWn	        VP                  P                  V4       K7  	  V# )c                  r  r*   r   r  r  r   r   Z!_patch_multiple.<locals>.<lambda>  s    r   z=Must supply at least one keyword argument with patch.multiple:r:  NN)r,   r  r   r  r  r9   rS   r  rs  r{  ry  r   )r  r   rv  r   rx  ru  r@   rt  r  rP   r   r}  Zthis_patchers   f&&&&&,      r   _patch_multipler    s    , F|s--v6K
 	
  E1XNI3fG '))	s&B
 '0###**<8 $ Nr   c                s>    \        V 4      w  r\        WWVWEWhVR 7
      # )r  )r  rs  )r  r   r   rv  r   rx  ru  r   r@   rt  rP   s   &&&&&&&$,  r   r  r    s-    V $F+F3fL r   c                   sf   a  ] tR tRt o RR ltR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )_patch_dicti6  c                s    Wn         \        V4      V n        V P                  P                  V4       W0n        R V n        R # r*   )in_dictdictr   r  clear	_original)r>   r  r   r  r@   s   &&&&,r   r3   Z_patch_dict.__init__T  s0    6l6"
r   c                r~  r*   r  )r>   fr   r   r6   Z_patch_dict.__call__]  sS    a&&q))&&q))//22%%a((r   c                4   a a \        S4      VV 3R  l4       pV# )c                  s   < SP                  4         S! V / VB SP                  4        #   SP                  4        i ; ir*   r  _unpatch_dictr?   r  r  r>   r  r   _innerZ-_patch_dict.decorate_callable.<locals>._innerf  s8    %$~"~""$""$s   + =r   r>   r  r     ff r   r  Z_patch_dict.decorate_callablee       	q	% 
	% r   c                r  )c                  s   <"   SP                  4         S! V / VB G R j  xL
 SP                  4        #  L  SP                  4        i ; i5ir*   r  r  r  r   r  Z3_patch_dict.decorate_async_callable.<locals>._innerr  sC     %^^+""$ ,""$s%   A7 57 A7 A		Ar  r  r  r   r  Z#_patch_dict.decorate_async_callableq  r  r   c                s4   \        V4       F  p\        W4      pVP                  \        P                  4      '       g   K5  \        VR 4      '       g   KI  \        V P                  V P                  V P                  4      pV! V4      p\        WV4       K  	  V# r  )r   r!   r  r  r  r    r  r  r   r  rN   )r>   rh  r   r  Z	decoratorZ	decoratedr   r   r  Z_patch_dict.decorate_class}  sq    JD -J 1 122Z00'dkk4::N	%j1	Y/  r   c                s:    V P                  4        V P                  # r*   )r  r  r   r%   r   r  Z_patch_dict.__enter__  s    ||r   c                s   V P                   p\        V P                  \        4      '       d&   \        P
                  ! V P                  4      V n        V P                  pV P                  p VP                  4       pW@n	        V'       d   \        V4        VP                  V4       R #   \         d    / pT F  pY%,          YE&   K  	   LOi ; i  \         d    T F  pY,          Y%&   K  	   R # i ; ir*   )r   r   r  r  r  r  r  r|  r7   r  _clear_dictr  )r>   r   r  r  ra   r  r  r   r  Z_patch_dict._patch_dict  s    dllC(("//=DL,,

	-||~H " 	+NN6"  	- H ' 		-  	+%{ 	+s$   +B( C ( C
CC0/C0c                s    V P                   pV P                  p\        V4        VP                  V4       R #   \         d    T F  pY#,          Y&   K  	   R # i ; ir*   )r  r  r  r  r7   )r>   r  ra   r  r   r   r  Z_patch_dict._unpatch_dict  sO    ,,>>G	-NN8$ 	-'}  	-s   8 AAc                sB    V P                   e   V P                  4        R# )NF)r  r  )r>   r?   s   &*r   r  Z_patch_dict.__exit__  s    >>% r   c                sd    V P                  4       p\        P                  P                  V 4       V# r*   )r  rs  r  r   r  rY   r   r  Z_patch_dict.start  s'    !%%d+r   c                s     \         P                  P                  V 4       T P	                  R R R 4      #   \         d     R # i ; ir*   )rs  r  rX  r9   r  r   r%   r   r  Z_patch_dict.stop  sD    	""))$/
 }}T4..	  		s   4 AA)r  r  r  r   N)r   F)r   r   r   r   r3   r6   r  r  r  r  r  r  r  r  r  r   r   r   r   r   r  r  6  sA     <)		+8
-/ /r   r  c                 sx     V P                  4        R #   \         d    \        T 4      pT F  pY K  	   R # i ; ir*   )r  r7   rS   )r  Zkeysr  r   r   r  r    s7     G}C s    !99c                  sf    \        \        P                  4       F  p V P                  4        K  	  R # r*   )r  rs  r  r  )r  s    r   _patch_stopallr    s     &001

 2r   Ztestzlt le gt ge eq ne getitem setitem delitem len contains iter hash str sizeof enter exit divmod rdivmod neg pos abs invert complex int float index round trunc floor ceil bool next fspath aiter zDadd sub mul matmul truediv floordiv mod lshift rshift and xor or powZ c              #   4   "   T F  pR V,          x  K  	  R# 5i)zi%sNr   rL  ZnrY   r   rM  rM    s     7&65199&6   c              #   r  )zr%sNr   r  rY   r   rM  rM    s     5$4q$4r  c                 s    a V3R  lpWn         V# )c                s   < S! V .VO5/ VB # r*   r   )r>   r?   r  r(   rB   r   methodZ_get_method.<locals>.method
  s    D&4&2&&r   )r   )rc   r(   r  s   &f r   r!  r!    s    'OMr   r   	__aexit__	__aiter____hash__c                 ,    \         P                  V 4      # r*   )r  r  r   r%   r   r   r   &  s    V__T2r   __str__c                 r  r*   )r  r  r   r%   r   r   r   '  s    FNN40r   
__sizeof__c                 r  r*   )r  r  r   r%   r   r   r   (  s    v006r   Z
__fspath__c                 sj    \        V 4      P                   R V P                  4        R \        V 4       2# )Z/)r,   r   r  r   r   r%   r   r   r   )  s3    $t*"5"5!6a8O8O8Q7RRSTVW[T\S]^r   Z__lt__Z__gt__Z__le__Z__ge__Z__int__r   Z__len__r  Z__complex__y              ?Z	__float__g      ?Z__bool__Z	__index__c                    a  V 3R  lpV# )c                 sd   < SP                   P                  pV\        Jd   V# SV J d   R # \        # T)__eq__r   r   NotImplemented)otherret_valr>   rU  r   r  Z_get_eq.<locals>.__eq__>  s/    ++00'!N5=r   r   )r>   r     f r   _get_eqr  =  s     Mr   c                 r  )c                 sh   < SP                   P                  \        Jd   \        # SV J d   R # \        # ri  )__ne__r   r   r  )r  r>   s   &r   r  Z_get_ne.<locals>.__ne__H  s*    ;;))8N5=r   r   )r>   r  r  r   _get_ner  G  s     Mr   c                 r  )c                  sp   < SP                   P                  p V \        J d   \        . 4      # \        V 4      # r*   )__iter__r   r   r   r  r>       r   r  Z_get_iter.<locals>.__iter__Q  s/    --22g8O G}r   r   )r>   r  r  r   	_get_iterr  P  s     Or   c                 r  )c                  s   < SP                   P                  p V \        J d   \        \	        . 4      4      # \        \	        V 4      4      # r*   )r  r   r   _AsyncIteratorr   r  r  r   r  Z"_get_async_iter.<locals>.__aiter__[  s8    ..33g!$r(++d7m,,r   r   )r>   r  r  r   _get_async_iterr  Z  s    -
 r   r  r  r  c                 s    \         P                  V\        4      pV\        Jd	   W1n        R # \        P                  V4      pVe   V! V 4      pWQn        R # \
        P                  V4      pVe   V! V 4      Vn        R # R # r*   )_return_valuesrX   r   rw   _calculate_return_value_side_effect_methodsr~   )r/   r  rc   ZfixedZreturn_calculatorrw   Zside_effector   &&&    r   _set_return_valuer  k  sw    tW-EG#/33D9$(.*(,,T2M *40 !r   c                   r   )
MagicMixini}  c               s    V P                  4        \        \        V 4      P                  ! V/ VB  V P                  4        R # r*   )_mock_set_magicsr   r  r3   )r>   r?   r  r   r   r3   ZMagicMixin.__init__~  s4    J%..;;r   c           	     s   \         \        ,          pTp\        V R R4      eT   VP                  V P                  4      pW,
          pV F*  pV\        V 4      P                  9   g   K  \        W4       K,  	  V\        \        V 4      P                  4      ,
          p\        V 4      pV F  p\        WT\        W@4      4       K  	  R# r   )_magicsrd  r!   Zintersectionr   r,   rW   r$  r  rN   
MagicProxy)r>   Zorig_magicsZthese_magicsZremove_magicsr   rg  r  r   r  ZMagicMixin._mock_set_magics  s     44"4$/;&33D4F4FGL'6M&DJ///D( ' $c$t**=*=&>>T
!EE*U"9: "r   r   N)r   r   r   r   r3   r  r   r   r   r   r   r  r  }  s      ; ;r   r  c                   s*   a  ] tR tRt o RR ltRtV tR# )r   i  c                H    V P                  W4       V P                  4        R # r*   r   r  r   r   r   r   Z"NonCallableMagicMock.mock_add_spec       	D+r   r   Nri  )r   r   r   r   r   r   r   r   r   r   r   r     s        r   c                   ro  )AsyncMagicMixini  r   Nr   r   r   r   r  r    r   r   r  c                   sP   a a ] tR tRt oRR ltRR/V3R lV 3R llltRtVtV ;t# )	r   i  Fc                r  r*   r  r   r   r   r   ZMagicMock.mock_add_spec  r  r   rw   c                s    < V ^8  d   QhRS[ /# )r   rw   r   r   r   r   r   ZMagicMock.__annotate__  s     
G 
G 
Gr   c              s   < V'       d0   V P                   '       d   \        V P                   4      '       d   R p\        4       P                  ! VRV/VB  R# )Frw   N)r   r   superrv   )r>   rw   r?   r@   r   s   "$*,r   rv   ZMagicMock.reset_mock  s?    $//**
 !LDF|FvFr   r   ri  )	r   r   r   r   r   rv   r   r   __classcell__r   r      @@r   r   r     s$      
G 
G 
G 
Gr   c                   s6   a  ] tR tRt o R tR tRR ltRtV tR# )r  i  c                s    Wn         W n        R # r*   rc   r   )r>   rc   r   r   r   r3   ZMagicProxy.__init__  s    	r   c                s    V P                   pV P                  pVP                  WVR 7      p\        W!V4       \	        W#V4       V# ))rc   r   r   )rc   r   r   rN   r  )r>   r   r   mr   r   create_mockZMagicProxy.create_mock  sG    		""/5 # 7q!&U+r   Nc                s"    V P                  4       # r*   )r  )r>   r$   rg  r   r   __get__ZMagicProxy.__get__  s    !!r   r  r*   )	r   r   r   r   r3   r  r  r   r   r   r   r   r  r    s     " "r   r  c                   s   a a ] tR tRt o]! R4      t]! R4      t]! R4      tV 3R ltR t	R t
R tR	 tR
 tR tRR ltR tV 3R ltRtVtV ;t# )r   i  r   r   r   c               s  < \        4       P                  ! V/ VB  \        P                  P                  V P
                  R &   ^ V P
                  R&   RV P
                  R&   \        4       V P
                  R&   \        '       d8   \        \        R7      p\        VP
                  R&   \        VP
                  R&   M\        \        R7      p\        P                  \        P                  ,           \        P                  ,           Vn        ^ Vn        RVn        ^ Vn        ^ Vn        W0P
                  R&   R	V P
                  R
&   \)        4       V P
                  R&   / V P
                  R&   RV P
                  R&   R# )r   Z_mock_await_countNZ_mock_await_argsZ_mock_await_args_listr   r   r   r'   r   r   rL   rM   r  )r?   r@   )r  r3   r   r   r   rW   rs   	_CODE_SIGr   _CODE_ATTRSr
   r"   ZCO_COROUTINEZ
CO_VARARGSZCO_VARKEYWORDSco_flagsZco_argcountZco_varnamesZco_posonlyargcountZco_kwonlyargcountrT   )r>   r?   r@   	code_mockr   s   "*, r   r3   ZAsyncMockMixin.__init__  s4   $)&) *1););)I)Io&-.)*,0()1:-.9'=I08I}-4=I01':I    !$$% 	
 !"	 2	'(	$&'	#$-j!$/j!(-n%*,&'+/'(r   c               s  "   \        W3R R7      pV ;P                  ^,          un        W0n        V P                  P	                  V4       V P
                  pVe{   \        V4      '       d   Vh\        V4      '       g!    \        V4      p\        T4      '       d   ThM*\        V4      '       d   V! V/ VB G Rj  xL
 pMV! V/ VB pV\        Jd   V# V P                  \        Jd   V P                  # V P                  eH   \        V P                  4      '       d   V P                  ! V/ VB G Rj  xL
 # V P                  ! V/ VB # V P                  #   \         d    \        hi ; i L L95i)Tr@  N)rB  r   r   r   r   r~   r-   rR   r   StopIterationStopAsyncIterationr   r   r   rw   r   )r>   r?   r@   r2  rn  rb   s   "*,   r   rm  Z!AsyncMockMixin._execute_mock_call
	  s^     tn$/A##E*!!V$$v&&-!&\F
 !(( L )$V,,%t6v6600W$""'1$$$'"4#3#344!--t>v>>>##T4V44   - % - -,- 7 ?s=   A=E/ E 0E/;E+<A7E/3E-4"E/E((E/-E/c                sr    V P                   ^ 8X  d&   RV P                  ;'       g    R R2p\        V4      hR# )r   	Expected r/   z to have been awaited.Nr   r   r8  r9  rY   r   r   ZAsyncMockMixin.assert_awaited2	  s>     q doo7788NOC %% !r   c                s    V P                   ^8X  g3   RV P                  ;'       g    R RV P                    R2p\        V4      hR# )r:  r  r/   $ to have been awaited once. Awaited r5  Nr  r9  rY   r   r   Z"AsyncMockMixin.assert_awaited_once:	  sP     1$t88&9 :#//09C %% %r   c               sN  a aa S P                   f"   S P                  SS4      p\        RV R24      hVVV 3R lpS P                  \	        SS3RR7      4      pS P                  S P                   4      pWS8w  d,   \        V\        4      '       d   TMR p\        V! 4       4      VhR # )NzExpected await: z
Not awaitedc                  s0   < SP                  SSR R7      p V # )Zawait)r*  r<  r=  r>  r   r?  Z:AsyncMockMixin.assert_awaited_with.<locals>._error_messageK	  s    33D&3QCJr   Tr@  )r   r)  r8  r3  rB  r   rC  )r>   r?   r@   rD  r?  rE  rF  s   bjl    r   r   Z"AsyncMockMixin.assert_awaited_withC	  s     ??"77fEH #3H:]!KLL	 %%eT6N&EF##DOO4 *8Y ? ?HTE !12= r   c               s    V P                   ^8X  g3   RV P                  ;'       g    R RV P                    R2p\        V4      hV P                  ! V/ VB # )r:  r  r/   r  r5  )r   r   r8  r   rG  rH  r   r   Z'AsyncMockMixin.assert_awaited_once_withU	  sa    
 1$t88&9 :#//09C %%''888r   c               r_  )Tr@  Nz%s await not found)r3  rB  r   rC  r   r`  r)  r8  ra  rb  r   r   ZAsyncMockMixin.assert_any_await`	  s     %%eTN&EF&x;;151E1EF1EA$$Q'1EFHL$88">>tLO $6 9 Grc  c           	     s  a  V Uu. uF  pS P                  V4      NK  	  pp\        R  V 4       R4      p\        V 3R lS P                   4       4      pV'       gp   WF9  dh   Vf   RpM9RP	                  V Uu. uF  p\        V\        4      '       d   TMRNK  	  up4      p\        V R\        V4       RS P                   24      VhR# \        V4      p. p	V F  p
 VP                  V
4       K  	  V	'       d   \        \        V	4      : R24      VhR# u upi u upi   \         d    T	P                  T
4        Ke  i ; i)c              3   rI  r*   rJ  rK  rY   r   rM  3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>z	  rO  rP  Nc              3   rQ  r*   rR  rS  rU  r   rM  r   {	  s!     S>Rt11!44>RrV  zAwaits not found.z,Error processing expected awaits.
Errors: {}rW  z	
Actual: z not all found in await list)r3  r   rs   r   r   r   rC  r8  rS   rX  r9   r   rT   )r>   rY  rZ  rT  rD  rF  Z
all_awaitsr[  r  r\  r]  r^  r   r   Z AsyncMockMixin.assert_has_awaitsm	  s]    4995aD&&q)59FFMSd>R>RSS
)=1G ,-3V-5$7-5 *4Ay)A)AAt$K-5$7.8  %i  !!*5!1 2 3#3346 	
 *%
	D'!!$' 
  49)4DF 7 :$7  '  &'s   D8#DD  E ?E c                s    V P                   ^ 8w  d3   RV P                  ;'       g    R RV P                    R2p\        V4      hR# )r   r  r/   z# to not have been awaited. Awaited r5  Nr  r9  rY   r   r   Z!AsyncMockMixin.assert_not_awaited	  sP     q t88&9 :#//09C %% !r   c               sv   < \        4       P                  ! V/ VB  ^ V n        RV n        \	        4       V n        R# )r   N)r  rv   r   r   rs   r   r>   r?   r@   r   rB   r   rv   ZAsyncMockMixin.reset_mock	  s3     	D+F+({r   )r   r   r   ri  )r   r   r   r   r   r   r   r   r3   rm  r   r   r   r   r   r   r   rv   r   r   r  r  r  r   r   r     s^     &}5K%l3J*+<=O0B&!P&&>$	9*X&+ +r   r   c                   ro  )r   i	  r   Nr   r   r   r   r   r   	  r   r   c                   r   )_ANYi	  c                r   r  r   r>   r  r   r   r  Z_ANY.__eq__	  s    r   c                r   ri  r   r  r   r   r  Z_ANY.__ne__	  s    r   c                r   )z<ANY>r   r   r%   r   r   Z_ANY.__repr__	  s    r   r   N)	r   r   r   r   r  r  r   r   r   r   r   r   r  r  	  s      r   r  c           	      s\   R V ,          pRpRP                  V Uu. uF  p\        V4      NK  	  up4      pRP                  VP                  4        UUu. uF  w  rxV: RV: 2NK  	  upp4      p	V'       d   TpV	'       d   V'       d
   VR,          pWI,          pW4,          # u upi u uppi )z%s(%%s)r   z, Z=)r  Zreprr  )
rc   r?   r@   r+  Zformatted_argsr  Zargs_stringr  r   Zkwargs_strings
   &&&       r   r'  r'  	  s    $GN))$7$3T#Y$78KII171?:33 M $d"N'## 8s   B#B(
c                   s   a  ] tR tRt o RR ltRR ltR t]P                  tR t	R t
R tR	 t]R
 4       t]R 4       tR tR tRtV tR# )rB  i	  Nc                s   Rp/ p\        V4      pV^8X  d   Vw  r&pMV^8X  d<   Vw  r\        V	\        4      '       d   T	p\        V
\        4      '       d   T
pMET
pMBYrvM?V^8X  d9   Vw  p\        V\        4      '       d   TpM\        V\        4      '       d   TpMTpV'       d   \        P	                  WV34      # \        P	                  WWg34      # )i   r   )r   r   r  rT   r   )r   r   rc   r   rA  	from_kallr?   r@   Z_lenfirstseconds   &&&&&&     r   r   Z_Call.__new__
  s    5z19!&DQY!ME%%%fe,,!D#F$fQYFE%%%E5))==Vn55}}S"677r   c                s*    W n         W0n        WPn        R # r*   )r   r   _mock_from_kall)r>   r   rc   r   rA  r  s   &&&&&&r   r3   Z_Call.__init__,
  s    "(r   c                s    \        V4      pR p\        T 4      ^8X  d   T w  rEMT w  r4p\        T RR4      '       d1   \        TRR4      '       d   T P                  TP                  8w  d   R# R pT^ 8X  d   R/ rMT^8X  d   Tw  rgpMT^8X  dA   Tw  p	\        T	\        4      '       d   T	p/ pMg\        T	\        4      '       d   T	pR/ rMKRpT	pMFT^8X  d>   Tw  r\        T
\        4      '       d!   T
p\        T\        4      '       d   T/ rM	RTrMYrMR# T'       d	   Yc8w  d   R# Yx3YE38H  #   \         d
    \        u # i ; i)r   r   NFr   )r   r1  r  r!   r   r   rT   r  )r>   r  Z	len_otherZ	self_nameZ	self_argsZself_kwargsZ
other_nameZ
other_argsZother_kwargsr   r  r  s   &&          r   r  Z_Call.__eq__3
  sP   	"E
I 	t9>%)"I{04-I+D.$//GE>SW4X4X%%););;
>')2!^380JL!^FE%''"
!E3''"
+-rL
$!^!ME%%%"
fe,,/5r/16+0L0 )i-EEE_  	"!!	"s   D* *D>=D>c               s    V P                   f   \        RW3RR7      # V P                   R,           p\        V P                   W3W0R7      # )Nr   r   r   r  r   rB  r(  rH  r   r6   Z_Call.__call__k
  sB    ??""d+$77%doot44MMr   c                sx    V P                   f   \        VRR7      # V P                   : RV: 2p\        W RR7      # )NF)rc   r  r   )rc   r   r  r  )r>   r   rc   rQ   r   r   Z_Call.__getattr__s
  s4    ??"de44//40$u==r   c                sb    V\         P                  9   d   \        h\         P                  W4      # r*   )rT   rW   r7   __getattribute__)r>   r   r   r   r	  Z_Call.__getattribute__z
  s%    5>>!  %%d11r   c                s@    \        V 4      ^8X  d   V w  rW3# V w  r1pW3# )r   )r   r(  r   r   _get_call_argumentsZ_Call._get_call_arguments
  s2    t9>LD | "&D|r   c                s0    V P                  4       ^ ,          # r   r
  r   r%   r   r?   Z
_Call.args
      '')!,,r   c                s0    V P                  4       ^,          # )r:  r  r   r%   r   r@   Z_Call.kwargs
  r  r   c                sP   V P                   '       g9   V P                  ;'       g    R pVP                  R4      '       d
   RV,          pV# \        V 4      ^8X  d   R pV w  r#M:V w  rpV'       g   R pM*VP                  R4      '       g   RV,          pM	RV,          p\	        WV4      # )r0  r   zcall%szcall.%s)r  r   r  r   r'  )r>   rc   r?   r@   r   r   r   Z_Call.__repr__
  s    ###??,,fDt$$$Kt9>DLD&!%D__T** 4'$%d&99r   c                s    . pT pVe2   VP                   '       d   VP                  V4       VP                  pK5  \        \	        V4      4      # r*   )r  r   r   rs   r  )r>   ZvalsZthingr   r   	call_listZ_Call.call_list
  sF     $$$E"&&E$((r   )r  r   r   )r   r   NFT)r   NNFT)r   r   r   r   r   r3   r  r  r  r6   r   r	  r
  r   r?   r@   r   r  r   r   r   r   r   rB  rB  	  sn     &8@)2Fj ]]FN>2 - - - -:*
) 
)r   rB  )r  c                sj   \        V 4      '       d   \        V 4      p \        V \        4      p\        V 4      '       d   \	        R V : R24      h\        V 4      pRV /p	\        V 4       U
u. uF
  q\        3NK  	  pp
V'       dZ   V'       dR   \        V 4      '       dA   Rp\        V 4      pVP                  R V 4       4       V Uu. uF  qP                  NK  	  ppMRpV'       d   RV /p	MV f   / p	V	'       d   V'       d   RV	R&   V'       g   \        V4       VP                  R	V4      pTpVf   R
pV	P                  V4       \        p\         P"                  ! V 4      '       d   / p	MaV'       d   V'       d   \%        R4      h\&        pM?\)        V 4      '       g   \*        pM'V'       d    V'       d   \-        V 4      '       g   \*        pV! RRVRVRVR	V/V	B pV'       d   VP/                  X4       \        V \0        4      '       d#   V'       d   \3        VV 4      pM\5        VV 4      pM\7        V VWr4       Ve   V'       g   VVP8                  V&   VP                  RR4      pV'       d%   V'       g   RV9  d   \;        WRRVVR7      Vn        V EFR  w  p
p\?        V
4      '       d   K  V\        J d    \A        W
4      pRV/pV'       d%   \E        VV
4      '       d   VP                  VR7       V'       d   RV/p\        V\0        4      '       g   \G        VVVW4      pVVP8                  V
&   MTp\        V \0        4      '       d   VPH                  p\K        W
V4      pVVR&   \M        V4      '       d   \&        pM\        pV! RRVR	V
RV
RV/VB pVVP8                  V
&   V! 4       Vn        \7        VVVR7       \        V\0        4      '       g   EKE  \O        VV
V4       EKU  	  \        V4      '       d   V'       d   VPP                  ! R/ VB  V# u up
i u upi   \B         d     EK  i ; i)z'Cannot autospec a Mock object. [object=r   r   Tc              3   sP   "   T F  qP                   VP                  3x  K  	  R # 5ir*   )rc   r,   )rL  r  rY   r   rM  Z"create_autospec.<locals>.<genexpr>
  s     B1AA'1As   $&Fr   Nr   rc   r   zJInstance can not be True when create_autospec is mocking an async functionr   r   r   r   rw   r   )rI   r  r   r   r  r   )rH   r   ))rU   r,   r   r   r   r)   r   r%  r	   r   r   rc   rr  r  r  r   r"   Zisdatadescriptorrq  r   rR   r   rZ   r   r0   rh   rf   rJ   r   r  rw   r   r!   r7   r    r   r/   
_must_skipr   rN   r   )r   r   rI   r   r  r   r@   is_typeZis_async_funcr  r   ZentriesZis_dataclass_specZdataclass_fieldsr  Zdataclass_spec_listr   r  r/   Zwrappedra   Zchild_kwargsr   r   rH   Zchild_klasss   &&&&&$,                   r   r  r  
  s   . ~~ Dzt$G "**. 4 5 	5"4(MtnG.1$i8iUx iG88T 2 2 !$<B1ABB/?@/?!vv/?@!t$	8'+#$f%JJvu%EI	NN6E%% 	  > ? ?t__$	X&8&>&>$ ( (W (	 ((&(D&&':;$&& 'd3D!$-DtW78(,u% jj$'GxN&$@+DT2629; #xU x"4/ )ww..h/&1L(M22XxuGC),D&F$.."48I(1L%"8,,'' BV B% B5 B*0B4@BC),D&*}CXsi@ c=))D%%i #p 6%f%K} 9
 A^ " s   *PP9P""P21P2c                 sd   \        V \        4      '       g!   V\        V R / 4      9   d   R# V P                  p V P                   Fi  pVP
                  P                  V\        4      pV\        J d   K/  \        V\        \        34      '       d    R# \        V\        4      '       d   Vu #  R# 	  V# )rW   F)r   r,   r!   r   rV   rW   rX   r   r5   r4   r0   )r   r   r  rh  rb   s   &&&  r   r  r  Y  s    
 dD!!GD*b11~~##E73Wf|[9::.. N  Nr   c                   s*   a  ] tR tRt o RR ltRtV tR# )r   iu  Nc                sN    Wn         WPn        W n        W0n        W`n        W@n        R # r*   )r   idsr   r   rI   rc   )r>   r   r   r   rc   r  rI   s   &&&&&&&r   r3   Z_SpecState.__init__w  s     	  	r   )r  rI   rc   r   r   r   )FNNNF)r   r   r   r   r3   r   r   r   r   r   r   r   u  s      r   r   c                 s    \        V \        4      '       d   \        P                  ! V 4      # \        P                  ! V 4      # r*   )r   ZbytesioBytesIOZStringIO)	read_datar%   r   
_to_streamr    s-    )U##zz)$${{9%%r   c           	      s  aa	a
aa \        S4      pVR .oVV3R lpVV3R lpV	V3R lo
VV3R lo	VV3R lpV3R lp\        fW   ^ R Ip\        \	        \        VP                  4      4      P                  \	        \        VP                  4      4      4      4      s\        f,   ^ R Ip\        \	        \        VP                  4      4      4      s	V f   \        R\        R7      p \        \        R	7      oSSP                  n        R SP                  n        R SP                  n        R SP                   n        R SP"                  n        VSP                  n        S
! 4       S^&   S^,          SP                   n        VSP"                  n        S	SP&                  n        VSP(                  n        VSP*                  n        V
VVV3R
 lpWn        SV n        V # )Nc                     < SP                   P                  e   SP                   P                  # S^ ,          P                   ! V / VB # r*   )	readlinesrw   r?   r@   _statehandler  r   _readlines_side_effectZ)mock_open.<locals>._readlines_side_effect  sA    ((4##000ay""D3F33r   c                  r  r*   )readrw   r  r  r   _read_side_effectZ$mock_open.<locals>._read_side_effect  s;    ;;##/;;+++ay~~t.v..r   c               ?   sj   <"   S! 4        R j  xL
   S^ ,          P                   ! V / VB x  K   L"5ir*   )readline)r?   r@   _iter_side_effectr  r  r   _readline_side_effectZ(mock_open.<locals>._readline_side_effect  s4     $&&&)$$d5f55 	's   31#3c               3   s   <"   SP                   P                  e    SP                   P                  x  K  S^ ,           F  p V x  K	  	  R # 5ir*   )r  rw   )Zliner  r  ry   r   r  Z$mock_open.<locals>._iter_side_effect  s>     ??''3oo2221IIDJ s   A
Ac                  s   < SP                   P                  e   SP                   P                  # \        S ^ ,          4      # r*   )r  rw   r   )r  r  s   r   _next_side_effectZ$mock_open.<locals>._next_side_effect  s1    ??''3??///F1Ir   c                 s(   < SP                  4        R # r*   )Zclose)ZexctypeZexcinstZexctbr  s   &&&r   _exit_side_effectZ$mock_open.<locals>._exit_side_effect  s    r   open)rc   r   )r   c                  s   < \        S4      S^ &   SP                  P                  S^,          8X  d#   S! 4       S^&   S^,          SP                  n        \        # r  )r  r  r~   r   )r?   r@   r   r  r  r  s   *,r   
reset_dataZmock_open.<locals>.reset_data  sH    y)q	??&&&)3-/F1I*0)FOO'r   )r  	file_spec_iorS   r  r   ZTextIOWrapperZunionr  	open_specr#  r   r  rw   Zwriter  r  r  r~   r  r   r  )r/   r  Z
_read_datar  r  r!  r"  r&  r$  r  r   r  r  s   &f       @@@@r   	mock_openr(    sk    I&J$F4
/
6

 S!2!234::3s3;;?O;PQR	 S]+,	|f95I&F$*F! $FLL#FKK#'FOO $(F!/FKK%'F1I"()FOO#9F "3FOO"3FOO"3FOO  "DKr   c                   s6   a  ] tR tRt o R tRR ltR tRtV tR# )r   i  c               s    \        R/ VB # )Nr   )r   )r>   r@   s   ",r   r   ZPropertyMock._get_child_mock  s    "6""r   Nc                s    V ! 4       # r*   r   )r>   r$   Zobj_typer   r   r  ZPropertyMock.__get__  s	    vr   c                s    V ! V4       R # r*   r   )r>   r$   r  r   r   __set__ZPropertyMock.__set__  s	    S	r   r   r*   )	r   r   r   r   r   r  r)  r   r   r   r   r   r   r     s     # r   c                   s|   a a ] tR tRt oRtV 3R ltR]/V 3R lltV 3R ltR t	V 3R lt
R]/R	 ltR
 tRtVtV ;t# )ThreadingMixini  Nc               s&  < \        VP                  R 4      \        4      '       d   VR ,          P                  VR&   M;\        VP                  R4      \        4      '       d   VR,          P                  VR&   \	        4       P
                  ! R/ VB # )r   timeoutr   r   )r   rX   r*  _mock_wait_timeoutr  r   )r>   r  r   s   ",r   r   ZThreadingMixin._get_child_mock  sl    bffX&77xL;;ByM}-~>>}-@@ByMw&&,,,r   r+  c               s*  < \        4       P                  ! V/ VB  V\        J d   V P                  p\        P
                  ! 4       V P                  R &   . V P                  R&   \        P                  ! 4       V P                  R&   WP                  R&   R# )_mock_event_mock_calls_events_mock_calls_events_lockr,  N)r  r3   _timeout_unsetDEFAULT_TIMEOUT	threadingEventrW   ZLock)r>   r+  r?   r@   r   s   &$*,r   r3   ZThreadingMixin.__init__	  sr    $)&)n$**G'0'8m$.0*+3<>>3C/0.5*+r   c               s   < \        4       P                  ! V/ VB  \        P                  ! 4       V P                  R &   . V P                  R&   R# )r-  r.  N)r  rv   r2  r3  rW   r  rB   r   rv   ZThreadingMixin.reset_mock  s>     	D+F+'0'8m$.0*+r   c                s&   V P                   ;_uu_ 4        V P                   F  w  r4pW43W38X  g   K  Vu uuR R R 4       # 	  \        P                  ! 4       pV P                  P	                  WV34       R R R 4       V#   + '       g   i     X# ; ir*   )r/  r.  r2  r3  r   )r>   Zexpected_argsZexpected_kwargsr?   r@   eventZ	new_eventr  r   Z__get_eventZThreadingMixin.__get_event  s    )))'+'>'>#e>m%EE L *)'> ")I##**MI+VW *  *) s   A?A?4A??B	c                s   < \        4       P                  ! V/ VB pV P                  W4      pVP                  4        V P                  P                  4        V# r*   )r  rl  _ThreadingMixin__get_eventr  r-  )r>   r?   r@   Z	ret_valueZ
call_eventr   s   &*,  r   rl  ZThreadingMixin._mock_call#  sL    G&&77	%%d3
r   c               s    V\         J d   V P                  pV P                  P                  VR 7      '       g(   V P                  ;'       g    R RV R2p\        V4      hR# )r+  r/   z was not called before timeout(z).N)r0  r,  r-  waitr   r8  )r>   r+  r"  s   &$ r   wait_until_calledZ ThreadingMixin.wait_until_called-  sf     n$--G$$W$55oo//0 1&ir+C %% 6r   c                s    V P                  W4      pVP                  V P                  R 7      '       g    V P                  W4      p\	        V R24      hR# )r6  z call not foundN)r5  r7  r,  r)  r8  )r>   r?   r@   r4  r,  s   &*,  r   wait_until_any_call_withZ'ThreadingMixin.wait_until_any_call_with;  sS    
   .zz$"9"9z::">>tLO O#4O!DEE ;r   r   )r   r   r   r   r1  r   r0  r3   rv   r5  rl  r8  r9  r   r   r  r  r  r   r*  r*    sB     O-6n 61&> &F Fr   r*  c                   ro  )r   iF  r   Nr   r   r   r   r   r   F  s     	r   c                 s@   R V n         \        V 4       Fu  p \        W4      p\	        T\
        4      '       g   K'  \	        TP                  P                  T4      \        4      '       d   KX  TP                  T J g   Kj  \        T4       Kw  	  R#   \         d     K  i ; ir2   )r   r   r!   r7   r   r   r   rX   r   r   seal)r/   r   r  r   r   r:  r:  V  s     DD		#A !_--a&&**40*==%G   		s   BBBc                   r   )r  in  c                sx    Wn         \        \        R 7      p\        P                  Vn        W P                  R&   R# )r  r'   N)iteratorr   r
   r"   ZCO_ITERABLE_COROUTINEr  rW   )r>   r;  r  rQ   r   r3   Z_AsyncIterator.__init__r  s+     #X6	$::	$-j!r   c                sb   "    \        V P                  4      #   \         d	     \        hi ; i5ir*   )r   r;  r  r  r   r%   r   	__anext__Z_AsyncIterator.__anext__x  s0     	&& 	  	s   / /,/,/)r;  N)r   r   r   r   r3   r<  r   r   r   r   r   r  r  n  s     .! !r   r  )r    r   r  r   r   ANYr0  r  r   r   r  r   r   r(  r   r:  ri  rj  >   r   r~   r   rw   r   r   r   r   )NFNNN>   r  r  r)  r   Z
__delete__Z
__format__r   Z__missing__Z__getstate__Z__reversed__Z__setstate__Z__getformat__Z__reduce_ex__Z__getnewargs__Z__subclasses__Z__getinitargs__Z__getnewargs_ex__>   r  r<  Z
__aenter__>   Z__del__r   r3   r   Z__prepare__r  Z__instancecheck__Z__subclasscheck__)FFNNr   )Z__all__r   r  r  r"   r   r  Zbuiltinsr  r   r2  Zdataclassesr   r	   Ztypesr
   r   r   Zunittest.utilr   Z	functoolsr   r   r   rC  r   r   r  r  r  r  r   r&   r)   r   r-   r1   r;   rJ   rE   rR   rU   rZ   rf   rh   r`   rg   r   r  r   r   r   r   ZMISSINGr%  ZDELETEDr   r   r   rS   rs   r   r   r   r   Z	frozensetZremoveprefixr  r`  r   rf  r    rr  rs  r  r  r  r  r  r  r  r  ZmultipleZstopallr  Zmagic_methodsZnumericsr  r  ZinplaceZrightZ_non_defaultsr!  r  rd  Z_sync_async_magicsZ_async_magicsre  r  r   r  r  r  r  r  r  r  r  r  r  r   r  r   r  r8   r3   r  r  r9   r   r   r  r=  r'  rT   rB  r0  r  r  r   r,   r  r0   r%  r'  r  r(  r   ZTIMEOUT_UNSETr0  r*  r   r:  r  )rc   r  s   00r   <module>r>     sm  (   	   
   '  , 2 2 # $ Cy C "(mHmd??33GTTmH	
 @2 F	#
&4.."b>6)	)f 	)  ;


 &* *(6 6 c
9d c
9N O$$y! !Di $  4  g!D g!V8=/ 8zY/V Y/z
<  'Ttd &+:.d $u4OCHOdW/& W/t 
   " K 	 ((7hnn&67
75HNN$455 HHmXw67==?? !Hv? @ !] $'99]* .  206^	  nnnnqEq2" gg		 1$; ;:	 : 	 	j 	G
D GB" "$!!'(*;*;T"BCIh-K
E+T E+P( (V
6 
 f$$v)E v)r ua*/aH8	 	 		 		&Sl4 $ ''EFT EFP	NJ 	 0! !}a IR!n`  Is0   (P/P/P4)P4P9+P> >	Q
	Q
