§
    °eîi84  ã                  óÎ  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlmZmZ d dlmZ d dlmZ d dlmZmZ d dlZd dlmZ d dlmZ er1d d	lmZ d d
lm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z& ee z  e&z  e"z  e$z  Z'de(d<   e	j)        e	j*        fZ+ej        dk    re+e	j,        fz  Z+ ej-        d¦  «        Z. G d„ d¦  «        Z/ G d„ d¦  «        Z0dS )é    )ÚannotationsN)Ú	GeneratorÚSequence)Ú
formatdate)Ú	FrameType)ÚTYPE_CHECKINGÚ	TypeAlias)Úasyncio_run)ÚConfig)ÚH11Protocol)ÚHttpToolsProtocol)ÚWebSocketProtocol)ÚWebSocketsSansIOProtocol)Ú
WSProtocolr	   Ú	ProtocolsÚwin32zuvicorn.errorc                  ó   — e Zd ZdZdd„ZdS )ÚServerStatezP
    Shared servers state that is available between all protocol instances.
    ÚreturnÚNonec                ón   — d| _         t          ¦   «         | _        t          ¦   «         | _        g | _        d S ©Nr   )Útotal_requestsÚsetÚconnectionsÚtasksÚdefault_headers©Úselfs    úR/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/uvicorn/server.pyÚ__init__zServerState.__init__1   s/   € ØˆÔÝ+.©5¬5ˆÔÝ.1©e¬eˆŒ
