
    +j              "          d dl Zd dlZd dlmZ d dlmZmZ d Zg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)gg d*g d+g d,g d-g d.g d/g d0g d1g d2g d3g d4g d5g d6g d7g d8g d9g d:g d;g d<gg d*g d=g d>g d?g d@g dAg dBg dCg dDg dEg dFg dGg dHg dIg dJg dKg dLg dMg dNgg dOg dPg dQg dRg dSg dTg dUg dVg dWg dXg dYg dZg d[g d\g d]g d^g d_g d`g dagg dbg dcg ddg deg dfg dgg dhg dig djg dkg dlg dmg dng dog dpg dqg drg dsg dtgg dug dvg dwg dxg dyg dzg d{g d|g d}g d~g dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg d¢g dâg dĢg dŢg dƢg dǢg dȢg dɢg dʢg dˢg d̢g d͢g d΢g dϢg dТg dѢg dҢgg dӢg dԢg dբg d֢g dעg dآg d٢g dڢg dۢg dܢg dݢg dޢg dߢg dg dg dg dg dg dgg dg dԢg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg d g dg dg dg dg dg dg dg dg d	gg d
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgdZ	 G d dej
                  Z G d de          ZdefdZdS (       N)override)ComfyExtensionioc                 <   t          j        ddt          |                     }t          j        | ddd                   }t          j        dd|          }t          j        |||          }t          j        |          ddd                                         }|S )zS
    Performs log-linear interpolation of a given array of decreasing numbers.
    r      N)nplinspacelenloginterpexpcopy)t_steps	num_stepsxsysnew_xsnew_ysinterped_yss          7/home/wildlama/comfy/ComfyUI/comfy_extras/nodes_gits.pyloglinear_interpr      s     
