Ë
    Ü_Ëi
L  ã                  óÈ  — d Z 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m	Z	m
Z
mZmZmZ ddlmZ ddlmZ ddlmZmZmZmZ ddlmZmZ dd	lmZmZmZ dd
lmZ ddl m!Z!m"Z"m#Z# e!e"fZ$e	rddl%m&Z& ddl'm(Z( 	 ddl)m*Z*m+Z+m,Z,m)Z) d'd„Z-dZ/dZ0dZ1ejd                  dk(  rG	 ddl3Z4d„ Z5	  e4jl                  e4jn                  d«      5 Z8 e5e8dd«      Z9 e5e8dd«      Z:ddd«       d„ Z<nd(d„Z=d)d„Z<	 	 d*	 	 	 	 	 	 	 	 	 d+d„Z> G d„ d «      Z?d,d!„Z@	 	 	 	 	 	 d-d"„ZA	 	 	 	 	 	 d.d#„ZBd,d$„ZCd-d%„ZDd/d&„ZEy# e.$ r d'd„Z-Y Œ®w xY w# e.$ r ddl4Z4Y Œ£w xY w# 1 sw Y   ŒrxY w# e;$ r dZ9dZ:Y Œ€w xY w)0z)Pool utilities and shared helper methods.é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚNoReturnÚOptionalÚUnion)Ú_csot)Ú_getaddrinfo)ÚAutoReconnectÚConnectionFailureÚNetworkTimeoutÚ_CertificateError)Ú_get_timeout_detailsÚformat_timeout_details)ÚAsyncNetworkingInterfaceÚNetworkingInterfaceÚPyMongoProtocol)ÚPoolOptions)Ú
PYSSLErrorÚSSLErrorÚ_has_sni)Ú_sslConn)Ú_Address)ÚF_GETFDÚF_SETFDÚ
FD_CLOEXECÚfcntlc                óT   — t        | t        «      }t        | t        |t        z  «       y)z8Set the close-on-exec flag on the given file descriptor.N)r   r   r   r   )ÚfdÚflagss     úV/var/www/pod-logistic/pod-api/venv/lib/python3.12/site-packages/pymongo/pool_shared.pyÚ_set_non_inheritable_non_atomicr"   4   s   € ä�bœ'Ó"ˆÜˆb”'˜5¤:Ñ-Õ.ó    c                 ó   — y)z6Dummy function for platforms that don't provide fcntl.N© )r   s    r!   r"   r"   =   s   � r#   éx   é
   é	   Úwin32c                óz   — 	 t        j                  | |«      \  }}t        |«      S # t        t        f$ r |cY S w xY w©N)ÚwinregÚQueryValueExÚintÚOSErrorÚ