Ø:<ˆÔÐÐó    N©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   © r"   r    r   r   ,   s2   € € € € € ðð ð=ð =ð =ð =ð =ð =r"   r   c                  ó´   — e Zd Zdd„Zej        d d„¦   «         Zd!d"d„Zd!d"d„Zd!d"d„Z	d!d"d„Z
d#d„Zd$d„Zd%d„Zd!d"d„Zd$d„Zej        d&d„¦   «         Zd'd„ZdS )(ÚServerÚconfigr   r   r   c                ó€   — || _         t          ¦   «         | _        d| _        d| _        d| _        d| _        g | _        d S )NFg        )r+   r   Úserver_stateÚstartedÚshould_exitÚ
force_exitÚlast_notifiedÚ_captured_signals)r   r+   s     r    r!   zServer.__init__9   sA   € ØˆŒÝ'™MœMˆÔàˆŒØ ˆÔØˆŒØ ˆÔà,.ˆÔÐÐr"   ú
int | Nonec                óv   — | j         j        €d S | j         j        t          j        d| j         j        ¦  «        z   S r   )r+   Úlimit_max_requestsÚrandomÚrandintÚlimit_max_requests_jitterr   s    r    r5   zServer.limit_max_requestsD   s3   € àŒ;Ô)Ð1Ø�4ØŒ{Ô-µ´¸qÀ$Ä+ÔBgÑ0hÔ0hÑhÐhr"   NÚsocketsúlist[socket.socket] | Nonec                óz   — t          |                      |¬¦  «        | j                             ¦   «         ¬¦  «        S )N©r9   )Úloop_factory)r
   Úserver+   Úget_loop_factory©r   r9   s     r    Úrunz
Server.runJ   s1   € Ý˜4Ÿ:š:¨g˜:Ñ6Ô6ÀTÄ[×EaÒEaÑEcÔEcÐdÑdÔdÐdr"   c              ƒ  óš   K  — |                       ¦   «         5  |                      |¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S ©N)Úcapture_signalsÚ_server@   s     r    r>   zServer.serveM   s    è è € Ø×!Ò!Ñ#Ô#ð 	'ð 	'Ø—+’+˜gÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   —A Á AÁAc              ƒ  ó`  K  — t          j        ¦   «         }| j        }|j        s|                     ¦   «          |                     |¦  «        | _        d}dt          j        dd¬¦  «        z   dz   }t           
                    ||d|i¬¦  «         |                      |¬	¦  «        ƒ d {V —† | j        s|                      ¦   «         ƒ d {V —† | j        r[|                      |¬	¦  «        ƒ d {V —† d
}dt          j        dd¬¦  «        z   dz   }t           
                    ||d|i¬¦  «         d S d S )NzStarted server process [%d]zStarted server process [z%dÚcyan)ÚfgÚ]Úcolor_message©Úextrar<   zFinished server process [%d]zFinished server process [)ÚosÚgetpidr+   ÚloadedÚloadÚlifespan_classÚlifespanÚclickÚstyleÚloggerÚinfoÚstartupr/   Ú	main_loopr.   Úshutdown)r   r9   Ú
process_idr+   ÚmessagerJ   s         r    rE   zServer._serveQ   s\  è è € Ý”Y‘[”[ˆ
à”ˆØŒ}ð 	Ø�KŠK‰MŒMˆMà×-Ò-¨fÑ5Ô5ˆŒà/ˆØ2µU´[ÀÈ&Ð5QÑ5QÔ5QÑQÐTWÑWˆÝ�Š�G˜Z°ÀÐ/OˆÑPÔPÐPà�lŠl 7ˆlÑ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØÔð 	#Ø—.’.Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØŒ<ð 	UØ—-’-¨�-Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0à4ˆGØ7½%¼+ÀdÈvÐ:VÑ:VÔ:VÑVÐY\Ñ\ˆMÝ�KŠK˜ °OÀ]Ð3SˆKÑTÔTÐTÐTÐTð	Uð 	Ur"   c              ƒ  óº  ‡ ‡K  — ‰ j                              ¦   «         ƒ d {V —† ‰ j         j        r	d‰ _        d S ‰ j        Š	 ddˆˆ fd„}t	          j        ¦   «         }|�†dd	„}g ‰ _        |D ]t}t          j        ¦   «         d
k    }‰j	        dk    r|r ||¦  «        }| 
                    ||‰j        ‰j        ¬¦  «        ƒ d {V —†}‰ j                             |¦  «         Œu|}�n×‰j        �rt          j        ‰j        t          j        t          j        ¦  «        }| 
                    ||‰j        ‰j        ¬¦  «        ƒ d {V —†}|j        €J ‚|j        }|g‰ _        �n^‰j        �¥d}	t*          j                             ‰j        ¦  «        rt+          j        ‰j        ¦  «        j        }	|                     |‰j        ‰j        ‰j        ¬¦  «        ƒ d {V —†}t+          j        ‰j        |	¦  «         |j        €J ‚|j        }|g‰ _        n²	 | 
                    |‰j        ‰j        ‰j        ‰j        ¬¦  «        ƒ d {V —†}nd# t<          $ rW}
