python (3.12.0)

(root)/
lib/
python3.12/
unittest/
__pycache__/
mock.cpython-312.opt-2.pyc

̑edZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZm
Z
ddlmZddlmZmZddlmZGdd	eZeeDchc]}|j1d
r|c}ZdZeZdZd
ZdZdZ dZ!dZ"dydZ#dZ$dZ%dZ&dZ'dydZ(dZ)dZ*dZ+Gdde,Z-Gdde,Z.e.Z/e/j`Z0e/jbZ2e/jfZ4hd Z5d!Z6Gd"d#e7Z8d$Z9Gd%d&e,Z:Gd'd(e,Z;Gd)d*e;Z<e=ee<Dchc]$}|j1d+r|j}d+&c}Z?Gd,d-e7Z@d.ZAGd/d0e;ZBGd1d2eBe<ZCd3ZDGd4d5e,ZEd6ZFe0dddddfdd7d8ZG		dzd9ZHe0dddddfdd7d:ZIGd;d<e,ZJd=ZKd>ZLeGeI_,eJeI_MeHeI_NeLeI_Od?eI_Pd@ZQdAZRdBjdCeRjDZUdBjdDeRjDZVhdEZWdFZXdBjeQeReUeVgjDchc]}dG|z	c}ZYhdHZZdIhZ[eZe[zZ\eYeWzZ]e]e\zZ^hdJZ_dKdLdMdNdOZ`eaeaeaeadPddddQdRddPddS
ZbdTZcdUZddVZedWZfecedeeefdXZgdYZhGdZd[e;ZiGd\d]eie<ZjGd^d_eiZkGd`daeieCZlGdbdce;ZmeeZnejeejdZqGdddee;ZrGdfdgerekeCZsGdhdie,ZtetZudjZvGdkdlewZxexdmZy		d{dd7dnZzdoZ{Gdpdqe,Z|e}eze}eujfZdadadrZd|dsZGdtdueCZdvZGdwdxZycc}wcc}wcc}w)})Mock	MagicMockpatchsentinelDEFAULTANYcallcreate_autospec	AsyncMock
FILTER_DIRNonCallableMockNonCallableMagicMock	mock_openPropertyMocksealN)iscoroutinefunction)CodeType
ModuleType
MethodType)	safe_repr)wrapspartial)RLockceZdZy)InvalidSpecErrorN__name__
__module____qualname__A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/unittest/mock.pyrr)sBr!r_Tct|rt|tsyt|drt	|d}t|xst
j|S)NF__func__)_is_instance_mock
isinstancer
hasattrgetattrrinspectisawaitableobjs r"
_is_async_objr.5sGji&@sJc:&s#?w':':3'??r!c4t|ddrt|Sy)N__code__F)r)r)funcs r"_is_async_funcr2=stZ&"4((r!c4tt|tSN)
issubclasstyperr,s r"r&r&Dsd3i11r!cjt|txs"t|txrt|tSr4)r'
BaseExceptionr6r5r,s r"
_is_exceptionr9Js-3
&	A3@*S-"@r!cVt|trt|dr|jS|SNmock)r'
FunctionTypesr(r<r,s r"
_extract_mockr>Qs%#}%'#v*>xx
r!cx	t|tr|s|j}d}nRt|ttfrt|trd}|j
}nt|ts
	|j}|r
t|d}n|}	|tj|fS#t$rYywxYw#t$rYywxYwNT)
r'r6__init__classmethodstaticmethodr%r=__call__AttributeErrorrr*	signature
ValueError)r1as_instanceeat_selfsig_funcs    r"_get_signature_objectrKZs
$k}}	D;5	6dK(H}}
m
,	==D4&W&&x000		s$)BB-	B*)B*-	B98B9Fct|||y\}fd}t|||t|_t|_y)Nc*j|i|yr4bind)selfargskwargssigs   r"checksigz"_check_signature.<locals>.checksig$!&!r!)rK_copy_func_detailsr6_mock_check_sig
__signature__)r1r<	skipfirstinstancerTrSs     @r"_check_signaturer[}sI
h	
:C
{ID#"tX&!)DJ"DJr!c	`dD]}	t||t||y#t$rY)wxYw)N)r__doc____text_signature__r__defaults____kwdefaults__)setattrr)rE)r1funcopy	attributes   r"rVrVs?		GYi(@A		s!	--ct|tryt|tttfrt|jSt|ddyy)NTrDF)r'r6rCrBr	_callabler%r)r,s r"reresD#t#k:>?&&sJ%1r!c0t|ttfvSr4)r6listtupler,s r"_is_listris9u
%%r!c	t|tst|ddduS|f|jzD]}|jjdyy)NrDTF)r'r6r)__mro____dict__get)r-bases  r"_instance_callableros_@c4 sJ-T99$==Z(4r!ct|t}t|||}||S|\}fd}t|||j}|jsd}||d}d|z}	t
|	|||}
t|
||
S)Nc*j|i|yr4rN)rQrRrSs  r"rTz _set_signature.<locals>.checksigrUr!rb)
_checksig_r<zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))r'r6rKrVrisidentifierexec_setup_func)r<originalrZrYresultr1rTnamecontextsrcrbrSs           @r"_set_signaturer{s
8T*I
"8Xy
AF
~ID#"tX&D%t4G$&*+C	#wdmGs#Nr!c_fd}fd}fd}fd}fd}fd}fd}	fd}
d	_d
_d_t	_t	_t	_j_j_	j_
|_|_|_
|	_|
_|_|_|_|__y)Nc(j|i|Sr4)assert_called_withrQrRr<s  r"r~z'_setup_func.<locals>.assert_called_with&t&&777r!c(j|i|Sr4)
assert_calledrs  r"rz"_setup_func.<locals>.assert_calleds!t!!42622r!c(j|i|Sr4)assert_not_calledrs  r"rz&_setup_func.<locals>.assert_not_calleds%t%%t6v66r!c(j|i|Sr4)assert_called_oncers  r"rz'_setup_func.<locals>.assert_called_oncerr!c(j|i|Sr4)assert_called_once_withrs  r"rz,_setup_func.<locals>.assert_called_once_withs+t++T<V<<r!c(j|i|Sr4)assert_has_callsrs  r"rz%_setup_func.<locals>.assert_has_callss$t$$d5f55r!c(j|i|Sr4)assert_any_callrs  r"rz$_setup_func.<locals>.assert_any_calls#t##T4V44r!ct_t_jj}t|r|ur|jyyyr4)	_CallListmethod_calls
mock_calls
reset_mockreturn_valuer&)retrbr<s r"rz_setup_func.<locals>.reset_mocksL({&[""S!#+NN+6!r!Fr)r<called
call_count	call_argsrcall_args_listrrrside_effect_mock_childrenr~rrrrrrrrX_mock_delegate)rbr<rSr~rrrrrrrs``         r"rurusGL8378=65GNGG&[G$;G"G,,G**G!00G!3G&=G#/G-G#G)G 1G!3GG!Dr!c	tjj_d_d_t_fd}dD]}t|t||y)Nrc<tj||i|Sr4)r)r<)attrrQrRr<s   r"wrapperz"_setup_async_mock.<locals>.wrapper
s 'wtyy$'888r!)assert_awaitedassert_awaited_onceassert_awaited_withassert_awaited_once_withassert_any_awaitassert_has_awaitsassert_not_awaited)	asyncio
coroutines
_is_coroutineawait_count
await_argsrawait_args_listrar)r<rrcs`  r"_setup_async_mockrs[ ++99DDDO$;D
9,>		i)!<=>r!cd|ddz|k(S)N__%s__r rxs r"	_is_magicrsd1Rj D((r!c eZdZ	dZdZdZy)_SentinelObjectc||_yr4rrPrxs  r"rAz_SentinelObject.__init__"s		r!c d|jzSNzsentinel.%srrPs r"__repr__z_SentinelObject.__repr__%tyy((r!c d|jzSrrrs r"
__reduce__z_SentinelObject.__reduce__(rr!N)rrrrArrr r!r"rr s'))r!rc eZdZ	dZdZdZy)	_Sentinelci|_yr4)
_sentinelsrs r"rAz_Sentinel.__init__.s	r!cb|dk(rt|jj|t|S)N	__bases__)rEr
setdefaultrrs  r"__getattr__z_Sentinel.__getattr__1s,;  ))$0EFFr!cy)Nrr rs r"rz_Sentinel.__reduce__7sr!N)rrrrArrr r!r"rr,sKGr!r>
_mock_namer_mock_parentr_mock_new_name_mock_new_parent_mock_side_effect_mock_return_valuecftj|d|z}||fd}||fd}t||S)N_mock_cN|j}|t||St||Sr4)rr))rPrx	_the_namerSs    r"_getz"_delegating_property.<locals>._getLs,!!;4++sD!!r!cZ|j}|||j|<yt|||yr4)rrlra)rPvaluerxrrSs     r"_setz"_delegating_property.<locals>._setQs,!!;',DMM)$Cu%r!)_allowed_namesaddproperty)rxrrrs    r"_delegating_propertyrIs>t4I	"
 $y&D$r!ceZdZdZdZy)rct|tstj||St|}t|}||kDryt	d||z
dzD]}||||z}||k(syy)NFrT)r'rg__contains__lenrange)rPr	len_valuelen_selfisub_lists      r"rz_CallList.__contains__^s|%&$$T511J	t9xq(Y.23	AAa	k*H5 	r!c>tjt|Sr4)pprintpformatrgrs r"rz_CallList.__repr__ls~~d4j))r!N)rrrrrr r!r"rr\s*r!rct|}t|sy|js$|js|j|j
y|}|||ury|j
}||r||_||_|r||_||_y)NFT)r>r&rrrr)parentrrxnew_name_parents     r"_check_and_set_parentrps% EU#			U11				'				+G

e**
!''#r!ceZdZdZdZy)	_MockIterc$t||_yr4)iterr-)rPr-s  r"rAz_MockIter.__init__s
9r!c,t|jSr4)nextr-rs r"__next__z_MockIter.__next__sDHH~r!N)rrrrArr r!r"rrsr!rceZdZeZdZdZy)BaseNcyr4r rPrQrRs   r"rAz
Base.__init__sr!)rrrrrrrAr r!r"rrs 
r!rceZdZ	eZ			d)dZ			d)dZdZd*dZ		d+dZ	dZ
d	Zd
Ze
e
eeZe
dZedZed
ZedZedZedZdZdZe
eeZd,ddddZdZdZdZdZdZdZdZ dZ!d-dZ"dZ#dZ$d Z%d!Z&d"Z'd#Z(d$Z)d*d%Z*d&Z+d'Z,d.d(Z-y)/rNFc|f}
t|ts|xs|}|t|rt|f}
t|j|
d|j
i}t
t|j|}|S)Nr])	r5AsyncMockMixinr.r6rr]_safe_superr__new__)clsspecrrxspec_setr_spec_state	_new_name_new_parent_spec_as_instance	_eat_selfunsaferRbasesspec_argnewrZs                 r"rzNonCallableMock.__new__sm#~.'4H#
h(?'-3<<CKK(@A4<<SAr!c||}|j}
||
d<||
d<||
d<||
d<d|
d<||}d}|
|du}
|j|||	|
i|
d<||
d	<d|
d
<d|
d<d|
d<d
|
d<t|
d<t|
d<t|
d<||
d<|r|jdi|t	t
|j
||||||y)NrrrrF_mock_sealedTr_mock_wrapsr_mock_called_mock_call_argsr_mock_call_count_mock_call_args_list_mock_mock_callsr_mock_unsafer )rl_mock_add_specrconfigure_mockrrrA)rPrrrxrrrrrrrrrRrls              r"rAzNonCallableMock.__init__s*
 K==#) !%%.!"'2#$#( DHd*ID(,=yI%'!""'%)!"#( &*"#'(#$+4;'('0{#$#,; #) D)&)OT*33%x	
r!cn	t|}d|_d|_d|_d|_t|||yN)r>rrrrra)rPr<rc
inner_mocks    r"attach_mockzNonCallableMock.attach_mocks@	C#4(
"&
&*
# "
$(
!i&r!c*	|j||yr4)rrPrrs   r"
mock_add_speczNonCallableMock.mock_add_specs	N
	
D(+r!ct|rtd|dd}d}g}|{t|spt|tr|}nt	|}t|||}|xr|d}t
|}	|	D]*}
tt||
ds|j|
,|	}|j}||d<||d<||d<||d<||d<y)	Nz#Cannot spec a Mock object. [object=]r_spec_class	_spec_set_spec_signature
_mock_methods_spec_asyncs)r&rrir'r6rKdirrr)appendrl)rPrrrrrrr res	spec_listrrls            r"rzNonCallableMock._mock_add_specsT""%HPQ#RSSHTN$%""4j'(99FC!nc!fOD	I!
.&wtT4'@A ''-
.D=="- (&5"#$(!#/ r!c|j}|j|jj}|tur|j	|d}||_|S)N()rr)rrrr_get_child_mock)rPrs  r"__get_return_valuez"NonCallableMock.__get_return_valuesZ%%*%%22C'>&& D'C!$D
r!cj|j||j_y||_t||ddy)Nr&)rrrr)rPrs  r"__set_return_valuez"NonCallableMock.__set_return_value*s2*/4D,&+D#!$tT:r!z1The value to be returned when the mock is called.cH|jt|S|jSr4)rr6rs r"	__class__zNonCallableMock.__class__6s$#:r!rrrrrc|j}||jS|j}|8t|s-t	|t
st
|st|}||_|Sr4)rrrcallabler'rr9)rP	delegatedsfs   r"__get_side_effectz!NonCallableMock.__get_side_effectCs\''	)))

"
"N8B<"2y1-:K2B$&I!	r!cTt|}|j}|||_y||_yr4)	_try_iterrrr)rPrr0s   r"__set_side_effectz!NonCallableMock.__set_side_effectNs-% ''	%*D"$)I!r!rrc	|g}t||vry|jt|d|_d|_d|_t|_t|_t|_|rt|_
|rd|_|jjD]/}t|ts|t ur|j#|||1|j}t%|r||ur|j#|yyy)NFrr6)idr"rrrrrrrrrrrvaluesr'
_SpecState_deletedrr&)rPvisitedrrchildrs      r"rzNonCallableMock.reset_mockYs7?G
d8wr$x #+'k%K&-D#%)D"((//1	ZE%,0AW<[Y	Z
%%S!coNN7#'6!r!c	t|jdD]H\}}|jd}|j}|}|D]}t	||}t|||Jy)Nc*|djdS)Nr.)count)entrys r"<lambda>z0NonCallableMock.configure_mock.<locals>.<lambda>sq1Dr!)keyr@)sorteditemssplitpopr)ra)rPrRargvalrQfinalr-rBs        r"rzNonCallableMock.configure_mockwsv	,v||~$E	F
	%HC
99S>DHHJEC
*c5)
*C$
	%r!c
|dvrt||j$||jvs|tvr$td|zt|rt||jsD|jr||jvr*|jds|tvrt|d|dtj5|jj|}|turt||Jd}|jt|j|}|j|||||}||j|<nat|t rQ	t#|j$|j&|j(|j*|j,}||j|<ddd|S#t.$r6|j0dxs|}t/d|d	|d
|d|j$d	wxYw#1swYSxYw)
N>rrzMock object has no attribute %r)assertassretasertaseertassrtz6 is not a valid assertion. Use a spec for the mock if z is meant to be an attribute.)rrxrrrrCannot autospec attr 
 from target , as it has already been mocked out. [target=, attr=r)rEr_all_magicsrr
startswith_ATTRIB_DENY_LISTr_lockrrmr;r	r)r(r'r:r	rrrZrrxrrl)rPrxrwrtarget_names     r"rzNonCallableMock.__getattr__s44 &&



+4---1D$%F%MNN
t_ &&  $*<*<DL^L^@^OPTX\mTm$h''+h.KMNN
"
"	4((,,T2F!$T**##/$D$4$4d;E--d%4 $..4##D)FJ/
D,V__foo

v{{F.4##D);	4>
(D"&--"="EK*/x}&/*##'('&++CDDD/	4>
s&6BGAFG?GGG(c||jg}|j}|}d}|dgk(rd}|B|}|j|j|zd}|jdk(rd}|j}|Btt	|}|j
xsd}t
|dkDr|ddvr|dz
}||d<dj|S)Nr@r&rr<r)r&z().r)rrr"rgreversedrrjoin)rP
_name_listrlastdot_firsts      r"_extract_mock_namez"NonCallableMock._extract_mock_names))*
''$C!Dg44s:;C%%-..G!(:./
*Fz?Q!}M1#

1
wwz""r!c|j}d}|dvrd|z}d}|j)d}|jrd}||jjz}dt	|j||dt|dS)	Nr)r<zmock.z name=%rz spec=%rz spec_set=%r<z id='z'>)rbrrrr6r8)rPrxname_stringspec_strings    r"rzNonCallableMock.__repr__s&&((($t+K'$K~~,%(8(8(A(AAKJtH	
	
r!c	tstj|S|jxsg}t	t|}t
|j}|jjDcgc]\}}|tur|}}}|Dcgc]}|jdr|}}|Dcgc] }|jdrt|r|"}}tt||z|z|zScc}}wcc}wcc}w)Nr#)robject__dir__rr!r6rgrlrrFr;rWrrEset)rPextras	from_type	from_dictm_namem_valuefrom_child_mockses        r"rizNonCallableMock.__dir__sF>>$''##)rT
O	'	*.*=*=*C*C*E(&vwh&
((!*C1c1BQC	C )#1c1Bq\#	#c&9,y8;KKLMM(D#s3C3C9%C9/%C>c |tvrtj||Sjr6j*|jvr|j
vrt
d|z|tvrd|z}t
||tvrj|jvrt
d|zt|s)tt|t|||fd}n^t|d|tt|||j|<n*|dk(r|_yt|||r|j|<j r/t#|s#j%d|}t
d|tj||S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.cg|i|Sr4r )rQkwrvrPs  r"rCz-NonCallableMock.__setattr__.<locals>.<lambda>sHT,GD,GB,Gr!r-r@zCannot set )rrh__setattr__rrrlrE_unsupported_magicsrVr&rar6_get_methodrrrrr(rb)rPrxrmsg	mock_namervs`    @r"ruzNonCallableMock.__setattr__s>!%%dD%88nn!3!3!?***