ValueError)ÚkeyÚnameÚdefaultÚvalueÚ_s        r!   Ú_queryr6   K   sB   € ð	Ü×*Ñ*¨3°Ó5‰HˆE�1ä�u“:ÐøÜœÐ$ò 	ð ŠNð	ús   ‚#& ¦:¹:z2SYSTEM\CurrentControlSet\Services\Tcpip\ParametersÚKeepAliveTimei Ým ÚKeepAliveIntervaléè  c                óÌ   — t        t        t        dz  «      }t        t        t        dz  «      }|t        k  s	|t        k  r$| j                  t        j                  d||f«       y y )Nr9   é   )ÚminÚ_WINDOWS_TCP_IDLE_MSÚ_MAX_TCP_KEEPIDLEÚ_WINDOWS_TCP_INTERVAL_MSÚ_MAX_TCP_KEEPINTVLÚioctlÚsocketÚSIO_KEEPALIVE_VALS)ÚsockÚidle_msÚinterval_mss      r!   Ú_set_keepalive_timesrG   a   sZ   € ÜÔ*Ô,=ÀÑ,DÓEˆÜÔ2Ô4FÈÑ4MÓNˆØÔ)Ò)¨[Ô;SÒ-SØ�J‰J”v×0Ñ0°1°g¸{Ð2KÕLð .Tr#   c                óô   — t        t        |«      rYt        t        |«      }	 | j                  t        j                  |«      }||kD  r"| j                  t        j                  ||«       y y y # t        $ r Y y w xY wr+   )ÚhasattrrB   ÚgetattrÚ
getsockoptÚIPPROTO_TCPÚ
setsockoptr/   )rD   Ú
tcp_optionÚ	max_valueÚsockoptr3   s        r!   Ú_set_tcp_optionrQ   i   sq   € Ü”6˜:Ô&Üœf jÓ1ˆGðð Ÿ/™/¬&×*<Ñ*<¸gÓF�Ø˜YÒ&Ø—O‘O¤F×$6Ñ$6¸ÀÕKð 'ð 'øô ò Ùðús   ¢AA+ Á+	A7Á6A7c                ój   — t        | dt        «       t        | dt        «       t        | dt        «       y )NÚTCP_KEEPIDLEÚTCP_KEEPINTVLÚTCP_KEEPCNT)rQ   r>   r@   Ú_MAX_TCP_KEEPCNT©rD   s    r!   rG   rG   v   s)   € Ü˜˜nÔ.?Ô@Ü˜˜oÔ/AÔBÜ˜˜mÔ-=Õ>r#   c                ó   — | \  }}|�	d|||fz  }n|› d|› �}|r||z   }d|vr|t        |«      z  }t        |t        j                  «      st        |t        «      rdt        |«      v rt        |«      |‚t        |«      |‚)z9Convert a socket.error to ConnectionFailure and raise it.z	%s:%d: %sz: zconfigured timeoutsú	timed out)r   Ú
isinstancerB   ÚtimeoutÚ	SSLErrorsÚstrr   r   )ÚaddressÚerrorÚ
msg_prefixÚtimeout_detailsÚhostÚportÚmsgs          r!   Ú_raise_connection_failurere   |   s—   € ð �J€Dˆ$àÐØ˜T 4¨Ð/Ñ/‰à��b˜˜Ð ˆÙØ˜3ÑˆØ CÑ'ØÔ% oÓ6Ñ6ˆä�5œ&Ÿ.™.Ô)Ü�eœYÔ'Øœ3˜u›:Ñ%ä˜SÓ! uÐ,ä˜CÓ  eÐ+r#   c                  ó.   — e Zd Zdd„Zdd„Zedd„«       Zy)Ú_CancellationContextc                ó   — d| _         y )NF©Ú
_cancelled©Úselfs    r!   Ú__init__z_CancellationContext.__init__˜   s	   € Øˆ�r#   c                ó   — d| _         y)zCancel this context.TNri   rk   s    r!   Úcancelz_CancellationContext.cancel›   s	   € àˆ�r#   c                ó   — | j                   S )zWas cancel called?ri   rk   s    r!   Ú	cancelledz_CancellationContext.cancelledŸ   s   € ð �‰Ðr#   N)ÚreturnÚNone)rr   Úbool)Ú__name__Ú
__module__Ú__qualname__rm   ro   Úpropertyrq   r%   r#   r!   rg   rg   —   s    „ ó óð òó ñr#   rg   c           
   ƒ  ór  K  — | \  }}|j                  d«      r—t        t        d«      st        d«      ‚t        j                  t        j                  «      }t        |j                  «       «       	 |j                  d«       t        j                  «       j                  ||«      ƒ d{  –—†  |S t        j                  }t        j                  r|dk7  rt        j                  }d}t!        |||t        j"                  ¬«      ƒ d{  –—† D �]Z  }|\  }}	}
}}	 t        j                  ||	t%        t        dd	«      z  |
«      }t        |j                  «       «       	 |j'                  t        j(                  t        j*                  d
«       t-        j.                  «       }|€|j0                  }n|d	k  rt        j2                  d«      ‚|j'                  t        j4                  t        j6                  d«       t9        |«       |j                  d«       t        j:                  t        j                  «       j                  ||«      |¬«      ƒ d{  –—†  |j=                  |«       |c S  |�|‚t        d«      ‚7 �ŒÐ# t        $ r |j                  «        ‚ w xY w7 �Œ“# t        $ r t        j                  ||	|
«      }Y �Œ~w xY w7 Œt# t        j>                  $ r7}|j                  «        t        j2                  d«      }||_         Y d}~�Œÿd}~wt        $ r}|j                  «        |}Y d}~�Œ#d}~ww xY w­w)ú·Given (host, port) and PoolOptions, connect and return a raw socket object.

    Can raise socket.error.

    This is a modified version of create_connection from CPython >= 2.7.
    ú.sockÚAF_UNIXú-UNIX-sockets are not supported on this systemFNÚ	localhost©ÚfamilyÚtypeÚSOCK_CLOEXECr   r;   rY   T©r[   úgetaddrinfo failed)!ÚendswithrI   rB   r   r|   r"   ÚfilenoÚsetblockingÚasyncioÚget_running_loopÚsock_connectr/   ÚcloseÚAF_INETÚhas_ipv6Ú	AF_UNSPECr
   ÚSOCK_STREAMrJ   rM   rL   ÚTCP_NODELAYr	   Ú	remainingÚconnect_timeoutr[   Ú
SOL_SOCKETÚSO_KEEPALIVErG   Úwait_forÚ
settimeoutÚTimeoutErrorÚ	__cause__©r^   Úoptionsrb   rc   rD   r€   ÚerrÚresÚafÚsocktypeÚprotoÚdummyÚsar[   Úes                  r!   Ú_async_create_connectionr£   ¥   s¥  è ø€ ð �J€Dˆ$ð ‡}�}�WÔÜ”v˜yÔ)Ü#Ð$SÓTÐTÜ�}‰}œVŸ^™^Ó,ˆä'¨¯©«Ô6ð	Ø×Ñ˜UÔ#Ü×*Ñ*Ó,×9Ñ9¸$ÀÓE×EÐEØˆKô �^‰^€FÜ‡‚˜4 ;Ò.Ü×!Ñ!ˆà
€CÜ! $¨°VÄ&×BTÑBTÔU×Uó $ˆØ),Ñ&ˆˆH�e˜U Bð	6Ü—=‘=  X´¼ÀÐPQÓ0RÑ%RÐTYÓZˆDô 	(¨¯©«Ô6ð	Ø�O‰OœF×.Ñ.´×0BÑ0BÀAÔFä—o‘oÓ'ˆGØˆØ!×1Ñ1‘Ø˜A’Ü—n‘n [Ó1Ð1Ø�O‰OœF×-Ñ-¬v×/BÑ/BÀDÔIÜ  Ô&à×Ñ˜UÔ#Ü×"Ñ"Ü×(Ñ(Ó*×7Ñ7¸¸bÓAÈ7ô÷ ð ð �O‰O˜GÔ$ØŠKð;$ðL €Øˆ	ô
 Ð*Ó+Ð+ðu Fúäò 	Ø�J‰JŒLØð	úð Vúô ò 	6ô —=‘=  X¨uÓ5‹Dð	6úð$ùô
 ×#Ñ#ò 	Ø�J‰JŒLÜ—.‘. Ó-ˆCØˆC�MŠMûÜò 	Ø�J‰JŒLØŽCûð	üs°   ‚A.L7Á18I< Â)I9Â*I< Â/AL7ÄJÄL7Ä)JÅL7ÅC3KÉKÉKÉ&L7É9I< É<JÊL7Ê KÊ=L7Ë KËL7ËKËL4Ë,LÌL7ÌL4ÌL/Ì)L7Ì/L4Ì4L7c              ƒ  ó”  K  — t        | |«      ƒ d{  –—† }|j                  }|€|j                  |j                  «       |S | d   }	 t	        d«      rOt        j                  «       }|j                  dt        j                  |j                  ||¬«      «      ƒ d{  –—† }n9t        j                  «       }|j                  d|j                  |«      ƒ d{  –—† }|j"                  r>|j$                  s2|j&                  s&	 t)        j*                  j-                  «       |¬«       j                  |j                  «       |S 7 �Œ07 Œ¨7 Œp# t        $ r |j                  «        ‚ t        gt        ¢­$ r4}|j                  «        t        |«      }t!        | |d|¬«       Y d}~ŒÇd}~ww xY w# t        $ r j                  «        ‚ w xY w­w)úºGiven (host, port) and PoolOptions, return a raw configured socket.

    Can raise socket.error, ConnectionFailure, or _CertificateError.

    Sets socket's SSL and timeout options.
    Nr   F©Úserver_hostnameúSSL handshake failed: ©ra   ©Úhostname)r£   Ú_ssl_contextr–   Úsocket_timeoutr   rˆ   r‰   Úrun_in_executorÚ	functoolsÚpartialÚwrap_socketr   r‹   r/   r\   r   re   Úverify_modeÚcheck_hostnameÚtls_allow_invalid_hostnamesÚsslÚmatch_hostnameÚgetpeercert)	r^   rš   rD   Ússl_contextrb   ÚloopÚssl_sockÚexcÚdetailss	            r!   Ú_async_configured_socketr½   ô   s¡  è ø€ ô *¨'°7Ó;×;€DØ×&Ñ&€KàÐØ�‰˜×.Ñ.Ô/Øˆà�1‰:€Dðcô �EŒ?Ü×+Ñ+Ó-ˆDØ!×1Ñ1ØÜ×!Ñ! +×"9Ñ"9¸4ÐQUÔVó÷ ‰Hô
 ×+Ñ+Ó-ˆDØ!×1Ñ1°$¸×8OÑ8OÐQUÓV×VˆHð 	×ÒØ×*Ò*Ø×3Ò3ð	Ü×Ñ˜x×3Ñ3Ó5ÀÕEð
 ×Ñ˜×.Ñ.Ô/Ø€OðY <ùðøð WùÜò Ø�
