§
    ÌtºfÔA  ã                   ó0  — d dl Z d dlmZmZ e j                             dd¦  «        rnd 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 d d	lmZ d d
lmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ  G d„ dej        ¦  «        Z  G d„ dej        ¦  «        Z!dS dS )é    N)ÚMockÚpatchÚUSE_TWISTEDF©Ú	Component)ÚdirectlyProvides)ÚWelcomeÚGoodbyeÚHelloÚAbort)ÚJsonSerializer)ÚFakeTransport)ÚIStreamClientEndpoint)ÚinlineCallbacksÚsucceedÚDeferred)ÚClock)Úunittest)Úreplace_loopc                   óR  — e Zd Zd„ Z ed ed¦  «        ¬¦  «        ed„ ¦   «         ¦   «         Z ed ed¦  «        ¬¦  «        d„ ¦   «         Z ed ed¦  «        ¬¦  «        ed„ ¦   «         ¦   «         Z	ed„ ¦   «         Z
 ed ed¦  «        ¬¦  «        ed	„ ¦   «         ¦   «         ZdS )
ÚConnectionTestsc                 ó   — d S ©N© ©Úselfs    úf/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/autobahn/twisted/test/test_tx_component.pyÚsetUpzConnectionTests.setUp,   s   € ØˆDó    ztxaio.sleepN)Úreturn_valuec              #   óÔ  ‡K  — t          ¦   «         }g Šˆfd„}t          |t          ¦  «         t          dd|dœ¬¦  «        }|                     d|¦  «         d„ }||_        t          ¦   «         }t          |¦  «        5  |                     |¬¦  «        V — |  	                    t          ‰¦  «        d	¦  «         |                     d
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 óZ   •— ‰                      | |f¦  «         |                      ¦   «         S r   )ÚappendÚleave)ÚsessionÚdetailsÚjoinss     €r   Újoinedz7ConnectionTests.test_successful_connect.<locals>.joined5   s(   ø€ Ø—’˜g wÐ/Ñ0Ô0Ð0Ø—}’}‘”Ð&r   Ú	websocketúws://127.0.0.1/ws©ÚtypeÚurlÚendpoint©Ú
transportsÚjoinc                 óà  — |                       d¦  «        }t          ¦   «         }|                     |¦  «         ddlm} ddlm} ddlm} |j	        |j
        z   }d | ||¦  «                             ¦   «         ¦  «        z   dz   |_        |                     ¦   «          ddlm} |                     d	d	d	d	d	d	d	d	d	¬
¦	  «	        }	t#          dt%          |	¬¦  «        d¬¦  «        }
t'          ¦   «         }|                     |
¦  «        \  }}|                     ||¦  «         t-          ¦   «         }
 |j        |                     |
¦  «        Ž  |                     d	dd¦  «         t1          |¦  «        S )Nzws://localhost/r   ©ÚWebSocketProtocol©Ú	b64encode©Úsha1ó†   HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: upgrade
Sec-Websocket-Protocol: wamp.2.json
Sec-Websocket-Accept: ó   

©ÚroleT)	Úpublisher_identificationÚpattern_based_subscriptionÚsession_meta_apiÚsubscription_meta_apiÚsubscriber_blackwhite_listingÚpublisher_exclusionÚsubscription_revocationÚpayload_transparencyÚpayload_encryption_cryptoboxi@â )ÚbrokerÚrealm)rG   éd   zsome old reason)ÚbuildProtocolr   ÚmakeConnectionÚautobahn.websocket.protocolr4   Úbase64r6   Úhashlibr8   Úwebsocket_keyÚ	_WS_MAGICÚdigestÚdataÚprocessHandshakeÚautobahn.wampr<   ÚRoleBrokerFeaturesr	   Údictr   Ú	serializeÚ	onMessager
   ÚonCloser   )ÚfactoryÚkwÚprotoÚ	transportr4   r6   r8   Úkeyr<   ÚfeaturesÚmsgÚ
