§
    £”jF  ã                   ó,   — d dl Z ddlmZ d„ Zd„ Zd„ ZdS )é    Né   )Úiscoroutinefunctionc                 óæ   — t          | dd¦  «        rdS t          | dd¦  «        rdS t          j        | ¦  «        rdS t          | d¦  «        rt	          | j        ¦  «        rdS t	          | ¦  «         S )zY
    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    úd/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/asgiref/compatibility.pyÚis_double_callabler      sŒ   € õ
 ˆ{Ð3°UÑ;Ô;ð ØˆuÝˆ{Ð3°UÑ;Ô;ð Øˆtå„�{Ñ#Ô#ð Øˆtåˆ{˜JÑ'Ô'ð õ ˜{Ô3Ñ4Ô4ð 	Ø�5å" ;Ñ/Ô/Ð/Ð/ó    c                 ó   ‡ — ˆ fd„}|S )zS
    Transforms a double-callable ASGI application into a single-callable one.
    c              “   óB   •K  —  ‰| ¦  «        } |||¦  «        ƒ d {V —†S )N© )ÚscopeÚreceiveÚsendÚinstancer   s       €r   Únew_applicationz2double_to_single_callable.<locals>.new_application!   s:   øè è € Ø�;˜uÑ%Ô%ˆØ�X˜g tÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r   r   )r   r   s   ` r   Údouble_to_single_callabler      s$   ø€ ð
-ð -ð -ð -ð -ð Ðr   c                 óB   — t          | ¦  «        rt          | ¦  «        } | S )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      sW   ðØ €€€à %Ð %Ð %Ð %Ð %Ð %ð0ð 0ð 0ð,	ð 	ð 	ðð ð ð ð r   