a XC?h_�@s�ddlmZmZddlmZdZdZdZdZdZ dZ eeee ee Z dd�Z d d �Z dd d �Zdd�Zdd�Zdd�Zdd�Zedd�Zdd�Zdd�ZdS)�)� namedtuple�Counter)� commonprefixT�P� �cCsBt|�||}|tkr>d|d|�||t|�|d�f}|S)Nz%s[%d chars]%s)�len�_PLACEHOLDER_LEN)�s� prefixlenZ suffixlen�skip�r �2/opt/alt/python39/lib64/python3.9/unittest/util.py�_shortens&rcs�ttt|��}ttt|��}|tkr(|St|��t���t|�tt}|t krxt �t|��t��fdd�|D��St �tt ��t��fdd�|D��S)Nc3s|]}�|�d�VqdS�Nr ��.0r ��prefixr r r� '�z'_common_shorten_repr..c3s&|]}�t|�d�tt�VqdSr)r� _MIN_DIFF_LEN� _MIN_END_LENrrr rr*s�) �tuple�map� safe_repr�maxr� _MAX_LENGTHr�_MIN_BEGIN_LENr �_MIN_COMMON_LENr)�args�maxlenZ common_lenr rr�_common_shorten_reprs �  �r"FcCsNz t|�}Wnty(t�|�}Yn0|r:t|�tkr>|S|dt�dS)Nz [truncated]...)�repr� Exception�object�__repr__rr)�objZshort�resultr r rr-s  rcCsd|j|jfS)Nz%s.%s)� __module__� __qualname__)�clsr r r�strclass6sr,cCs4d}}g}g}z�||}||}||krT|�|�|d7}|||kr�|d7}q          � r9cCsFg}|r>|��}z|�|�Wqty:|�|�Yq0q||fSr)�pop�remove� ValueErrorr/)r2r3r6�itemr r r�unorderable_list_differencebs r>cCs||k||kSrr )�x�yr r r� three_way_cmpssrAZMismatchzactual expected valuecCs,t|�t|�}}t|�t|�}}t�}g}t|�D]�\}} | |urHq6d} } t||�D] } || | krZ| d7} ||| <qZt|�D] \} } | | kr�| d7} ||| <q�| | kr6t| | | �}|�|�q6t|�D]X\}} | |ur�q�d} t||�D] } || | kr�| d7} ||| <q�td| | �}|�|�q�|Sr-)�listrr%� enumerate�range� _Mismatchr/)r3r2r �t�m�nZNULLr(r4�elem�cnt_s�cnt_tr5Z other_elem�diffr r r�_count_diff_all_purposeys<         rMc Cs�t|�t|�}}g}|��D]2\}}|�|d�}||krt|||�}|�|�q|��D]&\}}||vrZtd||�}|�|�qZ|S)Nr)r�items�getrEr/) r3r2r rFr(rIrJrKrLr r r�_count_diff_hashable�s     rPN)F)� collectionsrrZos.pathrZ __unittestrr rrrrrr"rr,r9r>rArErMrPr r r r�s0  ��� ) #