§
    Ìtºfª2  ã            
       ó8  — d dl Z d dlZd dlZd dlZd dlmZ d dlZe j                             dd¦  «        r ej	        ¦   «          n6e j                             dd¦  «        r ej
        ¦   «          n ed¦  «        ‚d dlmZ d dlmZ d dlmZmZmZ erd d	lmZ d d
lmZ d dlZdZdZdddddœdddddœdddddœdddddœdddddœdddddœgZ G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ d ej        ¦  «        Z G d!„ d"ej        ¦  «        ZdS )#é    N)ÚMockÚUSE_TWISTEDÚUSE_ASYNCIOz*need either USE_TWISTED=1 or USE_ASYNCIO=1)Útypes)Úcreate_authenticator)Ú_makepadÚHAS_CRYPTOSIGNÚCryptosignAuthextra)ÚCryptosignKey)Ú
HexEncoderaš  -----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAa38i/4dNWFuZN/72QAJbyOwZvkUyML/u2b2B1uW4RbQAAAJj4FLyB+BS8
gQAAAAtzc2gtZWQyNTUxOQAAACAa38i/4dNWFuZN/72QAJbyOwZvkUyML/u2b2B1uW4RbQ
AAAEBNV9l6aPVVaWYgpthJwM5YJWhRjXKet1PcfHMt4oBFEBrfyL/h01YW5k3/vZAAlvI7
Bm+RTIwv+7ZvYHW5bhFtAAAAFXNvbWV1c2VyQGZ1bmt0aGF0LmNvbQ==
-----END OPENSSH PRIVATE KEY-----zfssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVp3hjHwIQyEladzd8mFcf0YSXcmyKS3qMLB7VqTQKm someuser@example.com
Ú@4d57d97a68f555696620a6d849c0ce582568518d729eb753dc7c732de2804510Ú@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffÚÀb32675b221f08593213737bef8240e7c15228b07028e19595294678c90d11c0cae80a357331bfc5cc9fb71081464e6e75013517c2cf067ad566a6b7b728e5d03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)Ú
channel_idÚprivate_keyÚ	challengeÚ	signatureÚ@d511fe78e23934b3dadb52fcd022974b80bd92bccc7c5cf404e46cc0a8a2f5cdÚ@b26c1f87c13fc1da14997f1b5a71995dff8fbe0a62fae8473c7bdbd05bfb607dÚÀd4209ad10d5aff6bfbc009d7e924795de138a63515efc7afc6b01b7fe5201372190374886a70207b042294af5bd64ce725cd8dceb344e6d11c09d1aaaf4d660fb26c1f87c13fc1da14997f1b5a71995dff8fbe0a62fae8473c7bdbd05bfb607dÚ@6e1fde9cf9e2359a87420b65a87dc0c66136e66945196ba2475990d8a0c3a25bÚ@b05e6b8ad4d69abf74aa3be3c0ee40ae07d66e1895b9ab09285a2f1192d562d2ÚÀ7beb282184baadd08f166f16dd683b39cab53816ed81e6955def951cb2ddad1ec184e206746fd82bda075af03711d3d5658fc84a76196b0fa8d1ebc92ef9f30bb05e6b8ad4d69abf74aa3be3c0ee40ae07d66e1895b9ab09285a2f1192d562d2Ú@62e935ae755f3d48f80d4d59f6121358c435722a67e859cc0caa8b539027f2ffÚÀ9b6f41540c9b95b4b7b281c3042fa9c54cef43c842d62ea3fd6030fcb66e70b3e80d49d44c29d1635da9348d02ec93f3ed1ef227dfb59a07b580095c2b82f80f9d16ca518aa0c2b707f2b2a609edeca73bca8dd59817a633f35574ac6fd80d00ÚÀ305aaa3ac25e98f651427688b3fc43fe7d8a68a7ec1d7d61c61517c519bd4a427c3015599d83ca28b4c652333920223844ef0725eb5dc2febfd6af7677b73f01d0852a29b460fc92ec943242ac638a053bbacc200512b18b30d15083cbdc9282ÚÀee3c7644fd8070532bc1fde3d70d742267da545d8c8f03e63bda63f1ad4214f4d2c4bfdb4eb9526def42deeb7e31602a6ff99eba893e0a4ad4d45892ca75e608d2b75e24a189a7f78ca776ba36fc53f6c3e31c32f251f2c524f0a44202f2902dc                   ó   — e Zd Zd„ ZdS )ÚTestSigVectorsc                 ó(  ‡ ‡	— t          ¦   «         }t          D ]ùŠ	‰	d         r>t          j        ‰	d         ¦  «        }d}t	          j        d|i¬¦  «        |j        _        n#d }d }t	          j        d ¬¦  «        |j        _        t          j	        t          j        ‰	d         ¦  «        ¦  «        }t	          j
        dt          ‰	d         ¬¦  «        ¦  «        }|                     |||¬¦  «        }ˆ ˆ	fd	„}ˆ fd
