� L�g8����ddlZddlZddlZddlmZmZ ddlmZddlm Z m Z n #e $rYnwxYwdee e fde fd�Zdee e fde fd �Zde de fd �Zdd �d ed eede fd�Zd ee e fdefd�Zdedede fd�Zde defd�Zdd �d ed eede fd�Zde ddde fd�Zde ddde fd�Zhd�Zejdd�e��zdzej��Zd e defd!�Zd"Z d e defd#�Z!dS)$�N)�Optional�Union)� EllipticCurve)�decode_dss_signature�encode_dss_signature�value�returnc��t|t��r|�d��St|t��r|St d���)Nzutf-8zExpected a string value)� isinstance�str�encode�bytes� TypeError)rs �Y/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/jwt/utils.py� force_bytesrsL���%����3��|�|�G�$�$�$� �E�5� !� !�3�� ��1�2�2�2��inputc��t|��}t|��dz}|dkr |dd|z zz }tj|��S)N�r�=)r�len�base64�urlsafe_b64decode)r� input_bytes�rems r�base64url_decodersN���e�$�$�K� �k� � �Q� �C� �Q�w�w��t�q�3�w�'�'� � � #�K� 0� 0�0rc�R�tj|���dd��S)Nrr)r�urlsafe_b64encode�replace)rs r�base64url_encoder $s#�� � #�E� *� *� 2� 2�4�� =� =�=r�� bit_length�valr"c��|dkrtd���t||���}t|��dkrd}t|��S)NrzMust be a positive integerr!�)� ValueError�bytes_from_intrr )r#r"� int_bytess r�to_base64url_uintr)(sP�� �Q�w�w��5�6�6�6��s�z�:�:�:�I� �9�~�~����� � �I� &� &�&rc�r�tt|����}t�|d���S)N�big)� byteorder)rr�int� from_bytes)r#�datas r�from_base64url_uintr04s-�� �K��,�,� -� -�D� �>�>�$�%�>� 0� 0�0r�num� num_bytesc�d�dd|z|fz}tj|�d����S)Nz%0*x��ascii)�binascii�a2b_hexr )r1r2� padded_hexs r�number_to_bytesr99s4���1�y�=�#�.�.�J� � �J�-�-�g�6�6� 7� 7�7r�stringc�F�ttj|��d��S)N�)r-r6�b2a_hex)r:s r�bytes_to_numberr>>s�� �x���'�'�� ,� ,�,rc�n�|�|���}|dzdz}|�|dd���S)N��r+F)�signed)r"�to_bytes)r#r"� byte_lengths rr'r'Bs=�����^�^�%�%� ���>�a�'�K� �<�<� �U�5�<� 9� 9�9r�der_sig�curverc��|j}|dzdz}t|��\}}t||��t||��zS)Nr@rA)�key_sizerr9)rErF�num_bitsr2�r�ss r�der_to_raw_signaturerLJsG���~�H��A��!�#�I� �� (� (�D�A�q� �1�i� (� (�?�1�i�+H�+H� H�Hr�raw_sigc��|j}|dzdz}t|��d|zkrtd���t|d|���}t||d���}t t ||����S)Nr@rAr4zInvalid signature)rHrr&r>rr)rMrFrIr2rJrKs r�raw_to_der_signaturerOSs����~�H��A��!�#�I� �7�|�|�q�9�}�$�$��,�-�-�-��� �� �+�,�,�A��� � � �+�,�,�A� �%�a��+�+� ,� ,�,r>�X509 CRL� PUBLIC KEY� CERTIFICATE� PRIVATE KEY� DH PARAMETERS�EC PRIVATE KEY�RSA PUBLIC KEY�DSA PRIVATE KEY�RSA PRIVATE KEY�SSH2 PUBLIC KEY�CERTIFICATE REQUEST�OPENSSH PRIVATE KEY�TRUSTED CERTIFICATE�ENCRYPTED PRIVATE KEY�NEW CERTIFICATE REQUEST�SSH2 ENCRYPTED PRIVATE KEYs----[- ]BEGIN (�|s,)[- ]---- ? .+? ? ----[- ]END \1[- ]---- ? ?�keyc�P�tt�|����S�N)�bool�_PEM_RE�search�ras r� is_pem_formatrh~s�� ����s�#�#� $� $�$r)s ssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521c�6�|�t��Src)� startswith�_SSH_KEY_FORMATSrgs r� is_ssh_keyrl�s�� �>�>�*� +� +�+r)"rr6�re�typingrr�,cryptography.hazmat.primitives.asymmetric.ecr�/cryptography.hazmat.primitives.asymmetric.utilsrr�ModuleNotFoundErrorrr rrr r-r)r0r9r>r'rLrO�_PEMS�compile�join�DOTALLrerdrhrkrl�rr�<module>rws�� � � � ����� � � � �"�"�"�"�"�"�"�"� �J�J�J�J�J�J������������ � � ��D� ����3�u�U�C�Z�(�3�U�3�3�3�3�1�E�%��*�-�1�%�1�1�1�1�>�E�>�e�>�>�>�>�@D� '� '� '�3� '�x��}� '�� '� '� '� '�1�U�5�#�:�.�1�3�1�1�1�1� 8��8��8��8�8�8�8� -�E�-�c�-�-�-�-�=A�:�:�:��:�H�S�M�:�U�:�:�:�:�I�%�I��I�E�I�I�I�I� -�%� -�� -�E� -� -� -� -� � � ��& �"�*�� �i�i�����!�!� �I�  � ��%�u�%��%�%�%�%� ��,�E�,�d�,�,�,�,�,�,s �%�-�-
Memory