oB]c@sGddlZdZddedfZdZdefdYZdS( iNtreplacetappendtprependt no_replacecGs%x|D]}||krtSqWtS(N(tTruetFalse(twhattkeystk((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_list.pyt_has_any s  tMergercBs,eZdZdZdZdZRS(cCsy||_t|_x'tD]}||kr||_PqqWt|d|_t|d|_t|dd|_dS(Nt recurse_strt recurse_dictt recurse_arrayt recurse_list(t_mergertDEF_MERGE_TYPEt_methodt MERGE_TYPESR t _recurse_strt _recurse_dictt_recurse_array(tselftmergertoptstm((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_list.pyt__init__s     cCs d|j|j|j|jfS(NsGListMerger: (method=%s,recurse_str=%s,recurse_dict=%s,recurse_array=%s)(RRRR(R((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_list.pyt__str__"s cCst|jt||S(N(ttuplet_on_listtlist(Rtvaluet merge_with((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_list.pyt _on_tuple)scsjdkr)t|ttf r)|Sg}jdkr\|j||j||Sjdkr|j||j||Sfd}|j|tt|t|}x2td|D]!}|||||||s