HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/cryptography/hazmat/__pycache__/_der.cpython-312.pyc
�

�)%ae���ddlZddlmZdZdZdZdZdZdZd	Z	d
ezZ
dezZdZd
Z
dZGd�de�Zdedefd�Zdededefd�Zy)�N)�int_to_bytes� �����������c���eZdZd�Zd�Zd�Zd�Zd�Zdefd�Z	de
fd�Zdejedffd	�Zd
eddfd�Zd
eddfd�Zd
edej"dfd
�Zdefd�Zy)�	DERReaderc�$�t|�|_y�N)�
memoryview�data)�selfrs  �:/usr/lib/python3/dist-packages/cryptography/hazmat/_der.py�__init__zDERReader.__init__"s���t�$��	�c��|Sr��rs r�	__enter__zDERReader.__enter__%s���rc�*�|�|j�yyr)�check_empty)r�exc_type�	exc_value�tbs    r�__exit__zDERReader.__exit__(s��������rc�2�t|j�dk(S�Nr)�lenrrs r�is_emptyzDERReader.is_empty,s���4�9�9�~��"�"rc�:�|j�std��y)Nz Invalid DER input: trailing data)r'�
ValueErrorrs rrzDERReader.check_empty/s���}�}���?�@�@�r�returnc��t|j�dkrtd��|jd}|jdd|_|S)N��$Invalid DER input: insufficient datar�r&rr))r�rets  r�	read_bytezDERReader.read_byte3sA���t�y�y�>�A���C�D�D��i�i��l���I�I�a�b�M��	��
rc��t|j�|krtd��|jd|}|j|d|_|S)Nr-r.)r�nr/s   r�
read_byteszDERReader.read_bytes:sC���t�y�y�>�A���C�D�D��i�i���m���I�I�a�b�M��	��
rc�x�|j�}|dzdk(rtd��|j�}|dzdk(r|}n_|dz}|dk(rtd��d}t|�D]*}|dz}||j�z}|dk(s�!td��|dkrtd��|j|�}|t	|�fS)	N�z-Invalid DER input: unexpected high tag numberrr�z?Invalid DER input: indefinite length form is not allowed in DER�z3Invalid DER input: length was not minimally-encoded)r0r)�ranger3r)r�tag�length_byte�length�i�bodys      r�read_any_elementzDERReader.read_any_elementAs����n�n�����:����L�M�M��n�n�&������"� �F�
�4��K��a�� �����F��;�'���1����$�.�.�*�*���Q�;�$�M���	(���}�!�I������v�&���I�d�O�#�#r�expected_tagc�L�|j�\}}||k7rtd��|S)Nz!Invalid DER input: unexpected tag)r>r))rr?r9r=s    r�read_elementzDERReader.read_elementes-���)�)�+�	��T��,���@�A�A��rc�T�|5|j|�cddd�S#1swYyxYwr)rA�rr?s  r�read_single_elementzDERReader.read_single_elementks��
��$�$�\�2��T�T�s��'c�z�t|j�dkDr#|jd|k(r|j|�Syr%)r&rrArCs  r�read_optional_elementzDERReader.read_optional_elementos7���t�y�y�>�A��$�)�)�A�,�,�">��$�$�\�2�2�rc�J�t|j�dk(rtd��|jd}|dzdk(rtd��t|j�dkDr'|jd}|dk(r|dzdk(rtd��tj	|jd�S)Nrz)Invalid DER input: empty integer contentsrz'Negative DER integers are not supportedr,z0Invalid DER input: integer not minimally-encoded�big)r&rr)�int�
from_bytes)r�first�seconds   r�
as_integerzDERReader.as_integervs����t�y�y�>�Q���H�I�I��	�	�!����4�<�4���F�G�G��t�y�y�>�A���Y�Y�q�\�F���z�f�t�m�q�0� �F����~�~�d�i�i��/�/rN)�__name__�
__module__�__qualname__rrr#r'rrIr0rr3�typing�Tupler>rArD�OptionalrFrMrrrrr!s���%���#�A��3���z��"$�&�,�,�s�K�/?�"@�"$�H�����3��3��3����	����	%��0�C�0rr�xr*c��t|t�std��|dkrtd��|j�dzdz}t	||�S)NzValue must be an integerrz#Negative integers are not supportedr7r,)�
isinstancerIr)�
bit_lengthr)rTr2s  r�encode_der_integerrX�sM���a����3�4�4��1�u��>�?�?�	����!��a��A���1��rr9�childrenc�V�d}|D]}|t|�z
}�t|g�g}|dkr|jt|g��nCt|�}|jtdt|�zg��|j|�|j	|�dj|�S)Nrrr)r&�bytes�appendr�extend�join)r9rYr;�child�chunks�length_bytess      r�
encode_derrb�s���
�F����#�e�*�����S�E�l�^�F�
��}��
�
�e�V�H�o�&�#�F�+���
�
�e�T�C��$5�5�6�7�8��
�
�l�#�
�M�M�(���8�8�F��r)rQ�cryptography.utilsr�CONSTRUCTED�CONTEXT_SPECIFIC�INTEGER�
BIT_STRING�OCTET_STRING�NULL�OBJECT_IDENTIFIER�SEQUENCE�SET�PRINTABLE_STRING�UTC_TIME�GENERALIZED_TIME�objectrrIr[rXrbrrr�<module>rqs���
�+�����
��
�
��������+���
�[���������c0��c0�L�#��%���C��E��e�r