+
    üÐj5  ã                   óì  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
HtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt  ! R	 R
]P0                  4      t]! ]
P4                  ! ]R4      '       * R4       ! R R]P6                  4      4       t ! R R]P:                  4      t ! R R]P>                  4      t ]! ]
PB                  ! ]R4      '       * R4       ! R R]P6                  4      4       t"R# )zK
Tests for implementations of L{IReactorUNIX} and L{IReactorUNIXDatagram}.
N)ÚskipIf)ÚaddressÚdeferÚerrorÚ
interfacesÚprotocolÚreactorÚutils)Úlockfile)ÚnetworkString)ÚFilePath)ÚMyClientFactoryÚMyServerFactory)Úunittestc                   ó,   a € ] tR t^t o R tR tRtV tR# )ÚFailedConnectionClientFactoryc                ó   € Wn         R # ©N©ÚonFail)Úselfr   s   &&Ú8/usr/lib/python3/dist-packages/twisted/test/test_unix.pyÚ__init__Ú&FailedConnectionClientFactory.__init__   s   € ØŽó    c                ó<   € V P                   P                  V4       R # r   )r   Úerrback)r   Ú	connectorÚreasons   &&&r   ÚclientConnectionFailedÚ4FailedConnectionClientFactory.clientConnectionFailed   s   € Ø�‰×Ñ˜FÖ#r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ò÷$ð $r   r   ú1This reactor does not support UNIX domain socketsc                   ó�   a € ] tR t^t o Rt]P                  ! ]R4      '       g   RtR t	R t
R tR tR tR	 tR
 tR tR tRtV tR# )ÚUnixSocketTestsz
Test unix sockets.
Nr)   c                ó  a aa€ S P                  4       pS P                  4       o\        4       o\        P                  ! 4       ;pSn        \
        P                  ! VS4      pS P                  VP                  4       \        P                  ! \        P                  \        P                  4      pS P                  VP                  4       VP                  S4       VP                  V4       VV V3R lpVP                  V4       V# )zÈ
The address passed to the server factory's C{buildProtocol} method and
the address returned by the connected protocol's transport's C{getPeer}
method match the address the client socket is bound to.
c                 óÂ   <€ \         P                  ! S4      pSP                  SP                  V.4       SP                  V P                  P                  4       V4       R # r   )r   ÚUNIXAddressÚassertEqualÚpeerAddressesÚ	transportÚgetPeer)ÚprotoÚexpectedÚpeernamer   ÚserverFactorys   & €€€r   Ú
cbConnMadeÚ1UnixSocketTests.test_peerBind.<locals>.cbConnMade;   sH   ø€ Ü×*Ò*¨8Ó4ˆHØ×Ñ˜]×8Ñ8¸8¸*ÔEØ×Ñ˜UŸ_™_×4Ñ4Ó6¸ÖAr   )Úmktempr   r   ÚDeferredÚprotocolConnectionMader   Ú
listenUNIXÚ
addCleanupÚstopListeningÚsocketÚAF_UNIXÚSOCK_STREAMÚcloseÚbindÚconnectÚaddCallback)r   ÚfilenameÚconnMadeÚunixPortÚ
unixSocketr7   r5   r6   s   f     @@r   Útest_peerBindÚUnixSocketTests.test_peerBind*   s¼   ú€ ð —;‘;“=ˆØ—;‘;“=ˆÜ'Ó)ˆÜ:?¿.º.Ó:JÐJˆ�=Ô7Ü×%Ò% h°Ó>ˆØ�‰˜×.Ñ.Ô/Ü—]’]¤6§>¡>´6×3EÑ3EÓFˆ
Ø�‰˜
×(Ñ(Ô)Ø�‰˜Ô!Ø×Ñ˜8Ô$÷	Bð
 	×Ñ˜ZÔ(Øˆr   c                ó´  a aa€ S P                  4       o\        4       p\        P                  ! 4       pW!n        \
        P                  ! SV4      pS P                  VP                  4       \        4       o\        P                  ! 4       pVSn        \
        P                  ! SS4       \        P                  ! W$.4      pVVV 3R lpVP                  V4       V# )zr
L{IReactorUNIX.connectUNIX} can be used to connect a client to a server
started with L{IReactorUNIX.listenUNIX}.
c                 óÚ   <€ V w  rSP                  SP                  \        P                  ! S4      .4       VP                  P                  4        VP                  P                  4        R # r   )r/   r0   r   r.   r1   ÚloseConnection)ÚargsÚserverProtocolÚclientProtocolÚclientFactoryrF   r   s   &  €€€r   ÚallConnectedÚ1UnixSocketTests.test_dumber.<locals>.allConnectedT   sZ   ø€ Ø-1Ñ*ˆNð ×ÑØ×+Ñ+¬g×.AÒ.AÀ(Ó.KÐ-Lôð ×$Ñ$×3Ñ3Ô5Ø×$Ñ$×3Ñ3Ö5r   )r9   r   r   r:   r;   r   r<   r=   r>   r   ÚconnectUNIXÚgatherResultsrE   )	r   r6   ÚserverConnMaderH   ÚclientConnMadeÚdrS   rR   rF   s	   f      @@r   Útest_dumberÚUnixSocketTests.test_dumberC   s¥   ú€ ð
 —;‘;“=ˆÜ'Ó)ˆÜŸšÓ)ˆØ/=Ô,Ü×%Ò% h°Ó>ˆØ�‰˜×.Ñ.Ô/Ü'Ó)ˆÜŸšÓ)ˆØ/=ˆÔ,Ü×Ò˜H mÔ4Ü×Ò Ð @ÓAˆ÷		6ð 	
