
    qiG                         d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
 ddlmZmZ  G d ded	      Z ej                  e      Ze G d
 de             ZdgZy)z!
Processor class for Pix2Struct.
   )BatchFeature)ProcessingKwargsProcessorMixinUnpack)BatchEncodingPreTokenizedInput	TextInput)auto_docstringloggingc            
       .    e Zd Zdddddddddd	ddidZy)	Pix2StructProcessorKwargsTF    )	add_special_tokenspaddingstridereturn_overflowing_tokensreturn_special_tokens_maskreturn_offsets_mappingreturn_token_type_idsreturn_lengthverbosemax_patchesi   )text_kwargsimages_kwargsN)__name__
__module____qualname__	_defaults     f/opt/pipecat/venv/lib/python3.12/site-packages/transformers/models/pix2struct/processing_pix2struct.pyr   r      s7     #').*/&+%*"

 4
Ir    r   F)totalc            	       |     e Zd Z fdZe	 	 ddeez  ee   z  ee   z  dee	   de
ez  fd       Zed        Z xZS )Pix2StructProcessorc                 4    d|_         t        | 	  ||       y )NF)r   super__init__)selfimage_processor	tokenizer	__class__s      r!   r'   zPix2StructProcessor.__init__0   s    */	')4r    textkwargsreturnc                    ||t        d       | j                  t        fd| j                  j                  i|}|d   j                  dd       }|;| j                  j                  s%||nd|d   d<    | j                  dd|i|d   }|S | j                  j                  s | j                  |fi |d   }n+|d   j                  d|        | j                  |fi |d   }|j| j                  j                  sT||nd	|d   d<    | j                  dd|i|d   }d
|v r|j                  d
      |d<   d|v r|j                  d      |d<   nd }||j                  |       |S )Nz*You have to specify either images or text.tokenizer_init_kwargsr   r   Tr,   r   header_textFattention_maskdecoder_attention_mask	input_idsdecoder_input_idsr   )

ValueError_merge_kwargsr   r*   init_kwargspopr)   is_vqa
setdefaultupdate)r(   imagesr,   r-   output_kwargsr   text_encodingencoding_image_processors           r!   __call__zPix2StructProcessor.__call__4   s    >dlIJJ***%
"&.."<"<
 

 +=9==>RTXY>$"6"6"="=&8&D"$ -()=> +DNNUUm8TUM  ##**';t';';F'emTcFd'e$ /*55mTJ';t';';F'emTcFd'e$D$8$8$?$?&8&D"% -()=> +DNNUUm8TUM=0:G:K:KL\:]67m+5B5F5F{5S12 M$$++M:''r    c                 @    | j                   j                  }ddg}||z   S )Nr3   r5   )r)   model_input_names)r(   image_processor_input_namesdecoder_idss      r!   rC   z%Pix2StructProcessor.model_input_namesf   s*    &*&:&:&L&L#/1DE*[88r    )NN)r   r   r   r'   r
   r	   r   listr   r   r   r   rA   propertyrC   __classcell__)r+   s   @r!   r$   r$   .   s|    5  Z^/( ++d9o=EV@WW/( 23	/(
 
	%/( /(b 9 9r    r$   N)__doc__feature_extraction_utilsr   processing_utilsr   r   r   tokenization_utils_baser   r   r	   utilsr
   r   r   
get_loggerr   loggerr$   __all__r   r    r!   <module>rQ      sg    5 H H R R , 0 & 
		H	% ;9. ;9 ;9| !
!r    