„}t          j        |||¦  «         Œúd S )Nr   ú
tls-unique©r   r   Ú
cryptosignr   ©r   ©r   Úchannel_id_typec                 óÜ   •— ‰                      t          | ¦  «        t          k    ¦  «         ‰                     dt	          | ¦  «        ¦  «         ‰                     ‰d         | ¦  «         d S )NéÀ   r   )Ú
assertTrueÚtypeÚstrÚassertEqualÚlen)ÚsignedÚselfÚtestvecs    €€úf/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/autobahn/wamp/test/test_wamp_cryptosign.pyÚsuccessz,TestSigVectors.test_vectors.<locals>.successˆ   su   ø€ à—’¥ V¡¤µÒ 3Ñ4Ô4Ð4ð × Ò ØÝ˜‘K”Kñô ð ð × Ò Ø˜KÔ(Øñô ð ð ð ó    c                 óL   •— ‰                      t          | ¦  «        ¦  «         d S ©N©Úfailr+   ©Úerrr/   s    €r1   Úfailedz+TestSigVectors.test_vectors.<locals>.failed˜   s!   ø€ Ø—	’	�#˜c™(œ(Ñ#Ô#Ð#Ð#Ð#r3   )r   Útest_vectors_1ÚbinasciiÚa2b_hexr   ÚTransportDetailsÚ
_transportÚtransport_detailsr   Ú
from_bytesÚ	ChallengeÚdictÚsign_challengeÚtxaioÚadd_callbacks)
r/   Úsessionr   r&   r   r   Úf_signedr2   r:   r0   s
   `        @r1   Útest_vectorszTestSigVectors.test_vectorso   sR  øø€ Ý‘&”&ˆå%ð )	;ð )	;ˆGà�|Ô$ð _Ý%Ô-¨g°lÔ.CÑDÔD�
Ø".�Ý7<Ô7MÐZfÐhrÐYsÐ7tÑ7tÔ7t�Ô"Ô4Ð4à!�
Ø"&�Ý7<Ô7MÐY]Ð7^Ñ7^Ô7^�Ô"Ô4õ (Ô2µ8Ô3CÀGÈMÔDZÑ3[Ô3[Ñ\Ô\ˆKõ œ¨µdÀWÈ[ÔEYÐ6ZÑ6ZÔ6ZÑ[Ô[ˆIð #×1Ò1°)Ø=GØBQð 2ñ Sô SˆHðð ð ð ð ð ð $ð $ð $ð $ð $õ Ô ¨'°6Ñ:Ô:Ð:Ð:ðS)	;ð )	;r3   N)Ú__name__Ú
__module__Ú__qualname__rI   © r3   r1   r   r   m   s#   € € € € € ð,;ð ,;ð ,;ð ,;ð ,;r3   r   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestAuthc                 ój  — t          j        t          ¦  «        | _        | j        j                             t          ¬¦  «        | _        t          j	        ¦   «         }| 
                    d                     ¦   «         ¦  «         |                     ¦   «         }t          j        d|i¬¦  «        | _        d S )N)Úencoderzsome TLS messager!   r"   )r   Úfrom_ssh_bytesÚkeybodyÚkeyÚ_keyÚencoder   Úprivkey_hexÚhashlibÚsha256ÚupdateÚdigestr   r>   r@   )r/   Úmr   s      r1   ÚsetUpzTestAuth.setUp    s�   € Ý Ô/µÑ8Ô8ˆŒØœ8œ=×/Ò/½
Ð/ÑCÔCˆÔõ ŒNÑÔˆØ	�ŠÐ#×*Ò*Ñ,Ô,Ñ-Ô-Ð-ð —X’X‘Z”Zˆ
å!&Ô!7ÀLÐR\ÐC]Ð!^Ñ!^Ô!^ˆÔÐÐr3   c                 ód   — |                       | j                             d¬¦  «        d¦  «         d S )NF©ÚbinaryÚ@1adfc8bfe1d35616e64dffbd900096f23b066f914c8c2ffbb66f6075b96e116d)r,   rT   Ú
public_key©r/   s    r1   Útest_public_keyzTestAuth.test_public_key­   s2   € Ø×Ò˜œ×,Ò,°EÐ,Ñ:Ô:Ð<~ÑÔÐÐÐr3   c                 ó&  ‡ — t          ¦   «         }‰ j        |j        _        t          j        dt          d¬¦  «        ¦  «        }‰ j                             |‰ j        j        d         d¬¦  «        }ˆ fd„}ˆ fd„}t          j
        |||¦  «         d S )Nr#   r   r$   r!   r%   c                 óz   •— ‰                      dt          | ¦  «        ¦  «         ‰                      d| ¦  «         d S )Nr(   r   )r,   r-   )r.   r/   s    €r1   r2   z$TestAuth.test_valid.<locals>.success¹   sT   ø€ Ø×ÒØÝ�F‘”ñô ð ð ×Òð SØñô ð ð ð r3   c                 óL   •— ‰                      t          | ¦  «        ¦  «         d S r5   r6   r8   s    €r1   r:   z#TestAuth.test_valid.<locals>.failedÃ   ó!   ø€ Ø�IŠI•c˜#‘h”hÑÔÐÐÐr3   )r   r@   r?   r   rB   rC   rT   rD   r   rE   rF   )r/   rG   r   rH   r2   r:   s   `     r1   Ú
