
    	D,j                     f    d dl Z d dlZddlmZ d Zd Zd ZddZd	 Zed
k    r e             dS dS )    N   )dumpc                  n   t          t          j                  dk    r#t          d           t          j        d           t          j        d         t          j        d         }} t          | dd          5 }|                                }d d d            n# 1 swxY w Y   t          |dd          5 }|                                }d d d            n# 1 swxY w Y   t          t          |                    D ]7}t          ||d |                   }t          |           t                       8d S )N   z!Usage: python diffs.py file1 filer      rzutf-8)encoding)
lensysargvprintexitopen	readlinesrangediff_partial_updateinput)	file_origfile_updatedf
lines_origlines_updatediress          Z/home/rurouni/.local/share/uv/tools/aider-chat/lib/python3.11/site-packages/aider/diffs.pymainr      s   
38}}1222!hqk38A;|I	iw	/	/	/ #1[[]]
# # # # # # # # # # # # # # # 
lC'	2	2	2 &a& & & & & & & & & & & & & & & 3|$$%%  !*mBQB.?@@c


 s$   7BBB5CCCc                 \    d}d}d}t          || z  dz            }||z
  }||z  ||z  z   }|S )Nu   █u   ░   d   )int)
percentageblockemptytotal_blocksfilled_blocksempty_blocksbars          r   create_progress_barr(      sK    EELz1S899M-/L
-
%,"6
6CJ    c                 X    | sd S | d d         D ]}|r|d         dk    s
J |            d S )N
 )lineslines     r   assert_newlinesr0   $   sU     crc
 / /.RD((($((((/ /r)   Fc           	      F   t          |            t          |           }|r|}nt          | |          }|dS |r	|dz  |z  }nd}t          |          }d|dd|dd| d	|d
d	}| d|         } |s|dd         |gz   }t	          j        | |d          }t          |          dd         }d                    |          }|                    d          s|dz  }t          dd          D ]}	d|	z  }
|
|vr n|
 d}|r|d| dz  }|d| dz  }||z  }||
 dz  }|S )z
    Given only the first part of an updated file, show the diff while
    ignoring the block of "deleted" lines that are past the end of the
    partially complete update.
    N r   2    3dz / z lines [z] z3.0fz%
r+      )nr   r,   r   
   `zdiff
z--- z
 original
z+++ z	 updated
z

)
r0   r
   find_last_non_deletedr(   difflibunified_difflistjoinendswithr   )r   r   finalfnamenum_orig_lineslast_non_deletedpctr'   diffr   	backticksshows               r   r   r   +   s    J__N L)0]KK r $~5
c
"
"C
U
U
U
Un
U
U
U
U
U
U
U
U
UC---.J 3%crc*cU2
MQ???D::abb>D774==D== 1b\\  !G	D  E ! D ))u))))(u((((DLDyD Kr)   c                     t          t          j        | |                    }d}d }|D ]+}|d         }|dk    r|dz  }|}|dk    r|dz  }$|dk    r	 ,|S )Nr   r4   r   -+)r=   r;   ndiff)r   r   rE   num_origlast_non_deleted_origr/   codes          r   r:   r:   i   s    j-8899DH   Aw3;;MH$,!!S[[MHHS[[  r)   __main__)FN)	r;   r   r   r   r(   r0   r   r:   __name__r-   r)   r   <module>rQ      s     



        &  / / /; ; ; ;|! ! !, zDFFFFF r)   