ó
    ªRjF  ã                   ó*   • S SK r SSKJr  S rS rS rg)é    Né   )Úiscoroutinefunctionc                 óþ   • [        U SS5      (       a  g[        U SS5      (       a  g[        R                  " U 5      (       a  g[        U S5      (       a  [	        U R
                  5      (       a  g[	        U 5      (       + $ )zQ
Tests to see if an application is a legacy-style (double-callable) application.
Ú_asgi_single_callableFÚ_asgi_double_callableTÚ__call__)ÚgetattrÚinspectÚisclassÚhasattrr   r   ©Úapplications    ÚAD:\diplom_project\venv\Lib\site-packages\asgiref/compatibility.pyÚis_double_callabler      sm   € ô
 ˆ{Ð3°U×;Ñ;ØÜˆ{Ð3°U×;Ñ;Øä‡‚�{×#Ñ#Øäˆ{˜J×'Ñ'ô ˜{×3Ñ3×4Ñ4Øä" ;Ó/Ô/Ð/ó    c                 ó   ^ • U 4S jnU$ )zK
Transforms a double-callable ASGI application into a single-callable one.
c              “   ó@   >#   • T" U 5      nU" X5      I S h  v•N $  N7f)N© )ÚscopeÚreceiveÚsendÚinstancer   s       €r   Únew_applicationÚ2double_to_single_callable.<locals>.new_application!   s!   øé € Ù˜uÓ%ˆÙ˜gÓ,×,Ð,Ñ,ùs   ƒ—˜r   )r   r   s   ` r   Údouble_to_single_callabler      s   ø€ õ
-ð Ðr   c                 ó<   • [        U 5      (       a  [        U 5      n U $ )zÊ
Takes either a single- or double-callable application and always returns it
in single-callable style. Use this to add backwards compatibility for ASGI
2.0 applications to your server/test harness/etc.
)r   r   r   s    r   Úguarantee_single_callabler   (   s   € ô ˜+×&Ñ&Ü/°Ó<ˆØÐr   )r
   Úsyncr   r   r   r   r   r   r   Ú<module>r      s   ðÛ å %ò0ò,	ór   