�‰�lÔ#Øˆr   c                ó  a aaa	€ S P                  4       o\        4       p\        P                  ! 4       pW!n        \
        P                  ! SVRR7      o	S P                  \        P                  ! SR,           4      4       \        4       o\        P                  ! 4       pVSn        \
        P                  ! SS^R7       \        P                  ! W#.4      pVVV V	3R lpVP                  V4       VV 3R lpVP                  V4       V# )zÀ
A lockfile is created and locked when L{IReactorUNIX.listenUNIX} is
called and released when the Deferred returned by the L{IListeningPort}
provider's C{stopListening} method is called back.
T©ÚwantPIDú.lock©ÚcheckPIDc                 óö   <€ V w  rSP                  SP                  \        P                  ! S4      .4       VP                  P                  4        VP                  P                  4        SP                  4       # r   )r/   r0   r   r.   r1   rN   r>   )rO   rP   ÚclientProtorR   rF   r   rH   s   &  €€€€r   Ú
_portStuffÚ0UnixSocketTests.test_pidFile.<locals>._portStuffy   si   ø€ Ø*.Ñ'ˆNð ×ÑØ×+Ñ+¬g×.AÒ.AÀ(Ó.KÐ-Lôð ×!Ñ!×0Ñ0Ô2Ø×$Ñ$×3Ñ3Ô5Ø×)Ñ)Ó+Ð+r   c                 ób   <€ SP                  \        P                  ! SR ,           4      R4       R# )r_   ÚlockedN)ÚassertFalser
   ÚisLocked)ÚignoredrF   r   s   &€€r   Ú_checkÚ,UnixSocketTests.test_pidFile.<locals>._checkˆ   s#   ø€ Ø×ÑœX×.Ò.¨x¸'Õ/AÓBÀHÖMr   )r9   r   r   r:   r;   r   r<   Ú
assertTruer
   ri   r   rU   rV   rE   )
r   r6   rW   rX   rY   rd   rk   rR   rF   rH   s
   f      @@@r   Útest_pidFileÚUnixSocketTests.test_pidFileb   sÎ   û€ ð —;‘;“=ˆÜ'Ó)ˆÜŸšÓ)ˆØ/=Ô,Ü×%Ò% h°ÀtÔLˆØ�‰œ×)Ò)¨(°WÕ*<Ó=Ô>ô
 (Ó)ˆÜŸšÓ)ˆØ/=ˆÔ,Ü×Ò˜H m¸aÕ@ä×Ò Ð @ÓAˆ÷	,ð 	,ð 	
�‰�jÔ!ö	Nð 	
�‰�fÔØˆr   c                ó  aa€ V P                  4       o\        4       o\        P                  ! SSRR7      pV P	                  \
        P                  \        P                  SSRR7       VV3R lpVP                  4       P                  V4      # )zƒ
