+
    PV-j8  ã                   óÖ   € ^ RI t ^ RIHtHt ^RIHtHt ^RIHtH	t	 ^RI
Ht ^RIHt ^RIHt Rt]'       d   ^RIHt ]! R	4      tR
 R ltR R ltRRRRRRR]	/R R lltR R ltR# )é    N)ÚTYPE_CHECKINGÚTypeVar)ÚHandlerÚ
Middleware)ÚHTTPMoveÚHTTPPermanentRedirect)ÚRequest)ÚStreamResponse)ÚSystemRoute)ÚApplicationÚ_Funcc                ó^   € V ^8„  d   QhR\         R\        R\        \        \         3,          /# )é   ÚrequestÚpathÚreturn)r	   ÚstrÚtupleÚbool)Úformats   "Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/aiohttp/web_middlewares.pyÚ__annotate__r      s*   € ÷ 	ñ 	¬7ð 	¼#ð 	Ä%ÌÌgÈÕBVñ 	ó    c              ƒ   óÄ   "  € V P                  VR 7      pV P                  P                  P                  V4      G Rj  x€L
 pW2n        VP
                  f   RV3# RV 3#  L 5i))Úrel_urlNTF)ÚcloneÚappÚrouterÚresolveÚ_match_infoÚhttp_exception)r   r   Úalt_requestÚ
match_infos   &&  r   Ú_check_request_resolvesr$      s^   é € Ø—-‘-¨�-Ó-€Kà—{‘{×)Ñ)×1Ñ1°+Ó>×>€JØ(Ôà× Ñ Ò(Ø�[Ð Ð à�'ˆ>Ðñ ?ùs   ‚;A ½A¾!A c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úfr   )r   )r   s   "r   r   r   !   s   € ÷ ñ ”%ð œEñ r   c                 ó   € ^V n         V # )é   )Ú__middleware_version__)r&   s   &r   Ú
middlewarer*   !   s   € Ø €AÔØ€Hr   Úappend_slashTÚremove_slashFÚmerge_slashesÚredirect_classc          
      ój   € V ^8„  d   QhR\         R\         R\         R\        \        ,          R\        /# )r   r+   r,   r-   r.   r   )r   Útyper   r   )r   s   "r   r   r   &   sG   € ÷ Eñ EäðEô ðEô ð	Eô
 œ•NðEô ñEr   c                óx   a aaa€ S ;'       d    S'       * pV'       g   Q R4       h\         R V VVV3R ll4       pV# )a,  Factory for producing a middleware that normalizes the path of a request.

Normalizing means:
    - Add or remove a trailing slash to the path.
    - Double slashes are replaced by one.

The middleware returns as soon as it finds a path that resolves
correctly. The order if both merge and append/remove are enabled is
    1) merge slashes
    2) append/remove slash
    3) both merge slashes and append/remove slash.
If the path resolves with at least one of those conditions, it will
redirect to the new path.

Only one of `append_slash` and `remove_slash` can be enabled. If both
are `True` the factory will raise an assertion error

If `append_slash` is `True` the middleware will append a slash when
needed. If a resource is defined with trailing slash and the request
comes without it, it will append it automatically.

If `remove_slash` is `True`, `append_slash` must be `False`. When enabled
the middleware will remove trailing slashes and redirect if the resource
is defined

