+
    üÐjð0  ã                   ó|  € R ^R& t ^ RIHt ^ RIHt  ! R R4      t ! R R4      t ! R R]4      t ! R	 R
]P                  4      t	 ! R R4      t
 ! R R4      t ! R R]
]P                  4      t ! R R]
]P                  4      t ! R R]]P                  4      t ! R R]]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R4      t ! R R]]P                  4      t ! R R ]]P                  4      t ! R! R"]P                  4      t ! R# R$]P                  4      tR%# )'z$Revision: 1.5 $)Úpcp)Úunittestc                   ó6   a € ] tR t^"t o RtR tR tR tRtV t	R# )ÚDummyTransportz A dumb transport to wrap around.c                ó   € . V n         R # ©N©Ú_writes©Úselfs   &Ú7/usr/lib/python3/dist-packages/twisted/test/test_pcp.pyÚ__init__ÚDummyTransport.__init__%   s	   € ØˆŽó    c                ó<   € V P                   P                  V4       R # r   )r	   Úappend©r   Údatas   &&r   ÚwriteÚDummyTransport.write(   s   € Ø�‰×Ñ˜DÖ!r   c                ó8   € R P                  V P                  4      # )Ú )Újoinr	   r
   s   &r   ÚgetvalueÚDummyTransport.getvalue+   s   € Ø�w‰w�t—|‘|Ó$Ð$r   r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   "   s   ø‡ € Ù*òò"÷%ð %r   r   c                   óD   a € ] tR t^/t o RtRtRtR tR tR t	R t
RtV tR# )ÚDummyProducerFc                ó   € Wn         R # r   )Úconsumer)r   r'   s   &&r   r   ÚDummyProducer.__init__4   s   € Ø Žr   c                ó"   € R V n         RV n        R# )TFN)ÚresumedÚpausedr
   s   &r   ÚresumeProducingÚDummyProducer.resumeProducing7   s   € ØˆŒØˆŽr   c                ó   € R V n         R# ©TN)r+   r
   s   &r   ÚpauseProducingÚDummyProducer.pauseProducing;   s	   € ØˆŽr   c                ó   € R V n         R# r/   )Ústoppedr
   s   &r   ÚstopProducingÚDummyProducer.stopProducing>   s	   € ØˆŽr   )r'   r+   r*   r3   N)r   r   r   r   r*   r3   r+   r   r,   r0   r4   r    r!   r"   s   @r   r%   r%   /   s-   ø‡ € Ø€GØ€GØ€Fò!òò÷ð r   r%   c                   ó>   a € ] tR t^Bt o RtRtRtR tR tR t	Rt
V tR# )ÚDummyConsumerNFTc                ó   € W3V n         R # r   )Úproducer)r   r9   Ú	streamings   &&&r   ÚregisterProducerÚDummyConsumer.registerProducerG   s   € Ø!Ð-ˆŽr   c                ó   € R V n         R# r/   )Úunregisteredr
   s   &r   ÚunregisterProducerÚ DummyConsumer.unregisterProducerJ   s
   € Ø ˆÖr   c                ó   € R V n         R# r/   )Úfinishedr
   s   &r   ÚfinishÚDummyConsumer.finishM   s	   € ØˆŽr   )rB   r9   r>   )r   r   r   r   r9   rB   r>   r;   r?   rC   r    r!   r"   s   @r   r7   r7   B   s(   ø‡ € Ø€HØ€HØ€Lò.ò!÷ð r   r7   c                   óD   a € ] tR t^Qt o ]P
                  tR tR tRt	V t
R# )ÚTransportInterfaceTestsc                ód   € \        4       V n        V P                  V P                  4      V n        R # r   )r7   Ú
underlyingÚ
proxyClassÚ	transportr
   s   &r   ÚsetUpÚTransportInterfaceTests.setUpT   s   € Ü'›/ˆŒØŸ™¨¯©Ó9ˆŽr   c                ó<   € V P                   P                  R 4       R# ©z
some bytesN)rJ   r   r
   s   &r   Ú	testWriteÚ!TransportInterfaceTests.testWriteX   s   € Ø�‰×Ñ˜\Ö*r   )rJ   rH   N)r   r   r   r   r   ÚBasicProducerConsumerProxyrI   rK   rO   r    r!   r"   s   @r   rF   rF   Q   s   ø‡ € Ø×/Ñ/€Jò:÷+ð +r   rF   c                   ó<   a € ] tR t^\t o RtR tR tR tR tRt	V t
