
    x[h
                     .    d Z dde dfZd Z G d d      Zy)replaceappendprepend
no_replacec                     |D ]  }|| v s y y)NTF )whatkeysks      :/usr/lib/python3/dist-packages/cloudinit/mergers/m_list.py_has_anyr      s      9     c                   $    e Zd Zd Zd Zd Zd Zy)Mergerc                     || _         t        | _        t        D ]  }||v s|| _         n t	        |d      | _        t	        |d      | _        t	        |dd      | _        y )Nrecurse_strrecurse_dictrecurse_arrayrecurse_list)_mergerDEF_MERGE_TYPE_methodMERGE_TYPESr   _recurse_str_recurse_dict_recurse_array)selfmergeroptsms       r   __init__zMerger.__init__   sa    % 	ADy 	
 %T=9%dN;&t_nMr   c           	      p    d| j                   d| j                  d| j                  d| j                  d	S )NzListMerger: (method=z,recurse_str=z,recurse_dict=z,recurse_array=))r   r   r   r   )r   s    r   __str__zMerger.__str__    s0    
 !!""##		
r   c                 J    t        | j                  t        |      |            S )N)tuple_on_listlist)r   value
merge_withs      r   	_on_tuplezMerger._on_tuple,   s    T]]4;
;<<r   c                      j                   dk(  rt        |t        t        f      s|S g } j                   dk(  r$|j	                  |       |j	                  |       |S  j                   dk(  r$|j	                  |       |j	                  |       |S  fd}|j	                  |       t        t        |      t        |            }t        |      D ]  } |||   ||         ||<    |S )Nr   r   r   c                    j                   dk(  r| S t        |t        t        f      r(j                  rj
                  j                  | |      S t        |t              r(j                  rj
                  j                  | |      S t        |t              r(j                  rj
                  j                  | |      S |S )Nr   )r   
isinstancer'   r%   r   r   mergestrr   dictr   )old_vnew_vr   s     r   merge_same_indexz)Merger._on_list.<locals>.merge_same_index@   s    |||+%$/D4G4G||))%77%%$*;*;||))%77%$(T-?-?||))%77Lr   )r   r-   r%   r'   extendminlenrange)r   r(   r)   merged_listr3   
common_lenis   `      r   r&   zMerger._on_list/   s    <<9$Z.
  <<9$z*u%\\X%u%z*
	 	5![)3z?;
z" 	MA-k!njmLKN	Mr   N)__name__
__module____qualname__r    r#   r*   r&   r   r   r   r   r      s    N

="r   r   N)r   r   r   r   r   r   r   <module>r>      s)    NLA? ?r   