
    i*                       S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	  S SK
Jr  \R                  S:  a  S SKJr  OS SKJr  S SKJr  S S	KJr  S S
KJrJr  S SKJr  S SKJr  \" S5      rSS jr  S       SS jjr " S S\5      r " S S5      r " S S5      r  " S S5      r! " S S\!5      r" " S S\!5      r#g)    )annotationsN)Sequence)AnyCallable)	urlencode)   
   )	ParamSpec)is_async_callable)HTTPException)HTTPConnectionRequest)RedirectResponse)	WebSocket_Pc                L    U H  nX R                   R                  ;  d  M    g   g)NFT)authscopes)connr   scopes      `/var/www/html/qgis-automation/mouza_env/lib/python3.13/site-packages/starlette/authentication.pyhas_required_scoper      s$    		(((      c                n   ^^^ [        U [        5      (       a  U /O
[        U 5      m    SUUU4S jjnU$ )Nc                  >^ ^ [         R                  " T 5      n[        UR                  R	                  5       5       H4  u  mnUR
                  S:X  d  UR
                  S:X  d  M(  UR
                  n  O   [        ST  S35      eUS:X  a%  [        R                  " T 5      SU UU	4S jj5       nU$ [        T 5      (       a'  [        R                  " T 5      S	U UUU	U
4S jj5       nU$ [        R                  " T 5      S	U UUU	U
4S jj5       nU$ )
Nrequest	websocketz2No "request" or "websocket" argument on function ""c                   >#    UR                  ST[        U 5      :  a  U T   OS 5      n[        U[        5      (       d   e[	        UT5      (       d  UR                  5       I S h  vN   g T" U 0 UD6I S h  vN   g  N N7f)Nr   )getlen
isinstancer   r   close)argskwargsr   funcidxscopes_lists      r   websocket_wrapper6requires.<locals>.decorator.<locals>.websocket_wrapper3   sr     "JJ{s4yDIVZ[	!)Y7777))[AA#//+++//// ,/s$   A"B %A<&B 6A>7B >B c                 d  >#    UR                  ST[        U 5      :  a  U T   OS 5      n[        U[        5      (       d   e[	        UT5      (       dL  Tb@  [        S[        UR                  5      05      nUR                  T5       SU 3n[        USS9$ [        T	S9eT" U 0 UD6I S h  vN $  N7fNr   next?i/  )urlstatus_code)r0   r    r!   r"   r   r   r   strr/   url_forr   r   
r$   r%   r   orig_request_qparamnext_urlr&   r'   redirectr(   r0   s
        r   async_wrapper2requires.<locals>.decorator.<locals>.async_wrapperA   s      **YS3t9_S	RVW!'73333)';??+.7W[[AQ8R.S+&-ooh&?%@BUAV#W/H#NN'K@@!4262222s   B&B0)B.*B0c                 H  > UR                  ST[        U 5      :  a  U T   OS 5      n[        U[        5      (       d   e[	        UT5      (       dL  Tb@  [        S[        UR                  5      05      nUR                  T5       SU 3n[        USS9$ [        T	S9eT" U 0 UD6$ r,   r1   r4   s
        r   sync_wrapper1requires.<locals>.decorator.<locals>.sync_wrapperR   s     **YS3t9_S	RVW!'73333)';??+.7W[[AQ8R.S+&-ooh&?%@BUAV#W/H#NN'K@@T,V,,r   )r$   _P.argsr%   	_P.kwargsreturnNone)r$   r=   r%   r>   r?   r   )
inspect	signature	enumerate
parametersvaluesname	Exception	functoolswrapsr   )r&   sig	parametertype_r)   r8   r;   r'   r7   r(   r0   s   `      @r   	decoratorrequires.<locals>.decorator&   s     %'(=(=(?@NC~~*inn.K! A
 PQUPVVWXYYK__T"0 0 #0 %$t$$__T"
3 
3 #
3 !  __T"
- 
- #
-  r   )r&   Callable[_P, Any]r?   rO   )r"   r2   list)r   r0   r7   rM   r(   s    `` @r   requiresrQ      sA    
 )556(4<K9 9 	9  9 v r   c                      \ rS rSrSrg)AuthenticationErrord    N)__name__
__module____qualname____firstlineno____static_attributes__rU   r   r   rS   rS   d   s    r   rS   c                      \ rS rSrSS jrSrg)AuthenticationBackendh   c                   #    [        5       e7fNNotImplementedError)selfr   s     r   authenticate"AuthenticationBackend.authenticatei   s     !##s   rU   N)r   r   r?   z'tuple[AuthCredentials, BaseUser] | None)rV   rW   rX   rY   rc   rZ   rU   r   r   r\   r\   h   s    $r   r\   c                  "    \ rS rSrSSS jjrSrg)AuthCredentialsm   Nc                :    Uc  / U l        g [        U5      U l        g r_   )rP   r   )rb   r   s     r   __init__AuthCredentials.__init__n   s    "NbVr   )r   r_   )r   zSequence[str] | None)rV   rW   rX   rY   ri   rZ   rU   r   r   rf   rf   m   s    = =r   rf   c                  P    \ rS rSr\SS j5       r\SS j5       r\SS j5       rSrg)	BaseUserr   c                    [        5       er_   r`   rb   s    r   is_authenticatedBaseUser.is_authenticateds       !##r   c                    [        5       er_   r`   ro   s    r   display_nameBaseUser.display_namew   rr   r   c                    [        5       er_   r`   ro   s    r   identityBaseUser.identity{   rr   r   rU   Nr?   boolr?   r2   )	rV   rW   rX   rY   propertyrp   rt   rw   rZ   rU   r   r   rl   rl   r   s<    $ $ $ $ $ $r   rl   c                  F    \ rS rSrSS jr\SS j5       r\S	S j5       rSrg)

SimpleUser   c                    Xl         g r_   username)rb   r   s     r   ri   SimpleUser.__init__   s     r   c                    g)NTrU   ro   s    r   rp   SimpleUser.is_authenticated   s    r   c                    U R                   $ r_   r   ro   s    r   rt   SimpleUser.display_name   s    }}r   r   N)r   r2   r?   r@   ry   r{   )	rV   rW   rX   rY   ri   r|   rp   rt   rZ   rU   r   r   r~   r~      s/    !    r   r~   c                  <    \ rS rSr\SS j5       r\SS j5       rSrg)UnauthenticatedUser   c                    g)NFrU   ro   s    r   rp   $UnauthenticatedUser.is_authenticated   s    r   c                    g)N rU   ro   s    r   rt    UnauthenticatedUser.display_name   s    r   rU   Nry   r{   )rV   rW   rX   rY   r|   rp   rt   rZ   rU   r   r   r   r      s(       r   r   )r   r   r   zSequence[str]r?   rz   )i  N)r   zstr | Sequence[str]r0   intr7   z
str | Noner?   z0Callable[[Callable[_P, Any]], Callable[_P, Any]])$
__future__r   rH   rA   syscollections.abcr   typingr   r   urllib.parser   version_infor
   typing_extensionsstarlette._utilsr   starlette.exceptionsr   starlette.requestsr   r   starlette.responsesr   starlette.websocketsr   r   r   rQ   rG   rS   r\   rf   rl   r~   r   rU   r   r   <module>r      s    "   
 $   "w + . . 6 0 *t_ BBB B 6	BJ	) 	$ $
= =
$ $
 
( r   