OwlCyberSecurity - MANAGER
Edit File: binhex.cpython-38.opt-1.pyc
U ����e5d�6����������������������@���s����d�Z�ddlZddlZddlZddlZdddgZG�dd��de�ZdZdZ dZ d Zd ZG�dd��d�Z d d��ZG�dd��d�ZG�dd��d�ZG�dd��d�ZG�dd��d�Zdd��ZG�dd��d�ZG�dd��d�ZG�dd��d�Zdd��ZdS�)z�Macintosh binhex compression/decompression. easy interface: binhex(inputfilename, outputfilename) hexbin(inputfilename, outputfilename) �����N�binhex�hexbin�Errorc�������������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r���r����/usr/lib64/python3.8/binhex.pyr������s�������i�����@��������c�������������������@���s���e�Zd�Zdd��ZdS�)�FInfoc�����������������C���s���d|�_�d|�_d|�_d�S�)Nz????r���)�Type�Creator�Flags��selfr���r���r ����__init__0���s����zFInfo.__init__N)r���r���r���r���r���r���r���r ���r ���/���s���r ���c�������������� ���C���st���t���}t�|�d��2}|�d�}d|kr,d|_|�dd��|���}W�5�Q�R�X�tj� |��\}}|� ddd�}|||dfS�) N�rbi���r���ZTEXT�����:�-r ���)r ����io�open�readr����seek�tell�os�path�split�replace)�name�finfo�fp�dataZdsize�dir�filer���r���r ����getfileinfo5���s���� r'���c�������������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) �openrsrcc�����������������G���s���d�S��Nr����r����argsr���r���r ���r���C���s����zopenrsrc.__init__c�����������������G���s���dS��N�����r���r*���r���r���r ���r���F���s����z openrsrc.readc�����������������G���s���d�S�r)���r���r*���r���r���r ����writeI���s����zopenrsrc.writec�����������������C���s���d�S�r)���r���r���r���r���r ����closeL���s����zopenrsrc.closeN)r���r���r���r���r���r.���r/���r���r���r���r ���r(���B���s���r(���c�������������������@���s0���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd S�)�_Hqxcoderenginez(Write data to the coder in 3-byte chunksc�����������������C���s ���||�_�d|�_d|�_td�|�_d�S�)Nr-���r ���)�ofpr$����hqxdata�LINELEN�linelen�r���r1���r���r���r ���r���R���s����z_Hqxcoderengine.__init__c�����������������C���sh���|�j�|�|�_�t|�j��}|d�d�}|�j�d�|��}|�j�|d���|�_�|sHd�S�|�jt�|��|�_|��d��d�S�)N����r���)r$����lenr2����binascii�b2a_hqx�_flush)r���r$���ZdatalenZtodor���r���r ���r.���X���s���� z_Hqxcoderengine.writec�����������������C���sr���d}|t�|�j�|�j�krH||�j�}|�j�|�j||��d���t|�_|}q|�j|d���|�_|rn|�j�|�jd���d�S�)Nr������� s���: )r7���r2���r4���r1���r.���r3���)r���Zforce�firstZlastr���r���r ���r:���c���s���� z_Hqxcoderengine._flushc�����������������C���s6���|�j�r|�jt�|�j���|�_|��d��|�j����|�`d�S�)Nr ���)r$���r2���r8���r9���r:���r1���r/���r���r���r���r ���r/���n���s ���� z_Hqxcoderengine.closeN)r���r���r����__doc__r���r.���r:���r/���r���r���r���r ���r0���O���s ���r0���c�������������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) �_Rlecoderenginez4Write data to the RLE-coder in suitably large chunksc�����������������C���s���||�_�d|�_d�S�r,���)r1���r$���r5���r���r���r ���r���x���s����z_Rlecoderengine.__init__c�����������������C���s@���|�j�|�|�_�t|�j��tk�rd�S�t�|�j��}|�j�|��d|�_�d�S�r,���)r$���r7����REASONABLY_LARGEr8����rlecode_hqxr1���r.���)r���r$����rledatar���r���r ���r.���|���s����z_Rlecoderengine.writec�����������������C���s0���|�j�rt�|�j��}|�j�|��|�j����|�`d�S�r)���)r$���r8���r@���r1���r.���r/���)r���rA���r���r���r ���r/�������s ���� z_Rlecoderengine.closeN)r���r���r���r=���r���r.���r/���r���r���r���r ���r>���u���s���r>���c�������������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�BinHexc����������� ������C���s����|\}}}}d}t�|t�r.|}t�|d�}d}zR|�d��t|�} t| �|�_d|�_|d�kr`t ��}||�_ ||�_|��||��t |�_W�n���|r�|������Y�nX�d�S�)NF�wbTs0���(This file must be converted with BinHex 4.0) :r���)� isinstance�strr���r���r.���r0���r>���r1����crcr ����dlen�rlen� _writeinfo�_DID_HEADER�stater/���) r���Zname_finfo_dlen_rlenr1���r!���r"���rG���rH���Zclose_on_errorZofnameZhqxerr���r���r ���r�������s*���� zBinHex.__init__c�����������������C���s����t�|�}|dkrtd��t|g�|�d��d�}|j|j�}}t|t�rR|�d�}t|t�rf|�d�}||�}t� d|j �}t� d|�j|�j�} ||�|�| �} |�� | ��|�����d�S�)N�?���zFilename too longzlatin-1������>hz>ii)r7���r����bytes�encoder���r���rD���rE����struct�packr���rG���rH����_write� _writecrc)r���r!���r"����nl�d�tpZcrZd2Zd3Zd4�infor���r���r ���rI�������s���� zBinHex._writeinfoc�����������������C���s ���t��||�j�|�_|�j�|��d�S�r)���)r8����crc_hqxrF���r1���r.����r���r$���r���r���r ���rS�������s����z BinHex._writec�����������������C���s4���|�j�dk�rd}nd}|�j�t�||�j����d|�_�d�S�)Nr���rN���z>H)rF���r1���r.���rQ���rR���)r���Zfmtr���r���r ���rT�������s ���� zBinHex._writecrcc�����������������C���s0���|�j�tkrtd��|�jt|��|�_|��|��d�S�)NzWriting data at the wrong time)rK���rJ���r���rG���r7���rS���rZ���r���r���r ���r.�������s���� zBinHex.writec�����������������C���s,���|�j�dkrtd|�jf���|�����t|�_d�S�)Nr���zIncorrect data size, diff=%r)rG���r���rH���rT���� _DID_DATArK���r���r���r���r ���� close_data����s���� zBinHex.close_datac�����������������C���sB���|�j�tk�r|�����|�j�tkr$td��|�jt|��|�_|��|��d�S�)Nz'Writing resource data at the wrong time)rK���r[���r\���r���rH���r7���rS���rZ���r���r���r ���� write_rsrc����s���� zBinHex.write_rsrcc�����������������C���sx���|�j�d�krd�S�zJ|�j�tk�r"|�����|�j�tkr4td��|�jdkrNtd|�jf���|�����W�5�d�|�_�|�j}|�`|����X�d�S�)NzClose at the wrong timer���z$Incorrect resource-datasize, diff=%r)rK���r1���r/���r[���r\���r���rH���rT���r5���r���r���r ���r/�������s���� zBinHex.closeN)r���r���r���r���rI���rS���rT���r.���r\���r]���r/���r���r���r���r ���rB�������s��� rB���c�������������� ���C���s����t�|��}t||�}t�|�d��*}|�d�}|s0q<|�|��q |����W�5�Q�R�X�t|�d�}|�d�}|shqt|�|��qX|� ���|� ���dS�)zEbinhex(infilename, outfilename): create binhex-encoded copy of a filer�������N) r'���rB���r���r���r���r.���r\���r(���r]���r/���)�inp�outr"���r1����ifprV���r���r���r ���r�������s���� � �c�������������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) �_Hqxdecoderenginez*Read data via the decoder in 4-byte chunksc�����������������C���s���||�_�d|�_d�S�)Nr���)ra����eof�r���ra���r���r���r ���r�����s����z_Hqxdecoderengine.__init__c�����������������C���s����d}|}|dkr�|�j�r|S�|d�d�d�}|�j�|�}zt�|�\}|�_�W�q�W�n�tjk rd���Y�nX�|�j�d�}|s~td��||�}q6||�}|t|��}|s|�j�std��q|S�)z&Read at least wtd bytes (or until EOF)r-���r���r���r6�������r ���zPremature EOF on binhex file)rc���ra���r���r8���Za2b_hqxZ Incompleter���r7���)r���ZtotalwtdZdecdata�wtdr$���Z decdatacur�newdatar���r���r ���r�����s*����� z_Hqxdecoderengine.readc�����������������C���s���|�j�����d�S�r)����ra���r/���r���r���r���r ���r/���%��s����z_Hqxdecoderengine.closeN)r���r���r���r=���r���r���r/���r���r���r���r ���rb�������s��� rb���c�������������������@���s0���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd S�)�_RledecoderenginezRead data via the RLE-coderc�����������������C���s���||�_�d|�_d|�_d|�_d�S�)Nr-���r���)ra���� pre_buffer�post_bufferrc���rd���r���r���r ���r���+��s����z_Rledecoderengine.__init__c�����������������C���sD���|t�|�j�kr"|��|t�|�j����|�jd�|��}|�j|d���|�_|S�r)���)r7���rk����_fill)r���rf����rvr���r���r ���r���1��s ����z_Rledecoderengine.readc�����������������C���s����|�j�|�j�|d���|�_�|�jjr>|�jt�|�j���|�_d|�_�d�S�t|�j��}|�j�dd���td�t�krl|d�}nX|�j�dd���tkr�|d�}n<|�j�dd���td�kr�|d�}n|�j�dd��tkr�n|d �}|�jt�|�j�d�|����|�_|�j�|d���|�_�d�S�) Nre���r-������rM���r6������r������r ���) rj���ra���r���rc���rk���r8���Z rledecode_hqxr7����RUNCHAR)r���rf���Zmarkr���r���r ���rl���8��s*���� � �z_Rledecoderengine._fillc�����������������C���s���|�j�����d�S�r)���rh���r���r���r���r ���r/���[��s����z_Rledecoderengine.closeN)r���r���r���r=���r���r���rl���r/���r���r���r���r ���ri���(��s ���#ri���c�������������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�HexBinc�����������������C���sf���t�|t�rt�|d�}|�d�}|s,td��|dkr6q|dkrqBqt|�}t|�|�_d|�_ |�� ���d�S�)Nr���r ���zNo binhex data foundr;�������:r���)rD���rE���r���r���r���r���rb���ri���ra���rF����_readheader)r���ra���ZchZhqxifpr���r���r ���r���_��s���� zHexBin.__init__c�����������������C���s ���|�j��|�}t�||�j�|�_|S�r)���)ra���r���r8���rY���rF���)r���r7���r$���r���r���r ����_readu��s����zHexBin._readc�����������������C���sN���t��d|�j�d��d�d@�}|�jd@�|�_||�jkrDtd|�j|f���d|�_d�S�)NrN���r���r���i����zCRC error, computed %x, read %x)rQ����unpackra���r���rF���r���)r���Zfilecrcr���r���r ���� _checkcrcz��s���� �zHexBin._checkcrcc�����������������C���s����|���d�}|���t|��}|���d�}|�����|dd��}|dd��}t�d|dd���d�}t�d|dd ���d�|�_t�d|d d���d�|�_||�_t��|�_||�j_ ||�j_ ||�j_t|�_ d�S�) Nr ������������ ���rN�������r���z>l����)ru����ordrw���rQ���rv���rG���rH����FNamer ���r���r���r���rJ���rK���)r���r7���Zfname�rest�typeZcreator�flagsr���r���r ���rt������s���� zHexBin._readheaderc�����������������G���sj���|�j�tkrtd��|r,|d�}t||�j�}n|�j}d}t|�|k�rZ||��|t|����}q6|�j|�|�_|S�)NzRead data at wrong timer���r-���)rK���rJ���r����minrG���r7���ru���)r����nrm���r���r���r ���r������s���� zHexBin.readc�����������������C���s6���|�j�tkrtd��|�jr$|��|�j�}|�����t|�_�d�S�)Nzclose_data at wrong time)rK���rJ���r���rG���ru���rw���r[����r���Zdummyr���r���r ���r\������s���� zHexBin.close_datac�����������������G���sZ���|�j�tkr|�����|�j�tkr$td��|r>|d�}t||�j�}n|�j}|�j|�|�_|��|�S�)Nz Read resource data at wrong timer���)rK���rJ���r\���r[���r���r����rH���ru���)r���r����r���r���r ���� read_rsrc���s���� zHexBin.read_rsrcc�����������������C���sD���|�j�d�krd�S�z|�jr"|��|�j�}|�����W�5�d�|�_�|�j����X�d�S�r)���)rK���ra���r/���rH���r����rw���r����r���r���r ���r/������s���� zHexBin.closeN)r���r���r���r���ru���rw���rt���r���r\���r����r/���r���r���r���r ���rr���^��s��� rr���c�������������� ���C���s����t�|��}|j}|s|j}t�|d��"}|�d�}|s6qB|�|��q&W�5�Q�R�X�|����|�d�}|r�t |d�}|�|��|�d�}|s�q�|�|��qv|� ���|� ���dS�)z6hexbin(infilename, outfilename) - Decode binhexed filerC���r^���N)rr���r ���r~���r���r���r���r.���r\���r����r(���r/���)r_���r`���ra���r"���r1���rV���r���r���r ���r������s(���� � �)r=���r���r���rQ���r8����__all__� Exceptionr���rJ���r[���r?���r3���rq���r ���r'���r(���r0���r>���rB���r���rb���ri���rr���r���r���r���r���r ����<module>���s,��� &^*6h