R# )ÚConsumerInterfaceTestzåTest ProducerConsumerProxy as a Consumer.

Normally we have ProducingServer -> ConsumingTransport.

If I am to go between (Server -> Shaper -> Transport), I have to
play the role of Consumer convincingly for the ProducingServer.
c                ó˜   € \        4       V n        V P                  V P                  4      V n        \	        V P                  4      V n        R # r   )r7   rH   rI   r'   r%   r9   r
   s   &r   rK   ÚConsumerInterfaceTest.setUpe   s/   € Ü'›/ˆŒØŸ™¨¯©Ó8ˆŒÜ% d§m¡mÓ4ˆŽr   c                óœ   € V P                   P                  V P                  R 4       V P                  V P                  P                  4       R# r/   )r'   r;   r9   ÚassertFalser*   r
   s   &r   ÚtestRegisterPushÚ&ConsumerInterfaceTest.testRegisterPushj   s2   € Ø�‰×&Ñ& t§}¡}°dÔ;à×Ñ˜Ÿ™×.Ñ.Ö/r   c                ó&  € V P                   P                  V P                  R 4       V P                   P                  4        R V P                  n        V P                   P                  4        V P                  V P                  P                  4       R# ©FN)r'   r;   r9   r?   r*   r,   rW   r
   s   &r   ÚtestUnregisterÚ$ConsumerInterfaceTest.testUnregisterv   s`   € Ø�‰×&Ñ& t§}¡}°eÔ<Ø�‰×(Ñ(Ô*ð
 !&ˆ�‰ÔØ�‰×%Ñ%Ô'Ø×Ñ˜Ÿ™×.Ñ.Ö/r   c                ó&  € V P                   P                  V P                  R 4       V P                   P                  4        R V P                  n        V P                   P                  4        V P                  V P                  P                  4       R# r[   )r'   r;   r9   rC   r*   r,   rW   r
   s   &r   Ú
testFinishÚ ConsumerInterfaceTest.testFinish�   s^   € Ø�‰×&Ñ& t§}¡}°eÔ<Ø�‰×ÑÔà %ˆ�‰ÔØ�‰×%Ñ%Ô'Ø×Ñ˜Ÿ™×.Ñ.Ö/r   )r'   r9   rH   N)r   r   r   r   r   rK   rX   r\   r_   r    r!   r"   s   @r   rS   rS   \   s#   ø‡ € ñò5ò
0ò	0÷0ð 0r   rS   c                   óN   a € ] tR t^Št o RtR tR tR tR tR t	R t
R tR	tV tR
# )ÚProducerInterfaceTestzèTest ProducerConsumerProxy as a Producer.

Normally we have ProducingServer -> ConsumingTransport.

If I am to go between (Server -> Shaper -> Transport), I have to
play the role of Producer convincingly for the ConsumingTransport.
c                ód   € \        4       V n        V P                  V P                  4      V n        R # r   )r7   r'   rI   r9   r
   s   &r   rK   ÚProducerInterfaceTest.setUp“   s   € Ü%›ˆŒØŸ™¨¯©Ó6ˆŽr   c                ót   € V P                  V P                  P                  ^ ,          V P                  4       R# )é    N)ÚassertEqualr'   r9   r
   s   &r   ÚtestRegistersProducerÚ+ProducerInterfaceTest.testRegistersProducer—   s%   € Ø×Ñ˜Ÿ™×/Ñ/°Õ2°D·M±MÖBr   c                óÄ   € V P                   P                  4        V P                   P                  R 4       V P                  V P                  P                  4       R4       R# )úyakkity yakz*Paused producer should not have sent data.N)r9   r0   r   rW   r'   r   r
   s   &r   Ú	testPauseÚProducerInterfaceTest.testPauseš   sE   € Ø�‰×$Ñ$Ô&Ø�‰×Ñ˜MÔ*Ø×ÑØ�M‰M×"Ñ"Ó$Ð&Rö	
r   c                óø   € V P                   P                  4        V P                   P                  4        V P                   P                  R 4       V P	                  V P
                  P                  4       R 4       R# )rk   N)r9   r0   r,   r   rg   r'   r   r
   s   &r   Ú
testResumeÚ ProducerInterfaceTest.testResume¡   sQ   € Ø�‰×$Ñ$Ô&Ø�‰×%Ñ%Ô'Ø�‰×Ñ˜MÔ*Ø×Ñ˜Ÿ™×/Ñ/Ó1°=ÖAr   c                óÎ   € V P                   P                  4        V P                   P                  4        V P                  \	        V P
                  P                  4      ^ R4       R# )rf   z Resume triggered an empty write.N)r9   r0   r,   rg   Úlenr'   r	   r
   s   &r   ÚtestResumeNoEmptyWriteÚ,ProducerInterfaceTest.testResumeNoEmptyWrite§   sG   € Ø�‰×$Ñ$Ô&Ø�‰×%Ñ%Ô'Ø×ÑÜ�—‘×%Ñ%Ó&¨Ð+Mö	
r   c                óø   € V P                   P                  4        V P                   P                  R 4       V P                   P                  4        V P	                  V P
                  P                  4       R 4       R# )zbuffer thisN)r9   r0   r   r,   rg   r'   r   r
   s   &r   ÚtestResumeBufferÚ&ProducerInterfaceTest.testResumeBuffer®   sQ   € Ø�‰×$Ñ$Ô&Ø�‰×Ñ˜MÔ*Ø�‰×%Ñ%Ô'Ø×Ñ˜Ÿ™×/Ñ/Ó1°=ÖAr   c                óÄ   € V P                   P                  4        V P                   P                  R 4       V P                  V P                  P                  4       R4       R# )rk   z+Stopped producer should not have sent data.N)r9   r4   r   rW   r'   r   r
   s   &r   ÚtestStopÚProducerInterfaceTest.testStop´   sE   € Ø�‰×#Ñ#Ô%Ø�‰×Ñ˜MÔ*Ø×ÑØ�M‰M×"Ñ"Ó$Ð&Sö	
r   )r'   r9   N)r   r   r   r   r   rK   rh   rl   ro   rs   rv   ry   r    r!   r"   s   @r   rb   rb   Š   s5   ø‡ € ñò7òCò
òBò
òB÷
ð 
r   rb   c                   ó.   € ] tR t^¼t]P
                  tRtR# )ÚPCP_ConsumerInterfaceTests© N©r   r   r   r   r   rQ   rI   r    r}   r   r   r|   r|   ¼   ó   † Ø×/Ñ/„Jr   r|   c                   ó.   € ] tR t^Àt]P
                  tRtR# )ÚPCPII_ConsumerInterfaceTestsr}   N©r   r   r   r   r   ÚProducerConsumerProxyrI   r    r}   r   r   r�   r�   À   ó   † Ø×*Ñ*„Jr   r�   c                   ó.   € ] tR t^Ät]P
                  tRtR# )ÚPCP_ProducerInterfaceTestsr}   Nr~   r}   r   r   r†   r†   Ä   r   r   r†   c                   ó.   € ] tR t^Èt]P
                  tRtR# )ÚPCPII_ProducerInterfaceTestsr}   Nr‚   r}   r   r   rˆ   rˆ   È   r„   r   rˆ   c                   óH   a € ] tR t^Ìt o Rt]P                  tR tR t	Rt
V tR# )ÚProducerProxyTestszAProducer methods on me should be relayed to the Producer I proxy.c                ó²   € V P                  R 4      V n        \        V P                  4      V n        V P                  P	                  V P                  R4       R # )NT)rI   Úproxyr%   ÚparentProducerr;   r
   s   &r   rK   ÚProducerProxyTests.setUpÑ   s=   € Ø—_‘_ TÓ*ˆŒ
Ü+¨D¯J©JÓ7ˆÔØ�
‰
×#Ñ# D×$7Ñ$7¸Ö>r   c                ó„   € V P                   P                  4        V P                  V P                  P                  4       R # r   )rŒ   r4   Ú
assertTruer�   r3   r
   s   &r   ry   ÚProducerProxyTests.testStopÖ   s*   € Ø�
‰
× Ñ Ô"Ø�‰˜×+Ñ+×3Ñ3Ö4r   )r�   rŒ   N)r   r   r   r   r   r   rQ   rI   rK   ry   r    r!   r"   s   @r   rŠ   rŠ   Ì   s"   ø‡ € ÙKà×/Ñ/€Jò?÷
5ð 5r   rŠ   c                   óT   a € ] tR t^Ût o Rt]P                  tR tR t	R t
R tRtV tR# )ÚConsumerProxyTestszAConsumer methods on me should be relayed to the Consumer I proxy.c                ód   € \        4       V n        V P                  V P                  4      V n        R # r   )r7   rH   rI   r'   r
   s   &r   rK   ÚConsumerProxyTests.setUpà   s   € Ü'›/ˆŒØŸ™¨¯©Ó8ˆŽr   c                ó�   € V P                   P                  R 4       V P                  V P                  P	                  4       R 4       R# rN   )r'   r   rg   rH   r   r
   s   &r   rO   ÚConsumerProxyTests.testWriteä   s1   € à�‰×Ñ˜LÔ)Ø×Ñ˜Ÿ™×1Ñ1Ó3°\ÖBr   c                ó„   € V P                   P                  4        V P                  V P                  P                  4       R # r   )r'   rC   r�   rH   rB   r
   s   &r   r_   ÚConsumerProxyTests.testFinishé   s(   € Ø�‰×ÑÔØ�‰˜Ÿ™×0Ñ0Ö1r   c                ó„   € V P                   P                  4        V P                  V P                  P                  4       R # r   )r'   r?   r�   rH   r>   r
   s   &r   r\   Ú!ConsumerProxyTests.testUnregisterí   s(   € Ø�‰×(Ñ(Ô*Ø�‰˜Ÿ™×4Ñ4Ö5r   )r'   rH   N)r   r   r   r   r   r   rQ   rI   rK   rO   r_   r\   r    r!   r"   s   @r   r“   r“   Û   s-   ø‡ € ÙKà×/Ñ/€Jò9òCò
2÷6ð 6r   r“   c                   ó>   a € ] tR t^òt o R tR tR tR tR tRt	V t
R# )ÚPullProducerTestc                óä   € \        4       V n        V P                  V P                  4      V n        \	        V P                  4      V n        V P                  P                  V P
                  R 4       R# r/   )r7   rH   rI   rŒ   r%   r�   r;   r
   s   &r   rK   ÚPullProducerTest.setUpó   sJ   € Ü'›/ˆŒØ—_‘_ T§_¡_Ó5ˆŒ
Ü+¨D¯J©JÓ7ˆÔØ�
‰
×#Ñ# D×$7Ñ$7¸Ö>r   c                ó�   € V P                   P                  R 4       V P                  V P                  P	                  4       R4       R# )Úhelloz+Pulling Consumer got data before it pulled.N)rŒ   r   rW   rH   r   r
   s   &r   ÚtestHoldWritesÚPullProducerTest.testHoldWritesù   s5   € Ø�
‰
×Ñ˜Ô!à×ÑØ�O‰O×$Ñ$Ó&Ð(Uö	
r   c                óÄ   € V P                   P                  R 4       V P                   P                  4        V P                  V P                  P                  4       R 4       R# )r¡   N)rŒ   r   r,   rg   rH   r   r
   s   &r   ÚtestPullÚPullProducerTest.testPull   sA   € Ø�
‰
×Ñ˜Ô!Ø�
‰
×"Ñ"Ô$Ø×Ñ˜Ÿ™×1Ñ1Ó3°WÖ=r   c                ón  € V P                   P                  R 4       V P                   P                  R4       V P                   P                  4        \        V P                  P
                  4      pV P                  V^RV3,          4       V P                  V P                  P                  4       R4       R# )zhello Úsunshinez(Pull resulted in %d writes instead of 1.zhello sunshineN)rŒ   r   r,   rr   rH   r	   rg   r   )r   Únwritess   & r   ÚtestMergeWritesÚ PullProducerTest.testMergeWrites  s‡   € Ø�
‰
×Ñ˜Ô"Ø�
‰
×Ñ˜Ô$Ø�
‰
×"Ñ"Ô$Ü�d—o‘o×-Ñ-Ó.ˆØ×ÑØ�QÐEÈÈ
ÕRô	
ð 	×Ñ˜Ÿ™×1Ñ1Ó3Ð5EÖFr   c                óÄ   € V P                   P                  4        V P                   P                  R 4       V P                  V P                  P                  4       R 4       R# )r   N)rŒ   r,   r   rg   rH   r   r
   s   &r   ÚtestLateWriteÚPullProducerTest.testLateWrite  sA   € à�
‰
×"Ñ"Ô$Ø�
‰
×Ñ˜Ô à×Ñ˜Ÿ™×1Ñ1Ó3°VÖ<r   ©r�   rŒ   rH   N)r   r   r   r   rK   r¢   r¥   rª   r­   r    r!   r"   s   @r   r�   r�   ò   s$   ø‡ € ò?ò
ò>ò
G÷=ð =r   r�   c                   ó@   € ] tR tRt ! R R]P
                  4      tRtR# )ÚPCP_PullProducerTestsi  c                   ó   € ] tR tRtRtRtR# )Ú PCP_PullProducerTests.proxyClassi  Fr}   N©r   r   r   r   ÚiAmStreamingr    r}   r   r   rI   r³     ó   † ØŒr   rI   r}   Nr~   r}   r   r   r±   r±     s   † ô�S×3Ñ3÷ ð r   r±   c                   ó@   € ] tR tRt ! R R]P
                  4      tRtR# )ÚPCPII_PullProducerTestsi  c                   ó   € ] tR tRtRtRtR# )Ú"PCPII_PullProducerTests.proxyClassi  Fr}   Nr´   r}   r   r   rI   rº     r¶   r   rI   r}   Nr‚   r}   r   r   r¸   r¸     s   † ô�S×.Ñ.÷ ð r   r¸   c                   ó`   a € ] tR tRt o Rt]P                  tR tR t	R t
