
    +j                         d dl mZ d dlZd dlZd dlZd dlmZmZ  G d dej	                  Z
 G d dej	                  Z G d d	e          Zd
efdZdS )    )overrideN)ComfyExtensionioc                   :    e Zd Zed             Zed             ZdS )QuadrupleCLIPLoaderc                    t          j        dddt           j                            dt	          j        d                    t           j                            dt	          j        d                    t           j                            dt	          j        d                    t           j                            d	t	          j        d                    gt           j                                        g
          S )Nr   zadvanced/loaderszJ[Recipes]

hidream: long clip-l, long clip-g, t5xxl, llama_8b_3.1_instruct
clip_name1text_encoders)options
clip_name2
clip_name3
clip_name4)node_idcategorydescriptioninputsoutputs)r   SchemaComboInputfolder_pathsget_filename_listClipOutputclss    :/home/wildlama/comfy/ComfyUI/comfy_extras/nodes_hidream.pydefine_schemaz!QuadrupleCLIPLoader.define_schema
   s    y)'f|\5STc5d5dee|\5STc5d5dee|\5STc5d5dee|\5STc5d5dee	   
 
 
 	
    c                 @   t          j        d|          }t          j        d|          }t          j        d|          }t          j        d|          }t          j                            ||||gt          j        d                    }	t          j        |	          S )Nr
   
embeddings)
ckpt_pathsembedding_directory)r   get_full_path_or_raisecomfysd	load_clipget_folder_pathsr   
NodeOutput)
r   r	   r   r   r   
clip_path1
clip_path2
clip_path3
clip_path4clips
             r   executezQuadrupleCLIPLoader.execute   s    !8*UU
!8*UU
!8*UU
!8*UU
x!!j*jR\-]s  tQ  R^  t_  t_!  `  `}T"""r   N__name__
__module____qualname__classmethodr   r/    r   r   r   r   	   sH        
 
 [
  # # [# # #r   r   c                   :    e Zd Zed             Zed             ZdS )CLIPTextEncodeHiDreamc                    t          j        ddgdt           j                            d          t           j                            ddd          t           j                            ddd          t           j                            d	dd          t           j                            d
dd          gt           j                                        g          S )Nr7   zhidream promptzadvanced/conditioningr.   clip_lT)	multilinedynamic_promptsclip_gt5xxlllama)r   search_aliasesr   r   r   )r   r   r   r   StringConditioningr   r   s    r   r   z#CLIPTextEncodeHiDream.define_schema%   s    y+,-,f%%	D$OO	D$OO	4NN	4NN &&((
 
 
 	
r   c                 .   |                     |          }|                     |          d         |d<   |                     |          d         |d<   |                     |          d         |d<   t          j        |                    |                    S )Nlr=   r>   )tokenizer   r)   encode_from_tokens_scheduled)r   r.   r9   r<   r=   r>   tokenss          r   r/   zCLIPTextEncodeHiDream.execute7   s    v&&mmF++C0s--..w7w--..w7w}T>>vFFGGGr   Nr0   r5   r   r   r7   r7   $   sM        
 
 [
" H H [H H Hr   r7   c                   L    e Zd Zedeeej                          fd            ZdS )HiDreamExtensionreturnc                 "   K   t           t          gS N)r   r7   )selfs    r   get_node_listzHiDreamExtension.get_node_listA   s        !
 	
r   N)	r1   r2   r3   r   listtyper   	ComfyNoderM   r5   r   r   rH   rH   @   sE        
T$r|*<%= 
 
 
 X
 
 
r   rH   rI   c                  "   K   t                      S rK   )rH   r5   r   r   comfy_entrypointrR   I   s      r   )typing_extensionsr   r   comfy.sdr%   comfy.model_managementcomfy_api.latestr   r   rP   r   r7   rH   rR   r5   r   r   <module>rW      s    & & & & & &          / / / / / / / /# # # # #", # # #6H H H H HBL H H H8
 
 
 
 
~ 
 
 
 0      r   