Coverage for fastapi / dependencies / models.py: 100%
132 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
1import inspect 1abcd
2import sys 1abcd
3from collections.abc import Callable 1abcd
4from dataclasses import dataclass, field 1abcd
5from functools import cached_property, partial 1abcd
6from typing import Any, Literal 1abcd
8from fastapi._compat import ModelField 1abcd
9from fastapi.security.base import SecurityBase 1abcd
10from fastapi.types import DependencyCacheKey 1abcd
12if sys.version_info >= (3, 13): # pragma: no cover 1abcd
13 from inspect import iscoroutinefunction 1ab
14else: # pragma: no cover
15 from asyncio import iscoroutinefunction 1cd
18def _unwrapped_call(call: Callable[..., Any] | None) -> Any: 1abcd
19 if call is None: 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEb^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dafbf%hcfRcScTcS UcVcT WcU XcYcV ZcmeneoeAcF df! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%defff'hch(h: ; = ? @ [ ] ^ nj)h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvdgf,hhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifpejfqekfrelfsemftenfueofvepfweqfxerf-hsf.htf/huf:hvf;hwf=hxf?hyf@hzf[hAf]hBf^hCf_hDfyeoj`hEf{hFfMhzeNhOhPhQhAeRhGfBepjHfCeqj|hIf}hJfKfDeLfEeMfFeNfOf~hq aiPfbiQfRfci| YbZb0b1bdirjeiSffigie dhehfh'df TfhiiijiGekiUfliVfsjmiWftjniXfShujoiHeThUhYfpiZfIe) 0fghqihhriwdxd0c1c2c3c4c5c2b} 1f3b2f3f4f4 G 5 * b ydzdAd4b5b6b7bihjhkhlhmhnhohphqhFc(d)d*d+d,d-d5f6fsi7f6c7c8cW 9c!cX #cY $c%cZ 'cJeKeLeGcH 8f$ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^d9f!ftirhuiabbbcbdbebfbgbhbvjviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdId#fyi$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%fMe'fNe(fOe)fPe*fQe+fRe,fSe-fTe.fUe/fzi:fAi;fBi=fCi?fDi@fEi[fFi]fGi^fHi_fIi`fJi{fKi|fVewjLi}fMi~fVhWeWhXhYhZhXe0hagYexjbgZeyjNicgOidgeg0efg1egg2ehgigPiI x QijgRikglgSilb@b[b]b^bTizjUimgViWig shthuh_dh ngXiYiZi3e0iog1ipgAj2iqgBj3irg1hCj4i4e2h3hsg5itg5e+ ugvh6iwh7iJdKd(c)c*c+c,c-c_bmbvg`bwgxgyg6 J 7 , c d LdMdNd{b|b}b~bxhyhzhAhBhChDhEhFhLc`d{d|d}d~daezgAg8iBg.c/c:c0 ;c=c1 ?c2 @c[c3 ]c6e7e8eMcK Cg' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeDgEg9iGh!iobpbqbrbsbtbubvbDj#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVdFg'iGgy z A B C D hcicjckclcmcncocpcqcrcscybHg9eIg!eJg#eKg$eLg%eMg'eNg(eOg)ePg*eQg(iRg)iSg*iTg+iUg,iVg-iWg.iXg/iYg:iZg;i0g=i1g?i2g+eEj@i3g[i4g4h,e5h6h7h8h-e9h5g.eFj6g/eGj]i7g^i8g9g:e!g;e#g=e$g%g_iE `i'g{i(g)g|izbtcucvcwc}iHj~i*gajbji HhIhJhlej +gcjdjej?efj,ggj-gIjhj.gJjij/g!hKjjj@e#h$h:gkj;g[e- =gKhljLhmjWdXd^c_c`c{c|c}cxcAb?gyc@g[g]g8 L 9 .
20 return call # pragma: no cover
21 unwrapped = inspect.unwrap(_impartial(call)) 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEb^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dafbf%hcfRcScTcS UcVcT WcU XcYcV ZcmeneoeAcF df! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%defff'hch(h: ; = ? @ [ ] ^ nj)h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvdgf,hhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifpejfqekfrelfsemftenfueofvepfweqfxerf-hsf.htf/huf:hvf;hwf=hxf?hyf@hzf[hAf]hBf^hCf_hDfyeoj`hEf{hFfMhzeNhOhPhQhAeRhGfBepjHfCeqj|hIf}hJfKfDeLfEeMfFeNfOf~hq aiPfbiQfRfci| YbZb0b1bdirjeiSffigie dhehfh'df TfhiiijiGekiUfliVfsjmiWftjniXfShujoiHeThUhYfpiZfIe) 0fghqihhriwdxd0c1c2c3c4c5c2b} 1f3b2f3f4f4 G 5 * b ydzdAd4b5b6b7bihjhkhlhmhnhohphqhFc(d)d*d+d,d-d5f6fsi7f6c7c8cW 9c!cX #cY $c%cZ 'cJeKeLeGcH 8f$ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^d9f!ftirhuiabbbcbdbebfbgbhbvjviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdId#fyi$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%fMe'fNe(fOe)fPe*fQe+fRe,fSe-fTe.fUe/fzi:fAi;fBi=fCi?fDi@fEi[fFi]fGi^fHi_fIi`fJi{fKi|fVewjLi}fMi~fVhWeWhXhYhZhXe0hagYexjbgZeyjNicgOidgeg0efg1egg2ehgigPiI x QijgRikglgSilb@b[b]b^bTizjUimgViWig shthuh_dh ngXiYiZi3e0iog1ipgAj2iqgBj3irg1hCj4i4e2h3hsg5itg5e+ ugvh6iwh7iJdKd(c)c*c+c,c-c_bmbvg`bwgxgyg6 J 7 , c d LdMdNd{b|b}b~bxhyhzhAhBhChDhEhFhLc`d{d|d}d~daezgAg8iBg.c/c:c0 ;c=c1 ?c2 @c[c3 ]c6e7e8eMcK Cg' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeDgEg9iGh!iobpbqbrbsbtbubvbDj#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVdFg'iGgy z A B C D hcicjckclcmcncocpcqcrcscybHg9eIg!eJg#eKg$eLg%eMg'eNg(eOg)ePg*eQg(iRg)iSg*iTg+iUg,iVg-iWg.iXg/iYg:iZg;i0g=i1g?i2g+eEj@i3g[i4g4h,e5h6h7h8h-e9h5g.eFj6g/eGj]i7g^i8g9g:e!g;e#g=e$g%g_iE `i'g{i(g)g|izbtcucvcwc}iHj~i*gajbji HhIhJhlej +gcjdjej?efj,ggj-gIjhj.gJjij/g!hKjjj@e#h$h:gkj;g[e- =gKhljLhmjWdXd^c_c`c{c|c}cxcAb?gyc@g[g]g8 L 9 .
22 return unwrapped 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEb^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dafbf%hcfRcScTcS UcVcT WcU XcYcV ZcmeneoeAcF df! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%defff'hch(h: ; = ? @ [ ] ^ nj)h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvdgf,hhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifpejfqekfrelfsemftenfueofvepfweqfxerf-hsf.htf/huf:hvf;hwf=hxf?hyf@hzf[hAf]hBf^hCf_hDfyeoj`hEf{hFfMhzeNhOhPhQhAeRhGfBepjHfCeqj|hIf}hJfKfDeLfEeMfFeNfOf~hq aiPfbiQfRfci| YbZb0b1bdirjeiSffigie dhehfh'df TfhiiijiGekiUfliVfsjmiWftjniXfShujoiHeThUhYfpiZfIe) 0fghqihhriwdxd0c1c2c3c4c5c2b} 1f3b2f3f4f4 G 5 * b ydzdAd4b5b6b7bihjhkhlhmhnhohphqhFc(d)d*d+d,d-d5f6fsi7f6c7c8cW 9c!cX #cY $c%cZ 'cJeKeLeGcH 8f$ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^d9f!ftirhuiabbbcbdbebfbgbhbvjviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdId#fyi$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%fMe'fNe(fOe)fPe*fQe+fRe,fSe-fTe.fUe/fzi:fAi;fBi=fCi?fDi@fEi[fFi]fGi^fHi_fIi`fJi{fKi|fVewjLi}fMi~fVhWeWhXhYhZhXe0hagYexjbgZeyjNicgOidgeg0efg1egg2ehgigPiI x QijgRikglgSilb@b[b]b^bTizjUimgViWig shthuh_dh ngXiYiZi3e0iog1ipgAj2iqgBj3irg1hCj4i4e2h3hsg5itg5e+ ugvh6iwh7iJdKd(c)c*c+c,c-c_bmbvg`bwgxgyg6 J 7 , c d LdMdNd{b|b}b~bxhyhzhAhBhChDhEhFhLc`d{d|d}d~daezgAg8iBg.c/c:c0 ;c=c1 ?c2 @c[c3 ]c6e7e8eMcK Cg' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeDgEg9iGh!iobpbqbrbsbtbubvbDj#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVdFg'iGgy z A B C D hcicjckclcmcncocpcqcrcscybHg9eIg!eJg#eKg$eLg%eMg'eNg(eOg)ePg*eQg(iRg)iSg*iTg+iUg,iVg-iWg.iXg/iYg:iZg;i0g=i1g?i2g+eEj@i3g[i4g4h,e5h6h7h8h-e9h5g.eFj6g/eGj]i7g^i8g9g:e!g;e#g=e$g%g_iE `i'g{i(g)g|izbtcucvcwc}iHj~i*gajbji HhIhJhlej +gcjdjej?efj,ggj-gIjhj.gJjij/g!hKjjj@e#h$h:gkj;g[e- =gKhljLhmjWdXd^c_c`c{c|c}cxcAb?gyc@g[g]g8 L 9 .
25def _impartial(func: Callable[..., Any]) -> Callable[..., Any]: 1abcd
26 while isinstance(func, partial): 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEb^g_g`g{g|g}g~gahbhLjMjNjOjzcPjQjRjSjTjUjVjWjXjYjZj0jYdZd0d1d2d3dafbf%hcf1j2jRcScTcS UcVcT WcU XcYcV Zc3j4jmeneoeAcF df! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%defff'hch5j(h6j: ; = ? @ [ ] ^ nj)h7j8j9j!j*h#j$jFbodpdGbHbIb_ ` JbKb+h%jLbqdfdrdsdgdtdudvdgf,hhf'jk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifpejfqekfrelfsemftenfueofvepfweqfxerf-hsf.htf/huf:hvf;hwf=hxf?hyf@hzf[hAf]hBf^hCf_hDfyeoj`hEf{hFfMhzeNhOhPhQhAeRhGfBepjHfCeqj|hIf}hJfKfDeLfEeMfFeNf(jOf~hq aiPfbiQfRf)j*j+jci,j-j.j/j:j;j| YbZb0b1b=jdirjeiSffi?j@jgie dhehfh'df Tfhi[j]j^j_jiijiGekiUfliVf`jsjmiWf{jtjniXfSh|jujoiHeThUh}jYfpiZfIe) 0fghqihhriwdxd~j0c1c2c3c4c5cak2b} 1f3b2f3f4f4 G 5 bk* b ydzdAd4b5b6b7bihjhkhlhmhnhohphqhckdkekfkFcgkhkikjkkklkmknkokpkqkrk(d)d*d+d,d-d5f6fsi7fsktk6c7c8cW 9c!cX #cY $c%cZ 'cukvkJeKeLeGcH 8f$ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^d9f!ftirhwkuixkabbbcbdbebfbgbhbvjviykzkAkBkwiCkDk8bBdCd9b!b#bibjb$b%bxiEk'bDdhdEdFdidGdHdId#fyi$fFkr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%fMe'fNe(fOe)fPe*fQe+fRe,fSe-fTe.fUe/fzi:fAi;fBi=fCi?fDi@fEi[fFi]fGi^fHi_fIi`fJi{fKi|fVewjLi}fMi~fVhWeWhXhYhZhXe0hagYexjbgZeyjNicgOidgeg0efg1egg2ehgGkigPiI x QijgRikglgHkIkJkSiKkLkMkNkOkPklb@b[b]b^bQkTizjUimgViRkSkWig shthuh_dh ngXiTkUkVkWkYiZi3e0iog1ipgXkAj2iqgYkBj3irg1hZkCj4i4e2h3h0ksg5itg5e+ ugvh6iwh7iJdKd1k(c)c*c+c,c-c2k_bmbvg`bwgxgyg6 J 7 3k, c d LdMdNd{b|b}b~bxhyhzhAhBhChDhEhFh4k5k6k7kLc8k9k!k#k$k%k'k(k)k*k+k,k`d{d|d}d~daezgAg8iBg-k.k.c/c:c0 ;c=c1 ?c2 @c[c3 ]c/k:k6e7e8eMcK Cg' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeDgEg9iGh;k!i=kobpbqbrbsbtbubvbDj#i?k@k[k]k$i^k_kacOdPdbcccdcwbxbecfc%i`kgcQdjdRdSdkdTdUdVdFg'iGg{ky z A B C D hcicjckclcmcncocpcqcrcscybHg9eIg!eJg#eKg$eLg%eMg'eNg(eOg)ePg*eQg(iRg)iSg*iTg+iUg,iVg-iWg.iXg/iYg:iZg;i0g=i1g?i2g+eEj@i3g[i4g4h,e5h6h7h8h-e9h5g.eFj6g/eGj]i7g^i8g9g:e!g;e#g=e$g|k%g_iE `i'g{i(g)g}k~kal|iblcldlelflglzbtcucvcwchl}iHj~i*gajiljlbji HhIhJhlej +gcjklllmlnldjej?efj,ggj-golIjhj.gplJjij/g!hqlKjjj@e#h$hrl:gkj;g[e- =gKhljLhmjWdXdsl^c_c`c{c|c}ctlxcAb?gyc@g[g]g8 L 9 ul.
27 func = func.func 2a Acb Gcc d Mc
28 return func 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEb^g_g`g{g|g}g~gahbhLjMjNjOjzcPjQjRjSjTjUjVjWjXjYjZj0jYdZd0d1d2d3dafbf%hcf1j2jRcScTcS UcVcT WcU XcYcV Zc3j4jmeneoeAcF df! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%defff'hch5j(h6j: ; = ? @ [ ] ^ nj)h7j8j9j!j*h#j$jFbodpdGbHbIb_ ` JbKb+h%jLbqdfdrdsdgdtdudvdgf,hhf'jk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifpejfqekfrelfsemftenfueofvepfweqfxerf-hsf.htf/huf:hvf;hwf=hxf?hyf@hzf[hAf]hBf^hCf_hDfyeoj`hEf{hFfMhzeNhOhPhQhAeRhGfBepjHfCeqj|hIf}hJfKfDeLfEeMfFeNf(jOf~hq aiPfbiQfRf)j*j+jci,j-j.j/j:j;j| YbZb0b1b=jdirjeiSffi?j@jgie dhehfh'df Tfhi[j]j^j_jiijiGekiUfliVf`jsjmiWf{jtjniXfSh|jujoiHeThUh}jYfpiZfIe) 0fghqihhriwdxd~j0c1c2c3c4c5cak2b} 1f3b2f3f4f4 G 5 bk* b ydzdAd4b5b6b7bihjhkhlhmhnhohphqhckdkekfkFcgkhkikjkkklkmknkokpkqkrk(d)d*d+d,d-d5f6fsi7fsktk6c7c8cW 9c!cX #cY $c%cZ 'cukvkJeKeLeGcH 8f$ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^d9f!ftirhwkuixkabbbcbdbebfbgbhbvjviykzkAkBkwiCkDk8bBdCd9b!b#bibjb$b%bxiEk'bDdhdEdFdidGdHdId#fyi$fFkr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%fMe'fNe(fOe)fPe*fQe+fRe,fSe-fTe.fUe/fzi:fAi;fBi=fCi?fDi@fEi[fFi]fGi^fHi_fIi`fJi{fKi|fVewjLi}fMi~fVhWeWhXhYhZhXe0hagYexjbgZeyjNicgOidgeg0efg1egg2ehgGkigPiI x QijgRikglgHkIkJkSiKkLkMkNkOkPklb@b[b]b^bQkTizjUimgViRkSkWig shthuh_dh ngXiTkUkVkWkYiZi3e0iog1ipgXkAj2iqgYkBj3irg1hZkCj4i4e2h3h0ksg5itg5e+ ugvh6iwh7iJdKd1k(c)c*c+c,c-c2k_bmbvg`bwgxgyg6 J 7 3k, c d LdMdNd{b|b}b~bxhyhzhAhBhChDhEhFh4k5k6k7kLc8k9k!k#k$k%k'k(k)k*k+k,k`d{d|d}d~daezgAg8iBg-k.k.c/c:c0 ;c=c1 ?c2 @c[c3 ]c/k:k6e7e8eMcK Cg' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeDgEg9iGh;k!i=kobpbqbrbsbtbubvbDj#i?k@k[k]k$i^k_kacOdPdbcccdcwbxbecfc%i`kgcQdjdRdSdkdTdUdVdFg'iGg{ky z A B C D hcicjckclcmcncocpcqcrcscybHg9eIg!eJg#eKg$eLg%eMg'eNg(eOg)ePg*eQg(iRg)iSg*iTg+iUg,iVg-iWg.iXg/iYg:iZg;i0g=i1g?i2g+eEj@i3g[i4g4h,e5h6h7h8h-e9h5g.eFj6g/eGj]i7g^i8g9g:e!g;e#g=e$g|k%g_iE `i'g{i(g)g}k~kal|iblcldlelflglzbtcucvcwchl}iHj~i*gajiljlbji HhIhJhlej +gcjklllmlnldjej?efj,ggj-golIjhj.gplJjij/g!hqlKjjj@e#h$hrl:gkj;g[e- =gKhljLhmjWdXdsl^c_c`c{c|c}ctlxcAb?gyc@g[g]g8 L 9 ul.
31@dataclass 1abcd
32class Dependant: 1abcd
33 path_params: list[ModelField] = field(default_factory=list) 1abcd
34 query_params: list[ModelField] = field(default_factory=list) 1abcd
35 header_params: list[ModelField] = field(default_factory=list) 1abcd
36 cookie_params: list[ModelField] = field(default_factory=list) 1abcd
37 body_params: list[ModelField] = field(default_factory=list) 1abcd
38 dependencies: list["Dependant"] = field(default_factory=list) 1abcd
39 name: str | None = None 1abcd
40 call: Callable[..., Any] | None = None 1abcd
41 request_param_name: str | None = None 1abcd
42 websocket_param_name: str | None = None 1abcd
43 http_connection_param_name: str | None = None 1abcd
44 response_param_name: str | None = None 1abcd
45 background_tasks_param_name: str | None = None 1abcd
46 security_scopes_param_name: str | None = None 1abcd
47 own_oauth_scopes: list[str] | None = None 1abcd
48 parent_oauth_scopes: list[str] | None = None 1abcd
49 use_cache: bool = True 1abcd
50 path: str | None = None 1abcd
51 scope: Literal["function", "request"] | None = None 1abcd
53 @cached_property 1abcd
54 def oauth_scopes(self) -> list[str]: 1abcd
55 scopes = self.parent_oauth_scopes.copy() if self.parent_oauth_scopes else [] 2a ldmdndBbCbDbEb%hScTcS UcVcT WcU XcYcV ZcF ! # M N 'h(h: ; = ? @ [ ] ^ )h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvd,hk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~hq PfQfci| YbZb0b1bdieifigie f hiiijiUfVfWfXfHeYfZfqiriwdxd2b} 1f3b4 G 5 b ydzdAd4b5b6b7bsi7c8cW 9c!cX #cY $c%cZ 'cH $ % O P tiuiabbbcbdbebfbgbhbviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdIdyir s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggPiI x jgkgSilb@b[b]b^bTiUiViWig h XiYiZiogpgqgrg4esgtg6i7iJdKd_bmbvg`b6 J 7 c d LdMdNd{b|b}b~b8i/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( Q R 9i!iobpbqbrbsbtbubvb#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVd'iy z A B C D hcicjckclcmcncocpcqcrcscybHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g_iE 'g(g|izbtcucvcwc}i~iajbji j cjdjej,g-g.g/g@e:g;gljmjWdXdxcAb?gyc8 L 9
56 # This doesn't use a set to preserve order, just in case
57 for scope in self.own_oauth_scopes or []: 2a ldmdndBbCbDbEb%hScTcS UcVcT WcU XcYcV ZcF ! # M N 'h(h: ; = ? @ [ ] ^ )h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvd,hk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~hq PfQfci| YbZb0b1bdieifigie f hiiijiUfVfWfXfHeYfZfqiriwdxd2b} 1f3b4 G 5 b ydzdAd4b5b6b7bsi7c8cW 9c!cX #cY $c%cZ 'cH $ % O P tiuiabbbcbdbebfbgbhbviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdIdyir s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggPiI x jgkgSilb@b[b]b^bTiUiViWig h XiYiZiogpgqgrg4esgtg6i7iJdKd_bmbvg`b6 J 7 c d LdMdNd{b|b}b~b8i/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( Q R 9i!iobpbqbrbsbtbubvb#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVd'iy z A B C D hcicjckclcmcncocpcqcrcscybHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g_iE 'g(g|izbtcucvcwc}i~iajbji j cjdjej,g-g.g/g@e:g;gljmjWdXdxcAb?gyc8 L 9
58 if scope not in scopes: 2a zeAeHeb WeXe4ec d ,e-e@e
59 scopes.append(scope) 1abcd
60 return scopes 2a ldmdndBbCbDbEb%hScTcS UcVcT WcU XcYcV ZcF ! # M N 'h(h: ; = ? @ [ ] ^ )h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvd,hk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~hq PfQfci| YbZb0b1bdieifigie f hiiijiUfVfWfXfHeYfZfqiriwdxd2b} 1f3b4 G 5 b ydzdAd4b5b6b7bsi7c8cW 9c!cX #cY $c%cZ 'cH $ % O P tiuiabbbcbdbebfbgbhbviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdIdyir s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggPiI x jgkgSilb@b[b]b^bTiUiViWig h XiYiZiogpgqgrg4esgtg6i7iJdKd_bmbvg`b6 J 7 c d LdMdNd{b|b}b~b8i/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( Q R 9i!iobpbqbrbsbtbubvb#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVd'iy z A B C D hcicjckclcmcncocpcqcrcscybHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g_iE 'g(g|izbtcucvcwc}i~iajbji j cjdjej,g-g.g/g@e:g;gljmjWdXdxcAb?gyc8 L 9
62 @cached_property 1abcd
63 def cache_key(self) -> DependencyCacheKey: 1abcd
64 scopes_for_cache = ( 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
65 tuple(sorted(set(self.oauth_scopes or []))) if self._uses_scopes else ()
66 )
67 return ( 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
68 self.call,
69 scopes_for_cache,
70 self.computed_scope or "",
71 )
73 @cached_property 1abcd
74 def _uses_scopes(self) -> bool: 1abcd
75 if self.own_oauth_scopes: 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
76 return True 1abcd
77 if self.security_scopes_param_name is not None: 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
78 return True 1abcd
79 if self._is_security_scheme: 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
80 return True 1abcd
81 for sub_dep in self.dependencies: 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
82 if sub_dep._uses_scopes: 1aFMNklmnopqef4G5bHOPrstuvwIxgh6J7cdKQRyzABCDEij8L9
83 return True 1abcd
84 return False 2a ldmdndBbCbDbEbS T U V F M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
86 @cached_property 1abcd
87 def _is_security_scheme(self) -> bool: 1abcd
88 if self.call is None: 2a ldmdndBbCbDbEb%hS T U V F M N 'h(h: ; = ? @ [ ] ^ )h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvd,hk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~hq PfQfci| YbZb0b1bdieifigie f hiiijiUfVfWfXfHeYfZfqiriwdxd2b} 1f3b4 G 5 b ydzdAd4b5b6b7bsiW X Y Z H O P tiuiabbbcbdbebfbgbhbviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdIdyir s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggPiI x jgkgSilb@b[b]b^bTiUiViWig h XiYiZiogpgqgrg4esgtg6i7iJdKd_bmbvg`b6 J 7 c d LdMdNd{b|b}b~b8i0 1 2 3 K Q R 9i!iobpbqbrbsbtbubvb#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVd'iy z A B C D hcicjckclcmcncocpcqcrcscybHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g_iE 'g(g|izbtcucvcwc}i~iajbji j cjdjej,g-g.g/g@e:g;gljmjWdXdxcAb?gyc8 L 9
89 return False # pragma: no cover
90 unwrapped = _unwrapped_call(self.call) 2a ldmdndBbCbDbEb%hS T U V F M N 'h(h: ; = ? @ [ ] ^ )h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvd,hk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~hq PfQfci| YbZb0b1bdieifigie f hiiijiUfVfWfXfHeYfZfqiriwdxd2b} 1f3b4 G 5 b ydzdAd4b5b6b7bsiW X Y Z H O P tiuiabbbcbdbebfbgbhbviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdIdyir s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggPiI x jgkgSilb@b[b]b^bTiUiViWig h XiYiZiogpgqgrg4esgtg6i7iJdKd_bmbvg`b6 J 7 c d LdMdNd{b|b}b~b8i0 1 2 3 K Q R 9i!iobpbqbrbsbtbubvb#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVd'iy z A B C D hcicjckclcmcncocpcqcrcscybHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g_iE 'g(g|izbtcucvcwc}i~iajbji j cjdjej,g-g.g/g@e:g;gljmjWdXdxcAb?gyc8 L 9
91 return isinstance(unwrapped, SecurityBase) 2a ldmdndBbCbDbEb%hS T U V F M N 'h(h: ; = ? @ [ ] ^ )h*hFbodpdGbHbIb_ ` JbKb+hLbqdfdrdsdgdtdudvd,hk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~hq PfQfci| YbZb0b1bdieifigie f hiiijiUfVfWfXfHeYfZfqiriwdxd2b} 1f3b4 G 5 b ydzdAd4b5b6b7bsiW X Y Z H O P tiuiabbbcbdbebfbgbhbviwi8bBdCd9b!b#bibjb$b%bxi'bDdhdEdFdidGdHdIdyir s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkb%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggPiI x jgkgSilb@b[b]b^bTiUiViWig h XiYiZiogpgqgrg4esgtg6i7iJdKd_bmbvg`b6 J 7 c d LdMdNd{b|b}b~b8i0 1 2 3 K Q R 9i!iobpbqbrbsbtbubvb#i$iacOdPdbcccdcwbxbecfc%igcQdjdRdSdkdTdUdVd'iy z A B C D hcicjckclcmcncocpcqcrcscybHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g_iE 'g(g|izbtcucvcwc}i~iajbji j cjdjej,g-g.g/g@e:g;gljmjWdXdxcAb?gyc8 L 9
93 # Mainly to get the type of SecurityBase, but it's the same self.call
94 @cached_property 1abcd
95 def _security_scheme(self) -> SecurityBase: 1abcd
96 unwrapped = _unwrapped_call(self.call) 2ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMfPfQfUfVfWfXfHeYfZf1f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggjgkgogpgqgrg4esgtgvgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g'g(g,g-g.g/g@e:g;g?g
97 assert isinstance(unwrapped, SecurityBase) 2ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMfPfQfUfVfWfXfHeYfZf1f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggjgkgogpgqgrg4esgtgvgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g'g(g,g-g.g/g@e:g;g?g
98 return unwrapped 2ifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMfPfQfUfVfWfXfHeYfZf1f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggjgkgogpgqgrg4esgtgvgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#g'g(g,g-g.g/g@e:g;g?g
100 @cached_property 1abcd
101 def _security_dependencies(self) -> list["Dependant"]: 1abcd
102 security_deps = [dep for dep in self.dependencies if dep._is_security_scheme] 2vlwlxlylzlAlBlClDlElFlGlHlIlJlKl%hLlMl'hNl(hOl: ; = ? @ [ ] ^ )hPlQl*hRlSlTlUlVlWlXlYlZl_ ` 0l+h1l2lfdgd,h3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l{ }lifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~l~hamPfbmcmdmemfmQfgmhmimjmcikmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCm| DmEmFmGmHmImJmKmLmMmNmOmPmQmdieifigihiiiRmSmTmUmVmWmXmYmZm0m1m2m3m4mji5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8nUfVfWfXfHeYfZf9n!n#nqiri$n%n'n(n)n*n} +n,n-n1f.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~nsiaoboticouidoabbbcbdbebfbgbhbvieofowigohoiojokolomonoooibjbpoxiqorohdidyisotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXokbYo%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggZoPi0ojg1o2o3o4o5okg6o7o8o9oSi!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[olb]o^o_o`o{o|o}o~oapbpcpdpepfpTiUiViWiXiYigphpipjpkplpmpnpopppqprpsptpZiupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_p`p{p|p}p~paqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqogpgqgrg4esgtgyqzqAq6i7iBqCqDqEqFqGqmbHqIqJqvgKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq8i0q1q9i2q!i3qobpbqbrbsbtbubvb#i4q5q$i6q7q8q9q!q#q$q%q'qwbxb(q%i)q*qjdkd'i+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlrmrybnrHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#gor_ipr'gqrrrsrtrur(gvrwrxryr|izrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrzbSrTrUrVrWrXrYrZr0r1r2r3r4r5r}i~iajbjcjdj6r7r8r9r!r#r$r%r'r(r)r*r+r,rej-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s,g-g.g/g@e:g;g;s=s?sljmj@s[s]s^s_s`sAb{s|s}s?g
103 return security_deps 2vlwlxlylzlAlBlClDlElFlGlHlIlJlKl%hLlMl'hNl(hOl: ; = ? @ [ ] ^ )hPlQl*hRlSlTlUlVlWlXlYlZl_ ` 0l+h1l2lfdgd,h3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l{ }lifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfzeAeGfHfIfJfKfLfMf~l~hamPfbmcmdmemfmQfgmhmimjmcikmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCm| DmEmFmGmHmImJmKmLmMmNmOmPmQmdieifigihiiiRmSmTmUmVmWmXmYmZm0m1m2m3m4mji5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8nUfVfWfXfHeYfZf9n!n#nqiri$n%n'n(n)n*n} +n,n-n1f.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~nsiaoboticouidoabbbcbdbebfbgbhbvieofowigohoiojokolomonoooibjbpoxiqorohdidyisotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXokbYo%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fWeXeagbgcgdgegfgggZoPi0ojg1o2o3o4o5okg6o7o8o9oSi!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[olb]o^o_o`o{o|o}o~oapbpcpdpepfpTiUiViWiXiYigphpipjpkplpmpnpopppqprpsptpZiupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_p`p{p|p}p~paqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqogpgqgrg4esgtgyqzqAq6i7iBqCqDqEqFqGqmbHqIqJqvgKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq8i0q1q9i2q!i3qobpbqbrbsbtbubvb#i4q5q$i6q7q8q9q!q#q$q%q'qwbxb(q%i)q*qjdkd'i+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlrmrybnrHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g,e-e5g6g7g8g9g!g#gor_ipr'gqrrrsrtrur(gvrwrxryr|izrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrzbSrTrUrVrWrXrYrZr0r1r2r3r4r5r}i~iajbjcjdj6r7r8r9r!r#r$r%r'r(r)r*r+r,rej-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s,g-g.g/g@e:g;g;s=s?sljmj@s[s]s^s_s`sAb{s|s}s?g
105 @cached_property 1abcd
106 def is_gen_callable(self) -> bool: 1abcd
107 if self.call is None: 2a RcScTcS UcVcT WcU XcYcV ZcF ! # M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%dk l m n o p q e 'df ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^dr s t u v w I x g _dh + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( Q R NcbeceOcdeeefegehePcieddQcjeedkey z A B C D E i lej - ^c_c`c{c|c}c8 L 9 .
108 return False # pragma: no cover
109 if inspect.isgeneratorfunction( 2a RcScTcS UcVcT WcU XcYcV ZcF ! # M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%dk l m n o p q e 'df ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^dr s t u v w I x g _dh + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( Q R NcbeceOcdeeefegehePcieddQcjeedkey z A B C D E i lej - ^c_c`c{c|c}c8 L 9 .
110 _impartial(self.call)
111 ) or inspect.isgeneratorfunction(_unwrapped_call(self.call)):
112 return True 2a M N Bc4d5dCc6d7d8d9d!dDc'db O P Hc.d/dIc:d;d=d?d@dJc_dc d Q R NcbeceOcdeeefegehePcle
113 if inspect.isclass(_unwrapped_call(self.call)): 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
114 return False 1abcd
115 dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
116 if dunder_call is None: 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
117 return False # pragma: no cover
118 if inspect.isgeneratorfunction( 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
119 _impartial(dunder_call)
120 ) or inspect.isgeneratorfunction(_unwrapped_call(dunder_call)):
121 return True 1abcd
122 dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None) # noqa: B004 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
123 if dunder_unwrapped_call is None: 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
124 return False # pragma: no cover
125 if inspect.isgeneratorfunction( 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
126 _impartial(dunder_unwrapped_call)
127 ) or inspect.isgeneratorfunction(_unwrapped_call(dunder_unwrapped_call)):
128 return True 1abcd
129 return False 2a RcScTcS UcVcT WcU XcYcV ZcF ! # BcDc#d~cEc$dad%dk l m n o p q e f ) 0c1c2c3c4c5c4 G 5 * b 6c7c8cW 9c!cX #cY $c%cZ 'cH $ % HcJc[dbdKc]dcd^dr s t u v w I x g h + (c)c*c+c,c-c6 J 7 , c d .c/c:c0 ;c=c1 ?c2 @c[c3 ]cK ' ( NcPcieddQcjeedkey z A B C D E i j - ^c_c`c{c|c}c8 L 9 .
131 @cached_property 1abcd
132 def is_async_gen_callable(self) -> bool: 1abcd
133 if self.call is None: 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%dchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^drhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
134 return False # pragma: no cover
135 if inspect.isasyncgenfunction( 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc#d~cEc$dad%dchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJc[dbdKc]dcd^drhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcieddQcjeedkeGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
136 _impartial(self.call)
137 ) or inspect.isasyncgenfunction(_unwrapped_call(self.call)):
138 return True 2a / #d~cEc$dad%de f b ~ [dbdKc]dcd^dg h c d nbieddQcjeedkei j
139 if inspect.isclass(_unwrapped_call(self.call)): 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
140 return False 1abcd
141 dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
142 if dunder_call is None: 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
143 return False # pragma: no cover
144 if inspect.isasyncgenfunction( 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
145 _impartial(dunder_call)
146 ) or inspect.isasyncgenfunction(_unwrapped_call(dunder_call)):
147 return True 2a / b ~ c d nb
148 dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None) # noqa: B004 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
149 if dunder_unwrapped_call is None: 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
150 return False # pragma: no cover
151 if inspect.isasyncgenfunction( 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
152 _impartial(dunder_unwrapped_call)
153 ) or inspect.isasyncgenfunction(_unwrapped_call(dunder_unwrapped_call)):
154 return True 1abcd
155 return False 2a ^g_g`g{g|g}g~gahbhzcYdZd0d1d2d3dRcScTcS UcVcT WcU XcYcV ZcAcF ! # / M N Bc4d5dCc6d7d8d9d!dDc~cadchk l m n o p q e dhehfh'df ) ghhh0c1c2c3c4c5c4 G 5 * b ihjhkhlhmhnhohphqhFc(d)d*d+d,d-d6c7c8cW 9c!cX #cY $c%cZ 'cGcH $ % ~ O P Hc.d/dIc:d;d=d?d@dJcbdcdrhr s t u v w I x g shthuh_dh + vhwh(c)c*c+c,c-c6 J 7 , c d xhyhzhAhBhChDhEhFhLc`d{d|d}d~dae.c/c:c0 ;c=c1 ?c2 @c[c3 ]cMcK ' ( nbQ R NcbeceOcdeeefegehePcddedGhy z A B C D E i HhIhJhlej - KhLh^c_c`c{c|c}c8 L 9 .
157 @cached_property 1abcd
158 def is_coroutine_callable(self) -> bool: 1abcd
159 if self.call is None: 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEbLjMjNjOjzcPjQjRjSjTjUjVjWjXjYjZj0jYdZd0d1d2d3dafbfcf1j2jRcS T U V 3j4jmeneoeAcF df! # / M N CcEcefff5j6j: ; = ? @ [ ] ^ nj7j8j9j!j#j$jFbodpdGbHbIb_ ` JbKb%jLbqdfdrdsdgdtdudvdgfhf'jk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hyeoj`h{hMhNhOhPhQhRhBepjCeqj|h}hDeEeFeNf(jOfq aibiRf)j*j+j,j-j.j/j:j;j| YbZb0b1b=jrjSf?j@je f Tf[j]j^j_jGekili`jsjmi{jtjniSh|jujoiThUh}jpiIe) 0fwdxd~j0c1c2c3c4c5cak2b} 3b2f3f4fG bk* b ydzdAd4b5b6b7bckdkekfkFcgkhkikjkkklkmknkokpkqkrk(d)d*d+d,d-d5f6f7fsktk6cW X Y Z ukvkJeKeLeGcH 8f$ % ~ O P IcKc9f!fwkxkabbbcbdbebfbgbhbvjykzkAkBkCkDk8bBdCd9b!b#bibjb$b%bEk'bDdhdEdFdidGdHdId#f$fFkr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVewjLiMiVhWhXhYhZh0hYexjZeyjNiOi0e1e2ehgGkigI x QiRilgHkIkJkKkLkMkNkOkPklb@b[b]b^bQkzjmgRkSkg h ngTkUkVkWk3e0i1iXkAj2iYkBj3i1hZkCj4i2h3h0k5i5e+ ugJdKd1k(c)c*c+c,c-c2k_bmb`bwgxgygJ 3k, c d LdMdNd{b|b}b~b4k5k6k7kLc8k9k!k#k$k%k'k(k)k*k+k,k`d{d|d}d~daezgAgBg-k.k.c0 1 2 3 /k:k6e7e8eMcK Cg' ( nbQ R OcQcDgEg;k=kobpbqbrbsbtbubvbDj?k@k[k]k^k_kacOdPdbcccdcwbxbecfc`kgcQdjdRdSdkdTdUdVdFgGg{ky z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+eEj@i[i4h5h6h7h8h9h.eFj/eGj]i^i:e;e=e$g|k%gE `i{i)g}k~kalblcldlelflglzbtcucvcwchlHj*giljli j +gklllmlnl?efjgjolIjhjplJjij!hqlKjjj#h$hrlkj[e- =gWdXdsl^c_c`c{c|c}ctlxcAbyc@g[g]gL ul.
160 return False # pragma: no cover
161 if inspect.isroutine(_impartial(self.call)) and iscoroutinefunction( 2a ]e^e_e`e{e|e}e~eldmdndBbCbDbEbLjMjNjOjzcPjQjRjSjTjUjVjWjXjYjZj0jYdZd0d1d2d3dafbfcf1j2jRcS T U V 3j4jmeneoeAcF df! # / M N CcEcefff5j6j: ; = ? @ [ ] ^ nj7j8j9j!j#j$jFbodpdGbHbIb_ ` JbKb%jLbqdfdrdsdgdtdudvdgfhf'jk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hyeoj`h{hMhNhOhPhQhRhBepjCeqj|h}hDeEeFeNf(jOfq aibiRf)j*j+j,j-j.j/j:j;j| YbZb0b1b=jrjSf?j@je f Tf[j]j^j_jGekili`jsjmi{jtjniSh|jujoiThUh}jpiIe) 0fwdxd~j0c1c2c3c4c5cak2b} 3b2f3f4fG bk* b ydzdAd4b5b6b7bckdkekfkFcgkhkikjkkklkmknkokpkqkrk(d)d*d+d,d-d5f6f7fsktk6cW X Y Z ukvkJeKeLeGcH 8f$ % ~ O P IcKc9f!fwkxkabbbcbdbebfbgbhbvjykzkAkBkCkDk8bBdCd9b!b#bibjb$b%bEk'bDdhdEdFdidGdHdId#f$fFkr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVewjLiMiVhWhXhYhZh0hYexjZeyjNiOi0e1e2ehgGkigI x QiRilgHkIkJkKkLkMkNkOkPklb@b[b]b^bQkzjmgRkSkg h ngTkUkVkWk3e0i1iXkAj2iYkBj3i1hZkCj4i2h3h0k5i5e+ ugJdKd1k(c)c*c+c,c-c2k_bmb`bwgxgygJ 3k, c d LdMdNd{b|b}b~b4k5k6k7kLc8k9k!k#k$k%k'k(k)k*k+k,k`d{d|d}d~daezgAgBg-k.k.c0 1 2 3 /k:k6e7e8eMcK Cg' ( nbQ R OcQcDgEg;k=kobpbqbrbsbtbubvbDj?k@k[k]k^k_kacOdPdbcccdcwbxbecfc`kgcQdjdRdSdkdTdUdVdFgGg{ky z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+eEj@i[i4h5h6h7h8h9h.eFj/eGj]i^i:e;e=e$g|k%gE `i{i)g}k~kalblcldlelflglzbtcucvcwchlHj*giljli j +gklllmlnl?efjgjolIjhjplJjij!hqlKjjj#h$hrlkj[e- =gWdXdsl^c_c`c{c|c}ctlxcAbyc@g[g]gL ul.
162 _impartial(self.call)
163 ):
164 return True 2a ldmdndLjMjNjOjzcPjQjRjSjTjUjVjWjXjYjZj0jYdZd0d1d2d3d1j2jRcS T U V 3j4jAcF / 5j6j7j8j9j!j#j$jodpd%jqdfdrdsdgdtdudvd'jMhNhOhPhQhRh(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_jGe`j{jSh|jThUh}jwdxd~j0c1c2c3c4c5cakG bkb ydzdAdckdkekfkFcgkhkikjkkklkmknkokpkqkrk(d)d*d+d,d-dsktk6cW X Y Z ukvkGcH ~ wkxkykzkAkBkCkDkBdCdEkDdhdEdFdidGdHdIdFkVhWhXhYhZh0hGkI HkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWk3eXkYk1hZk2h3h0kJdKd1k(c)c*c+c,c-c2kJ 3kc d LdMdNd4k5k6k7kLc8k9k!k#k$k%k'k(k)k*k+k,k`d{d|d}d~dae-k.k.c0 1 2 3 /k:kMcK nb;k=k?k@k[k]k^k_kOdPd`kQdjdRdSdkdTdUdVd{k4h5h6h7h8h9h|k}k~kalblcldlelflglhliljlklllmlnl?eolpl!hql#h$hrlWdXdsl^c_c`c{c|c}ctlL ul
165 if inspect.isroutine(_unwrapped_call(self.call)) and iscoroutinefunction( 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ njFbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hyeoj`h{hMhNhOhPhQhRhBepjCeqj|h}hDeEeFeNfOfq aibiRf| YbZb0b1brjSfe f TfGekilisjmitjniShujoiThUhpiIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhbvj8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVewjLiMiVhWhXhYhZh0hYexjZeyjNiOi0e1e2ehgigx QiRilglb@b[b]b^bzjmgg h ng3e0i1iAj2iBj3i1hCj4i2h3h5i5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbDjacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+eEj@i[i4h5h6h7h8h9h.eFj/eGj]i^i:e;e=e$g%gE `i{i)gzbtcucvcwcHj*gi j +g?efjgjIjhjJjij!hKjjj#h$hkj[e- =gxcAbyc@g[g]g.
166 _unwrapped_call(self.call)
167 ):
168 return True 2a / b ~ c d nb
169 if inspect.isclass(_unwrapped_call(self.call)): 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ njFbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hyeoj`h{hMhNhOhPhQhRhBepjCeqj|h}hDeEeFeNfOfq aibiRf| YbZb0b1brjSfe f TfGekilisjmitjniShujoiThUhpiIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhbvj8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVewjLiMiVhWhXhYhZh0hYexjZeyjNiOi0e1e2ehgigx QiRilglb@b[b]b^bzjmgg h ng3e0i1iAj2iBj3i1hCj4i2h3h5i5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbDjacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+eEj@i[i4h5h6h7h8h9h.eFj/eGj]i^i:e;e=e$g%gE `i{i)gzbtcucvcwcHj*gi j +g?efjgjIjhjJjij!hKjjj#h$hkj[e- =gxcAbyc@g[g]g.
170 return False 2zc/ njojpjqjrjsjtjujFc~ vjwjxjyjzjAjBjCjLcnbDjEjFjGjHjIjJjKj
171 dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hye`h{hMhNhOhPhQhRhBeCe|h}hDeEeFeNfOfq aibiRf| YbZb0b1bSfe f TfGekiliminiShoiThUhpiIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVeLiMiVhWhXhYhZh0hYeZeNiOi0e1e2ehgigx QiRilglb@b[b]b^bmgg h ng3e0i1i2i3i1h4i2h3h5i5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+e@i[i4h5h6h7h8h9h.e/e]i^i:e;e=e$g%gE `i{i)gzbtcucvcwc*gi j +g?efjgjhjij!hjj#h$hkj[e- =gxcAbyc@g[g]g.
172 if dunder_call is None: 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hye`h{hMhNhOhPhQhRhBeCe|h}hDeEeFeNfOfq aibiRf| YbZb0b1bSfe f TfGekiliminiShoiThUhpiIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVeLiMiVhWhXhYhZh0hYeZeNiOi0e1e2ehgigx QiRilglb@b[b]b^bmgg h ng3e0i1i2i3i1h4i2h3h5i5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+e@i[i4h5h6h7h8h9h.e/e]i^i:e;e=e$g%gE `i{i)gzbtcucvcwc*gi j +g?efjgjhjij!hjj#h$hkj[e- =gxcAbyc@g[g]g.
173 return False # pragma: no cover
174 if iscoroutinefunction(_impartial(dunder_call)) or iscoroutinefunction( 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hye`h{hMhNhOhPhQhRhBeCe|h}hDeEeFeNfOfq aibiRf| YbZb0b1bSfe f TfGekiliminiShoiThUhpiIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVeLiMiVhWhXhYhZh0hYeZeNiOi0e1e2ehgigx QiRilglb@b[b]b^bmgg h ng3e0i1i2i3i1h4i2h3h5i5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+e@i[i4h5h6h7h8h9h.e/e]i^i:e;e=e$g%gE `i{i)gzbtcucvcwc*gi j +g?efjgjhjij!hjj#h$hkj[e- =gxcAbyc@g[g]g.
175 _unwrapped_call(dunder_call)
176 ):
177 return True 2zcmeneoeAc/ peqereseteuevewexe-h.h/h:h;h=h?h@h[h]h^h_hye`h{hMhNhOhPhQhRhBeCe|h}hDeEeFeaibikiliminiShoiThUhpiIeFcJeKeLeGc~ MeNeOePeQeReSeTeUeziAiBiCiDiEiFiGiHiIiJiKiVeLiMiVhWhXhYhZh0hYeZeNiOi0e1e2eQiRi0i1i2i3i1h4i2h3h5i5eLc6e7e8eMcnb9e!e#e$e%e'e(e)e*e(i)i*i+i,i-i.i/i:i;i=i?i+e@i[i4h5h6h7h8h9h.e/e]i^i:e;e=e`i{ifjgjhjij!hjj#h$hkj[e
178 dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None) # noqa: B004 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexeyeBeCeDeEeFeNfOfq Rf| YbZb0b1bSfe f TfGeIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeVeYeZe0e1e2ehgigx lglb@b[b]b^bmgg h ng3e5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e+e.e/e:e;e=e$g%gE )gzbtcucvcwc*gi j +g?e[e- =gxcAbyc@g[g]g.
179 if dunder_unwrapped_call is None: 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexeyeBeCeDeEeFeNfOfq Rf| YbZb0b1bSfe f TfGeIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeVeYeZe0e1e2ehgigx lglb@b[b]b^bmgg h ng3e5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e+e.e/e:e;e=e$g%gE )gzbtcucvcwc*gi j +g?e[e- =gxcAbyc@g[g]g.
180 return False # pragma: no cover
181 if iscoroutinefunction( 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexeyeBeCeDeEeFeNfOfq Rf| YbZb0b1bSfe f TfGeIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeVeYeZe0e1e2ehgigx lglb@b[b]b^bmgg h ng3e5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e+e.e/e:e;e=e$g%gE )gzbtcucvcwc*gi j +g?e[e- =gxcAbyc@g[g]g.
182 _impartial(dunder_unwrapped_call)
183 ) or iscoroutinefunction(_unwrapped_call(dunder_unwrapped_call)):
184 return True 2/ ~ nb
185 return False 2a ]e^e_e`e{e|e}e~eBbCbDbEbzcafbfcfmeneoeAcdf! # / M N CcEcefff: ; = ? @ [ ] ^ FbGbHbIb_ ` JbKbLbgfhfk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ peqereseteuevewexeyeBeCeDeEeFeNfOfq Rf| YbZb0b1bSfe f TfGeIe) 0f2b} 3b2f3f4f* b 4b5b6b7bFc5f6f7fJeKeLeGc8f$ % ~ O P IcKc9f!fabbbcbdbebfbgbhb8b9b!b#bibjb$b%b'b#f$fr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbMeNeOePeQeReSeTeUeVeYeZe0e1e2ehgigx lglb@b[b]b^bmgg h ng3e5e+ ug_bmb`bwgxgyg, c d {b|b}b~bLczgAgBg6e7e8eMcCg' ( nbQ R OcQcDgEgobpbqbrbsbtbubvbacbcccdcwbxbecfcgcFgGgy z A B C D hcicjckclcmcncocpcqcrcscyb9e!e#e$e%e'e(e)e*e+e.e/e:e;e=e$g%gE )gzbtcucvcwc*gi j +g?e[e- =gxcAbyc@g[g]g.
187 @cached_property 1abcd
188 def computed_scope(self) -> str | None: 1abcd
189 if self.scope: 2a ldmdndBbCbDbEbS T U V F M N BcDc: ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bW X Y Z H O P HcJcabbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~b0 1 2 3 K Q R NcPcobpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
190 return self.scope 2a ldmdndBbCbDbEbF M N : ; = ? @ [ ] ^ FbodpdGbHbIb_ ` JbKbLbqdfdrdsdgdtdudvdk l m n o p MbNbObPbQbRbSbTbUbVbWbXb{ q | YbZb0b1be f wdxd2b} 3b4 G 5 b ydzdAd4b5b6b7bH O P abbbcbdbebfbgbhb8bBdCd9b!b#bibjb$b%b'bDdhdEdFdidGdHdIdr s t u v w (b)b*b+b,b-b.b/b:b;b=b?bkbI x lb@b[b]b^bg h JdKd_bmb`b6 J 7 c d LdMdNd{b|b}b~bK Q R obpbqbrbsbtbubvbacOdPdbcccdcwbxbecfcgcQdjdRdSdkdTdUdVdy z A B C D hcicjckclcmcncocpcqcrcscybE zbtcucvcwci j WdXdxcAbyc8 L 9
191 if self.is_gen_callable or self.is_async_gen_callable: 2a S T U V F BcDck l m n o p q e f 4 G 5 b W X Y Z H HcJcr s t u v w I x g h 6 J 7 c d 0 1 2 3 K NcPcy z A B C D E i j 8 L 9
192 return "request" 2a BcDce f b HcJcg h c d NcPci j
193 return None 1aSTUVFklmnopq4G5bWXYZHrstuvwIx6J7cd0123KyzABCDE8L9