
    3j,                        S SK r " S S\R                  R                  5      r " S S\R                  R                  5      r " S S\R                  R                  5      r " S S	\R                  R                  5      r " S
 S\R                  R                  5      r " S S\R                  R                  5      r	 " S S\R                  R                  5      r
 " S S\R                  R                  5      r " S S\R                  R                  5      r " S S\R                  R                  5      r " S S\R                  R                  5      r " S S\R                  R                  5      r " S S\R                  R                  5      r " S S\R                  R                  5      r\\\\\\\	\
\\\\\\\S.rg)    Nc                   (    \ rS rSrSr\S 5       rSrg)ModelMergeSD1   model/merging/model specificc                    SSS.nSSSSSS.4nX!S'   X!S	'   [        S
5       H  nX!SR                  U5      '   M     [        S5       H  nX!SR                  U5      '   M     [        S
5       H  nX!SR                  U5      '   M     X!S'   SU0$ )NMODELmodel1model2FLOAT      ?        {Gz?defaultminmaxsteptime_embed.
label_emb.   zinput_blocks.{}.r   zmiddle_block.{}.zoutput_blocks.{}.out.requiredrangeformatsarg_dictargumentis       O/home/wildlama/comfy/ComfyUI/comfy_extras/nodes_model_merging_model_specific.pyINPUT_TYPESModelMergeSD1.INPUT_TYPES   s    )(24 SdST"*!)rA5='..q12  qA5='..q12  rA6>(//23  $H%%     N__name__
__module____qualname____firstlineno__CATEGORYclassmethodr$   __static_attributes__r'   r&   r#   r   r      s    -H& &r&   r   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeSDXL   r   c                    SSS.nSSSSSS.4nX!S'   X!S	'   [        S
5       H  nX!SR                  U5      '   M     [        S5       H  nX!SR                  U5      '   M     [        S
5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   r   r   	   zinput_blocks.{}r   zmiddle_block.{}zoutput_blocks.{}r   r   r   r   s       r#   r$   ModelMergeSDXL.INPUT_TYPES    s    )(24 SdST"*!)qA4<&--a01  qA4<&--a01  qA5='..q12  $H%%r&   r'   Nr(   r'   r&   r#   r1   r1          -H& &r&   r1   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeSD3_2B7   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   
pos_embed.x_embedder.context_embedder.y_embedder.t_embedder.   joint_blocks.{}.final_layer.r   r   r   s       r#   r$   ModelMergeSD3_2B.INPUT_TYPES:       )(24 SdST!)"*(0$%"*"*rA5='..q12  $, H%%r&   r'   Nr(   r'   r&   r#   r8   r8   7       -H& &r&   r8   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeAuraflowO   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     [        S5       H  nX!SR                  U5      '   M     X!S'   X!S'   SU0$ )Nr   r
   r   r   r   r   r   zinit_x_linear.positional_encodingzcond_seq_linear.register_tokensr?      zdouble_layers.{}.    zsingle_layers.{}.zmodF.zfinal_linear.r   r   r   s       r#   r$   ModelMergeAuraflow.INPUT_TYPESR   s    )(24 SdST%-!"*2&''/#$&."#"*qA6>(//23  rA6>(//23  %$,!H%%r&   r'   Nr(   r'   r&   r#   rG   rG   O   s    -H& &r&   rG   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeFlux1j   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   img_in.ztime_in.guidance_inz
vector_in.txt_in.   zdouble_blocks.{}.&   zsingle_blocks.{}.rB   r   r   r   s       r#   r$   ModelMergeFlux1.INPUT_TYPESm   s    )(24 SdST&'"*!)&rA6>(//23  rA6>(//23  $, H%%r&   r'   Nr(   r'   r&   r#   rP   rP   j   r6   r&   rP   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeSD35_Large   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   r;   r<   r=   r>   r?   rW   rA   rB   r   r   r   s       r#   r$    ModelMergeSD35_Large.INPUT_TYPES   rD   r&   r'   Nr(   r'   r&   r#   rZ   rZ      rE   r&   rZ   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeMochiPreview   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   zpos_frequencies.r?   zt5_y_embedder.z	t5_yproj.0   
blocks.{}.rB   r   r   r   s       r#   r$   "ModelMergeMochiPreview.INPUT_TYPES   s|    )(24 SdST'/#$"*%-!" (rA/7\((+,  $, H%%r&   r'   Nr(   r'   r&   r#   r_   r_          -H& &r&   r_   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeLTXV   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   [        S5       H  nX!SR                  U5      '   M     X!S'   X!S'   SU0$ )Nr   r
   r   r   r   r   r   zpatchify_proj.zadaln_single.zcaption_projection.   transformer_blocks.{}.scale_shift_table	proj_out.r   r   r   s       r#   r$   ModelMergeLTXV.INPUT_TYPES   s~    )(24 SdST%-!"$,!*2&'rA;C-44Q78  )1$% (H%%r&   r'   Nr(   r'   r&   r#   rg   rg      re   r&   rg   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeCosmos7B   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   pos_embedder.extra_pos_embedder.r<   r?   affline_norm.rj   blocks.block{}.rB   r   r   r   s       r#   r$   ModelMergeCosmos7B.INPUT_TYPES       )(24 SdST$,!*2&'"*"*$,! rA4<&--a01  $, H%%r&   r'   Nr(   r'   r&   r#   rp   rp          -H& &r&   rp   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeCosmos14B   r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   rs   rt   r<   r?   ru   $   rv   rB   r   r   r   s       r#   r$   ModelMergeCosmos14B.INPUT_TYPES   rx   r&   r'   Nr(   r'   r&   r#   r{   r{      ry   r&   r{   c                   ,    \ rS rSrSrSr\S 5       rSrg)ModelMergeWAN2_1   r   z^1.3B model has 30 blocks, 14B model has 40 blocks. Image to video model has the extra img_emb.c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   zpatch_embedding.ztime_embedding.ztime_projection.ztext_embedding.zimg_emb.(   rc   zhead.r   r   r   s       r#   r$   ModelMergeWAN2_1.INPUT_TYPES   s    )(24 SdST'/#$&."#'/#$&."#'rA/7\((+,  %H%%r&   r'   N)	r)   r*   r+   r,   r-   DESCRIPTIONr.   r$   r/   r'   r&   r#   r   r      s    -HrK& &r&   r   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeCosmosPredict2_2Bi  r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   rs   r<   r?   t_embedding_norm.rj   rc   rB   r   r   r   s       r#   r$   'ModelMergeCosmosPredict2_2B.INPUT_TYPES  }    )(24 SdST$,!"*"*(0$% rA/7\((+,  $, H%%r&   r'   Nr(   r'   r&   r#   r   r     rE   r&   r   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeCosmosPredict2_14Bi&  r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   rs   r<   r?   r   r~   rc   rB   r   r   r   s       r#   r$   (ModelMergeCosmosPredict2_14B.INPUT_TYPES)  r   r&   r'   Nr(   r'   r&   r#   r   r   &  rE   r&   r   c                   (    \ rS rSrSr\S 5       rSrg)ModelMergeQwenImagei=  r   c                     SSS.nSSSSSS.4nX!S'   X!S	'   X!S
'   X!S'   X!S'   [        S5       H  nX!SR                  U5      '   M     X!S'   SU0$ )Nr   r
   r   r   r   r   r   zpos_embeds.rS   z	txt_norm.rU   ztime_text_embed.<   rk   rm   r   r   r   s       r#   r$   ModelMergeQwenImage.INPUT_TYPES@  s    )(24 SdST"*& (&'/#$rA;C-44Q78  !)H%%r&   r'   Nr(   r'   r&   r#   r   r   =  rE   r&   r   )r   ModelMergeSD2r1   r8   rG   rP   rZ   r_   rg   rp   r{   r   r   r   r   ) comfy_extras.nodes_model_mergingcomfy_extrasnodes_model_mergingModelMergeBlocksr   r1   r8   rG   rP   rZ   r_   rg   rp   r{   r   r   r   r   NODE_CLASS_MAPPINGSr'   r&   r#   <module>r      s   '&L44EE &4&\55FF &4&|77HH &0&99JJ &6&l66GG &4&<;;LL &.&\==NN &,&\55FF &,&99JJ &0&,::KK &0&|77HH &0&,"B"B"S"S &.&<#C#C#T#T &.&,::KK &0 #"$(,&04$,.(#>$@. r&   