R tR tR tR	tV tR
# )ÚBufferedConsumerTestsi$  z=As a consumer, ask the producer to pause after too much data.c                ó  € \        4       V n        V P                  V P                  4      V n        ^dV P                  n        \        V P                  4      V n        V P                  P                  V P                  R4       R# )éd   TN©r7   rH   rI   rŒ   Ú
bufferSizer%   r�   r;   r
   s   &r   rK   ÚBufferedConsumerTests.setUp)  sV   € Ü'›/ˆŒØ—_‘_ T§_¡_Ó5ˆŒ
Ø #ˆ�
‰
Ôä+¨D¯J©JÓ7ˆÔØ�
‰
×#Ñ# D×$7Ñ$7¸Ö>r   c                óœ   € V P                   P                  V P                  R 4       V P                  V P                  P                  4       R# r[   )rŒ   r;   r�   r�   r*   r
   s   &r   ÚtestRegisterPullÚ&BufferedConsumerTests.testRegisterPull1  s4   € Ø�
‰
×#Ñ# D×$7Ñ$7¸Ô?à�‰˜×+Ñ+×3Ñ3Ö4r   c                ó„   € V P                   P                  4        V P                  V P                  P                  4       R # r   )rŒ   r0   rW   r�   r+   r
   s   &r   ÚtestPauseInterceptÚ(BufferedConsumerTests.testPauseIntercept6  s,   € Ø�
‰
×!Ñ!Ô#Ø×Ñ˜×,Ñ,×3Ñ3Ö4r   c                ó¸   € V P                   P                  4        V P                   P                  4        V P                  V P                  P
                  4       R # r   )rŒ   r0   r,   rW   r�   r*   r
   s   &r   ÚtestResumeInterceptÚ)BufferedConsumerTests.testResumeIntercept:  s>   € Ø�
‰
×!Ñ!Ô#Ø�
‰
×"Ñ"Ô$ð 	×Ñ˜×,Ñ,×4Ñ4Ö5r   c                óˆ  € V P                   P                  4        V P                  V P                  P                  R4       V P                   P                  R4       V P                  V P                  P                  R4       V P                   P                  R4       V P                  V P                  P                  4       R# )zMake sure I say "when." zdon't pause yetNÚ3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)rŒ   r0   rW   r�   r+   r   r�   r
   s   &r   ÚtestTriggerPauseÚ&BufferedConsumerTests.testTriggerPauseB  sŠ   € ð 	�
‰
×!Ñ!Ô#Ø×Ñ˜×,Ñ,×3Ñ3Ð5FÔGØ�
‰
×Ñ˜Ô"Ø×Ñ˜×,Ñ,×3Ñ3Ð5FÔGØ�
‰
×Ñ˜Ô"Ø�‰˜×+Ñ+×2Ñ2Ö3r   c                ó†  € V P                   P                  4        V P                   P                  R4       V P                  V P                  P
                  R4       V P                   P                  4        V P                  V P                  P
                  R4       V P                  V P                   P                  4       R# )z3Make sure I resumeProducing when my buffer empties.zshould be pausedzProducer should have resumed.NÚfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)	rŒ   r0   r   r�   r�   r+   r,   rW   ÚproducerPausedr
   s   &r   ÚtestTriggerResumeÚ'BufferedConsumerTests.testTriggerResumeM  s†   € à�
‰
×!Ñ!Ô#Ø�
‰
×Ñ˜Ô#Ø�‰˜×+Ñ+×2Ñ2Ð4FÔGØ�
‰
×"Ñ"Ô$ð 	×Ñ˜×,Ñ,×3Ñ3Ð5TÔUØ×Ñ˜Ÿ™×2Ñ2Ö3r   r¯   N)r   r   r   r   r   r   rƒ   rI   rK   rÃ   rÆ   rÉ   rÍ   rÒ   r    r!   r"   s   @r   r¼   r¼   $  s6   ø‡ € ÙGà×*Ñ*€Jò?ò5ò
5ò6ò	4÷	4ð 	4r   r¼   c                   ó\   a € ] tR tRt o  ! R R]P
                  4      tR tR tR t	Rt
V tR# )	ÚBufferedPullTestsiY  c                   ó*   a € ] tR tRt o RtR tRtV tR# )ÚBufferedPullTests.proxyClassiZ  Fc                óx   € \         P                  P                  WR ,          4       \        \	        V4      ^d4      # ):Nr¾   N)r   rƒ   Ú_writeSomeDataÚminrr   r   s   &&r   rÙ   Ú+BufferedPullTests.proxyClass._writeSomeData]  s+   € Ü×%Ñ%×4Ñ4°TÀ½:ÔFÜ”s˜4“y #Ó&Ð&r   r}   N)r   r   r   r   rµ   rÙ   r    r!   r"   s   @r   rI   r×   Z  s   ø‡ € Øˆ÷	'ð 	'r   rI   c                ó  € \        4       V n        V P                  V P                  4      V n        ^dV P                  n        \        V P                  4      V n        V P                  P                  V P                  R4       R# )r¾   FNr¿   r
   s   &r   rK   ÚBufferedPullTests.setUpa  sV   € Ü'›/ˆŒØ—_‘_ T§_¡_Ó5ˆŒ