‰
Œð 	ÜÐ ”iÑ ò cØ�
‰
Œô ' wÓ/ˆÜ! '¨3Ð0HÐZa×bÒbûðcûô !ò 	Ø�N‰NÔØð	üsv   ‚G’E“4GÁAE	 ÂEÂ9E	 ÃEÃE	 Ã$GÄ %F* Ä%GÅE	 ÅE	 Å	*F'Å3*F"ÆGÆ"F'Æ'GÆ*GÇGc              ƒ  óÊ  ‡	K  — t        | |«      ƒ d{  –—† }|j                  }|j                  Š	|€9t        t	        j
                  «       j                  ˆ	fd„|¬«      ƒ d{  –—† «      S | d   }	 t	        j
                  «       j                  ˆ	fd„|||¬«      ƒ d{  –—† \  }}|j                  r?|j                  s3|j                  s'	 t        j                   j#                  d	«      |¬
«       t        f«      S 7 Œê7 Œ�7 Œc# t        $ r ‚ t        gt        ¢­$ r$}t        |«      }t        | |d|¬«       Y d}~Œ—d}~ww xY w# t        $ r j%                  «        ‚ w xY w­w)zÊGiven (host, port) and PoolOptions, return a configured AsyncNetworkingInterface.

    Can raise socket.error, ConnectionFailure, or _CertificateError.

    Sets protocol's SSL and timeout options.
    Nc                 ó   •— t        ‰ ¬«      S ©Nrƒ   ©r   rƒ   s   €r!   ú<lambda>z0_configured_protocol_interface.<locals>.<lambda><  s   ø€ œ°Ô8€ r#   rW   r   c                 ó   •— t        ‰ ¬«      S rÀ   rÁ   rƒ   s   €r!   rÂ   z0_configured_protocol_interface.<locals>.<lambda>E  s   ø€ ”O¨GÔ4€ r#   )rD   r§   rµ   r¨   r©   Úpeercertrª   )r£   r¬   r­   r   rˆ   r‰   Úcreate_connectionr   r/   r\   r   re   r²   r³   r´   rµ   r¶   Úget_extra_infoÚabort)