serializerrQ   Ú	is_binarys                 r   Úconnectz8ConnectionTests.test_successful_connect.<locals>.connectB   s·  € Ø×-Ò-Ð.?Ñ@Ô@�Ý)™OœO�	Ø×$Ò$ YÑ/Ô/Ð/àIÐIÐIÐIÐIÐIØ,Ð,Ð,Ð,Ð,Ð,Ø(Ð(Ð(Ð(Ð(Ð(ØÔ)Ð,=Ô,GÑG�ð.ð 1:°	¸$¸$¸s¹)¼)×:JÒ:JÑ:LÔ:LÑ0MÔ0Mñ	Nð Qdñ	dð ”
ð ×&Ò&Ñ(Ô(Ð(à.Ð.Ð.Ð.Ð.Ð.Ø×2Ò2Ø-1Ø/3Ø%)Ø*.Ø26Ø(,Ø,0Ø)-Ø15ð 3ñ 
ô 
�õ ˜f¥d°(Ð&;Ñ&;Ô&;À7ÐKÑKÔK�Ý+Ñ-Ô-�
Ø",×"6Ò"6°sÑ";Ô";‘��iØ—’  iÑ0Ô0Ð0å‘i”i�Ø�” ×!5Ò!5°cÑ!:Ô!:Ð;Ð;Ø—’˜d CÐ):Ñ;Ô;Ð;å˜u‘~”~Ð%r   ©Úreactoré   é  )r   r   r   r   Úonrb   r   r   ÚstartÚ
assertTrueÚlenÚadvance)r   Ú
fake_sleepr.   r(   Ú	componentrb   rd   r'   s          @r   Útest_successful_connectz'ConnectionTests.test_successful_connect/   s]  øè è € õ ‘v”vˆHØˆEð'ð 'ð 'ð 'ð 'õ ˜XÕ'<Ñ=Ô=Ð=Ý!à'Ø.Ø (ðð ðñ ô ˆIð �LŠL˜ Ñ(Ô(Ð(ð(&ð (&ð (&ðR  'ˆHÔõ ‘g”gˆGÝ˜gÑ&Ô&ð &ð &Ø—o’o¨g�oÑ6Ô6Ð6Ð6Ð6Ø—’¥ E¡
¤
¨AÑ.Ô.Ð.à—’ Ñ%Ô%Ð%ð	&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Á?ACÃC!Ã$C!c                 óî  ‡ ‡	‡
— t          ¦   «         Š	t          ‰	t          ¦  «         t          dd‰	dddœddœd„ ¬	¦  «        }|j        d
„ ¦   «         }d„ }|‰	_        t          ¦   «         }t          ¦   «         Š
ˆ	ˆ
ˆ fd„}||_        t          |¦  «        5  | 
                    |¬¦  «        }ˆ
