
    i                     4    d dl Z ddlmZ  G d d          ZdS )    N   )packetc                   ,    e Zd ZdZdZddZddZd ZdS )	PayloadzEngine.IO payload.   Nc                 J    |pg | _         ||                     |           d S d S N)packetsdecode)selfr
   encoded_payloads      ;/usr/local/lib/python3.11/dist-packages/engineio/payload.py__init__zPayload.__init__
   s3    }"&KK((((( '&    c                     d}| j         D ]"}|r|dz  }||                    d          z  }#|/dt          |          z   dz   |                    dd	          z   d
z   }|S )z$Encode the payload for transmission. T)b64Nz___eio[z](""z\"z");)r
   encodestrreplace)r   jsonp_indexr   pkts       r   r   zPayload.encode   s    < 	4 	4C *6)szzdz333OO"'!+../#$ .55c5AAB $	$O
 r   c                 X   g | _         t          |          dk    rdS |                    d          r+t          j                            |          d         d         }|                    d          }t          |          | j        k    rt          d          d |D             | _         dS )zDecode a transmitted payload.r   Nzd=dr   zToo many packets in payloadc                 8    g | ]}t          j        |           S ))encoded_packet)r   Packet).0r   s     r   
<listcomp>z"Payload.decode.<locals>.<listcomp>-   s5     ? ? ?* ^DDD ? ? ?r   )	r
   len
startswithurllibparseparse_qssplitmax_decode_packets
ValueError)r   r   encoded_packetss      r   r   zPayload.decode   s    1$$F %%d++ 	)$l33! !!$&&')O *//77$"999:;;;? ?.=? ? ?r   )NNr	   )__name__
__module____qualname____doc__r(   r   r   r    r   r   r   r      sW        ) ) ) )
   ? ? ? ? ?r   r   )r$   r   r   r   r/   r   r   <module>r0      sR          (? (? (? (? (? (? (? (? (? (?r   