File: //lib/python3/dist-packages/pymacaroons/serializers/__pycache__/binary_serializer.cpython-312.pyc
�
�%�Y01 � �� � d dl mZ d dlZd dlmZ d dlZd dlZd dlZd dlm Z d dl
mZmZm
Z
d dlmZ d dlmZ edd d
g� Z G d� de� Zd
� Zej* j, dk( rd� Zd� Zyd� Zd� Zy)� )�unicode_literalsN)�
namedtuple)�urlsafe_b64encode)�convert_to_bytes�convert_to_string�
raw_b64decode)�BaseSerializer)�MacaroonSerializationException�PacketV2�
field_type�datac �t � e Zd ZdZdZdZdZdZdZd� Z d� Z
d� Zd � Zd
� Z
d� Zd� Zd
� Zd� Zd� Zdd�Zd� Zd� Zy)�BinarySerializer� � � � r c �r � t | j |� � j d� j d� S )N�ascii�=)r �
serialize_raw�decode�rstrip)�self�macaroons �K/usr/lib/python3/dist-packages/pymacaroons/serializers/binary_serializer.py� serializezBinarySerializer.serialize s/ � � ����x�(�*�*0�&��/�&�&��+� F� c �p � ddl m} |j |k( r| j |� S | j |� S )Nr )�MACAROON_V1)�pymacaroons.macaroonr �version�
_serialize_v1�
_serialize_v2)r r r s r r zBinarySerializer.serialize_raw# s5 � �4����{�*��%�%�h�/�/��!�!�(�+�+r c �� � | j d|j � }|| j d|j � z
}|j D ]y }|| j d|j � z
}|j
s�/|j s�<|| j d|j
� z
}|| j d|j � z
}�{ || j dt j |j � � z
}|S )N� location�
identifier� cid� vid� cl� signature)
�
_packetize�location�
identifier�caveats�
_caveat_id�_verification_key_id� _location�binascii� unhexlify�signature_bytes)r r �combined�caveats r r# zBinarySerializer._serialize_v1) s� � ��?�?�;��0A�0A�B���D�O�O�M�8�3F�3F�G�G���&�&� E�F�������0A�0A�B�B�H��*�*�v�/?�/?��D�O�O��F�7�7�9� 9���D�O�O�E�6�3C�3C�D�D��
E� �D�O�O�����x�7�7�8�
�
�� �r c � � ddl m} t � }|j |� |j �W| j || j t |j � � | j || j |j � | j || j � |j D ]� }|j �0| j || j t |j � � | j || j |j � |j �0| j || j t |j � � | j || j � �� | j || j � | j || j t! j"