
    h                     $   d Z dZddlZddlmZ ddlmZ dZdez  dz
  ZdZdZ	dZ
dZd	Zd
Zd
Z ed          Z ed          ZdZdZdZdZdZdZdZdZ ej        e          d	k    r ed           ej        e          dk    r ed          d Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$d! Z%d" Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5ej6        j7        ej6        j8        ej6        j9        ej6        j:        fZ;d2 Z<dS )3zFConstants and static functions to support protocol buffer wire format.z#robinson@google.com (Will Robinson)    N)
descriptor)message               ii   l        l             z<Iz<Qz<fz<dz"Format "I" is not a 32-bit number.   z"Format "Q" is not a 64-bit number.c                 r    d|cxk    rt           k    sn t          j        d|z            | t          z  |z  S )a  Returns an unsigned 32-bit integer that encodes the field number and
  wire type information in standard protocol message wire format.

  Args:
    field_number: Expected to be an integer in the range [1, 1 << 29)
    wire_type: One of the WIRETYPE_* constants.
  r   zUnknown wire type: %d)_WIRETYPE_MAXr   EncodeErrorTAG_TYPE_BITS)field_number	wire_types     f/var/www/html/prod/cognitive/venv/lib/python3.11/site-packages/google/protobuf/internal/wire_format.pyPackTagr   9   sJ     
i	(	(	(	(=	(	(	(	(

5	A
B
BB
-
'9	44    c                 *    | t           z	  | t          z  fS )zkThe inverse of PackTag().  Given an unsigned 32-bit number,
  returns a (field_number, wire_type) tuple.
  )r   TAG_TYPE_MASK)tags    r   	UnpackTagr   F   s     
#"5	66r   c                 (    | dk    r| dz  S | dz  dz  S )zZigZag Transform:  Encodes signed integers so that they can be
  effectively used with varint encoding.  See wire_format.h for
  more details.
  r   r    values    r   ZigZagEncoder   M   s&    
 aZZA:
1*	r   c                 &    | dz  s| dz	  S | dz	  dz  S )zInverse of ZigZagEncode().r   r   r   r   s    r   ZigZagDecoder!   W   s'    	 A:
1*	r   c                 "    t          | |          S N)Int64ByteSizer   int32s     r   Int32ByteSizer'   c   s    	|U	+	++r   c                 &    t          d| z            S Nr   )_VarUInt64ByteSizeNoTag)r&   s    r   Int32ByteSizeNoTagr+   g   s    	 !3e!;	<	<<r   c                 (    t          | d|z            S r)   UInt64ByteSizer   int64s     r   r$   r$   k   s    	&85&@	A	AAr   c                 "    t          | |          S r#   r-   )r   uint32s     r   UInt32ByteSizer3   p   s    	f	-	--r   c                 @    t          |           t          |          z   S r#   )TagByteSizer*   )r   uint64s     r   r.   r.   t   s    	\	"	"%<V%D%D	DDr   c                 <    t          | t          |                    S r#   )r3   r   r%   s     r   SInt32ByteSizer8   x       	l5&9&9	:	::r   c                 <    t          | t          |                    S r#   )r.   r   r/   s     r   SInt64ByteSizer;   |   r9   r   c                 &    t          |           dz   S Nr   r5   )r   fixed32s     r   Fixed32ByteSizer@          	\	"	"Q	&&r   c                 &    t          |           dz   S Nr   r>   )r   fixed64s     r   Fixed64ByteSizerE      rA   r   c                 &    t          |           dz   S r=   r>   )r   sfixed32s     r   SFixed32ByteSizerH      rA   r   c                 &    t          |           dz   S rC   r>   )r   sfixed64s     r   SFixed64ByteSizerK      rA   r   c                 &    t          |           dz   S r=   r>   )r   flts     r   FloatByteSizerN      rA   r   c                 &    t          |           dz   S rC   r>   )r   doubles     r   DoubleByteSizerQ      rA   r   c                 &    t          |           dz   S )Nr   r>   r   bs     r   BoolByteSizerU      rA   r   c                 "    t          | |          S r#   )r3   )r   enums     r   EnumByteSizerX      s    	d	+	++r   c                 H    t          | |                    d                    S )Nzutf-8)BytesByteSizeencode)r   strings     r   StringByteSizer]      s    	|V]]7%;%;	<	<<r   c                 z    t          |           t          t          |                    z   t          |          z   S r#   )r5   r*   lenrS   s     r   rZ   rZ      s6    
l
#
##CFF++,FF r   c                 F    dt          |           z   |j                    z   S )Nr   )r5   ByteSizer   r   s     r   GroupByteSizerc      s*    
k,''
'G  r   c                 z    t          |           t           |j                              z    |j                    z   S r#   r5   r*   ra   rb   s     r   MessageByteSizerf      sA    
l
#
##$4G$4$6$6778G  r   c                     dt          d          z  t          d          z   t          d          z   }|t          |           z  }|                                }|t          |          z  }||z  }|S )Nr   r   r   re   )r   msg
total_sizemessage_sizes       r   MessageSetItemByteSizerk      ss    
 KNN"[^^3k!nnD* '555*, '555* *	r   c                 <    t          t          | d                    S )zEReturns the bytes required to serialize a tag with this field number.r   )r*   r   )r   s    r   r5   r5      s     
!q!9!9	:	::r   c                     | dk    rdS | dk    rdS | dk    rdS | dk    rdS | d	k    rd
S | dk    rdS | dk    rdS | dk    rdS | dk    rdS | t           k    rt          j        d| z            dS )zReturns the number of bytes required to serialize a single varint
  using boundary value comparisons. (unrolled loop optimization -WPierce)
  uint64 must be unsigned.
     r   i?  r   i r   ir   l    r	   l      l       l   r   r
   	   zValue out of range: %d
   )
UINT64_MAXr   r   )r6   s    r   r*   r*      s    
 t^^AAvaaxy{11}QQqq!!!!!j

6?
@
@@	r   c                     | t           vS )zReturn true iff packable = true is valid for fields of this type.

  Args:
    field_type: a FieldDescriptor::Type value.

  Returns:
    True iff fields of this type are packable.
  )NON_PACKABLE_TYPES)