t>                                |
¦  «         ‰ j          !                    ¦   «         ƒ d {V —† tE          j#        d¦  «         Y d }
~
nd }
~
ww xY w|j        €J ‚|j        }|g‰ _        |€‰  $                    |¦  «         n	 d‰ _%        d S )NTÚ_loopú asyncio.AbstractEventLoop | Noner   úasyncio.Protocolc                óT   •— ‰                      ‰‰j        ‰j        j        | ¬¦  «        S )N)r+   r-   Ú	app_stater]   )Úhttp_protocol_classr-   rR   Ústate)r]   r+   r   s    €€r    Úcreate_protocolz'Server.startup.<locals>.create_protocolp   s6   ø€ ð ×-Ò-ØØ!Ô.Øœ-Ô-Øð	 .ñ ô ð r"   Úsockúsocket.SocketTypec                óp   — ddl m} |                      t          j        ¦   «         ¦  «        } ||¦  «        S )Nr   )Ú	fromshare)Úsocketrh   ÚsharerM   rN   )re   rh   Ú	sock_datas      r    Ú_share_socketz%Server.startup.<locals>._share_socket�   s=   € ð
 -Ð,Ð,Ð,Ð,Ð,à ŸJšJ¥r¤y¡{¤{Ñ3Ô3�	Ø �y Ñ+Ô+Ð+r"   ÚWindowsé   )re   ÚsslÚbacklogi¶  )Úpathro   rp   )ÚhostÚportro   rp   rC   )r]   r^   r   r_   )re   rf   r   rf   )&rR   rW   r/   r+   ÚasyncioÚget_running_loopÚserversÚplatformÚsystemÚworkersÚcreate_serverro   rp   ÚappendÚfdri   ÚfromfdÚAF_UNIXÚSOCK_STREAMr9   ÚudsrM   rq   ÚexistsÚstatÚst_modeÚcreate_unix_serverÚchmodrr   rs   ÚOSErrorrU   ÚerrorrY   ÚsysÚexitÚ_log_started_messager.   )r   r9   rd   Úlooprl   re   Ú
is_windowsÚserverÚ	listenersÚ	uds_permsÚexcr+   s   `          @r    rW   zServer.startuph   sˆ  øøè è € ØŒm×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØŒ=Ô$ð 	Ø#ˆDÔØˆFà”ˆð 7;ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ Ô'Ñ)Ô)ˆð Ðð,ð ,ð ,ð ,ð >@ˆDŒLØð ,ð ,�Ý%œ_Ñ.Ô.°)Ò;�
Ø”> AÒ%Ð%¨*Ð%Ø(˜=¨Ñ.Ô.�DØ#×1Ò1°/ÈÐRXÔR\ÐflÔftÐ1ÑuÔuÐuÐuÐuÐuÐuÐu�Ø”×#Ò# FÑ+Ô+Ð+Ð+ØˆI‰IàŒYÐ"å”= ¤­F¬N½FÔ<NÑOÔOˆDØ×-Ò-¨oÀDÈfÌjÐbhÔbpÐ-ÑqÔqÐqÐqÐqÐqÐqÐqˆFØ”>Ð-Ð-Ð-ØœˆIØ"˜8ˆDŒL‰LàŒZÐ#àˆIÝŒw�~Š~˜fœjÑ)Ô)ð 8ÝœG F¤JÑ/Ô/Ô7�	Ø×2Ò2Ø f¤j°f´jÈ&Ì.ð 3ñ ô ð ð ð ð ð ð ˆFõ ŒH�V”Z Ñ+Ô+Ð+Ø”>Ð-Ð-Ð-ØœˆIØ"˜8ˆDŒLˆLðØ#×1Ò1Ø#ØœØœØœ
Ø"œNð  2ñ  ô  ð ð ð ð ð ð ��øõ ð ð ð Ý—’˜SÑ!Ô!Ð!Ø”m×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ý”˜‘”������øøøøðøøøð
 ”>Ð-Ð-Ð-ØœˆIØ"˜8ˆDŒLàˆ?Ø×%Ò% iÑ0Ô0Ð0Ð0ð àˆŒˆˆs   È
4H? È?
J É	AJÊJ rŽ   úSequence[socket.SocketType]c                ó  — | j         }|j        �7|d         }t                               d|                     ¦   «         ¦  «         d S |j        �"t                               d|j        ¦  «         d S d}|j        €dn|j        }d|v rd}|j        }|dk    r |d                              ¦   «         d         }|j        rd	nd
}d|› d�}dt          j
        |d¬¦  «        z   dz   }	t                               ||||d|	i¬¦  «         d S )Nr   z3Uvicorn running on socket %s (Press CTRL+C to quit)z8Uvicorn running on unix socket %s (Press CTRL+C to quit)z
%s://%s:%dz0.0.0.0ú:z%s://[%s]:%drn   ÚhttpsÚhttpzUvicorn running on z (Press CTRL+C to quit)T)ÚboldrJ   rK   )r+   r|   rU   rV   Úgetsocknamer€   rr   rs   ro   rS   rT   )
r   rŽ   r+   re   Úaddr_formatrr   rs   Úprotocol_namer[   rJ   s
             r    rŠ   zServer._log_started_messageÅ   s?  € Ø”ˆàŒ9Ð Ø˜Q”<ˆDÝ�KŠKØEØ× Ò Ñ"Ô"ñô ð ð ð ð
 ŒZÐ#Ý�KŠKÐRÐTZÔT^Ñ_Ô_Ð_Ð_Ð_ð 'ˆKØ &¤Ð 3�9�9¸¼ˆDØ�dˆ{ˆ{à,�à”;ˆDØ�qŠyˆyØ  ”|×/Ò/Ñ1Ô1°!Ô4�à'-¤zÐ=˜G˜G°vˆMØP¨KÐPÐPÐPˆGØ1µE´KÀÐRVÐ4WÑ4WÔ4WÑWÐZsÑsˆMÝ�KŠKØØØØØ&¨Ð6ð ñ ô ð ð ð r"   c              ƒ  óÎ   K  — d}|                       |¦  «        ƒ d {V —†}|sC|dz  }|dz  }t          j        d¦  «        ƒ d {V —† |                       |¦  «        ƒ d {V —†}|¯Ad S d S )Nr   rn   i / çš™™™™™¹?)Úon_tickrt   Úsleep)r   Úcounterr/   s      r    rX   zServer.main_loopè   s¬   è è € ØˆØ ŸLšL¨Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1ˆØð 	6Ø�q‰LˆGØ Ñ&ˆGÝ”- Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø $§¢¨WÑ 5Ô 5Ð5Ð5Ð5Ð5Ð5Ð5ˆKð	 ð 	6ð 	6ð 	6ð 	6ð 	6r"   rž   ÚintÚboolc              ƒ  óô  K  — |dz  dk    r­t          j         ¦   «         }t          |d¬¦  «                             ¦   «         }| j        j        rd|fg}ng }|| j        j        z   | j        _        | j        j        �>|| j	        z
  | j        j
        k    r&|| _	        | j                             ¦   «         ƒ d {V —† | j        rdS | j        }|�-| j        j        |k    rt                               d|¦  «         dS dS )Né
   r   T)Úusegmts   datez:Maximum request limit of %d exceeded. Terminating process.F)Útimer   Úencoder+   Údate_headerÚencoded_headersr-   r   Úcallback_notifyr1   Útimeout_notifyr/   r5   r   rU   rV   )r   rž   Úcurrent_timeÚcurrent_dater¦   Úmax_requestss         r    rœ   zServer.on_tickñ   s  è è € à�R‰<˜1ÒÐÝœ9™;œ;ˆLÝ% l¸4Ð@Ñ@Ô@×GÒGÑIÔIˆLàŒ{Ô&ð !Ø '¨Ð6Ð7��à �à0;¸d¼kÔ>YÑ0YˆDÔÔ-ð Œ{Ô*Ð6Ø $Ô"4Ñ4°t´{Ô7QÒQÐQØ)5�DÔ&Øœ+×5Ò5Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7ð Ôð 	Ø�4àÔ.ˆØÐ#¨Ô(9Ô(HÈLÒ(XÐ(XÝ�KŠKÐTÐVbÑcÔcÐcØ�4àˆur"   c              ƒ  óà  K  — t                                d¦  «         | j        D ]}|                     ¦   «          Œ|pg D ]}|                     ¦   «          Œt	          | j        j        ¦  «        D ]}|                     ¦   «          Œt          j	        d¦  «        ƒ d {V —† 	 t          j
        |                      ¦   «         | j        j        ¬¦  «        ƒ d {V —† nl# t          j        $ rZ t                                dt!          | j        j        ¦  «        ¦  «         | j        j        D ]}|                     d¬¦  «         ŒY nw xY w| j        s!| j                             ¦   «         ƒ d {V —† d S d S )NzShutting downr›   )Útimeoutz=Cancel %s running task(s), timeout graceful shutdown exceededz2Task cancelled, timeout graceful shutdown exceeded)Úmsg)rU   rV   rv   ÚcloseÚlistr-   r   rY   rt   r�   Úwait_forÚ_wait_tasks_to_completer+   Útimeout_graceful_shutdownÚTimeoutErrorr‡   Úlenr   Úcancelr0   rR   )r   r9   r�   re   Ú
connectionÚts         r    rY   zServer.shutdown  sÙ  è è € Ý�Š�OÑ$Ô$Ð$ð ”lð 	ð 	ˆFØ�LŠL‰NŒNˆNˆNØ�M˜rð 	ð 	ˆDØ�JŠJ‰LŒLˆLˆLõ ˜tÔ0Ô<Ñ=Ô=ð 	"ð 	"ˆJØ×ÒÑ!Ô!Ð!Ð!ÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð ð	SÝÔ"Ø×,Ò,Ñ.Ô.ØœÔ=ðñ ô ð ð ð ð ð ð ð ð øõ Ô#ð 	Sð 	Sð 	SÝ�LŠLØOÝ�DÔ%Ô+Ñ,Ô,ñô ð ð Ô&Ô,ð Sð S�Ø—’ÐQ�ÑRÔRÐRÐRðSð Sð	Søøøð Œð 	+Ø”-×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð	+ð 	+s   Â!8C ÃA&EÅEc              ƒ  ó  K  — | j         j        rc| j        s\d}t                               |¦  «         | j         j        r4| j        s-t          j        d¦  «        ƒ d {V —† | j         j        r| j        ¯-| j         j        rc| j        s\d}t                               |¦  «         | j         j        r4| j        s-t          j        d¦  «        ƒ d {V —† | j         j        r| j        ¯-| j        D ]}| 	                    ¦   «         ƒ d {V —† Œd S )Nz8Waiting for connections to close. (CTRL+C to force quit)r›   z@Waiting for background tasks to complete. (CTRL+C to force quit))
r-   r   r0   rU   rV   rt   r�   r   rv   Úwait_closed)r   r¯   r�   s      r    r³   zServer._wait_tasks_to_complete/  sL  è è € àÔÔ(ð 	)°´ð 	)ØLˆCÝ�KŠK˜ÑÔÐØÔ#Ô/ð )¸¼ð )Ý”m CÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð Ô#Ô/ð )¸¼ð )ð ÔÔ"ð 	)¨4¬?ð 	)ØTˆCÝ�KŠK˜ÑÔÐØÔ#Ô)ð )°$´/ð )Ý”m CÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð Ô#Ô)ð )°$´/ð )ð ”lð 	'ð 	'ˆFØ×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð	'ð 	'r"   úGenerator[None, None, None]c              #  ó²  ‡ K  — t          j        ¦   «         t          j        ¦   «         urd V — d S ˆ fd„t          D ¦   «         }	 d V — |                     ¦   «         D ]\  }}t          j        ||¦  «         Œn4# |                     ¦   «         D ]\  }}t          j        ||¦  «         Œw xY wt          ‰ j        ¦  «        D ]}t          j        |¦  «         Œd S )Nc                óF   •— i | ]}|t          j         |‰j        ¦  «        “ŒS r(   )ÚsignalÚhandle_exit)Ú.0Úsigr   s     €r    ú
<dictcomp>z*Server.capture_signals.<locals>.<dictcomp>I  s*   ø€ ÐbÐbÐbÈ3˜S¥&¤-°°TÔ5EÑ"FÔ"FÐbÐbÐbr"   )	Ú	threadingÚcurrent_threadÚmain_threadÚHANDLED_SIGNALSÚitemsr¿   Úreversedr2   Úraise_signal)r   Úoriginal_handlersrÂ   ÚhandlerÚcaptured_signals   `    r    rD   zServer.capture_signalsA  s  øè è € õ Ô#Ñ%Ô%­YÔ-BÑ-DÔ-DÐDÐDØˆEˆEˆEØˆFð cÐbÐbÐbÕRaÐbÑbÔbÐð	,ØˆEˆEˆEà 1× 7Ò 7Ñ 9Ô 9ð ,ð ,‘��WÝ”˜c 7Ñ+Ô+Ð+Ð+ð,øÐ 1× 7Ò 7Ñ 9Ô 9ð ,ð ,‘��WÝ”˜c 7Ñ+Ô+Ð+Ð+ð,øøøõ
  (¨Ô(>Ñ?Ô?ð 	1ð 	1ˆOÝÔ Ñ0Ô0Ð0Ð0ð	1ð 	1s   ÁA8 Á81B)rÂ   ÚframeúFrameType | Nonec                óˆ   — | j                              |¦  «         | j        r|t          j        k    r	d| _        d S d| _        d S )NT)r2   r{   r/   r¿   ÚSIGINTr0   )r   rÂ   rÎ   s      r    rÀ   zServer.handle_exitU  sI   € ØÔ×%Ò% cÑ*Ô*Ð*ØÔð 	$ ¥v¤}Ò 4Ð 4Ø"ˆDŒOˆOˆOà#ˆDÔÐÐr"   )r+   r   r   r   )r   r3   rC   )r9   r:   r   r   )rŽ   r‘   r   r   r#   )rž   rŸ   r   r    )r   r¼   )rÂ   rŸ   rÎ   rÏ   r   r   )r$   r%   r&   r!   Ú	functoolsÚcached_propertyr5   rA   r>   rE   rW   rŠ   rX   rœ   rY   r³   Ú