fd„}|                     ||¦  «         |                     d¦  «         ‰
cd d d ¦  «         S # 1 swxY w Y   d S )Nr)   r*   ú10.0.0.0éèý  )ÚhostÚportr   )r,   r-   r.   ÚproxyÚmax_retriesc                 ó   — dS ©NTr   )Ú_s    r   ú<lambda>z?ConnectionTests.test_successful_proxy_connect.<locals>.<lambda>‡   ó   €  4€ r   ©r0   Úis_fatalc                 ó*   — |                       ¦   «         S r   )r$   )r%   r&   s     r   r(   z=ConnectionTests.test_successful_proxy_connect.<locals>.joinedŠ   s   € à—}’}‘”Ð&r   c                 ó8   — t          t          ¦   «         ¦  «        S r   )r   r   ©rY   rZ   s     r   rb   z>ConnectionTests.test_successful_proxy_connect.<locals>.connectŽ   s   € Ý�t™vœv‘”Ð&r   c                 óº   •— ‰                      d| ¦  «         ‰                      |d¦  «         ‰                     d ¦  «         ‰                     |j        ¦  «        S )Nrp   rq   )ÚassertEqualÚcallbackrb   Ú_wrappedFactory)rr   rs   rY   rZ   r.   Úgot_proxy_connectr   s       €€€r   Ú_tcpz;ConnectionTests.test_successful_proxy_connect.<locals>._tcpš   sZ   ø€ Ø× Ò  ¨TÑ2Ô2Ð2Ø× Ò   uÑ-Ô-Ð-Ø!×*Ò*¨4Ñ0Ô0Ð0Ø×'Ò'¨Ô(?Ñ@Ô@Ð@r   rc   c                 óD   •— ‰j         s‰                     | ¦  «         d S d S r   )Úcalledr‚   )Úxr„   s    €r   Údonez;ConnectionTests.test_successful_proxy_connect.<locals>.done¤   s2   ø€ Ø,Ô3ð 6Ø)×2Ò2°1Ñ5Ô5Ð5Ð5Ð5ð6ð 6r   rf   )r   r   r   r   Úon_joinrb   r   r   Ú
connectTCPr   rh   ÚaddCallbacksrk   )r   rl   rm   r(   rb   rd   r…   Údr‰   r.   r„   s   `        @@r   Útest_successful_proxy_connectz-ConnectionTests.test_successful_proxy_connectx   sª  øøø€ å‘v”vˆHÝ˜XÕ'<Ñ=Ô=Ð=Ý!à'Ø.Ø (à *Ø %ðð ð $%ð	ð 	ð (˜ðñ ô ˆIð Ôð'ð 'ñ Ôð'ð'ð 'ð 'à&ˆHÔõ ‘g”gˆGå (¡
¤
ÐðAð Að Að Að Að Að Að
 "&ˆGÔå˜gÑ&Ô&ð 	)ð 	)Ø—O’O¨G�OÑ4Ô4�ð6ð 6ð 6ð 6ð 6ð —’˜t TÑ*Ô*Ð*Ø—’ Ñ%Ô%Ð%Ø(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   ÂAC*Ã*C.Ã1C.c              #   óT  K  — t          ¦   «         }t          |t          ¦  «         t          dd|dœ¬¦  «        }d„ }||_        t          ¦   «         }t          |¦  «        5  |                     |¬¦  «        }|                     ¦   «          |V — ddd¦  «         dS # 1 swxY w Y   dS )z„
            if we start a component but call .stop before it connects, ever,
            it should still exit properly
            r)   r*   r+   r/   c                 ó   — t          ¦   «         S r   )r   r   s     r   rb   z,ConnectionTests.test_cancel.<locals>.connect½   s   € Ý‘z”zÐ!r   rc   N)	r   r   r   r   rb   r   r   rh   Ústop)r   rl   r.   rm   rb   rd   r�   s          r   Útest_cancelzConnectionTests.test_cancel¬   s	  è è € õ ‘v”vˆHÝ˜XÕ'<Ñ=Ô=Ð=Ý!à'Ø.Ø (ðð ðñ ô ˆIð"ð "ð "à&ˆHÔõ ‘g”gˆGÝ˜gÑ&Ô&ð ð Ø—O’O¨G�OÑ4Ô4�Ø—’Ñ Ô Ð Ø���ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á!/BÂB!Â$B!c           	   #   óº  ‡K  — t          ¦   «         }t          |t          ¦  «         t          dd|ddddœ¬¦  «        }t	          ¦   «         Št          ‰¦  «        5  ˆfd„}||_        |                     ‰¬¦  «        }|j        €J ‚|j	        j
        rJ ‚|                     ¦   «         }|j	        �J ‚|j
        sJ ‚|V — |V — d	d	d	¦  «         d	S # 1 swxY w Y   d	S )
z¿
            if we start a component but call .stop before it connects, ever,
            it should still exit properly -- even if we're 'between'
            connection attempts
            r)   r*   r   é   )r,   r-   r.   ru   Úmax_retry_delayÚinitial_retry_delayr/   c                 ó�   •— t          ¦   «         }‰                     d|                     t          d¦  «        ¦  «        ¦  «         |S )Né
   zno connect for yo)r   Ú	callLaterÚerrbackÚRuntimeError)rY   rZ   r�   rd   s      €r   rb   z:ConnectionTests.test_cancel_while_waiting.<locals>.connectæ   s<   ø€ Ý ™
œ
�AØ×%Ò% b¨!¯)ª)µLÐATÑ4UÔ4UÑ*VÔ*VÑWÔWÐWØ�Hr   rc   N)r   r   r   r   r   r   rb   rh   Ú_delay_fÚ_done_fr‡   r‘   )r   r.   rm   rb   Úd0Úd1rd   s         @r   Útest_cancel_while_waitingz)ConnectionTests.test_cancel_while_waitingË   se  øè è € õ ‘v”vˆHÝ˜XÕ'<Ñ=Ô=Ð=Ý!à'Ø.Ø (Ø#$Ø'(Ø+,ðð ð	ñ 	ô 	ˆIõ ‘g”gˆGÝ˜gÑ&Ô&ð ð ðð ð ð ð ð $+�Ô à—_’_¨W�_Ñ5Ô5�Ø Ô)Ð5Ð5Ð5Ø$Ô,Ô3Ð3Ð3Ð3à—^’^Ñ%Ô%�Ø Ô(Ð0Ð0Ð0Ø”yÐ Ð Ð à���Ø���ð#ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA(CÃCÃCc              #   ó  K  — t          ¦   «         }t          |t          ¦  «         t          dd|dœd„ ¬¦  «        }d„ }||_        t          ¦   «         }t          |¦  «        5  |                      t          ¦  «        5 }| 	                    |¬¦  «        }| 
                    d¦  «         |V — d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      d	t          |j        ¦  «        ¦  «         d S )
Nr)   r*   r+   c                 ó   — dS rw   r   )Úes    r   ry   z=ConnectionTests.test_connect_no_auth_method.<locals>.<lambda>  rz   r   r{   c                 óÎ  — |                       d¦  «        }|                     t          ¦   «         ¦  «         ddlm} ddlm} ddlm} |j	        |j
        z   }d | ||¦  «                             ¦   «         ¦  «        z   dz   |_        |                     ¦   «          ddlm} |                     ¦   «         }t#          d	t%          |¬
¦  «        dg¬¦  «        }	t'          ¦   «         }
|
                     |	¦  «        \  }}|                     ||¦  «         t-          d¬¦  «        }	 |j        |
                     |	¦  «        Ž  |                     ddd¦  «         t1          |¦  «        S )NÚboomr   r3   r5   r7   r9   r:   r;   rG   )Ú
subscriberÚ	anonymous)ÚrolesÚauthmethodszwamp.error.no_auth_method)ÚreasonFrH   )rI   rJ   r   rK   r4   rL   r6   rM   r8   rN   rO   rP   rQ   rR   rS   r<   ÚRoleSubscriberFeaturesr   rU   r   rV   rW   r   rX   r   )rY   rZ   r[   r4   r6   r8   r]   r<   Úsubroler_   r`   rQ   ra   s                r   rb   z<ConnectionTests.test_connect_no_auth_method.<locals>.connect  s—  € Ø×-Ò-¨fÑ5Ô5�Ø×$Ò$¥T¡V¤VÑ,Ô,Ð,àIÐIÐIÐIÐIÐIØ,Ð,Ð,Ð,Ð,Ð,Ø(Ð(Ð(Ð(Ð(Ð(ØÔ)Ð,=Ô,GÑG�ð.ð 1:°	¸$¸$¸s¹)¼)×:JÒ:JÑ:LÔ:LÑ0MÔ0Mñ	Nð Qdñ	dð ”
ð ×&Ò&Ñ(Ô(Ð(à.Ð.Ð.Ð.Ð.Ð.Ø×5Ò5Ñ7Ô7�å˜G­4¸7Ð+CÑ+CÔ+CÐR]ÐQ^Ð_Ñ_Ô_�Ý+Ñ-Ô-�
Ø",×"6Ò"6°sÑ";Ô";‘��iØ—’  iÑ0Ô0Ð0åÐ#>Ð?Ñ?Ô?�Ø�” ×!5Ò!5°cÑ!:Ô!:Ð;Ð;Ø—’˜e SÐ*EÑFÔFÐFå˜u‘~”~Ð%r   rc   rf   zExhausted all transport)r   r   r   r   rb   r   r   ÚassertRaisesr›   rh   rk   ÚassertInÚstrÚ	exception)r   rl   r.   rm   rb   rd   Úctxr�   s           r   Útest_connect_no_auth_methodz+ConnectionTests.test_connect_no_auth_method÷   s�  è è € õ ‘v”vˆHå˜XÕ'<Ñ=Ô=Ð=Ý!à'Ø.Ø (ðð ð
 (˜ðñ ô ˆIð&ð &ð &ð<  'ˆHÔõ ‘g”gˆGÝ˜gÑ&Ô&ð ð Ø×&Ò&¥|Ñ4Ô4ð ¸Ø!Ÿš°˜Ñ8Ô8�Aà—O’O DÑ)Ô)Ð)Ø�G�G�Gð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMØ)Ý�C”MÑ"Ô"ñô ð ð ð s6   Á#CÁ>0B:Â.CÂ:B>	Â>CÃB>	ÃCÃCÃC)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   rn   rŽ   r’   r    r²   r   r   r   r   r   *   s.  € € € € € ð	ð 	ð 	ð 
ˆˆ}¨7¨7°4©=¬=Ð	9Ñ	9Ô	9Ø	ðE	&ð E	&ñ 
Œñ 
:Ô	9ðE	&ðN 
ˆˆ}¨7¨7°4©=¬=Ð	9Ñ	9Ô	9ð1	)ð 1	)ñ 
:Ô	9ð1	)ðf 
ˆˆ}¨7¨7°4©=¬=Ð	9Ñ	9Ô	9Ø	ð	ð 	ñ 
Œñ 
:Ô	9ð	ð: 
ð)	ð )	ñ 
Œð)	ðV 
ˆˆ}¨7¨7°4©=¬=Ð	9Ñ	9Ô	9Ø	ð;	ð ;	ñ 
Œñ 
:Ô	9ð;	ð ;	ð ;	r   r   c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚInvalidTransportConfigsc                 óö   — |                       t          ¦  «        5 }t          t          d¬¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )NÚbar©Úfoor/   z'foo' is not©r­   Ú
ValueErrorr   rU   r®   r¯   r°   ©r   r±   s     r   Útest_invalid_keyz(InvalidTransportConfigs.test_invalid_key8  sº   € Ø×"Ò"¥:Ñ.Ô.ð °#ÝÝ#Ø!ð ñ  ô  ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠM˜.­#¨c¬mÑ*<Ô*<Ñ=Ô=Ð=Ð=Ð=s   ›AÁA
ÁA
c                 ó  — |                       t          ¦  «        5 }t          t          dd¬¦  «        t          d¬¦  «        g¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nr)   r*   )r,   r-   r¹   rº   r/   z''foo' is not a valid configuration itemr¼   r¾   s     r   Útest_invalid_key_transport_listz7InvalidTransportConfigs.test_invalid_key_transport_listA  sÇ   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýå +Ð3FÐGÑGÔGÝ ˜™œð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐCÅSÈÌÑEWÔEWÑXÔXÐXÐXÐXs   ›0AÁAÁAc                 óä   — |                       t          ¦  «        5 }t          ddgdœg¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr*   Úquux)r-   r`   r/   zonly for rawsocket©r­   r½   r   r®   r¯   r°   r¾   s     r   Útest_invalid_serializer_keyz3InvalidTransportConfigs.test_invalid_serializer_keyK  s¿   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýð $7Ø+1¨(ðð ð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ.µ°C´MÑ0BÔ0BÑCÔCÐCÐCÐCó   ›=½AÁAc                 óä   — |                       t          ¦  «        5 }t          ddgdœg¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr*   rÃ   ©r-   Úserializersr/   zInvalid serializerrÄ   r¾   s     r   Útest_invalid_serializerz/InvalidTransportConfigs.test_invalid_serializerW  s¿   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýð $7Ø,2¨8ðð ð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ.µ°C´MÑ0BÔ0BÑCÔCÐCÐCÐCrÆ   c                 óæ   — |                       t          ¦  «        5 }t          dddgdœg¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr*   re   é   rÈ   r/   úmust be a listrÄ   r¾   s     r   Útest_invalid_serializer_type_0z6InvalidTransportConfigs.test_invalid_serializer_type_0c  sÁ   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýð $7Ø,-¨q¨6ðð ð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ*­C°´Ñ,>Ô,>Ñ?Ô?Ð?Ð?Ð?s   ›>¾AÁAc                 óâ   — |                       t          ¦  «        5 }t          dddœg¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr*   re   rÈ   r/   rÍ   rÄ   r¾   s     r   Útest_invalid_serializer_type_1z6InvalidTransportConfigs.test_invalid_serializer_type_1o  s½   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýð $7Ø+,ðð ð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ*­C°´Ñ,>Ô,>Ñ?Ô?Ð?Ð?Ð?s   ›<¼A ÁA c                 óà   — |                       t          ¦  «        5 }t          ddig¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr,   Úbadr/   zInvalid transport typerÄ   r¾   s     r   Útest_invalid_type_keyz-InvalidTransportConfigs.test_invalid_type_key{  s·   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýð # Eðð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ2µC¸¼Ñ4FÔ4FÑGÔGÐGÐGÐGó   ›;»?Á?c                 óÜ   — |                       t          ¦  «        5 }t          dg¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr»   r/   zinvalid WebSocket URLrÄ   r¾   s     r   Útest_invalid_typez)InvalidTransportConfigs.test_invalid_type†  s®   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýàð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ1µ3°s´}Ñ3EÔ3EÑFÔFÐFÐFÐFs   ›9¹=Á =c                 óà   — |                       t          ¦  «        5 }t          ddig¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr,   r)   r/   zTransport requires 'url'rÄ   r¾   s     r   Útest_no_urlz#InvalidTransportConfigs.test_no_url�  s·   € Ø×"Ò"¥:Ñ.Ô.ð °#Ýð # Kðð ðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ4µc¸#¼-Ñ6HÔ6HÑIÔIÐIÐIÐIrÔ   c                 óè   — |                       t          ¦  «        5 }t          d„ ddddœg¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nc                 ó   — d S r   r   ©ÚrÚss     r   ry   zDInvalidTransportConfigs.test_endpoint_bogus_object.<locals>.<lambda>�  s   €  d€ r   r)   úws://example.com/ws)ÚnotÚarU   r+   ©Úmainr0   z 'endpoint' configuration must berÄ   r¾   s     r   Útest_endpoint_bogus_objectz2InvalidTransportConfigs.test_endpoint_bogus_objectš  sÆ   € Ø×"Ò"¥:Ñ.Ô.ð 
°#ÝØ*Ð*ð %0Ø#8Ø(<ðð ð ð	ñ 	ô 	ð 	ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð �MŠMÐ<½cÀ#Ä-Ñ>PÔ>PÑQÔQÐQÐQÐQs   ›?¿AÁAc           	      ó<   — t          d„ ddddddœdœg¬	¦  «         d S )
Nc                 ó   — d S r   r   rÛ   s     r   ry   z=InvalidTransportConfigs.test_endpoint_valid.<locals>.<lambda>ª  s   €  $€ r   r)   rÞ   Útcpz1.2.3.4Ú4321)r,   rr   rs   r+   rá   r   r   s    r   Útest_endpoint_validz+InvalidTransportConfigs.test_endpoint_valid¨  sS   € ÝØ&Ð&ð !,Ø4à$)Ø$-Ø$*ð%ð %ðð ð
ðñ ô ð ð ð r   N)r³   r´   rµ   r¿   rÁ   rÅ   rÊ   rÎ   rÐ   rÓ   rÖ   rØ   rã   rè   r   r   r   r·   r·   6  sÔ   € € € € € ð	>ð 	>ð 	>ð	Yð 	Yð 	Yð
	Dð 
	Dð 
	Dð
	Dð 
	Dð 
	Dð
	@ð 
	@ð 
	@ð
	@ð 
	@ð 
	@ð		Hð 		Hð 		Hð	Gð 	Gð 	Gð		Jð 		Jð 		Jð	Rð 	Rð 	Rð	ð 	ð 	ð 	ð 	r   r·   )"ÚosÚunittest.mockr   r   ÚenvironÚgetÚautobahn.twisted.componentr   Úzope.interfacer   Úautobahn.wamp.messager	   r
   r   r   Úautobahn.wamp.serializerr   Úautobahn.testutilr   Útwisted.internet.interfacesr   Útwisted.internet.deferr   r   r   Útwisted.internet.taskr   Útwisted.trialr   Útxaio.testutilr   ÚTestCaser   r·   r   r   r   ú<module>rø      s—  ðð6 
€	€	€	Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à„:‡>‚>�- Ñ'Ô'ð XØ4Ð4Ð4Ð4Ð4Ð4Ø/Ð/Ð/Ð/Ð/Ð/ØDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDØ7Ð7Ð7Ð7Ð7Ð7Ø/Ð/Ð/Ð/Ð/Ð/ØAÐAÐAÐAÐAÐAØIÐIÐIÐIÐIÐIÐIÐIÐIÐIØ+Ð+Ð+Ð+Ð+Ð+Ø&Ð&Ð&Ð&Ð&Ð&Ø+Ð+Ð+Ð+Ð+Ð+ðJð Jð Jð Jð J˜(Ô+ñ Jô Jð JðX@ð @ð @ð @ð @ (Ô"3ñ @ô @ð @ð @ð @ðqXð Xr   