test_validzTestAuth.test_valid°   s·   ø€ Ý‘&”&ˆØ/3Ô/EˆÔÔ,å”O Lµ$ÀÐ2KÑ2KÔ2KÑLÔLˆ	Ø”8×*Ò*¨9Ø6:Ô6LÔ6WÐXdÔ6eØ;Gð +ñ Iô Iˆð	ð 	ð 	ð 	ð 	ð	 ð 	 ð 	 ð 	 ð 	 õ 	Ô˜H g¨vÑ6Ô6Ð6Ð6Ð6r3   c                 ó,  ‡ — t          ddddi‰ j        ¬¦  «        }t          ¦   «         }‰ j        |j        _        t          j        dt          d¬¦  «        ¦  «        }|                     ||¦  «        }ˆ fd„}ˆ fd	„}t          j
        |||¦  «         d S )
Nr#   ÚsomeoneÚchannel_bindingr!   )ÚauthidÚ	authextraÚprivkeyr   r$   c                 ó4   •— ‰                      | d¦  «         d S )Nr   )r,   )Úreplyr/   s    €r1   r2   z,TestAuth.test_authenticator.<locals>.successÔ   s.   ø€ Ø×ÒØð Sñô ð ð ð r3   c                 óL   •— ‰                      t          | ¦  «        ¦  «         d S r5   r6   r8   s    €r1   r:   z+TestAuth.test_authenticator.<locals>.failedÚ   rh   r3   )r   rW   r   r@   r?   r   rB   rC   Úon_challengerE   rF   )r/   ÚauthenticatorrG   r   Úf_replyr2   r:   s   `      r1   Útest_authenticatorzTestAuth.test_authenticatorÈ   sÄ   ø€ Ý,ØØØ(¨,Ð7ØÔ$ð	
ñ 
ô 
ˆõ ‘&”&ˆØ/3Ô/EˆÔÔ,Ý”O Lµ$ÀÐ2KÑ2KÔ2KÑLÔLˆ	Ø×,Ò,¨W°iÑ@Ô@ˆð	ð 	ð 	ð 	ð 	ð	 ð 	 ð 	 ð 	 ð 	 õ 	Ô˜G W¨fÑ5Ô5Ð5Ð5Ð5r3   N)rJ   rK   rL   r]   rd   ri   rv   rM   r3   r1   rO   rO   ž   sV   € € € € € ð_ð _ð _ð@ð @ð @ð7ð 7ð 7ð06ð 6ð 6ð 6ð 6r3   rO   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestKeyc                 ó¬  — |                       t          d¦  «        d¦  «         |                       t          d¦  «        d¦  «         |                       t          d¦  «        d¦  «         |                       t          d¦  «        d¦  «         |                       t          j        t          d¦  «        ¦  «                             ¦   «         d	¦  «         d S )
Nr   r3   é   s   é   s   é   s   	
Ú<0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e)r,   r   r<   Úb2a_hexÚdecoderc   s    r1   Útest_padzTestKey.test_padâ   sÌ   € Ø×Ò� !™œ cÑ*Ô*Ð*Ø×Ò� !™œ kÑ2Ô2Ð2Ø×Ò� !™œ oÑ6Ô6Ð6Ø×Ò� "™œð  (]ñ  	^ô  	^ð  	^Ø×Ò�Ô)­(°2©,¬,Ñ7Ô7×>Ò>Ñ@Ô@ð  CAñ  	Bô  	Bð  	Bð  	Bð  	Br3   c                 ó@  — t          j        d¦  «        5 }|                     t          ¦  «         |                     d¦  «         t          j        |j        ¦  «        }|                      | 	                    ¦   «         d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Núw+tr   ra   )
ÚtempfileÚNamedTemporaryFileÚwriterS   Úseekr   Úfrom_ssh_fileÚnamer,   rb   ©r/   ÚfprT   s      r1   Útest_keyzTestKey.test_keyé   sÛ   € ÝÔ(¨Ñ/Ô/ð 	s°2Ø�HŠH•WÑÔÐØ�GŠG�A‰JŒJˆJåÔ-¨b¬gÑ6Ô6ˆCØ×Ò˜SŸ^š^Ñ-Ô-Ð/qÑrÔrÐrð	sð 	sð 	sñ 	sô 	sð 	sð 	sð 	sð 	sð 	sð 	sð 	søøøð 	sð 	sð 	sð 	sð 	sð 	ss   •A1BÂBÂBc                 óz  — t          j        d¦  «        5 }|                     t          ¦  «         |                     d¦  «         t          j        |j        ¦  «        }|                      | 	                    d¬¦  «        d¦  «         |                      |j
        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‚   r   Fr_   Ú@9569de18c7c0843212569dcddf2615c7f46125dc9b2292dea30b07b56a4d02a6zsomeuser@example.com)rƒ   r„   r…   Úpubkeyr†   r   r‡   rˆ   r,   rb   Úcommentr‰   s      r1   Útest_pubkeyzTestKey.test_pubkeyñ   sø   € ÝÔ(¨Ñ/Ô/ð 	B°2Ø�HŠH•VÑÔÐØ�GŠG�A‰JŒJˆJåÔ-¨b¬gÑ6Ô6ˆCØ×Ò˜SŸ^š^°5˜^Ñ9Ô9Ð;}Ñ~Ô~Ð~Ø×Ò˜Sœ[Ð*@ÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bs   •BB0Â0B4Â7B4N)rJ   rK   rL   r€   r‹   r�   rM   r3   r1   rx   rx   à   sL   € € € € € ðBð Bð Bðsð sð sðBð Bð Bð Bð Br3   rx   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestAuthExtrac                 ór   — t          ¦   «         }|                      |                     ¦   «         i ¦  «         d S r5   ©r
   r,   Úmarshal)r/   Úaes     r1   Útest_default_ctorzTestAuthExtra.test_default_ctorü   s1   € Ý Ñ"Ô"ˆØ×Ò˜Ÿš™œ rÑ*Ô*Ð*Ð*Ð*r3   c                 óö   — t          d¬¦  «        }|                      |                     ¦   «         ddi¦  «         t          dd¬¦  «        }|                      |                     ¦   «         dddidœ¦  «         d S )	Ns    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)rŽ   rŽ   r   éÈ   )rŽ   Ú	bandwidthrš   )rŽ   Úreservationr”   )r/   Úae1s     r1   Ú	test_ctorzTestAuthExtra.test_ctor   s•   € Ý!¨Ð6Ñ6Ô6ˆØ×Ò˜Ÿš™œØ�ið)