field_types    r   IsTypePackablerw      s     
-	--r   )=__doc__
__author__structgoogle.protobufr   r   r   r   WIRETYPE_VARINTWIRETYPE_FIXED64WIRETYPE_LENGTH_DELIMITEDWIRETYPE_START_GROUPWIRETYPE_END_GROUPWIRETYPE_FIXED32r   int	INT32_MAX	INT32_MIN
UINT32_MAX	INT64_MAX	INT64_MINrs   FORMAT_UINT32_LITTLE_ENDIANFORMAT_UINT64_LITTLE_ENDIANFORMAT_FLOAT_LITTLE_ENDIANFORMAT_DOUBLE_LITTLE_ENDIANcalcsizeAssertionErrorr   r   r   r!   r'   r+   r$   r3   r.   r8   r;   r@   rE   rH   rK   rN   rQ   rU   rX   r]   rZ   rc   rf   rk   r5   r*   FieldDescriptorTYPE_STRING
TYPE_GROUPTYPE_MESSAGE
TYPE_BYTESru   rw   r   r   r   <module>r      s   M L2
  & & & & & & # # # # # # m#q(       C	C
OO	
		
 # " ! " 
 6?.//144;<<<6?.//144;<<<
5 
5 
57 7 7    , , ,= = =B B B
. . .E E E; ; ;; ; ;' ' '' ' '' ' '' ' '' ' '' ' '' ' ', , ,= = =       
       (; ; ;  ( (')'	 	. 	. 	. 	. 	.r   