+
    Pj                    n    ^ 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HtHtHt Rt ! R R4      tR# )	    )annotationsN)URLHeaders)PlainTextResponseRedirectResponseResponse)ASGIAppReceiveScopeSendz6Domain wildcard patterns must be like '*.example.com'.c                  2    ] tR t^tRR R lltR R ltRtR# )TrustedHostMiddlewareNc               (    V ^8  d   QhRRRRRRRR/# )	   appr	   allowed_hostsztyping.Sequence[str] | Nonewww_redirectboolreturnNone )formats   "y/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/starlette/middleware/trustedhost.py__annotate__"TrustedHostMiddleware.__annotate__   s2     ) )) 3) 	)
 
)    c                	,   Vf   R.pV F`  pRVR,          9  g   Q \         4       hVP                  R4      '       g   K5  VR8w  g   K>  VP                  R4      '       d   KW  Q \         4       h	  Wn        \        V4      V n        RV9   V n        W0n        R # )N*   NNz*.)ENFORCE_DOMAIN_WILDCARD
startswithr   listr   	allow_anyr   )selfr   r   r   patterns   &&&& r   __init__TrustedHostMiddleware.__init__   s       EM$Ggbk)B+BB)!!#&&7c>))$//H1HH/ % !-0-(r   c               (    V ^8  d   QhRRRRRRRR/# )	r   scoper   receiver
   sendr   r   r   r   )r   s   "r   r   r      s(     1 1E 1G 14 1D 1r   c                	  "   V P                   '       g   VR ,          R9  d   V P                  WV4      G Rj  xL
  R# \        VR7      pVP                  RR4      P	                  R4      ^ ,          pRpRpV P
                   FT  pWX8X  g6   VP                  R4      '       d#   VP                  VR,          4      '       d   R	p MR
V,           V8X  g   KR  R	pKV  	  V'       d   V P                  WV4      G Rj  xL
  R# V'       dX   V P                  '       dF   \        VR7      p	V	P                  R
V	P                  ,           R7      p
\        \        V
4      R7      pM\        RRR7      pV! WV4      G Rj  xL
  R#  ELF L L5i)typeN)r*   host :Fr   r   Tzwww.)netloc)urlzInvalid host headeri  )status_code)http	websocket)r$   r   r   getsplitr   r"   endswithr   r   replacer2   r   strr   )r%   r*   r+   r,   headersr/   is_valid_hostfound_www_redirectr&   r3   redirect_urlresponses   &&&&        r   __call__TrustedHostMiddleware.__call__   sF    >>>U6] 3
 
 ((54000&{{62&,,S1!4"))G7#5#5c#:#:t}}WUW[?Y?Y $$')%)" * ((54000 "d&7&7&7&"{{&3::2E{F+L0AB,-BPST540001 1 1 1sY   6FE>A)F#FFF#F8F9FFAF7F8FFF)r$   r   r   r   )NT)__name__
__module____qualname____firstlineno__r'   rA   __static_attributes__r   r   r   r   r      s    )$1 1r   r   )
__future__r   typingstarlette.datastructuresr   r   starlette.responsesr   r   r   starlette.typesr	   r
   r   r   r!   r   r   r   r   <module>rM      s*    "  1 M M 9 9R 01 01r   