
    3j                         S SK Jr  S SKrS SKJrJr   " S S\R                  5      r " S S\R                  5      r " S S	\5      r	S
\	4S jr
g)    )overrideN)ComfyExtensionioc                   P    \ rS rSr\S 5       r\S\R                  4S j5       rSr	g)CLIPTextEncodeSDXLRefiner   c                    [         R                  " SSS[         R                  R                  SSSSSS	9[         R                  R                  S
SS[
        R                  S9[         R                  R                  SSS[
        R                  S9[         R                  R                  SSSS9[         R                  R                  S5      /[         R                  R                  5       /S9$ )Nr   zCLIP Text Encode (SDXL Refiner)#model/conditioning/stable diffusionascoreg      @g        g     @@g{Gz?)defaultminmaxstepwidth   r   r   r   r   heighttextT	multilinedynamic_promptsclipnode_iddisplay_namecategoryinputsoutputs)r   SchemaFloatInputIntnodesMAX_RESOLUTIONStringClipConditioningOutputclss    </home/wildlama/comfy/ComfyUI/comfy_extras/nodes_clip_sdxl.pydefine_schema'CLIPTextEncodeSDXLRefiner.define_schema   s    yy/::x#6PTUWdu?S?STXt@T@TU		$Mf% __++-.
 	
    returnc           	      p    UR                  U5      n[        R                  " UR                  XbX4S.S95      $ )N)aesthetic_scorer   r   add_dict)tokenizer   
NodeOutputencode_from_tokens_scheduled)r*   r   r   r   r   r   tokenss          r+   execute!CLIPTextEncodeSDXLRefiner.execute   s@    t$}}T>>vuz  QN>  O  P  	Pr.    N
__name__
__module____qualname____firstlineno__classmethodr,   r   r5   r8   __static_attributes__r:   r.   r+   r   r      s6    
 
 P2== P Pr.   r   c                   P    \ rS rSr\S 5       r\S\R                  4S j5       rSr	g)CLIPTextEncodeSDXL   c                 @   [         R                  " SSS[         R                  R                  S5      [         R                  R                  SSS[
        R                  S9[         R                  R                  S	SS[
        R                  S9[         R                  R                  S
SS[
        R                  SS9[         R                  R                  SSS[
        R                  SS9[         R                  R                  SSS[
        R                  S9[         R                  R                  SSS[
        R                  S9[         R                  R                  SSSS9[         R                  R                  SSSS9/	[         R                  R                  5       /S9$ )NrC   zCLIP Text Encode (SDXL)r
   r   r   r   r   r   r   crop_wT)r   r   r   advancedcrop_htarget_widthtarget_heighttext_gr   text_lr   )
r   r   r&   r!   r"   r#   r$   r%   r'   r(   r)   s    r+   r,    CLIPTextEncodeSDXL.define_schema   s,   yy(2:f%Wdu?S?STXt@T@TUXqaU=Q=Q\`aXqaU=Q=Q\`a^TqeFZFZ[_duG[G[\		D$O		D$O
 __++-.
 	
r.   r/   c
                 8   UR                  U5      n
UR                  U	5      S   U
S'   [        U
S   5      [        U
S   5      :w  a  UR                  S5      n[        U
S   5      [        U
S   5      :  a0  U
S==   US   -  ss'   [        U
S   5      [        U
S   5      :  a  M0  [        U
S   5      [        U
S   5      :  a0  U
S==   US   -  ss'   [        U
S   5      [        U
S   5      :  a  M0  [        R                  " UR	                  XX4XVUS.S95      $ )Nlg )r   r   rF   rH   rI   rJ   r2   )r4   lenr   r5   r6   )r*   r   r   r   rF   rH   rI   rJ   rK   rL   r7   emptys               r+   r8   CLIPTextEncodeSDXL.execute2   s   v&mmF+C0svc{s6#;//MM"%EfSk"S%55suSz) fSk"S%55fSk"S%55suSz) fSk"S%55}}T>>vkq  PV  GT  QU>  V  W  	Wr.   r:   Nr;   r:   r.   r+   rC   rC      s9    
 
& 	Wjljwjw 	W 	Wr.   rC   c                   L    \ rS rSr\S\\\R                        4S j5       r	Sr
g)ClipSdxlExtension?   r/   c                 "   #    [         [        /$ 7fN)r   rC   )selfs    r+   get_node_listClipSdxlExtension.get_node_list@   s      &
 	
s   r:   N)r<   r=   r>   r?   r   listtyper   	ComfyNoder[   rA   r:   r.   r+   rV   rV   ?   s)    
T$r||*<%= 
 
r.   rV   r/   c                     #    [        5       $ 7frY   )rV   r:   r.   r+   comfy_entrypointra   H   s     s   )typing_extensionsr   r#   comfy_api.latestr   r   r_   r   rC   rV   ra   r:   r.   r+   <module>rd      sL    &  /P P,W WD
 
 1 r.   