o ö]Lbýã@s0dZddlmZdZdd„Zdd„Zdd „Zd S) z7Compute a resolution order for an object and its bases é)Úabsolute_importÚrestructuredtextcCsDi}g}t|ƒD]}t|ƒD]}||vrd||<| d|¡qq|S)a¡Merge multiple orderings so that within-ordering order is preserved Orderings are constrained in such a way that if an object appears in two or more orderings, then the suffix that begins with the object must be in both orderings. For example: >>> _mergeOrderings([ ... ['x', 'y', 'z'], ... ['q', 'z'], ... [1, 3, 5], ... ['z'] ... ]) ['x', 'y', 'q', 1, 3, 5, 'z'] ér)ÚreversedÚinsert)Ú orderingsÚseenÚresultÚorderingÚo©r úH/usr/lib/python3/dist-packages/mercurial/thirdparty/zope/interface/ro.pyÚ_mergeOrderingss   €ýrcCs2|g}d}t|ƒD] }|d7}|j|||…<q |S)Nrr)ÚiterÚ __bases__)Úobr Úir r r Ú_flatten2s  rcCstt|ƒgƒS)z/Compute a "resolution order" for an object )rr)Úobjectr r r Úro@srN)Ú__doc__Ú __future__rÚ __docformat__rrrr r r r Ús