
    2Bf
                     R    d dl Z d dlmZ d\  ZZZZZZ	Z
g dZeefZ G d de      Zy)    N)json)r                     )OPENCLOSEPINGPONGMESSAGEUPGRADENOOPc                   0    e Zd ZdZeZeddfdZddZd Z	y)PacketzEngine.IO packet.Nc                 
   || _         || _        t        |t              rd| _        nt        |t
              rd| _        nd| _        | j                  r| j                   t        k7  rt        d      |r| j                  |       y y )NFTz*Binary packets can only be of type MESSAGE)	packet_typedata
isinstancestrbinarybinary_typesr   
ValueErrordecode)selfr   r   encoded_packets       O/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/engineio/packet.py__init__zPacket.__init__   sn    &	dC DKl+DKDK;;4++w6IJJKK'     c                 ,   | j                   rC|r3dt        j                  | j                        j	                  d      z   }|S | j                  }|S t        | j                        }t        | j                  t
              r|| j                  z  }|S t        | j                  t              st        | j                  t              r,|| j                  j                  | j                  d      z  }|S | j                  |t        | j                        z  }|S )z#Encode the packet for transmission.bzutf-8),:)
separators)r   base64	b64encoder   r   r   r   r   dictlistr   dumps)r   b64r   s      r   encodezPacket.encode   s    ;;!$v'7'7		'B'I'I( "  "&  !!1!12N$))S)$))+  DIIt,
499d0K$))//$))=G #2 #I I  &#dii.0r    c                 ,   t        |t              | _        | j                   xr |d   dk(  }|r0d| _        t        | _        t        j                  |dd       | _        y| j                  rt        |t              st        |      }| j                  rt        | _        || _        yt        |d         | _        	 | j                  j                  |dd       | _        t        | j                  t              rt        y# t        $ r |dd | _        Y yw xY w)zDecode a transmitted package.r   r"   Tr   N)r   r   r   r   r   r&   	b64decoder   bytesintr   loadsr   )r   r   r+   s      r   r   zPacket.decode0   s     >++o:."3s":DK&D(();<DI{{:ne#D!&~!6{{#* *	#&~a'8#9 3 $		qr0B CDI!$))S1 )(	 2
 " 3 .qr 2DI3s   9AC= =DD)F)
__name__
__module____qualname____doc___jsonr   r   r   r,   r    r    r   r   r   
   s     D#'d4 (&3r    r   )r&   engineior   r6   r
   r   r   r   r   r   r   packet_namesr/   	bytearrayr   objectr   r7   r    r   <module>r<      s:     "4I 1udD'7DNy!>3V >3r    