Ø #ˆ�
‰
Ôä+¨D¯J©JÓ7ˆÔØ�
‰
×#Ñ# D×$7Ñ$7¸Ö?r   c                ó¦   € R V P                   n        V P                  P                  4        V P	                  V P                   P                  4       R# r[   )r�   r*   rŒ   r,   r�   r
   s   &r   ÚtestResumePullÚ BufferedPullTests.testResumePulli  s:   € ð ',ˆ×ÑÔ#Ø�
‰
×"Ñ"Ô$Ø�‰˜×+Ñ+×3Ñ3Ö4r   c                ó  € V P                   P                  4        V P                   P                  R4       V P                  V P                  P                  4       R4       V P                  V P                   P                  R .4       R# )ÚdatumNÚidatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumÚddatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatumdatum)rŒ   r,   r   rg   rH   r   Ú_bufferr
   s   &r   ÚtestLateWriteBufferingÚ(BufferedPullTests.testLateWriteBufferingp  s]   € à�
‰
×"Ñ"Ô$Ø�
‰
×Ñ˜Ô&à×Ñ˜Ÿ™×1Ñ1Ó3°\ÔBà×Ñ˜Ÿ™×+Ñ+¨g¨YÖ7r   r¯   N)r   r   r   r   r   rƒ   rI   rK   rß   ræ   r    r!   r"   s   @r   rÕ   rÕ   Y  s,   ø‡ € ô'�S×.Ñ.ô 'ò@ò5÷8ð 8r   rÕ   Néþÿÿÿ)Ú__version__Útwisted.protocolsr   Útwisted.trialr   r   r%   r7   ÚTestCaserF   rS   rb   r|   r�   r†   rˆ   rŠ   r“   r�   r±   r¸   r¼   rÕ   r}   r   r   Ú<module>rí      s3  ðð !  BÐ'€å !Ý "÷2
%ñ 
%÷ñ ô&�Nô ô+˜h×/Ñ/ô +÷+0ñ +0÷\/
ñ /
ôd0Ð!6¸×8IÑ8Iô 0ô+Ð#8¸(×:KÑ:Kô +ô0Ð!6¸×8IÑ8Iô 0ô+Ð#8¸(×:KÑ:Kô +ô5˜×*Ñ*ô 5ô6˜×*Ñ*ô 6÷."=ñ "=ôJÐ,¨h×.?Ñ.?ô ô
Ð.°×0AÑ0Aô ô24˜H×-Ñ-ô 24ôj8˜×)Ñ)ö 8r   