If merge_slashes is True, merge multiple consecutive slashes in the
path into one.
z#Cannot both remove and append slashc                ó<   € V ^8„  d   QhR\         R\        R\        /# ©r   r   Úhandlerr   ©r	   r   r
   )r   s   "r   r   Ú/normalize_path_middleware.<locals>.__annotate__M   s!   € ÷ &ñ &œGð &¬gð &¼.ñ &r   c              “   ó  <"  € \        V P                  P                  \        4      '       EdÈ   . pR V P                  9   d)   V P                  P                  R ^4      w  r4R V,           pMRpV P                  pS'       d(   VP                  \        P                  ! RRV4      4       S'       d:   V P                  P                  R4      '       g   VP                  VR,           4       S
'       d6   V P                  P                  R4      '       d   VP                  VRR 4       S'       d7   S'       d/   VP                  \        P                  ! RRVR,           4      4       S'       d5   S
'       d-   \        P                  ! RRV4      pVP                  VRR 4       V FQ  p\        P                  ! RRV4      p\        W4      G Rj  x€L
 w  r`V'       g   K:  S	! V P                  V,           4      h	  V! V 4      G Rj  x€L
 #  L; L5i)Ú?Ú z//+Ú/Nz^//+éÿÿÿÿ)Ú
isinstancer#   Úrouter   Úraw_pathÚsplitÚappendÚreÚsubr   Úendswithr$   )r   r4   Úpaths_to_checkr   ÚqueryÚmerged_slashesÚresolvesr+   r-   r.   r,   s   &&     €€€€r   ÚimplÚ'normalize_path_middleware.<locals>.implL   s‰  øé € ä�g×(Ñ(×.Ñ.´×<Ó<ØˆNØ�g×&Ñ&Ô&Ø%×.Ñ.×4Ñ4°S¸!Ó<‘�Ø˜e�‘à�Ø×'Ñ'�çØ×%Ñ%¤b§f¢f¨U°C¸Ó&>Ô?ß G§L¡L×$9Ñ$9¸#×$>Ò$>Ø×%Ñ% d¨S¥jÔ1ß §¡× 5Ñ 5°c× :Ò :Ø×%Ñ% d¨3¨B iÔ0ß§Ø×%Ñ%¤b§f¢f¨U°C¸À½Ó&DÔEß§Ü!#§¢¨¨s°DÓ!9�Ø×%Ñ% n°S°bÐ&9Ô:ã&�Ü—v’v˜f c¨4Ó0�Ü*AÀ'Ó*P×$PÑ!�ß‘8Ù(¨×)9Ñ)9¸EÕ)AÓBÐBñ	 'ñ ˜WÓ%×%Ð%ñ	 %Qñ &ùsa   ƒA<H
Â .H
Â/ H
ÃH
Ã0 H
ÄH
Ä-H
Ä55H
Å+H
Å3AH
Ç
HÇH
Ç&H
ÈHÈH
ÈH
©r*   )r+   r,   r-   r.   Úcorrect_configurationrH   s   dddd  r   Únormalize_path_middlewarerL   &   sD   û€ ðF ".×!>Ð!>°,Ô?Ðß ÐGÐ"GÓGÐ ä÷&ò &ó ð&ð< €Kr   c                ó(   € V ^8„  d   QhRRR\         /# )r   r   r   r   )r   )r   s   "r   r   r   n   s   € ÷ ñ  -ð ´Jñ r   c                 ó,   a € \         R  V 3R ll4       pV# )c                ó<   € V ^8„  d   QhR\         R\        R\        /# r3   r5   )r   s   "r   r   Ú._fix_request_current_app.<locals>.__annotate__p   s!   € ÷ *ñ *œGð *¬gð *¼.ñ *r   c              “   ó’   <"  € V P                   pVP                  pSVn         V! V 4      G R j  x€L
 W2n        #  L
  Y2n        i ; i5i)N)r#   Úcurrent_app)r   r4   r#   Úprevr   s   &&  €r   rH   Ú&_fix_request_current_app.<locals>.implo   sF   øé € à×'Ñ'ˆ
Ø×%Ñ%ˆØ!$ˆ
Ôð	*Ù  Ó)×)à%)Õ"ñ *øà%)Õ"üs%   ƒ A¤< ¯:°< ³Aº< ¼AÁArJ   )r   rH   s   f r   Ú_fix_request_current_apprU   n   s   ø€ Ü÷*ó ð*ð €Kr   )r*   rL   )rA   Útypingr   r   Útypedefsr   r   Úweb_exceptionsr   r   Úweb_requestr	   Úweb_responser
   Úweb_urldispatcherr   Ú__all__Úweb_appr   r   r$   r*   rL   rU   © r   r   Ú<module>r_      ss   ðÛ 	ß )ç )ß ;Ý  Ý (Ý *ð€÷
 Ý$á�Ó€õ	õð
EàðEð ðEð ð	Eð
 &;÷E÷Pr   