L{IReactorUNIX.listenUNIX} raises L{error.CannotListenError} if passed
the name of a file on which a server is already listening.
Tr]   c                 óV   <€ \         P                  ! SSR R7      pVP                  4       # ©Tr]   )r   r<   r>   )ÚignrH   rF   r6   s   & €€r   ÚstoppedListeningÚ<UnixSocketTests.test_socketLocking.<locals>.stoppedListeningŸ   s&   ø€ Ü×)Ò)¨(°MÈ4ÔPˆHØ×)Ñ)Ó+Ð+r   )	r9   r   r   r<   ÚassertRaisesr   ÚCannotListenErrorr>   rE   )r   rH   rt   rF   r6   s   &  @@r   Útest_socketLockingÚ"UnixSocketTests.test_socketLockingŽ   s|   ù€ ð
 —;‘;“=ˆÜ'Ó)ˆÜ×%Ò% h°ÀtÔLˆà×ÑÜ×#Ñ#Ü×ÑØØØð 	ô 	
ö	,ð ×%Ñ%Ó'×3Ñ3Ð4DÓEÐEr   c                óÀ  € V P                  4       V n        \        R V P                  : R24      pR\        \        P
                  P                  \        P                  4      4      P                  4       P                  /p\        \        P                  4      P                  4       P                  p\        P                  ! VRRV3VR7      pVP                  V4       V# )zBfrom twisted.internet import protocol, reactor
reactor.listenUNIX(z), protocol.ServerFactory(),wantPID=True)
s
   PYTHONPATHs   -us   -c)Úenv)r9   rF   r   r   ÚosÚpathsepÚjoinÚsysÚpathÚasBytesModeÚ
executabler	   ÚgetProcessValuerE   )r   ÚcallbackÚsourcer{   ÚpyExerY   s   &&    r   Ú_uncleanSocketTestÚ"UnixSocketTests._uncleanSocketTest¥   s¡   € ØŸ™›ˆŒÝð �}Œ}ðó
ˆð œh¤r§z¡z§¡´s·x±xÓ'@ÓA×MÑMÓO×TÑTÐUˆÜœŸ™Ó(×4Ñ4Ó6×;Ñ;ˆä×!Ò! %¨%°¸Ð)?ÀSÔIˆØ	�‰�hÔØˆr   c                ó2   a € V 3R lpS P                  V4      # )zú
If passed C{True} for the C{wantPID} parameter, a server can be started
listening with L{IReactorUNIX.listenUNIX} when passed the name of a
file on which a previous server which has not exited cleanly has been
listening using the C{wantPID} option.
c                 óz   <€ \         P                  ! SP                  \        4       R R7      pVP	                  4       # rr   )r   r<   rF   r   r>   )rs   Úpr   s   & €r   ÚranStupidChildÚGUnixSocketTests.test_uncleanServerSocketLocking.<locals>.ranStupidChild¾   s+   ø€ ä×"Ò" 4§=¡=´/Ó2CÈTÔRˆAØ—?‘?Ó$Ð$r   ©r‡   ©r   rŒ   s   f r   Útest_uncleanServerSocketLockingÚ/UnixSocketTests.test_uncleanServerSocketLocking¶   s   ø€ õ	%ð
 ×&Ñ& ~Ó6Ð6r   c                ó2   a € V 3R lpS P                  V4      # )z–
If passed C{True} for the C{checkPID} parameter, a client connection
attempt made with L{IReactorUNIX.connectUNIX} fails with
L{error.BadFileError}.
c                 óÊ   <€ \         P                  ! 4       p\        V4      p\        P                  ! SP
                  VR R7       SP                  V\        P                  4      # )Tr`   )	r   r:   r   r   rU   rF   ÚassertFailurer   ÚBadFileError)rs   rY   Úfr   s   &  €r   rŒ   ÚCUnixSocketTests.test_connectToUncleanServer.<locals>.ranStupidChildÌ   sH   ø€ Ü—’Ó ˆAÜ-¨aÓ0ˆAÜ×Ò §¡¨q¸4Õ@Ø×%Ñ% a¬×);Ñ);Ó<Ð<r   rŽ   r�   s   f r   Útest_connectToUncleanServerÚ+UnixSocketTests.test_connectToUncleanServerÅ   s   ø€ õ	=ð ×&Ñ& ~Ó6Ð6r   c                óJ  a aa€ S P                  4       p\        P                  ! W14      oRS RV: R2pS P                  \	        S4      V4       S P                  \        S4      V4       \        P                  ! SP                  4      pVV V3R lpVP                  V4       V# )zf
Test the C{__str__} and C{__repr__} implementations of a UNIX port when
used with the given factory.
Ú<ú on Ú>c                 ó€   <€ R S R2pSP                  \        S4      V4       SP                  \        S4      V4       R# ©r›   z (not listening)>N©r/   ÚreprÚstr)rs   ÚunconnectedStringÚfactoryNamer   rH   s   & €€€r   rt   Ú3UnixSocketTests._reprTest.<locals>.stoppedListeningâ   s=   ø€ Ø"# K =Ð0AÐ BÐØ×ÑœT (›^Ð->Ô?Ø×ÑœS ›]Ð,=Ö>r   )
r9   r   r<   r/   r¡   r¢   r   ÚmaybeDeferredr>   rE   )r   r6   r¤   rF   ÚconnectedStringrY   rt   rH   s   f&f    @r   Ú	_reprTestÚUnixSocketTests._reprTestÔ   s‹   ú€ ð
 —;‘;“=ˆÜ×%Ò% hÓ>ˆà˜k˜]¨$¨x©l¸!Ð<ˆØ×Ñœ˜h›¨Ô9Ø×Ñœ˜X›¨Ô8ä×Ò × 6Ñ 6Ó7ˆ÷	?ð
 	
