³ò ÷$•Jc@s³ddkZddkZddkZddkZddkZddklZlZhZgZ d„Z d„Z d„Z d„Z d„Zd„Zd „Zd „Zd „ZdS( iÿÿÿÿN(t_tgettextccs5x.tD]&}t|}|o||fVqqWdS(N(t_ordert _extensions(tnametmodule((s./mercurial/extensions.pyt extensionss  cCsy t|SWnltj o`xJtiƒD]<\}}|id|ƒp|id|ƒo|Sq*q*Wt|ƒ‚nXdS(s'return module with given extension namet.t/N(RtKeyErrort iteritemstendswith(Rtktv((s./mercurial/extensions.pytfinds  ( cCs¤|iddƒ}tii|ƒ}tii|ƒoYtii|idƒƒ\}}ti||gƒ\}}}ti ||||ƒSnti ||ƒSdS(NRRR( treplacetostpatht expandusertisdirtsplittrstriptimpt find_modulet load_modulet load_source(Rt module_nametdtftfdtfpathtdesc((s./mercurial/extensions.pytloadpaths!cCsò|idƒp|idƒo|d}n|}|tjodSndt|<|ot|d|ƒ}n@d„}y|d|ƒ}Wntj o||ƒ}nX|t|tnewentry((R<R=s./mercurial/extensions.pyt wrapcommand]s      cs5‡‡fd†}t||ƒ‰t|||ƒˆS(Ncsˆˆ||ŽS(N((R:R;(R<R=(s./mercurial/extensions.pyR>rs(R"tsetattr(t containertfuncnameR=R>((R<R=s./mercurial/extensions.pyt wrapfunctionqsc CsÀddk}tiitii|iƒƒ}yti|ƒ}Wntj o d SnXh}d}xM|D]E}|i dƒo/|i ddƒd}tii ||ƒ}n9|}tii ||dƒ}tii |ƒpqmn||jp|t jp |djoqmnyt|ƒ}Wntj o qmnXti|ƒ} |iƒ| ot| ƒiƒd|| ! ' cCs”h}d}g}xutƒD]j\}}t|iƒp tdƒ}|idƒd}tt|ƒ|ƒ}|iƒdiƒ||s$      .