r^   rš   rD   r¸   rb   Ú	transportÚprotocolr»   r¼   r[   s
            @r!   Ú_configured_protocol_interfacerÊ   ,  st  øè ø€ ô *¨'°7Ó;×;€DØ×&Ñ&€KØ×$Ñ$€GàÐÜ'Ü×*Ñ*Ó,×>Ñ>Û8¸tð ?ó ÷ ó
ð 	
ð �1‰:€Dðcô %,×$<Ñ$<Ó$>×$PÑ$PÛ4ØØ Øð	 %Qó %
÷ 
Ñˆ	�8ð" 	×ÒØ×*Ò*Ø×3Ò3ð	Ü×Ñ˜y×7Ñ7¸
ÓCÈdÕSô
 $ Y°Ð$9Ó:Ð:ðU <øðøð
ùô ò ð 	ÜÐ ”iÑ ò cô ' wÓ/ˆÜ! '¨3Ð0HÐZa×bÒbûðcûô !ò 	Ø�O‰OÔØð	üsv   ƒE#“C>”AE#Á"D Á#E#Á1-D ÂDÂD Â&$E#Ã&E Ã1E#Ä E#ÄD ÄEÄD=Ä8E#Ä=EÅE#ÅE Å E#c           
     óô  — | \  }}|j                  d«      rkt        t        d«      st        d«      ‚t        j                  t        j                  «      }t        |j                  «       «       	 |j                  |«       |S t        j                  }t        j                  r|dk7  rt        j                  }d}t        j                  |||t        j                  ¬«      D �]  }|\  }}	}
}}	 t        j                  ||	t        t        dd«      z  |
«      }t        |j                  «       «       	 |j!                  t        j"                  t        j$                  d	«       t'        j(                  «       }|€|j*                  }n|dk  rt        j,                  d
«      ‚|j/                  |«       |j!                  t        j0                  t        j2                  d«       t5        |«       |j                  |«       |c S  |�|‚t        d«      ‚# t        $ r |j                  «        ‚ w xY w# t        $ r t        j                  ||	|
«      }Y �Œ7w xY w# t        $ r}|}|j                  «        Y d}~�Œ’d}~ww xY w)rz   r{   r|   r}   r~   Nr   r‚   r   r;   rY   Tr„   )r…   rI   rB   r   r|   r"   r†   Úconnectr/   r‹   rŒ   r�   rŽ   Úgetaddrinfor�   rJ   rM   rL   r�   r	   r‘   r’   r[   r–   r“   r”   rG   r™   s                  r!   Ú_create_connectionrÎ   b  s  € ð �J€Dˆ$ð ‡}�}�WÔÜ”v˜yÔ)Ü#Ð$SÓTÐTÜ�}‰}œVŸ^™^Ó,ˆä'¨¯©«Ô6ð	Ø�L‰L˜ÔØˆKô �^‰^€FÜ‡‚˜4 ;Ò.Ü×!Ñ!ˆà
€CÜ×!Ñ! $¨°VÄ&×BTÑBTÔUó ˆØ),Ñ&ˆˆH�e˜U Bð	6Ü—=‘=  X´¼ÀÐPQÓ0RÑ%RÐTYÓZˆDô 	(¨¯©«Ô6ð	Ø�O‰OœF×.Ñ.´×0BÑ0BÀAÔFä—o‘oÓ'ˆGØˆØ!×1Ñ1‘Ø˜A’Ü—n‘n [Ó1Ð1Ø�O‰O˜GÔ$Ø�O‰OœF×-Ñ-¬v×/BÑ/BÀDÔIÜ  Ô&Ø�L‰L˜ÔØŠKð3ð< €Øˆ	ô
 Ð*Ó+Ð+øôa ò 	Ø�J‰JŒLØð	ûô& ò 	6ô —=‘=  X¨uÓ5‹Dð	6ûô& ò 	ØˆCØ�J‰J�LŠLûð	ús7   Á/H Ã-)H*Ä0C	IÈH'È* IÉIÉ	I7ÉI2É2I7c                ó¨  — t        | |«      }|j                  }|€|j                  |j                  «       |S | d   }	 t	        d«      r|j                  ||¬«      }n|j                  |«      }|j                  r>|j                  s2|j                  s&	 t        j                   j#                  «       |¬«       j                  |j                  «       |S # t        $ r |j                  «        ‚ t        gt        ¢­$ r4}|j                  «        t        |«      }t        | |d|¬«       Y d}~ŒÀd}~ww xY w# t        $ r j                  «        ‚ w xY w)r¥   Nr   Tr¦   r¨   r©   rª   )rÎ   r¬   r–   r­   r   r±   r   r‹   r/   r\   r   re   r²   r³   r´   rµ   r¶   r·   ©r^   rš   rD   r¸   rb   rº   r»   r¼   s           r!   Ú_configured_socketrÑ   ¨  sB  € ô ˜g wÓ/€DØ×&Ñ&€KàÐØ�‰˜×.Ñ.Ô/Øˆà�1‰:€Dðcô �DŒ>Ø"×.Ñ.¨tÀTÐ.ÓJ‰Hà"×.Ñ.¨tÓ4ˆHð 	×ÒØ×*Ò*Ø×3Ò3ð	Ü×Ñ˜x×3Ñ3Ó5ÀÕEð
 ×Ñ˜×.Ñ.Ô/Ø€Oøô1 ò Ø�
‰
Œð 	ÜÐ ”iÑ ò cØ�
‰
Œô ' wÓ/ˆÜ! '¨3Ð0HÐZa×bÒbûðcûô !ò 	Ø�N‰NÔØð	ús#   ¾0C Â%D6 Ã*D3Ã?*D.Ä.D3Ä6Ec                óÌ  — t        | |«      }|j                  }|€&|j                  |j                  «       t	        |«      S | d   }	 t        d«      r|j                  ||¬«      }n|j                  |«      }|j                  r>|j                  s2|j                  s&	 t!        j"                  j%                  «       |¬«       j                  |j                  «       t	        |«      S # t        $ r |j                  «        ‚ t        gt        ¢­$ r4}|j                  «        t        |«      }t        | |d|¬«       Y d}~ŒÉd}~ww xY w# t        $ r j                  «        ‚ w xY w)zÕGiven (host, port) and PoolOptions, return a NetworkingInterface wrapping a configured socket.

    Can raise socket.error, ConnectionFailure, or _CertificateError.

    Sets socket's SSL and timeout options.
    Nr   Tr¦   r¨   r©   rª   )rÎ   r¬   r–   r­   r   r   r±   r   r‹   r/   r\   r   re   r²   r³   r´   rµ   r¶   r·   rÐ   s           r!   Ú_configured_socket_interfacerÓ   Ù  sN  € ô ˜g wÓ/€DØ×&Ñ&€KàÐØ�‰˜×.Ñ.Ô/Ü" 4Ó(Ð(à�1‰:€Dðcô �DŒ>Ø"×.Ñ.¨tÀTÐ.ÓJ‰Hà"×.Ñ.¨tÓ4ˆHð 	×ÒØ×*Ò*Ø×3Ò3ð	Ü×Ñ˜x×3Ñ3Ó5ÀÕEð
 ×Ñ˜×.Ñ.Ô/Ü˜xÓ(Ð(øô1 ò Ø�
‰
Œð 	ÜÐ ”iÑ ò cØ�
‰
Œô ' wÓ/ˆÜ! '¨3Ð0HÐZa×bÒbûðcûô !ò 	Ø�N‰NÔØð	ús$   Á0C' Â%E Ã'*EÄ*E Å EÅE#)r   r.   rr   rs   )rD   úsocket.socketrN   r]   rO   r.   rr   rs   )rD   rÔ   rr   rs   )NN)
r^   r   r_   Ú	Exceptionr`   zOptional[str]ra   zOptional[dict[str, float]]rr   r   )r^   r   rš   r   rr   rÔ   )r^   r   rš   r   rr   zUnion[socket.socket, _sslConn])r^   r   rš   r   rr   r   )r^   r   rš   r   rr   r   )FÚ__doc__Ú
__future__r   rˆ   r¯   rB   rµ   ÚsysÚtypingr   r   r   r   r   Úpymongor	   Úpymongo.asynchronous.helpersr
   Úpymongo.errorsr   r   r   r   Úpymongo.helpers_sharedr   r   Úpymongo.network_layerr   r   r   Úpymongo.pool_optionsr   Úpymongo.ssl_supportr   r   r   r\   Úpymongo.pyopenssl_contextr   Úpymongo.typingsr   r   r   r   r   r"   ÚImportErrorr>   r@   rV   ÚplatformÚ_winregr,   r6   ÚOpenKeyÚHKEY_LOCAL_MACHINEr1   r=   r?   r/   rG   rQ   re   rg   r£   r½   rÊ   rÎ   rÑ   rÓ   r%   r#   r!   ú<module>rè      sí  ðñ 0Ý "ã Û Û Û 
Û 
÷õ õ Ý 5÷ó ÷ Pß `Ñ `Ý ,ß >Ñ >à˜Ð"€	ÙÝ2Ý(ðEß9Ó9ó/ð Ð ØÐ ØÐ à‡<�<�7ÒðÛ òð
(ØˆV�^‰^Ø×%Ñ%Ð'\ó
ð 	NàÙ#)¨#¨ÀÓ#HÐ Ù'-¨cÐ3FÈÓ'MÐ$÷		NóMóó?ð !%Ø26ð	,Øð,àð,ð ð,ð 0ð	,ð
 ó,÷6ñ óL,ð^5Øð5Ø +ð5à#ó5ðp3;Øð3;Ø +ð3;àó3;ólC,óL.ôb.)øðA ò EõEð	Eûð ò Ýðú÷	Nð 	Nûð
 ò (ð  'ÐØ#'Ò ð	(úsN   Á8D+ ÂD: Â&E ÃE	ÃE Ä+	D7Ä6D7Ä:	EÅEÅ	EÅE Å	E!Å E!