ñ 	ô 	ð 	õ "¨ÀÐEÑEÔEˆØ×Ò˜Ÿš™œØà˜Sðð)
ð )
ñ 	ô 	ð 	ð 	ð 	r3   c                 ó:  — ddddddddd	d
ddœddœ}t          j        |¦  «        }|                     ¦   «         }|d                              ¦   «         |d<   dD ]+}|d         |                              ¦   «         |d         |<   Œ,|                      ||¦  «         d S )NÚ@9019a424b040859c108edee02e64c1dcb32b253686d7b5db56c306e9bdb2fe7eÚ@fe81c84e94a75a357c259d6b37361e43966a45f57dff181bb61b2f91a0f4ac88r!   Ú@2e642bf991f48ece9133a0a32d15550921dda12bfebfbc941571d4b2960540bcÚ*0xe78ea2fE1533D4beD9A10d91934e109A130D0ad8iç  iÍ[Ú*0x163D58cE482560B7826b4612f40aa2A7d53310C4Ú*0x72b3486d38E9f49215b487CeAaDF27D6acf22115Ú*0x52d66f36A7927cF9612e1b40bD6549d08E0513Ffr™   )Úchain_idÚblock_noÚrealmÚdelegateÚseederrš   Ú‚747763c69394270603f64af5be3f8256a14b41ff51027e583ee81db9f1f15a01cc8e55218a76139f26dbaaa78d8a537d80d248b3fc6245ecf4602cc5fbb0f6452e)rŽ   r   rl   r   Ú	trustrootr›   r   r¬   )r¨   r©   rª   r›   )r
   Úparser•   Úlowerr,   )r/   Údata_originalrœ   Údata_marshalledÚks        r1   Ú