�‰Ð&Ô'Øˆr   c                óp   €  ! R R4      pV P                  V\        4       V P                  V! 4       R4      # )zù
The two string representations of the L{IListeningPort} returned by
L{IReactorUNIX.listenUNIX} contains the name of the new-style factory
class being used and the filename on which the port is listening or
indicates that the port is not listening.
c                   ó,   a € ] tR t^òt o R tR tRtV tR# )ÚEUnixSocketTests.test_reprWithNewStyleFactory.<locals>.NewStyleFactoryc                ó   € R # r   © ©r   s   &r   ÚdoStartÚMUnixSocketTests.test_reprWithNewStyleFactory.<locals>.NewStyleFactory.doStartó   ó   € Ùr   c                ó   € R # r   r®   r¯   s   &r   ÚdoStopÚLUnixSocketTests.test_reprWithNewStyleFactory.<locals>.NewStyleFactory.doStopö   r²   r   r®   N)r!   r"   r#   r$   r°   r´   r%   r&   r'   s   @r   ÚNewStyleFactoryr¬   ò   ó   ø‡ € ò÷ð r   r¶   z&twisted.test.test_unix.NewStyleFactory©ÚassertIsInstanceÚtyper¨   )r   r¶   s   & r   Útest_reprWithNewStyleFactoryÚ,UnixSocketTests.test_reprWithNewStyleFactoryê   s8   € ÷	ñ 	ð 	×Ñ˜o¬tÔ4à�~‰~ÙÓÐGó
ð 	
r   )rF   )r!   r"   r#   r$   Ú__doc__r   ÚIReactorUNIXr   ÚskiprJ   rZ   rn   rx   r‡   r�   r˜   r¨   r»   r%   r&   r'   s   @r   r+   r+      sX   ø‡ € ñ
ð ×"Ò" 7¨D×1Ò1ØBˆòò2ò>*òXFò.ò"7ò7ò÷,
ð 
r   r+   c                   óD   a € ] tR tRt o R;ttRtR tR tR t	R t
RtV tR# )	ÚClientProtoi  FNc                ón   € \         P                  ! 4       V n        \         P                  ! 4       V n        R # r   )r   r:   ÚdeferredStartedÚdeferredGotBackr¯   s   &r   r   ÚClientProto.__init__  ó    € Ü$Ÿ~š~Ó/ˆÔÜ$Ÿ~š~Ó/ˆÖr   c                ó   € R V n         R# ©TN©Ústoppedr¯   s   &r   ÚstopProtocolÚClientProto.stopProtocol	  ó	   € ØˆŽr   c                óJ   € R V n         V P                  P                  R4       R# rÈ   ©ÚstartedrÃ   r„   r¯   s   &r   ÚstartProtocolÚClientProto.startProtocol  ó   € ØˆŒØ×Ñ×%Ñ% dÖ+r   c                óH   € Wn         V P                  P                  R 4       R # r   )ÚgotbackrÄ   r„   )r   Údatas   &&r   ÚdatagramReceivedÚClientProto.datagramReceived  s   € ØŒØ×Ñ×%Ñ% dÖ+r   )rÄ   rÃ   rÕ   rÐ   rÊ   )r!   r"   r#   r$   rÐ   rÊ   rÕ   r   rË   rÑ   r×   r%   r&   r'   s   @r   rÁ   rÁ     s-   ø‡ € ØÐ€GˆgØ€Gò0òò,÷,ð ,r   rÁ   c                   óH   a € ] tR tRt o R;ttR;ttR tR t	R t
R tRtV tR# )	ÚServerProtoi  FNc                ón   € \         P                  ! 4       V n        \         P                  ! 4       V n        R # r   )r   r:   rÃ   ÚdeferredGotWhatr¯   s   &r   r   ÚServerProto.__init__  rÆ   r   c                ó   € R V n         R# rÈ   rÉ   r¯   s   &r   rË   ÚServerProto.stopProtocol  rÍ   r   c                óJ   € R V n         V P                  P                  R4       R# rÈ   rÏ   r¯   s   &r   rÑ   ÚServerProto.startProtocol   rÓ   r   c                óŒ   € W n         V P                  P                  R V4       Wn        V P                  P                  R4       R# )ó   hi backN)Úgotfromr1   ÚwriteÚgotwhatrÜ   r„   )r   rÖ   Úaddrs   &&&r   r×   ÚServerProto.datagramReceived$  s4   € ØŒØ�‰×Ñ˜Z¨Ô.ØŒØ×Ñ×%Ñ% dÖ+r   )rÜ   rÃ   rä   ræ   rÐ   rÊ   )r!   r"   r#   r$   rÐ   rÊ   ræ   rä   r   rË   rÑ   r×   r%   r&   r'   s   @r   rÚ   rÚ     s2   ø‡ € ØÐ€GˆgØÐ€Gˆgò0òò,÷,ð ,r   rÚ   z3This reactor does not support UNIX datagram socketsc                   ó<   a € ] tR tRt o RtR tR tR tR tRt	V t
R# )	ÚDatagramUnixSocketTestsi+  z
Test datagram UNIX sockets.
c                óþ  a aaa	€ S P                  4       oS P                  4       p\        4       o	\        4       o\        P                  ! VS	4      pS P                  VP                  4       \        P                  ! VSSR7      pS P                  VP                  4       \        P                  ! S	P                  SP                  .4      pVV	3R lpVVV V	3R lpVP                  V4       VP                  V4       V# )zN
Test that a datagram can be sent to and received by a server and vice
versa.
)ÚbindAddressc                 ó’   <€ SP                   P                  R 4       \        P                  ! SP                  SP
                  .4      # )ó   hi)r1   rå   r   rV   rÜ   rÄ   )rj   ÚcpÚsps   &€€r   rå   Ú4DatagramUnixSocketTests.test_exchange.<locals>.writeD  s7   ø€ Ø�L‰L×Ñ˜uÔ%Ü×&Ò&¨×(:Ñ(:¸B×<NÑ<NÐ'OÓPÐPr   c                 ó°   <€ SP                  R SP                  4       SP                  SSP                  4       SP                  RSP                  4       R# )rî   rã   N)r/   ræ   rä   rÕ   )rj   Ú