% !Dt!KLL
(
(BTIC %%
[
 !!-$d>P>P2P$%H4%OPP$U+T
D+dE*BC G&dE4>T
D%0,1##D)
[
 $D$T5$=,1##D)WT4%82245Qtf=I ;yk!:;;!!$e44r!c|tvr;|t|jvr$tt||||jvry|jj|t}||jvr tt|j|n|turt||tur
|j|=t|j|<yr4)rVr6rldelattrrrm_missingrr__delattr__r;rE)rPrxr-s   r"r}zNonCallableMock.__delattr__&s;44:+>+>#>DJ%4==(!!%%dH54== .::4@
H_ &&h##D)$,D!r!c<|jxsd}t|||Sr;)r_format_call_signaturerPrQrRrxs    r"_format_mock_call_signaturez+NonCallableMock._format_mock_call_signature8s(&%dD&99r!cpd}|j||}|j}|j|}||||fzS)Nz.expected %s not found.
Expected: %s
Actual: %s)rr)rPrQrRactionmessageexpected_stringr
actual_strings        r"_format_mock_failure_messagez,NonCallableMock._format_mock_failure_message=sFD::4HNN	888)D
&/=AAAr!c"	|s|jSd}|jddjd}|j}|D]K}|j	|}|t|tr|St|}|j}|j}M|S)Nr&rr@)rreplacerGrrmr'r:r>)rPrxrSnameschildrenr=s      r"_get_call_signature_from_namez-NonCallableMock._get_call_signature_from_nameEs		'''T2&,,S1&&
	,DLL&E}
5* =
	&e, //++
	,
r!cx	t|tr#t|dkDr|j|d}n|j}|Pt|dk(rd}|\}}n|\}}}	|j
|i|}t
||j|jS|S#t$r}|jdcYd}~Sd}~wwxYw)Nrrr)r'rhrrrrOrrQrR	TypeErrorwith_traceback)rP_callrSrxrQrR
bound_callrqs        r"
_call_matcherzNonCallableMock._call_matcherfs	eU#E
Q44U1X>C&&C?5zQ$f%*"dF
.%SXXt6v6
D*//:3D3DEEL
.''--
.s 2B	B9B4.B94B9c	|jdk7r<d|jxsdd|jd|j}t|y)Nr
Expected 'r<z"' to not have been called. Called  times.rr_calls_reprAssertionErrorrPrxs  r"rz!NonCallableMock.assert_not_calledsN	??aoo//oo&&(*C!%% r!c`	|jdk(rd|jxsdz}t|y)Nrz"Expected '%s' to have been called.r<)rrrrs  r"rzNonCallableMock.assert_calleds9	??a7OO-v/C %% r!c	|jdk(s<d|jxsdd|jd|j}t|y)Nrrr<z#' to have been called once. Called rrrs  r"rz"NonCallableMock.assert_called_oncesN	!#oo//oo&&(*C!%%$r!cF	j'j}d}d|d|}t|fd}jt	fd}jj}||k7r%t|tr|nd}t||y)Nznot called.z#expected call not found.
Expected: 	
Actual: c,j}|Sr4rrxrQrRrPs r"_error_messagez:NonCallableMock.assert_called_with.<locals>._error_messages33D&ACJr!Ttwo)rrrr_Callr'	Exception)rPrQrRexpectedactual
error_messagercauses```     r"r~z"NonCallableMock.assert_called_withs	3>>!77fEH"F)M //	%%eT6N&EF##DNN3X *8Y ?HTE !12=r!c	|jdk(s<d|jxsdd|jd|j}t||j|i|S)Nrrr<z' to be called once. Called r)rrrrr~rPrQrRrxs    r"rz'NonCallableMock.assert_called_once_withsa	)!#oo//oo&&(*C!%%&t&&777r!c		|Dcgc]}j|}}td|Dd}tfdjD}|sv||vrq|d}n1dj	|Dcgc]}t|tr|ndc}}t|dt|jdjd|yt|}g}	|D]}
	|j|
|	r,tjxsd	d
t|	d|d|ycc}wcc}w#t$r|	j|
YlwxYw)
Nc3BK|]}t|ts|ywr4r'r.0rqs  r"	<genexpr>z3NonCallableMock.assert_has_calls.<locals>.<genexpr>FAZ9-EaFc3@K|]}j|ywr4rrcrPs  r"rz3NonCallableMock.assert_has_calls.<locals>.<genexpr>sMd003MzCalls not found.z+Error processing expected calls.
Errors: {}
Expected: Actual)prefixr@r<z does not contain all of z in its call list, found z instead)rrrrformatr'rrrrstriprgremoverGr"rrh)rPcalls	any_orderrrr	all_callsproblemrq	not_foundkalls`          r"rz NonCallableMock.assert_has_callss	1499aD&&q)99FFMMT__MM	y(=0G ,-3V-5$7()*4Ay)AAt$K$7.8%i !!*5!1 2''x'8??DEG	

O			'D
'  &	'
 &*oo&?&?&+I&6	C	
7:$7
'  &
'sD,D$D))EEc$	|jt||fd}t|tr|nd}|jDcgc]}|j|}}|s
|t|vr!|j
||}td|z|ycc}w)NTrz%s call not found)rrr'rr_AnyComparerrrrPrQrRrrrrrs        r"rzNonCallableMock.assert_any_calls	,
%%eT6N&EF&x;151D1DEA$$$Q'EEHL$88">>tVLO #o5
9FB
cL	|jr,d|vrd|dnd}|j|z}t||jd}||jdvrtdi|St
|}t|tr|tvrt
}nt|tr0|tvs|jr||jvrt}nTt
}nMt|ts.t|trt}n&t|trt }n|j"d}di|S)Nrxr@r&rr rr )rrbrErmrlr
r6r5r_async_method_magicsr_all_sync_magicsr
CallableMixinr
rrrk)rPrtrcryr_typeklasss       r"r(zNonCallableMock._get_child_mocks		!,2bL!BvJ<(dI//1I=I ++FF;'	

n55?r?"T
eY'I9M,ME
~
.--&&98J8J+J!!E=1%!56!E?3MM!$E{r{r!cV	|jsyd|dt|jdS)Nr
z: r@)rr)rPrs  r"rzNonCallableMock._calls_repr"s2	F82i89;;r!)NNNNNNrNFNFF)FFr4)r)Calls).rrrrrYrrArrr"_NonCallableMock__get_return_value"_NonCallableMock__set_return_value"_NonCallableMock__return_value_docrrr-rrrrrr!_NonCallableMock__get_side_effect!_NonCallableMock__set_side_effectrrrrrbrrirur}rrrrrrrr~rrrr(rr r!r"rrsM*
GE=AEI<A(>BEI<A*
Z',@E!&0B
;M.0B.0L  
"(
+F%l3J$[1I)*:;N%l3J	*,.?@K$u%$<%,-`#6
*N$$5N-$:
BB6&&&>,	8*Z
 #L
<r!rassert_ceZdZ	dZy)rc	x|D]/}tt||Dcgc]
\}}||k(c}}s/yycc}}w)NTF)allzip)rPitemrrrs     r"rz_AnyComparer.__contains__<sN	E(+D%(8$HfF"
	s6N)rrrrr r!r"rr7sr!rcx||St|r|St|r|S	t|S#t$r|cYSwxYwr4)r9rerrr,s r"r4r4GsJ
{
S
~
Cy
s
+99c
FeZdZddedddddddf
dZdZdZdZdZdZ	y)	rNrc
||jd<tt|j|||||||	|
fi|||_y)Nr)rlrrrAr)rPrrrrrxrrrrrrRs            r"rAzCallableMixin.__init__XsN/;

*+1M4(11%xK	
39	

'r!cyr4r rs   r"rWzCallableMixin._mock_check_sigdsr!cn|j|i||j|i||j|i|Sr4)rW_increment_mock_call
_mock_callrs   r"rDzCallableMixin.__call__isD	d-f-!!!4262t///r!c&|j|i|Sr4)_execute_mock_callrs   r"rzCallableMixin._mock_callqs&t&&777r!cd|_|xjdz
c_t||fd}||_|jj||jdu}|j}|j}|dk(}|jjtd||f|j}||rI|jjt|||f|jdu}|r|jdz|z}t|||f}	|jj|	|jr(|rd}
nd}
|jdk(}|j|
z|z}|j}|yy)NTrrr&rr@)rrrrrr"rrrrrr)rPrQrRrdo_method_callsmethod_call_namemock_call_name	is_a_callrthis_mock_callr`s           r"rz"CallableMixin._increment_mock_calltso1
tVn$/""5)++47??,,"d*	ub$%789++%((//7Gv6V0WX"-":":$"F"'2'='='CFV'V$#ND&#ABN"")).9))CC'66$>	!,!;!;c!AN!R&66K-%r!c2|j}|Bt|r|t|st|}t|r
|||i|}|tur|S|j
tur|jS|j|j|i|S|jSr4)rr9rerrrrr	)rPrQrReffectrws     r"rz CallableMixin._execute_mock_calls!!V$v&f ( L00W$
""'1$$$'#4##T4V44   r!)
rrrrrArWrDrrrr r!r"rrVs8 d$d!RT	'
08,7\!r!rceZdZy)rNrr r!r"rrs7r!rc:d}|D]}||vst|dy)N)	autospect	auto_specset_specz5 might be a typo; use unsafe=True if this is intended)RuntimeError)kwargs_to_checktypostypos   r"_check_spec_arg_typosrs62E?"(OP
r!ceZdZdZgZdddZdZdZdZe	jdZd	Zd
Z
dZdZd
ZdZdZy)_patchNFrc
p| |turtd|td|
st|	t|rt	d|d|dt|rt	d|d|d||_||_||_||_||_	||_
d|_||_||_
|	|_g|_y)Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherzCannot spec attr z0 as the spec has already been mocked out. [spec=rz? as the spec_set target has already been mocked out. [spec_set=F)rrGrr&rgetterrcrnew_callablercreate	has_localrautospecrRadditional_patchers)rPrrcrrrrrrrRrs           r"rAz_patch.__init__	s#'! B# G!&)T""#I=166:XQ@A
AX&"#I=1AAIAOP
P"(	 
 
#% r!cft|j|j|j|j|j
|j|j|j|j	}|j|_
|jDcgc]}|jc}|_|Scc}wr4)
rrrcrrrrrrrRattribute_namercopy)rPpatcherps   r"rz_patch.copy.sKK499KKMM4,,dkk

"&!4!4"66'
AFFH'
#'
s
B.ct|tr|j|Stj|r|j|S|j
|Sr4r'r6decorate_classr*rdecorate_async_callabledecorate_callable)rPr1s  r"rDz_patch.__call__;sMdD!&&t,,&&t,//55%%d++r!ct|D]^}|jtjs#t	||}t|ds<|j
}t||||`|SNrD)r!rWrTEST_PREFIXr)r(rra)rPrr
attr_valuers     r"r
z_patch.decorate_classCsfJ		6D??5#4#45 -J:z2iikGE4!45		6r!c#RKg}tj5}|jD]U}|j|}|j|j|2|jtusE|j|W|t|z
}||fdddy#1swYyxYwwr4)

contextlib	ExitStack	patchings
enter_contextrupdaterrr"rh)rPpatchedrQkeywargs
extra_args
exit_stackpatchingrIs        r"decoration_helperz_patch.decoration_helperQs


!
!
#		#z#--
+ ..x8**6OOC(\\W,%%c*
+
E*%%D""		#		#		#s#B'AB+'B	B'B$ B'ctdrjjStfdg_S)Nrclj||5\}}|i|cdddS#1swYyxYwr4rrQrnewargsnewkeywargsr1rrPs    r"rz)_patch.decorate_callable.<locals>.patchedfsB''(,(02
55Kg{W44
5
5
5s*3r(rr"rrPr1rs``@r"rz_patch.decorate_callable`sK4%NN!!$'K	t	5
	5"Fr!ctdrjjStfdg_S)NrcKj||5\}}|i|d{cdddS7
#1swYyxYwwr4rr s    r"rz/_patch.decorate_async_callable.<locals>.patchedwsS''(,(02
;5Kg{!7:k::
;
;;
;
;s#A646
A6?Ar#r$s``@r"rz_patch.decorate_async_callableqsK4%NN!!$'K	t	;
	;"Fr!cH|j}|j}t}d}	|j|}d}|tvrt|trd|_
|js|turt	|d|||fS#tt
f$rt
||t}YiwxYw)NFTz does not have the attribute )rrcrrlrEKeyErrorr)	_builtinsr'rr)rPtargetrxrvlocals     r"get_originalz_patch.get_originals~~	t,HE9FJ!?DK{{x72 7=tD
)	6vtW5H	6sA>> B! B!c	|j|j|j}}}|j|j}}|j
}|j
|_|durd}|durd}|durd}|
|td|||dvrtd|j\}}|turd|ad}	|dur|}|dur|}d}n|	|dur|}d}n|dur|}||%|turtdt|trd}	|t|rt}
nt}
i}||}
n@||<|}||}t!|rd|v}
nt#|}
t|rt}
n|
rt$}
|||d<|||d	<t|
tr+t'|
t(r|j*r|j*|d
<|j-||
di|}|	rFt/|r:|}||}t!|st1|st$}
|j3d
|
d|dd||_n||turtd
|turtdt7|}|dur|}t/|jr)t9d|j*d|jd|dt/|rMt;|jd|j}t9d|j*d|d|jd|d	t=|f||j*d|}n
|rtd|}||_||_ tCjD|_#	tI|j|j*||jJui}|jtur|||jJ<|jLD]A}|jFjO|}|jtus1|j-|C|S|S#|jPtSjTsYyxYw)NFzCan't specify spec and autospec)TNz6Can't provide explicit spec_set *and* spec or autospecTz!Can't use 'spec' with create=TruerDrrrxr&r'zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=TruerRz: as the patch target has already been mocked out. [target=rUrrrSrT)r_namez.Can't pass kwargs to a mock we aren't creatingr )+rrrrrRrrr*rr,rr'r6r.r
rrir/r
r5rrcrr&rorHrboolrr)r	
temp_originalis_localrr_exit_stackrarrr__exit__sysexc_info)rPrrrrrRrrvr+inheritKlass_kwargs	this_specnot_callablerZnew_attrrrrIs                   r"	__enter__z_patch.__enter__sr "hh		4==8T==$++&((kkm5=DuHuH 4=>>

!5L(TUU++-%'>h.Gt|t#'HD!t##HDT!#8#7w&#$GHHh-"G|
h 7!!G'$!X%9 	' (II&#-Y#>L'/	':#:L +%E!0E"&#&.
#5$'5/2t~~"&..NN6""'"C,S1!	' (I +&y10EF##($4SD$4+2$4 

!'!(7" GHHH~H4# -&+DNN+=>#{{oWXLCDD!*%dkk:t{{K&+DNN+=]"o&#{{oWXLCDD
"(BX(,B:@BC
LMM%
%//1	DKK:"".
88w&7:Jt223 $ 8 8/H**88BC||w."))#./"!J	 4==#,,.12s3BOOO$O=c	|jr>|jtur,t|j|j
|jnt
|j|j
|jsYt|j|j
r|j
dvr+t|j|j
|j|`|`|`|j}|`	|j|S)N)r]rr___annotations__r`)r1r0rrar*rcr{rr(r2r3)rPr5rs   r"r3z_patch.__exit__,s==T//w>DKK1C1CDDKK0;;T^^(L+==T^^T5G5GHMK%%
"z""H--r!c^	|j}|jj||Sr4)r<_active_patchesr"rPrws  r"startz_patch.startAs*;!##D)
r!c		|jj||jdddS#t$rYywxYwr4)r@rrGr3rs r"stopz_patch.stopHsG#	  ''-
}}T4..			s1	==)rrrrr@rArrDr
rcontextmanagerrrrr,r<r3rBrDr r!r"rrsgNOAF"&J
,##""0Pd.*/r!rc	|jdd\}}t	t
j||fS#tttf$rtd|wxYw)Nr@rz,Need a valid target to patch. You supplied: )rsplitrrGrErpkgutilresolve_name)r*rcs  r"_get_targetrJTsjG"MM#q1	7''0);;
z>2G:6*EG	GGs	3#Arcx	tturtdfd}
t|
||||||||	|
S)Nz3 must be the actual object to be patched, not a strcSr4r r*sr"rCz_patch_object.<locals>.<lambda>ssVr!r)r6strrr)r*rcrrrrrrrrRrs`          r"
_patch_objectrO]sX
F|sjKL
	
F	3f(L&r!c	tturttj}nfd}|stdt
|j}|d\}	}
t||	|
|||||i	}|	|_	|ddD]:\}	}
t||	|
|||||i	}|	|_	|jj|<|S)NcSr4r rMsr"rCz!_patch_multiple.<locals>.<lambda>sr!z=Must supply at least one keyword argument with patch.multiplerr)r6rNrrHrIrGrgrFrrrr")
r*rrrrrrRrrFrcrrthis_patchers
`            r"_patch_multiplerSzs(F|s--v6K
	

 E1XNIs	3fh,G'G)9	3IsD&(lB
'0###**<8
9Nr!cJ	t|\}	}
t|	|
||||||||
S)Nr)rJr)r*rrrrrrrrRrrcs           r"rrs=FN$F+FI	3f(L&r!cReZdZ	d
dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)_patch_dictc||_t||_|jj|||_d|_yr4)in_dictdictr9rclear	_original)rPrXr9rZrRs     r"rAz_patch_dict.__init__s46l6"
r!ct|tr|j|Stj|r|j|S|j
|Sr4r	)rPfs  r"rDz_patch_dict.__call__#sMa&&q))&&q)//22%%a((r!c2tfd}|S)Ncj	|i|jS#jwxYwr4rV
_unpatch_dictrQrtr]rPs  r"_innerz-_patch_dict.decorate_callable.<locals>._inner,s8
%$~"~""$""$s+=rrPr]rcs`` r"rz_patch_dict.decorate_callable+ 	q	%
	%
r!c2tfd}|S)NcKj	|i|d{jS7#jwxYwwr4r`rbs  r"rcz3_patch_dict.decorate_async_callable.<locals>._inner8sD
%^^+""$,""$s%A757A7A		Ardres`` r"rz#_patch_dict.decorate_async_callable7rfr!ct|D]{}t||}|jtjs/t|ds<t
|j|j|j}||}t|||}|Sr)r!r)rWrrr(rVrXr9rZra)rPrrr	decorator	decorateds      r"r
z_patch_dict.decorate_classCstJ	0D -J 1 12Z0'dkk4::N	%j1	tY/
	0r!c<	|j|jSr4)rVrXrs r"r<z_patch_dict.__enter__Ns||r!c|j}t|jtr$t	j
|j|_|j}|j}	|j}||_	|rt|	|j|y#t$ri}|D]
}||||<YCwxYw#t$r|D]
}||||<YywxYwr4)r9r'rXrNrHrIrZrrEr[_clear_dictr)rPr9rXrZrvrDs      r"rVz_patch_dict._patch_dictTsdllC("//=DL,,

	-||~H" 	+NN6"	-H
- '

-		-	+
+%c{
+	+s$$B	B;B87B8;CCc|j}|j}t|	|j|y#t$r|D]
}||||<YywxYwr4)rXr[rnrrE)rPrXrvrDs    r"raz_patch_dict._unpatch_dictpsX,,>>G	-NN8$	-
-'}
-	-s7AAc>	|j|jyNF)r[ra)rPrQs  r"r3z_patch_dict.__exit__}s>>% r!cf	|j}tjj||Sr4)r<rr@r"rAs  r"rBz_patch_dict.starts*;!%%d+
r!c		tjj||j	dddS#t$rYywxYwr4)rr@rrGr3rs r"rDz_patch_dict.stopsG#	""))$/
}}T4..			s5	AAN)r F)rrrrArDrrr
r<rVrar3rBrDr r!r"rVrVs>8)		+8
-/r!rVcn	|jy#t$rt|}|D]}||=YywxYwr4)rZrErg)rXkeysrDs   r"rnrns>

G}	C	s44cb	ttjD]}|jyr4)r\rr@rD)rs r"_patch_stopallrws(A&001

r!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 pow c#&K|]	}d|zyw)zi%sNr rns  r"rrs75197c#&K|]	}d|zyw)zr%sNr r{s  r"rrs5q5r}>ri__get____set__r
__delete__
__format__r__missing____getstate____reversed____setstate__
__getformat__
__reduce_ex____getnewargs____subclasses____getinitargs____getnewargs_ex__c"	fd}||_|S)Nc|g|i|Sr4r )rPrQrtr1s   r"methodz_get_method.<locals>.methodsD&4&2&&r!)r)rxr1rs ` r"rwrws@'FOMr!r>	__aexit__	__anext__
__aenter__	__aiter__>__del__rrAr__prepare__ru__instancecheck____subclasscheck__c,tj|Sr4)rh__hash__rs r"rCrCsV__T2r!c,tj|Sr4)rh__str__rs r"rCrCsFNN40r!c,tj|Sr4)rh
__sizeof__rs r"rCrCsv006r!cjt|jd|jdt|S)N/)r6rrbr8rs r"rCrCs5$t*"5"5!6a8O8O8Q7RRSTVW[T\S]^r!)rrr
__fspath__ry?g?)
__lt____gt____le____ge____int__r__len__r3__complex__	__float____bool__	__index__rcfd}|S)NcZjj}|tur|S|urytSr@)__eq__rrNotImplemented)otherret_valrPs  r"rz_get_eq.<locals>.__eq__s/++00'!N5=r!r )rPrs` r"_get_eqrsMr!cfd}|S)Nc^jjturtS|urytSrq)__ne__rrr)rrPs r"rz_get_ne.<locals>.__ne__s*;;))8N5=r!r )rPrs` r"_get_ner
sMr!cfd}|S)Ncljj}|turtgSt|Sr4)__iter__rrrrrPs r"rz_get_iter.<locals>.__iter__s/--22g8OG}r!r )rPrs` r"	_get_iterrsOr!cfd}|S)Ncjj}|turtt	gStt	|Sr4)rrr_AsyncIteratorrrs r"rz"_get_async_iter.<locals>.__aiter__!s8..33g!$r(++d7m,,r!r )rPrs` r"_get_async_iterr s-
r!)rrrrctj|t}|tur||_ytj|}|||}||_yt
j|}||||_yyr4)_return_valuesrmrr_calculate_return_value_side_effect_methodsr)r<rrxfixedreturn_calculatorr
side_effectors       r"_set_return_valuer1s{tW-EG#/33D9$(.*(,,T2M *40!r!ceZdZdZdZy)
MagicMixinc|jtt|j|i||jyr4)_mock_set_magicsrrrA)rPrQrts   r"rAzMagicMixin.__init__Ds6.J%..;;r!c	zttz}|}t|ddU|j|j}t}||z
}|D]&}|t
|jvst||(|tt
|jz
}t
|}|D]}t||t||y)Nr)_magicsrr)intersectionrrjr6rlr{ra
MagicProxy)rPorig_magicsthese_magics
remove_magicsrBrs      r"rzMagicMixin._mock_set_magicsJs 44"4$/;&33D4F4FGLEM',6M&
)DJ///D%(
)$c$t**=*=&>>T
!	;EE5*UD"9:	;r!N)rrrrArr r!r"rrCs ;r!rceZdZ	ddZy)r
cJ	|j|||jyr4rrrs   r"rz"NonCallableMagicMock.mock_add_specd&	N
	
D(+r!Nrrrrrr r!r"r
r
bs
7 r!r
ceZdZy)AsyncMagicMixinNrr r!r"rrnsr!rceZdZ	ddZy)rcJ	|j|||jyr4rrs   r"rzMagicMock.mock_add_spec}rr!Nrrr r!r"rrrs	 r!rc eZdZdZdZddZy)rc ||_||_yr4rxr)rPrxrs   r"rAzMagicProxy.__init__s	r!c|j}|j}|j|||}t|||t	||||S)N)rxrr)rxrr(rar)rPrBrms    r"create_mockzMagicProxy.create_mocksM		""/5
#
7q!&!U+r!Nc"|jSr4)r)rPr-rs   r"rzMagicProxy.__get__s!!r!r4)rrrrArrr r!r"rrs"r!rceZdZedZedZedZfdZdZdZ	dZ
dZd	Zd
Z
ddZdZfd
ZxZS)rrrrctj|i|tjj|j
d<d|j
d<d|j
d<t
|j
d<tt}t|j
d<t|j
d<tjtjztjz|_d|_d	|_d|_d|_||j
d
<d|j
d<t)|j
d
<i|j
d<d|j
d<y)Nrr_mock_await_count_mock_await_args_mock_await_args_listrrr)rQrRr0r
rr_r`r>)superrArrrrlrr_CODE_ATTRSr	_CODE_SIGr*CO_COROUTINE
CO_VARARGSCO_VARKEYWORDSco_flagsco_argcountco_varnamesco_posonlyargcountco_kwonlyargcountrh)rPrQrR	code_mockr-s    r"rAzAsyncMockMixin.__init__s)$)&)*1););)I)I

o&-.

)*,0

()1:

-.#[9	,4	=)09	,-    
!$$
%	
!"	 2	'(	$&'	#$-

j!$/

j!(-

n%*,

&'+/

'(r!cKt||fd}|xjdz
c_||_|jj	||j
}|_t
|r|t|s	t|}t
|r&|t|r||i|d{}n||i|}|tur|S|jtur|jS|jAt|jr|j|i|d{S|j|i|S|jS#t$rtwxYw777w)NTrr)rrrrr"rr9rer
StopIterationStopAsyncIterationrrrrr	)rPrQrRrrrws      r"rz!AsyncMockMixin._execute_mock_callsTtVn$/A##E*!!V$v&-!&\F
!( L$V,%t6v6600W$
""'1$$$'"4#3#34-T--t>v>>>#4##T4V44   -%--,-7?s=A-E0D-;#EEA+E
E"E-D==EEcb	|jdk(rd|jxsdd}t|y)Nr	Expected r<z to have been awaited.rrrrs  r"rzAsyncMockMixin.assert_awaiteds@	q doo788NOC %%!r!c|	|jdk(s,d|jxsdd|jd}t|yNrrr<z$ to have been awaited once. Awaited rrrs  r"rz"AsyncMockMixin.assert_awaited_oncesR	1$t8&9:#//09C %%%r!c:	j!j}td|dfd}jt	fd}jj}||k7r%t|tr|nd}t||y)NzExpected await: z
Not awaitedc0jd}|S)Nawait)rrrs r"rz:AsyncMockMixin.assert_awaited_with.<locals>._error_message	s33D&3QCJr!Tr)rrrrrr'r)rPrQrRrrrrs```    r"rz"AsyncMockMixin.assert_awaited_withs	??"77fEH #3H:]!KLL	%%eT6N&EF##DOO4X *8Y ?HTE !12=r!c	|jdk(s,d|jxsdd|jd}t||j|i|Sr)rrrrrs    r"rz'AsyncMockMixin.assert_awaited_once_with	se	1$t8&9:#//09C %%'t''888r!c$	|jt||fd}t|tr|nd}|jDcgc]}|j|}}|s
|t|vr!|j
||}td|z|ycc}w)NTrz%s await not found)rrr'rrrrrrs        r"rzAsyncMockMixin.assert_any_await	s	%%eT6N&EF&x;151E1EFA$$$Q'FFHL$88">>tVLO $6
9Grc	B	|Dcgc]}j|}}td|Dd}tfdjD}|sb||vr]|d}n1dj	|Dcgc]}t|tr|ndc}}t|dt|dj|yt|}g}	|D]}
	|j|
|	rtt|	d|ycc}wcc}w#t$r|	j|
YXwxYw)Nc3BK|]}t|ts|ywr4rrs  r"rz3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>1	rrc3@K|]}j|ywr4rrs  r"rz3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>2	sSt11!4SrzAwaits not found.z,Error processing expected awaits.
Errors: {}rrz not all found in await list)
rrrrrr'rrrgrrGr"rh)rPrrrrr
all_awaitsrrqrrs`          r"rz AsyncMockMixin.assert_has_awaits$	s`
	499aD&&q)99FFMSd>R>RSS
z)=1G ,-3V-5$7()*4Ay)AAt$K$7.8%i !!*5!1 23#3346	

*%
		'D
'!!$'	'
 49)4DF
7:$7
'  &
'sC7,C<	DDDc|	|jdk7r,d|jxsdd|jd}t|y)Nrrr<z# to not have been awaited. Awaited rrrs  r"rz!AsyncMockMixin.assert_not_awaitedP	sR	q t8&9:#//09C %%!r!cv	tj|i|d|_d|_t	|_yNr)rrrrrr)rPrQrRr-s   r"rzAsyncMockMixin.reset_mockY	s:		D+F+({r!r)rrrrrrrrArrrrrrrrr
__classcell__)r-s@r"rrs[&}5K%l3J*+<=O0<&!P&&>$	9*X&++r!rceZdZy)r
Nrr r!r"r
r
c	s'r!r
c eZdZ	dZdZdZy)_ANYcyr@r rPrs  r"rz_ANY.__eq__	sr!cyrqr r
s  r"rz_ANY.__ne__	sr!cy)Nz<ANY>r rs r"rz
_ANY.__repr__	sr!N)rrrrrrr r!r"rr	s8r!rc	d|z}d}dj|Dcgc]
}t|c}}dj|jDcgc]\}}|d|c}}}	|r|}|	r|r|dz
}||	z
}||zScc}wcc}}w)Nz%s(%%s)rz, =)r]reprrF)
rxrQrRrformatted_argsrIargs_stringrDr
kwargs_strings
          r"rr	s$GN))$73T#Y78KII17#-33M$d"N-'^##8sA>B
ceZdZ			d
dZ		ddZdZejZdZdZ	dZ
dZed	Z
ed
ZdZdZy)rNcnd}i}t|}|dk(r|\}}}nh|dk(r2|\}	}
t|	tr|	}t|
tr|
}n9|
}n6|	|
}}n1|dk(r,|\}t|tr|}nt|tr|}n|}|rtj	|||fStj	||||fS)Nr rr)rr'rNrhr)rrrxrr	from_kallrQrR_lenfirstseconds           r"rz
_Call.__new__	s5z19!&D$
QY!ME6%%fe,!D#F$ff
QYFE%%E5)==tVn55}}S4v"677r!c.||_||_||_yr4)rr_mock_from_kall)rPrrxrrrs      r"rAz_Call.__init__	s"(r!c"	t|}d}t|dk(r|\}}n|\}}}t|ddr't|ddr|j|jk7ryd}|dk(rdi}}n|dk(r|\}}}nv|dk(r5|\}	t|	tr|	}i}nXt|	tr|	}di}}nAd}|	}n<|dk(r6|\}
}t|
tr|
}t|tr|i}}nd|}}n|
|}}ny|r||k7ry||f||fk(S#t$r	tcYSwxYw)	NrrrFrr rr)rrrr)rr'rhrN)rPr	len_other	self_name	self_argsself_kwargs
other_name
other_argsother_kwargsrrrs            r"rz_Call.__eq__	sV	"E
I	t9>%)"I{04-Iy+D.$/GE>SW4X%%););;
>')2J
!^380J
L
!^FE%'"
!E3'"
+-rL

$
!^!ME6%%"
fe,/5rJ/16J+0&L
y0L)i-EEE_	"!!	"sC<<D
Dc|jtd||fdS|jdz}t|j||f||S)Nrr&rrrrrs    r"rDz_Call.__call__"
sH??""dF+$77%dootV44MMr!cr|j
t|dS|jd|}t||dS)NF)rxrr@)rxrrr()rPrrxs   r"rz_Call.__getattr__*
s6??"de44//40$tu==r!c^|tjvrttj||Sr4)rhrlrE__getattribute__)rPrs  r"r+z_Call.__getattribute__1
s'5>>!  %%dD11r!cDt|dk(r	|\}}||fS|\}}}||fS)Nr)rrs    r"_get_call_argumentsz_Call._get_call_arguments7
s:t9>LD&V|"&D$V|r!c(|jdSrr-rs r"rQz
_Call.args?
'')!,,r!c(|jdS)Nrr/rs r"rRz_Call.kwargsC
r0r!c|js(|jxsd}|jdrd|z}|St|dk(rd}|\}}n'|\}}}|sd}n|jdsd|z}nd|z}t	|||S)Nrr&zcall%srzcall.%s)rrrWrr)rPrxrQrRs    r"rz_Call.__repr__G
s##??,fDt$$Kt9>DLD&!%D$__T* 4'$%dD&99r!c	g}|}|,|jr|j||j}|,tt	|Sr4)rr"rrr\)rPvalsthings   r"	call_listz_Call.call_list\
sR	$$E"&&E$((r!)r rNFT)r NNFT)rrrrrArrhrrDrr+r-rrQrRrr6r r!r"rr	s|$:?8@>C)2Fj]]FN>2----:*
)r!r)rc		t|rt|}t|t}t|rt	d|dt|}d|i}	|rd|i}	n|i}	|	r|rd|	d<|st
||	j|t}
tj|ri}	n=|r|rtdt}
n't|st}
n|r|rt|st}
|	j!d|}|}|d	}|
d||||d
|	}t|t"rt%||}|rt'|nt)||||||s||j*|<|r|sd|vrt-||dd|
|_t1|D]}
t3|
r	t5||
}d|i}|rd|i}t|t"st9||||
|}||j*|
<n~|}t|t"r|j:}t=||
|}||d<t?|rt}nt}|d||
|
|d|}||j*|
<||_t)|||t|t"stA||
||S#t6$rYwxYw)Nz'Cannot autospec a Mock object. [object=rrrTrzJInstance can not be True when create_autospec is mocking an async functionrxr)rrrrxrr&)rZr.rr)rrxrr)rYr )!rir6r'r&rr2rrrr*isdatadescriptorrr
rer
rorHr=r{rr[rr	rr!rr)rEr:r<
_must_skiprra)rrrZrr.rrRis_type
is_async_funcr8r7rr<rBrvrrrYchild_klasss                   r"r	r	l
s,*~Dzt$G"**. 45	5"4(MtnGt$	
8'+#$f%NN6E%	 >?
?
t_$	X&8&>$KK&EI	(W	(&(D$
&dD)d#tWh78(,u%xN&$@+D(T26FT1&U	tU+H(# (+F(M2XxuhGC),D&F$
."48I"+F;"8,''(V%5*0( &(C*-D&*}CXsi@c=)D%%c1&fKG		sI++	I87I8c.	t|ts|t|divry|j}|jD]X}|j
j
|t}|tur,t|ttfryt|tr|cSy|S)NrlF)r'r6r)r-rkrlrmrrCrBr=)rrBr:rrws     r"r9r9
sdD!GD*b11~~##E73Wf|[9:


.NNr!ceZdZ		ddZy)r:NcX||_||_||_||_||_||_yr4)ridsrrrZrx)rPrrrrxr@rZs       r"rAz_SpecState.__init__s,	 
 
	r!)FNNNF)rrrrAr r!r"r:r:s
48/4r!r:cvt|trtj|Stj|Sr4)r'bytesioBytesIOStringIO)	read_datas r"
_to_streamrG-s*)U#zz)$${{9%%r!c	f	
	t}|dg

fd}
fd}
fd	
fd
fd}tVddl}tt	t|jjt	t|jat+ddl}tt	t|ja	|tdt}tt	j_
dj_
dj_
dj _
dj"_
|j_	
d
<
d
j _|j"_j&_|j(_	
fd}||_|_
|S)NcjjjjSdj|i|Sr)	readlinesrrQrR_statehandles  r"_readlines_side_effectz)mock_open.<locals>._readlines_side_effectCsC((4##000"vay""D3F33r!cjjjjSdj|i|Sr)readrrKs  r"_read_side_effectz$mock_open.<locals>._read_side_effectHs=;;##/;;+++vay~~t.v..r!c?`KEd{	dj|i|7wr)readline)rQrR_iter_side_effectrLs  r"_readline_side_effectz(mock_open.<locals>._readline_side_effectMs<$&&&$&)$$d5f55	's.,.c3Kjj	jjdD]}|ywr)rSr)linerLrMs r"rTz$mock_open.<locals>._iter_side_effectRsG??''3oo2221I	DJ	sAAcxjjjjStdSr)rSrr)rLrMsr"_next_side_effectz$mock_open.<locals>._next_side_effectYs1??''3??///F1Ir!ropen)rxr)rrctd<jjdk(rd<dj_tS)Nrr)rGrSrr)rQrRrUrLrMrFs  r"
reset_datazmock_open.<locals>.reset_dataysHy)q	??&&&)3-/F1I*0)FOO'r!)rG	file_spec_iorgrjr!
TextIOWrapperunionrD	open_specrZrr<rwriterPrSrJrrr)r<rF
_read_datarNrQrYr^r\rTrUrLrMs `      @@@@r"rr4s\
I&J$
F4
/
6
S!2!234::3s3;;?O;PQR	S]+,	|f95
I
&F$*F! $FLL#FKK#'FOO $(F!/FKK%'F1I"()FOO#9F "3FOO"3FOO"DDKr!c"eZdZ	dZddZdZy)rctdi|S)Nr )r)rPrRs  r"r(zPropertyMock._get_child_mocks"6""r!Nc|Sr4r )rPr-obj_types   r"rzPropertyMock.__get__s	v
r!c||yr4r )rPr-rJs   r"rzPropertyMock.__set__s	S	r!r4)rrrr(rrr r!r"rrs#r!rc	d|_t|D]d}	t||}t	|t
s!t	|jj|trK|j|usZt|fy#t$rYswxYwr@)rr!r)rEr'rrrmr:rr)r<rrs   r"rrsDD	
	d#A!_-a&&**40*=%G
		sA<<	BBceZdZ	dZdZy)rcz||_tt}tj|_||jd<y)Nrr0)iteratorrrr*CO_ITERABLE_COROUTINErrl)rPrlrs   r"rAz_AsyncIterator.__init__s/ 
#X6	$::	$-

j!r!c^K	t|jS#t$rYtwxYwwr4)rrlrrrs r"rz_AsyncIterator.__anext__s1	

&&	  	s--	*-*-N)rrrrArr r!r"rrs.!r!rr)NFNNN)FFNNr)__all__rrrCr*rr4builtinsrHrtypesrrr
unittest.utilr	functoolsrr	threadingrrrr!rWr)rrrr.r2r&r9r>rKr[rVreriror{rurrrhrrrrMISSINGr|DELETEDr;rrrgrrrrr	frozensetremoveprefixrXrr4rrrrrJrOrSrrVrnrwrYmultiplestopallr
magic_methodsnumericsr]rGinplaceright
_non_defaultsrwrr_sync_async_magics
_async_magicsrrVrvrrrrrrrrrrr
rrrrrFrArrr
rrrrhrrr	r9r:r6rr=r]rarGrrrr)rxrs00r"<module>rs&	

'22#$CyC"(mHd4??33GTH	

@2 F	#
&6."b>6)	)f	);


 &**(6
6
S
<dS
<nO$y!	i 
4
 d!Dd!P8=/8zL/VL/`
< 'Ttd&+:?C04.d$u4OCHOdV/&V/r

 

"K	((7hnn&67
75HNN$455
HHmXw
67==? Hv@!]$'99
]*.306^	" 	1$;;>	 :	 	j	 
D ,""$(mGgh&7&7>?	B+TB+J((V
6
f$$v)Ev)r
uCGJ*/JZ8				

		&Od4$0!!G\
IF LsN:3N:0)N?&O