Q3w<<	(	(B	"		B[Ay))FYvr2&&F&..2&++--K    )(@:-@@qޝ?)r    A'@v
 @r   )r   r   r   @r   )r   r   r   *k@])`3g @r   )r   n?8v(@b! Y!@r   r    r!   r   )r   r"   r#   r   r    r    ?r   )	r   %)@r   r#   r   r    r   r$   r   )
r   +@r"   ?%@r#   r   r    r   r$   r   )r   r&   r%   r"   r'   r#   r   r    r   r$   r   )r   r&   r%   r"   r'   瀽{"@珤(E @r   r    r   r$   r   )r   r&   r%   r"   r'   r(   r)   r   b$@S w@r   r$   r   )r   r&   r%   r"   r   ֿ-$@r(   r)   r   r*   r+   r   r$   r   )r   r&   r%   r"   r   r'   r,   r(   r)   r   r*   r+   r   r$   r   )r   r&   r%   r"   r   r'   r,   r(   r#   r)   r   r*   r+   r   r$   r   )r   r&   r%   r"   r   r'   r,   r(   r#   r)   r   r*   r+   \	@` ?Ndޑ?r   )r   r&   r%   r"   r   r'   r,   ff#@r(   r#   r)   r   r*   r+   r-   r.   r/   r   )r   r&   r%   r"   r   r'   r,   r0   r(   r#   r)   r   r   r    OOH q@r   s@?I͞?r   )r   r&   r%   r"   r   r'   r,   r0   r(   r#   r)   ;Q3 R@r   r   r    r1   r   r2   r3   r   )r   r&   r%   r"   r   r'   r,   r0   r(   r#   r)   r4   r   r   r    r+   uш@sW@@	N} y?^ᰴ?r   )r   r   r2   r   )r   r   r   r$   r   )r   r   ̾z@r   翑Q?r   )r   r   r   x?^@r6   @P,%?r   )r   r"   r#   r   r;   r6   r<   r   )	r   r"   r#   r   }2hW@r-   r2   r8   r   )
r   r%   r   r#   r   r=   r-   r2   r8   r   )r   r%   r   r#   r   r*   r1   r   r2   r8   r   )r   r&   r"   r'   r#   r   r*   r1   r   r2   r8   r   )r   r&   r"   r'   r(   r)   r   r*   r1   r   r2   r8   r   )r   r&   r%   r"   r'   r(   r)   r   r*   r1   r   r2   r8   r   )r   r&   r%   r"   r   r,   r(   r)   r   r*   r1   r   r2   r8   r   )r   r&   r%   r"   r   r,   r(   r)   r   r*   r+   PL@$n_Q@r$   s4?r   )r   r&   r%   r"   r   r,   r(   r)   r   r   r    r1   k6@^ 
@r$   r@   r   )r   r&   r%   r"   r   r,   r(   r#   r)   r   r   r    r1   rA   rB   r$   r@   r   )r   r&   r%   r"   r   r'   r,   r(   r#   r)   r   r   r    r1   rA   rB   r$   r@   r   )r   r&   r%   r"   r   r'   r,   r0   r(   r#   r)   r   r   r    r1   rA   rB   r$   r@   r   )r   r&   r%   r"   r   r'   r,   r0   r(   r#   r)   r4   r   r   r    r1   rA   rB   r$   r@   r   )r   r   r   )r   r   r$   r   )r   r   r   r<   r   )r   r   r+   5 V@!~Q?r   )r   r   r   r+   rC   rD   r   )r   r   r   r;   r   燎Wk?*>?r   )	r   r"   r#   r9   r+   r   rE   rF   r   )
r   r"   r#   r   r    $H!-@l5Х@rE   rF   r   )r   r"   r#   r   r    rG   r-   w8]@r:   ܠ0G?r   )r   r%   r'   r#   r   r    rG   r-   rI   r:   rJ   r   )r   r%   r   r(   r)   r   r    rG   r-   rI   r:   rJ   r   )r   r%   r   r(   r)   r   r*   r+   r5   r6   r2   aZl?͕ފ?r   )r   r&   r"   r'   r(   r)   r   r*   r+   r5   r6   r2   rK   rL   r   )r   r&   r"   r'   r(   r)   r   ?o@r=   rG   'D
@rB   rE   r<   %*?r   )r   r&   r%   r"   r'   r(   r)   r   rM   r=   rG   rN   rB   rE   r<   rO   r   )r   r&   r%   r"   r'   r(   r)   r   r   r    r+   E`U@r   9<@r$   r<   rO   r   )r   r&   r%   r"   r   r,   r(   r)   r   r   r    r+   rP   r   rQ   r$   r<   rO   r   )r   r&   r%   r"   r   r,   r(   r#   r)   r   r   r    r+   rP   r   rQ   r$   r<   rO   r   )r   r&   r%   r"   r   r,   r(   r#   r)   r   r   r    r;   rG   r>   rH   rI   狆M0?rD   磚;{?r   )r   r   r$   r   )r   r   r6   rD   r   )r   r   r+   ]@@r8   r   )r   r   r+   rH   r$   ޝ?r   )r   r   r   r+   rH   r$   rU   r   )	r   r   r   r+   r   澃?rK   {'	?r   )
r   r   r   r    rG   r   rV   rK   rW   r   )r   r"   r#   r   r    rG   r   rV   rK   rW   r   )r   r"   r#   r   r    rG   r-   rI   5 H?r8   UO?r   )r   r"   r#   r   r    r1   rA   r?   r2   r:   r@   5OG?r   )r   r%   r'   r#   r   r    r1   rA   r?   r2   r:   r@   rZ   r   )r   r%   r'   r#   r   r*   r+   r5   rH   rI   r$   hN??rU   y?r   )r   r%   r'   r#   r   rM   r=   r1   r>   rH   rI   r$   r[   rU   r\   r   )r   r%   r   r(   r)   r   rM   r=   r1   r>   rH   rI   r$   r[   rU   r\   r   )r   r%   r   r(   r)   r   rM   r=   r1   r5   r   rB   r7   r:   r3   rW   @?r   )r   r%   r   r(   r)   r   r   r    r;   rG   r>   rH   rT   @5?r:   r3   rW   r]   r   )r   r&   r"   r'   r(   r)   r   r   r    r;   rG   r>   rH   rT   r^   r:   r3   rW   r]   r   )r   r&   r"   r'   r(   r)   r   r   r    r;   rG   r5   r   rB   rV   L| ?<g?r[   r@   rS   J"*w?r   )r   r$   r   )r   r   r<   r   )r   r   rT   r8   r   )r   r9   r   r$   7?r   )r   r   r+   r6   rX   rJ   r   )r   r   r+   r6   rE   r/   rY   r   )	r   r   r   r+   r6   rE   r/   rY   r   )
r   r   r   r+   r   r.   r:   r@   rZ   r   )r   r   r   r    rG   r   r.   r:   r@   rZ   r   )r   r   r   r    rG   r-   rQ   rR   r<   MJ?K_?r   )r   r   r   r    rG   r-   rT   rE   rK   r@   ׋dK?{Q\?r   )r   r   r#   r   r    rG   r-   rT   rE   rK   r@   rd   re   r   )r   r   r#   r   r    r1   r>   r6   U @r$   rK   r@   rd   re   r   )r   r   r#   r   r    r1   r>   r6   rI   rE   `?r8   rW   x뺿?b&?r   )r   r   r#   r   r    r1   r5   r   rB   r2   -?O?r@   rO   rc   ri   r   )r   r   r#   r   r*   r;   3S@V@rA   r6   rI   粚2`^?r:    Ve?rU   rS   rc   ri   r   )r   r   r#   r   r*   r;   rl   r>   rH   rB   rV   rR   |$k?r3   ra   rY   r]   ri   r   )r   r"   r(   r)   r   r*   r;   rl   r>   rH   rB   rV   rR   ro   r3   ra   rY   r]   ri   r   )r   r"   r(   r)   r   r   r    r;   rl   r>   rH   rB   rV   rR   ro   r3   ra   rY   r]   ri   r   )r   r<   r   )r   r   rD   r   )r   r   r!   r@   r   )r   r   r6   а{h?rL   r   )r   r   r   rE   r8   rZ   r   )r   r   r+   r6   r$   r8   rZ   r   )	r   r   r+   r6   rE   r<   rL   r]   r   )
r   r   r+   r   r.   r:   (ր1?rd   re   r   )r   r   r+   r-   rQ   rR   r<   ra   rZ   7If?r   )r   r   r;   rA   rB   rE   rK   r@   rO   rc   ri   r   )r   r   r   r;   rA   rB   rE   rK   r@   rO   rc   ri   r   )r   r   r   r    rG   r-   rT   rE   rK   r@   rO   rc   ri   r   )r   r   r   r    rG   r-   rB   r^   r:   r/   ra   rY   r]   ri   r   )r   r   r   r    r1   r>   r6   rI   rE   rg   r3   ra   rY   r]   ri   r   )r   r   r   r    r1   r>   r6   rI   rm   rp   r<   r@   rL   rZ   r`   ri   r   )r   r   r   r    r1   r>   rH   rT   r2   rX   rK   r3   6|?rO   r\   r`   ri   r   )r   r   r   r    r1   r>   rH   rB   rV   rR   {@9?r<   rq   rJ   rS   Oÿ!?r`   ri   r   )r   r   r)   r9   r    r1   r>   rH   rB   rV   rR   rt   r<   rq   rJ   rS   ru   r`   ri   r   )r   r   r)   r9   r    r1   r>   rH   rB   r.   rE   L 85?rK   r/   rF   rb   rd   ru   r`   ri   r   )r   rD   r   )r   rT   r@   r   )r   r    rE   rJ   r   )r   r   rB   rK   rO   r   )r   r   rH   r$   r8   rZ   r   )r   r   r   rE   rD   'P"?r`   r   )	r   r   r   r2   rK   rU   rZ   rr   r   )
r   r   r+   r6   rE   r<   rb   rh   ri   r   )r   r   r+   rH   rV   r:   r8   rw   rc   ri   r   )r   r   r+   r   r!   rX   r<   rU   rd   r]   ri   r   )r   r   r+   r-   rQ   rE   ro   r8   rb   >+aTo?r]   ri   r   )r   r   r+   rN   rB   r^   r:   rD   rU   rO   r\   r`   ri   r   )r   r   r;   r>   r6   r!   rR   rK   r8   ra   rS   ru   r`   ri   r   )r   r   r;   r>   r6   rf   rE   r:   r<   r@   rb   rd   ru   r`   ri   r   )r   r   r    rG   r-   rB   r2   rX   rK   r3   rU   rW   rx   rc   re   ri   r   )r   r   r    rG   r-   rB   rV   rR   rt   r<   rq   ra   rO   rZ   rc   re   ri   r   )r   r   r    rG   rA   r6   rI   r^   rj   rK   r/   rF   rb   rS   rZ   rc   re   ri   r   )r   r   r   r    rG   rA   r6   rI   r^   rj   rK   r/   rF   rb   rS   rZ   rc   re   ri   r   )r   r   r   r    rG   rA   r6   rI   r^   rj   rK   rD   r@   ra   rw   rY   ru   r]   re   ri   r   )r   r3   r   )r   r2   ra   r   )r   r    r$   rL   r   )r   r    rV   r3   rZ   r   )r   r    rB   r:   ra   rc   r   )r   r    r6   rR   r8   rd   re   r   )	r   r    r6   r$   rD   rW   rc   ri   r   )
r   r   r   r2   ro   r@   rS   r]   ri   r   )r   r   r   rV   r:   r8   rL   rZ   r`   ri   r   )r   r   r+   rH   rV   r:   r8   rL   rZ   r`   ri   r   )r   r   r+   r   r!   rj   r<   rF   rw   r\   r`   ri   r   )r   r   r+   r   rf   rR   rK   r8   ra   rS   ru   r`   ri   r   )r   r   r+   r   rf   rR   rK   r8   ra   rO   rZ   rc   re   ri   r   )r   r   r+   r   rI   rE   r:   r<   rq   ra   rO   rZ   rc   re   ri   r   )r   r   r+   r-   rB   r7   rv   rk   r8   rU   rW   rY   ru   r]   re   ri   r   )r   r   r+   r-   rB   r7   rv   rk   r8   rU   rL   rd   r\   rc   r`   rr   ri   r   )r   r   r+   r-   rB   r2   rX   ro   rD   r@   ra   rw   rY   r\   rc   r`   rr   ri   r   )r   r   r+   r-   rB   r2   rX   ro   rD   r@   ra   rW   rd   rZ   rh   r]   re   rr   ri   r   )r   r   r+   r-   rB   r2   rX   ro   rD   r@   ra   rW   rd   rZ   ru   rc   r`   re   rr   ri   r   )r   r8   r   )r   r$   rL   r   )r   rT   rn   rx   r   )r   r6   r:   ra   rc   r   )r   r    r!   r<   rO   re   r   )r   r    rB   r:   rU   ru   ri   r   )	r   r    rB   rj   r8   rO   rc   ri   r   )
r   r    r6   rE   r<   ra   rx   r`   ri   r   )r   r    r6   rm   rK   rq   rW   r\   r`   ri   r   )r   r    rH   r2   r:   r3   ra   rd   rh   re   ri   r   )r   r    r   r.   rj   r<   rF   rW   rx   rc   re   ri   r   )r   r   rA   rT   r$   rK   r8   ra   rO   rZ   rc   re   ri   r   )r   r   rA   rB   rE   rg   r/   rU   rW   rY   ru   r]   re   ri   r   )r   r   r1   r   rf   rR   rK   r3   rU   rW   rY   ru   r]   re   ri   r   )r   r   r1   r   rf   rR   rK   r3   rU   rW   rd   r\   rc   r`   rr   ri   r   )r   r   r1   r   rf   rR   rK   r3   rU   rW   rd   rZ   rh   r]   re   rr   ri   r   )r   r   r1   r   rI   rE   rt   rn   r@   rJ   rO   rx   ru   rc   r`   re   rr   ri   r   )r   r   r1   r   rI   rE   r:   r<   rq   ra   rw   rY   r\   rh   r]   r`   re   rr   ri   r   )r   r   r1   r   rI   rE   r:   r<   rq   ra   rW   rd   rZ   ru   rc   r]   r`   re   rr   ri   r   )r   r@   r   )r   r$   rW   r   )r   r!   r8   r\   r   )r   rT   r<   rS   re   r   )r   r6   r:   ra   rh   ri   r   )r   r   rR   r8   rS   r]   ri   r   )	r   r    rT   r:   r@   rd   r]   ri   r   )
r   r    rB   rj   r3   rL   rZ   r`   ri   r   )r   r    r6   rE    ?rU   rS   rh   re   ri   r   )r   r    r6   rm   rK   rq   rL   rx   rc   re   ri   r   )r   r    r6   r^   rg   r8   ra   rO   rZ   rc   re   ri   r   )r   r    rH   r2   r:   r/   rU   rw   rx   rh   r`   rr   ri   r   )r   r    rH   r2   rp   rn   rF   rL   rd   r\   rc   r`   rr   ri   r   )r   r    rH   rV   rv   r<   r@   rb   rS   rZ   rh   r]   re   rr   ri   r   )r   r    rH   rV   rv   r<   r@   rJ   rO   rx   ru   rc   r`   re   rr   ri   r   )r   r    rH   rV   rv   r<   rq   ra   rw   rY   r\   rh   r]   r`   re   rr   ri   r   )r   r    r   r!   rX   r[   r8   rs   rW   rd   rZ   ru   rc   r]   r`   re   rr   ri   r   )r   r    r   r!   rX   r[   r8   rU   rL   rS   rx   r\   rh   rc   r]   r`   re   rr   ri   r   )r   r    r   r!   r_   rK   r3   g}~Rl?rb   rO   rY   rZ   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r:   rS   r   )r   r$   ra   r]   r   )r   r2   r8   rx   rr   r   )r   rT   rk   rL   rc   ri   r   )r   r6   rj   rq   rd   r]   ri   r   )	r   r   r$   rD   rb   rZ   r`   ri   r   )
r   r   rE   r<   rs   rd   rh   re   ri   r   )r   r    rB   rj   r3   rb   rx   rc   re   ri   r   )r   r    rB   rX   rn   rU   rO   rZ   rc   re   ri   r   )r   r    r?   r$   rk   r@   rW   rx   rh   r`   rr   ri   r   )r   r    r6   rE   r[   rq   rb   rd   r\   rc   r`   rr   ri   r   )r   r    r6   rE   rK   goȁ?rJ   rS   rZ   rh   r]   re   rr   ri   r   )r   r    r6   rE   rK   r8   ra   rO   rx   ru   rc   r`   re   rr   ri   r   )r   r    r6   rE   rK   r8   ra   rw   rY   r\   rh   r]   r`   re   rr   ri   r   )r   r    r6   r^   rg   r3   rU   rW   rd   rZ   ru   rc   r]   r`   re   rr   ri   r   )r   r    r6   r^   rg   r3   rU   rL   rS   rx   r\   rh   rc   r]   r`   re   rr   ri   r   )r   r    r6   r7   r:   rn   r@   rJ   rO   rY   rZ   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r    r6   r7   r:   rn   r@   rJ   rw   rd   rx   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rF   r   )r   r<   rZ   r   )r   r$   rJ   r`   r   )r   rE   rF   ru   ri   r   )r   r2   r3   rS   r]   ri   r   )r   rB   rg   rU   rx   r`   ri   r   )	r   r6   rj   r8   rW   r\   r`   ri   r   )
r   r6   rX   r3   rb   rx   rc   re   ri   r   )r   r6   r$   r<   rU   rO   r\   r]   re   ri   r   )r   r6   r$   r<   rU   rO   rZ   rc   r`   rr   ri   r   )r   r   rE   rk   r@   rL   rY   ru   r]   re   rr   ri   r   )r   r   rE   rk   r@   rL   rd   r\   rc   r`   re   rr   ri   r   )r   r   rE   r[   rq   rb   rS   rZ   rh   r]   r`   re   rr   ri   r   )r   r   r^   ro   r8   ra   rO   rx   ru   rc   r]   r`   re   rr   ri   r   )r   r   r^   ro   r8   ra   rw   rY   r\   rh   rc   r]   r`   re   rr   ri   r   )r   r    rB   rR   rk   rq   rJ   rO   rx   r\   rh   rc   r]   r`   re   rr   ri   r   )r   r    r?   rE   rK   r8   rs   rW   rd   rZ   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r    r?   rE   rK   r8   rU   rL   rS   rx   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r    r?   rE   rK   r8   rU   rL   rO   rY   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   ra   r   )r   rK   rS   rr   r   )r   r$   rU   rh   ri   r   )r   rE   r8   rS   r]   ri   r   )r   r!   r<   rb   rZ   r`   ri   r   )	r   rB   r:   r@   rS   rh   re   ri   r   )
r   rB   r:   rq   rW   rZ   rc   re   ri   r   )r   rB   rp   r8   rL   rx   rh   r`   rr   ri   r   )r   rB   rp   r8   rb   rY   ru   r]   re   rr   ri   r   )r   r6   rX   r/   ra   rS   r\   rc   r`   re   rr   ri   r   )r   r6   rR   r<   rU   rO   rZ   rh   r]   r`   re   rr   ri   r   )r   r6   rR   r<   rU   rw   rx   ru   rc   r]   r`   re   rr   ri   r   )r   r6   r$   ry   rF   rL   rd   rZ   ru   rc   r]   r`   re   rr   ri   r   )r   r6   r$   rk   r@   rb   rS   rx   r\   rh   rc   r]   r`   re   rr   ri   r   )r   r6   rE   r[   rq   rJ   rO   rY   rZ   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   rE   rK   r8   rs   rW   rd   rx   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   rE   rK   r8   rs   rW   rS   rY   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   rE   rK   r8   rU   rL   rO   rd   rx   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r8   rc   r   )r   r<   rZ   ri   r   )r   r:   rb   rc   ri   r   )r   r$   r@   rx   r`   ri   r   )r   rE   r8   rO   rh   re   ri   r   )	r   rV   r<   rJ   rx   rc   re   ri   r   )
r   rI   rK   rU   rd   rh   r`   rr   ri   r   )r   rB   r:   rq   rW   rZ   rc   r`   rr   ri   r   )r   rB   r:   rq   rW   rx   rh   r]   re   rr   ri   r   )r   rB   rp   r8   rb   rd   r\   rc   r`   re   rr   ri   r   )r   rB   rp   r8   rJ   rS   rZ   rh   r]   r`   re   rr   ri   r   )r   rB   rp   r3   ra   rO   rx   ru   rc   r]   r`   re   rr   ri   r   )r   rB   rp   r3   ra   rO   rx   r\   rh   rc   r]   r`   re   rr   ri   r   )r   r6   rR   r<   rF   rL   rd   rZ   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   rR   r<   rF   rL   rS   rx   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   r$   ry   r@   rb   rO   rY   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   r$   rk   rq   rJ   rw   rd   rx   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   r6   r$   rk   rq   ra   rW   rS   rY   rx   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rb   r   )r   r/   r\   ri   r   )	r   rE   r3   rL   rZ   rc   re   ri   r   )
r   r2   r<   ra   rY   rh   r`   rr   ri   r   )r   r2   r<   ra   rd   ru   r]   re   rr   ri   r   )r   r2   r<   rs   rS   r\   rc   r`   re   rr   ri   r   )r   rI   ro   r@   rW   rx   rh   r]   r`   re   rr   ri   r   )r   rI   ro   r@   rW   rx   ru   rc   r]   r`   re   rr   ri   r   )r   rT   r:   r8   rJ   rS   rZ   ru   rc   r]   r`   re   rr   ri   r   )r   rT   r:   r8   rJ   rS   rZ   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rT   r:   r8   ra   rO   rx   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rT   r:   r8   ra   rO   rY   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rB   rv   r/   rU   rW   rd   rx   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rB   rj   rn   rF   rb   rO   rd   rx   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )r   rB   rX   r<   r@   rJ   rw   rS   rY   rx   rZ   r\   ru   rh   rc   r]   r`   re   rr   ri   r   )皙?g333333?g?gffffff?      ?g?g?gffffff?333333?g      ?g?g?gffffff?g333333?      ?c                   :    e Zd Zed             Zed             ZdS )GITSSchedulerc                 >   t          j        ddt           j                            dddddd	          t           j                            d
ddd          t           j                            ddddd          gt           j                                        g          S )Nr   zmodel/sampling/schedulerscoeffr|   rz   r}   g?T)defaultminmaxstepadvancedsteps
      i  )r   r   r   denoiser{           g{Gz?)r   r   r   r   )node_idcategoryinputsoutputs)r   SchemaFloatInputIntSigmasOutput)clss    r   define_schemazGITSScheduler.define_schemaS  s    y#0w$Dt^bccWbaTBBy#3CdSS 	  ""
 
 
 	
r   c                    |}|dk     r>|dk    r&t          j        t          j        g                     S t	          ||z            }|dk    r-t
          t	          |d                   |dz
           d d          }n<t
          t	          |d                   d         d d          }t          ||dz             }||dz    d          }d|d<   t          j        t          j        |                    S )Nr{   r      r   r   r   r   )r   
NodeOutputtorchFloatTensorroundNOISE_LEVELSr   )r   r   r   r   total_stepssigmass         r   executezGITSScheduler.executeb  s    S==#~~}U%6r%:%:;;;00KB;;!%q//257;AAA>FF!%q//226qqq9F%feai88F+/*++,r
}U.v66777r   N)__name__
__module____qualname__classmethodr   r    r   r   r   r   R  sH        
 
 [
 8 8 [8 8 8r   r   c                   L    e Zd Zedeeej                          fd            ZdS )GITSSchedulerExtensionreturnc                    K   t           gS N)r   )selfs    r   get_node_listz$GITSSchedulerExtension.get_node_listv  s       
 	
r   N)	r   r   r   r   listtyper   	ComfyNoder   r   r   r   r   r   u  sE        
T$r|*<%= 
 
 
 X
 
 
r   r   r   c                  "   K   t                      S r   )r   r   r   r   comfy_entrypointr   }  s      !###r   )numpyr	   r   typing_extensionsr   comfy_api.latestr   r   r   r   r   r   r   r   r   r   r   <module>r      s        & & & & & & / / / / / / / /   	.--:::FFFRRR]]]iiiwww 	D  	D  	D 	Q  	Q  	Q 	]  	]  	] 	i  	i  	i 	v  	v  	v 	C  	C  	C 	O  	O  	O 	Z  	Z  	Z 	f  	f  	f 	s  	s  	s 	  	  	 	I  	I  	I', 	.--999FFFRRR^^^iiirrr 	A  	A  	A 	N  	N  	N 	Z  	Z  	Z 	f  	f  	f 	s  	s  	s 	@  	@  	@ 	M  	M  	M 	Z  	Z  	Z 	f  	f  	f 	s  	s  	s 	  	  	 	K  	K  	K', 	.--999EEEQQQ^^^jjjuuu 	B  	B  	B 	M  	M  	M 	[  	[  	[ 	g  	g  	g 	t  	t  	t 	@  	@  	@ 	L  	L  	L 	Y  	Y  	Y 	e  	e  	e 	r  	r  	r 	~  	~  	~ 	J  	J  	J', 	.--999EEEOOO]]]jjjvvv 	C  	C  	C 	N  	N  	N 	W  	W  	W 	e  	e  	e 	s  	s  	s 	@  	@  	@ 	L  	L  	L 	X  	X  	X 	d  	d  	d 	p  	p  	p 	|  	|  	| 	H  	H  	H', 	.--999CCCQQQ]]]iiivvv 	C  	C  	C 	O  	O  	O 	Z  	Z  	Z 	f  	f  	f 	r  	r  	r 	  	  	 	G  	G  	G 	W  	W  	W 	c  	c  	c 	o  	o  	o 	z  	z  	z 	F  	F  	F', 	.--999EEEQQQ[[[ggguuu 	B  	B  	B 	M  	M  	M 	Z  	Z  	Z 	g  	g  	g 	r  	r  	r 	~  	~  	~ 	I  	I  	I 	W  	W  	W 	c  	c  	c 	o  	o  	o 	{  	{  	{ 	G  	G  	G', 	.--999EEEQQQ[[[hhhuuu 	B  	B  	B 	K  	K  	K 	Z  	Z  	Z 	c  	c  	c 	r  	r  	r 	|  	|  	| 	J  	J  	J 	U  	U  	U 	a  	a  	a 	n  	n  	n 	{  	{  	{ 	F  	F  	F', 	.--999EEEQQQ]]]ggguuu 	B  	B  	B 	L  	L  	L 	X  	X  	X 	e  	e  	e 	p  	p  	p 	|  	|  	| 	J  	J  	J 	S  	S  	S 	_  	_  	_ 	l  	l  	l 	y  	y  	y 	E  	E  	E', 	,++999EEEQQQ]]]iiisss 	B  	B  	B 	N  	N  	N 	Z  	Z  	Z 	f  	f  	f 	p  	p  	p 	|  	|  	| 	J  	J  	J 	V  	V  	V 	b  	b  	b 	n  	n  	n 	y  	y  	y 	F  	F  	F', 	.--999CCCQQQ]]]ggguuu 	B  	B  	B 	N  	N  	N 	Z  	Z  	Z 	b  	b  	b 	q  	q  	q 	~  	~  	~ 	J  	J  	J 	V  	V  	V 	a  	a  	a 	l  	l  	l 	x  	x  	x 	F  	F  	F', 	.--999EEEOOO]]]iiiuuu 	B  	B  	B 	N  	N  	N 	Z  	Z  	Z 	e  	e  	e 	r  	r  	r 	~  	~  	~ 	H  	H  	H 	S  	S  	S 	`  	`  	` 	l  	l  	l 	z  	z  	z 	E  	E  	E', 	.--999EEEQQQ]]]gggsss 	B  	B  	B 	N  	N  	N 	Z  	Z  	Z 	f  	f  	f 	r  	r  	r 	~  	~  	~ 	H  	H  	H 	S  	S  	S 	b  	b  	b 	k  	k  	k 	w  	w  	w 	C  	C  	C', 	.--999EEEQQQ[[[iiiuuu 	B  	B  	B 	L  	L  	L 	X  	X  	X 	f  	f  	f 	r  	r  	r 	}  	}  	} 	J  	J  	J 	V  	V  	V 	b  	b  	b 	l  	l  	l 	x  	x  	x 	D  	D  	D', 	.--777EEEQQQ]]]ggguuu 	B  	B  	B 	N  	N  	N 	Z  	Z  	Z 	d  	d  	d 	p  	p  	p 	~  	~  	~ 	J  	J  	J 	V  	V  	V 	b  	b  	b 	n  	n  	n 	y  	y  	y 	F  	F  	F', 	.--777EEEQQQ]]]ggguuu 	B  	B  	B 	N  	N  	N 	Z  	Z  	Z 	f  	f  	f 	r  	r  	r 	|  	|  	| 	H  	H  	H 	T  	T  	T 	`  	`  	` 	n  	n  	n 	z  	z  	z 	E  	E  	E'O	| ||	 8  8  8  8  8BL  8  8  8F
 
 
 
 
^ 
 
 
$ 6 $ $ $ $ $ $r   