contextlibÚcontextmanagerrD   rÀ   r(   r"   r    r*   r*   8   sg  € € € € € ð	/ð 	/ð 	/ð 	/ð Ôðið ið iñ Ôðið
eð eð eð eð eð'ð 'ð 'ð 'ð 'ðUð Uð Uð Uð Uð.[ð [ð [ð [ð [ðz!ð !ð !ð !ðF6ð 6ð 6ð 6ðð ð ð ð<+ð +ð +ð +ð +ð@'ð 'ð 'ð 'ð$ Ôð1ð 1ð 1ñ Ôð1ð&$ð $ð $ð $ð $ð $r"   r*   )1Ú
__future__r   rt   rÔ   rÒ   ÚloggingrM   rw   r6   r¿   ri   rˆ   rÄ   r¤   Úcollections.abcr   r   Úemail.utilsr   Útypesr   Útypingr   r	   rS   Úuvicorn._compatr
   Úuvicorn.configr   Úuvicorn.protocols.http.h11_implr   Ú%uvicorn.protocols.http.httptools_implr   Ú,uvicorn.protocols.websockets.websockets_implr   Ú3uvicorn.protocols.websockets.websockets_sansio_implr   Ú)uvicorn.protocols.websockets.wsproto_implr   r   Ú__annotations__rÑ   ÚSIGTERMrÇ   ÚSIGBREAKÚ	getLoggerrU   r   r*   r(   r"   r    ú<module>rç      sB  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à €€€à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø !Ð !Ð !Ð !Ð !Ð !àð wØ;Ð;Ð;Ð;Ð;Ð;ØGÐGÐGÐGÐGÐGØNÐNÐNÐNÐNÐNØ\Ð\Ð\Ð\Ð\Ð\ØDÐDÐDÐDÐDÐDà&Ð):Ñ:¸ZÑGÐJ[Ñ[Ð^vÑv€IÐvÐvÐvÑvð „MØ
„Nð€ð „<�7ÒÐØ˜œÐ)Ñ)€Oà	ˆÔ	˜?Ñ	+Ô	+€ð	=ð 	=ð 	=ð 	=ð 	=ñ 	=ô 	=ð 	=ðb$ð b$ð b$ð b$ð b$ñ b$ô b$ð b$ð b$ð b$r"   