clientaddrrï   r   rð   s   &€€€€r   Ú_cbTestExchangeÚ>DatagramUnixSocketTests.test_exchange.<locals>._cbTestExchangeH  s?   ø€ Ø×Ñ˜U B§J¡JÔ/Ø×Ñ˜Z¨¯©Ô4Ø×Ñ˜Z¨¯©Ö4r   )r9   rÚ   rÁ   r   ÚlistenUNIXDatagramr=   r>   ÚconnectUNIXDatagramr   rV   rÃ   rE   )
r   Ú
serveraddrÚsÚcrY   rå   rô   ró   rï   rð   s
   f      @@@r   Útest_exchangeÚ%DatagramUnixSocketTests.test_exchange4  s¿   û€ ð
 —[‘[“]ˆ
Ø—[‘[“]ˆ
Ü‹]ˆÜ‹]ˆÜ×&Ò& z°2Ó6ˆØ�‰˜Ÿ™Ô(Ü×'Ò'¨
°BÀJÔOˆØ�‰˜Ÿ™Ô(ä×Ò ×!3Ñ!3°R×5GÑ5GÐ HÓIˆö	Q÷	5ð 	5ð
 	
�‰�eÔØ	�‰�oÔ&Øˆr   c                ó  € V P                  4       p\        4       p\        P                  ! W4      pV P	                  \
        P                  \        P                  W4       VP                  4        \        P                  ! V4       R# )z~
L{IReactorUNIXDatagram.listenUNIXDatagram} raises
L{error.CannotListenError} if the unix socket specified is already in
use.
N)
r9   rÚ   r   rö   rv   r   rw   r>   r|   Úunlink)r   rç   r‹   rù   s   &   r   Útest_cannotListenÚ)DatagramUnixSocketTests.test_cannotListenQ  sY   € ð �{‰{‹}ˆÜ‹MˆÜ×&Ò& tÓ/ˆØ×Ñœ%×1Ñ1´7×3MÑ3MÈtÔWØ	�‰ÔÜ
�	Š	�$Žr   c                óJ  a aa€ S P                  4       p\        P                  ! W14      oRS RV: R2pS P                  \	        S4      V4       S P                  \        S4      V4       \        P                  ! SP                  4      pVV V3R lpVP                  V4       V# )zp
Test the C{__str__} and C{__repr__} implementations of a UNIX datagram
port when used with the given protocol.
r›   rœ   r�   c                 ó€   <€ R S R2pSP                  \        S4      V4       SP                  \        S4      V4       R# rŸ   r    )rs   r£   ÚprotocolNamer   rH   s   & €€€r   rt   Ú;DatagramUnixSocketTests._reprTest.<locals>.stoppedListeningn  s=   ø€ Ø"# L >Ð1BÐ CÐØ×ÑœT (›^Ð->Ô?Ø×ÑœS ›]Ð,=Ö>r   )
r9   r   rö   r/   r¡   r¢   r   r¦   r>   rE   )r   ÚserverProtor  rF   r§   ÚstopDeferredrt   rH   s   f&f    @r   r¨   Ú!DatagramUnixSocketTests._reprTest`  sŽ   ú€ ð
 —;‘;“=ˆÜ×-Ò-¨hÓDˆà˜l˜^¨4°©|¸1Ð=ˆØ×Ñœ˜h›¨Ô9Ø×Ñœ˜X›¨Ô8ä×*Ò*¨8×+AÑ+AÓBˆ÷	?ð
 	× Ñ Ð!1Ô2ØÐr   c                óp   €  ! R R4      pV P                  V\        4       V P                  V! 4       R4      # )a
  
The two string representations of the L{IListeningPort} returned by
L{IReactorUNIXDatagram.listenUNIXDatagram} contains the name of the
new-style protocol class being used and the filename on which the port
is listening or indicates that the port is not listening.
c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚODatagramUnixSocketTests.test_reprWithNewStyleProtocol.<locals>.NewStyleProtocoli~  c                ó   € R # r   r®   )r   r1   s   &&r   ÚmakeConnectionÚ^DatagramUnixSocketTests.test_reprWithNewStyleProtocol.<locals>.NewStyleProtocol.makeConnection  r²   r   c                ó   € R # r   r®   r¯   s   &r   r´   ÚVDatagramUnixSocketTests.test_reprWithNewStyleProtocol.<locals>.NewStyleProtocol.doStop‚  r²   r   r®   N)r!   r"   r#   r$   r  r´   r%   r&   r'   s   @r   ÚNewStyleProtocolr
  ~  r·   r   r  z'twisted.test.test_unix.NewStyleProtocolr¸   )r   r  s   & r   Útest_reprWithNewStyleProtocolÚ5DatagramUnixSocketTests.test_reprWithNewStyleProtocolv  s9   € ÷	ñ 	ð 	×ÑÐ.´Ô5à�~‰~ÙÓÐ Ió
ð 	
r   r®   N)r!   r"   r#   r$   r½   rû   rÿ   r¨   r  r%   r&   r'   s   @r   rê   rê   +  s#   ø‡ € ñ
òò:ò÷,
ð 
r   rê   )#r½   r|   r?   r   r   r   Útwisted.internetr   r   r   r   r   r   r	   Útwisted.pythonr
   Útwisted.python.compatr   Útwisted.python.filepathr   Útwisted.test.test_tcpr   r   Útwisted.trialÚClientFactoryr   r¾   ÚTestCaser+   ÚConnectedDatagramProtocolrÁ   ÚDatagramProtocolrÚ   ÚIReactorUNIXDatagramrê   r®   r   r   Ú<module>r     så   ðñó
 
Û Û 
Ý ç X× XÑ XÝ #Ý /Ý ,ß BÝ "ô$ H×$:Ñ$:ô $ñ Ø×Ò ¨Ó.Ô.Ø7óô\
�h×'Ñ'ó \
ó	ð\
ô~,�(×4Ñ4ô ,ô(,�(×+Ñ+ô ,ñ, Ø×'Ò'¨°Ó6Ô6Ø9óô[
˜h×/Ñ/ó [
ó	ò[
r   