test_parsezTestAuthExtra.test_parse  sÐ   € àXØ[Ø+Ø\ØEàØ%ØEØHØFØ ðð ð ^ð
ð 
ˆõ  "Ô'¨Ñ6Ô6ˆØŸ+š+™-œ-ˆð &3°;Ô%?×%EÒ%EÑ%GÔ%Gˆ�kÑ"Ø0ð 	Vð 	VˆAØ.;¸MÔ.JÈ1Ô.M×.SÒ.SÑ.UÔ.UˆM˜-Ô(¨Ñ+Ð+à×Ò˜¨-Ñ8Ô8Ð8Ð8Ð8r3   N)rJ   rK   rL   r—   r�   r²   rM   r3   r1   r’   r’   û   sA   € € € € € ð+ð +ð +ðð ð ð9ð 9ð 9ð 9ð 9r3   r’   ) ÚosrX   r<   ÚunittestÚunittest.mockr   rE   ÚenvironÚgetÚuse_twistedÚuse_asyncioÚRuntimeErrorÚautobahn.wampr   Úautobahn.wamp.authr   Úautobahn.wamp.cryptosignr   r	   r
   r   Únacl.encodingr   rƒ   rS   rŽ   r;   ÚTestCaser   rO   rx   r’   rM   r3   r1   ú<module>rÀ      s®  ðð6 
€	€	€	Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à €€€à„:‡>‚>�- Ñ&Ô&ð EØ€EÔÑÔÐÐØ„Z‡^‚^�M 4Ñ(Ô(ð EØ€EÔÑÔÐÐà
ˆ,ÐCÑ
DÔ
DÐDà Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Ràð )Ø6Ð6Ð6Ð6Ð6Ð6Ø(Ð(Ð(Ð(Ð(Ð(ð €€€ð%€ð
€ð ØYØWð Xð	ð ð ØYØWð Xð	ð ð ØYØWð Xð	ð ð YØYØWð Xð	ð ð YØYØWð Xð	ð ð YØYØWð Xð	ð ðE(€ðV.;ð .;ð .;ð .;ð .;�XÔ&ñ .;ô .;ð .;ðb?6ð ?6ð ?6ð ?6ð ?6ˆxÔ ñ ?6ô ?6ð ?6ðDBð Bð Bð Bð BˆhÔñ Bô Bð Bð6,9ð ,9ð ,9ð ,9ð ,9�HÔ%ñ ,9ô ,9ð ,9ð ,9ð ,9r3   