PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib64/python2.7/site-packages/hgext
Viewing File: /usr/lib64/python2.7/site-packages/hgext/record.pyc
� Hq�Qc@s�dZddlmZmZddlmZmZmZmZm Z ddlm Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZiZeje�ZdZejd�Zdd eed �fd d ded �fddded�fgZd�Zdefd��YZd�Zdefd��YZd�Zd�Z edej!ddeed��d��Z"d�Z#d�Z$d �Z%d!�Z&e$ged"�fed#<d$�Z'd%�Z(ej)d&7_)dS('s<commands to interactively select changes for commit/qrefreshi����(tgettextt_(tcmdutiltcommandst extensionsthgtpatch(tutilNtinternals'@@ -(\d+),(\d+) \+(\d+),(\d+) @@\s*(.*)twsignore-all-spaces'ignore white space when comparing linestbsignore-space-changes+ignore changes in the amount of white spacetBsignore-blank-liness(ignore changes whose lines are all blankc#sXtj|���fd�}x3trS�j�}|s=Pn|jd�s[|jd�r�d�}|||�}�j�}|jd�r��j�}|||g7}n �j|�d|fVq!|ddkr�d ||d ��fVq!|dd krd ||d ��fVq!tj|�}|rEd|j�fVq!d|fVq!WdS(s�like patch.iterhunks, but yield different events - ('file', [header_lines + fromfile + tofile]) - ('context', [context_lines]) - ('hunk', [hunk_lines]) - ('range', (-start,len, +start,len, proc)) csZ|g}xJtrU�j�}|s(Pn||�rD|j|�q �j|�Pq W|S(sscan lr while predicate holds(tTruetreadlinetappendtpush(tfirsttptlinestline(tlr(s2/usr/lib64/python2.7/site-packages/hgext/record.pyt scanwhile(s     s diff --git a/sdiff -r cSs'|jdd�}| p&|ddkS(Niis---tdiff(s---sdiff(tsplittNone(Rts((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt notheader;ss---tfileit tcontextcSs|ddkS(Nis \((tl((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt<lambda>Gss-+thunkcSs|ddkS(Nis-+\((R((s2/usr/lib64/python2.7/site-packages/hgext/record.pyRIstrangetotherN( Rt linereaderR R t startswithRtlines_retmatchtgroups(tfpRRRtheadertfromfilettofiletm((Rs2/usr/lib64/python2.7/site-packages/hgext/record.pyt scanpatchs.      R)cBs�eZdZejd�Zejd�Zejd�Zejd�Zejd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zd �Zd�ZRS(sIpatch header XXX shouldn't we move this to mercurial/patch.py ? sdiff --git a/(.*) b/(.*)$sdiff -r .* (.*)$s (?:index|new file|deleted file) s(?:new file|deleted file) s"(?:index|new|deleted|copy|rename) cCs||_g|_dS(N(R)thunks(tselfR)((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt__init__\s cCstjd�|jD��S(Ncss|]}|jd�VqdS(sindex N(R$(t.0th((s2/usr/lib64/python2.7/site-packages/hgext/record.pys <genexpr>as(RtanyR)(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pytbinary`sc Cs�x�|jD]�}|jd�r6|jtd��Pn|jj|�r{|j|�|j�rw|jtd��nPn|jd�r�|jtd�t|j�t g|jD]}t |j |j �^q��f�Pn|j|�q WdS(Nsindex s-this modifies a binary file (all or nothing) sthis is a binary file s---s%d hunks, %d lines changed ( R)R$twriteRt pretty_reR&R4tlenR.tsumtmaxtaddedtremoved(R/R(R2((s2/usr/lib64/python2.7/site-packages/hgext/record.pytprettycs   6cCs|jdj|j��dS(Nt(R5tjoinR)(R/R(((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR5tscs tj�fd��jD��S(Nc3s!|]}�jj|�VqdS(N(t allhunks_reR&(R1R2(R/(s2/usr/lib64/python2.7/site-packages/hgext/record.pys <genexpr>xs(RR3R)(R/((R/s2/usr/lib64/python2.7/site-packages/hgext/record.pytallhunkswscCso|jj|jd�}|rN|j�\}}||krD|gS||gS|jj|jd�j�SdS(Ni(t diffgit_reR&R)R'tdiff_re(R/R&R*R+((s2/usr/lib64/python2.7/site-packages/hgext/record.pytfileszs  cCs|j�dS(Ni����(RC(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pytfilename�scCs ddjtt|j���S(Ns <header %s>R(R>tmaptreprRC(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt__repr__�scs tj�fd��jD��S(Nc3s!|]}�jj|�VqdS(N(t special_reR&(R1R2(R/(s2/usr/lib64/python2.7/site-packages/hgext/record.pys <genexpr>�s(RR3R)(R/((R/s2/usr/lib64/python2.7/site-packages/hgext/record.pytspecial�s(t__name__t __module__t__doc__tretcompileRARBR?R6RHR0R4R<R5R@RCRDRGRI(((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR)Qs       cCshtg|D]}|ddkr |^q �}tg|D]}|ddkr9|^q9�}||fS(shunk -> (n+,n-)it+t-(R7(R R2taddtrem((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt countchanges�s//R cBs>eZdZdZd�Zd�ZeZd�Zd�ZRS(sBpatch hunk XXX shouldn't we merge this with patch.hunk ? ic s�fd�}|�_|||�\�_�_|||�\�_�_|�_|�_t�j�\�_�_ dS(NcsDt|��j}tr:|dkr:|||�j fS||fS(Ni(R7t maxcontexttFalse(tnumberRtdelta(R/(s2/usr/lib64/python2.7/site-packages/hgext/record.pyt trimcontext�s( R)tfromlinetbeforettolinetaftertprocR RSR:R;( R/R)RYR[R]RZR R\RX((R/s2/usr/lib64/python2.7/site-packages/hgext/record.pyR0�s   c Cs�t|j�t|j�}|jrE|jddkrE|d8}n||j}||j}|jd|j||j||jo�d|jf�|jdj |j|j |j��dS(Ni����s\ No newline at end of file is@@ -%d,%d +%d,%d @@%s RR=( R7RZR\R;R:R5RYR[R]R>R (R/R(RWtfromlenttolen((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR5�s    cCs |jj�S(N(R)RD(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pyRD�scCsd|j�|jfS(Ns <hunk %r@%d>(RDRY(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pyRG�s( RJRKRLRTR0R5R<RDRG(((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR �s   cCs�dtfd��Y}|�}d}xit|�D][\}}y|j||||�Wn*tk r�tjd||f��nX|}q2W|j�S(s&patch -> [] of headers -> [] of hunks tparsercBs�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z iied6ed 6ed 6ed 6d 6ied 6ed 6ed 6ed 6d6ied6ed 6ed 6d 6ied6ed 6d 6ied 6d 6Z RS( spatch parsing state machinecSsLd|_d|_d|_d|_g|_g|_g|_g|_dS(NiR=( RYR[R]RR)RRZR theaders(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR0�s       cSs@|\}}}}}t|�|_t|�|_||_dS(N(tintRYR[R](R/tlimitst fromstarttfromendttostartttoendR]((s2/usr/lib64/python2.7/site-packages/hgext/record.pytaddrange�scSs�|jr�t|j|j|j|j|j|j|�}|jjj|�|jt|j�|j 7_|jt|j�|j 7_g|_g|_d|_n||_ dS(NR=( R R)RYR[R]RZR.RR7R;R:R(R/RR2((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt addcontext�s    cSs.|jr!|j|_g|_n||_dS(N(RRZR (R/R ((s2/usr/lib64/python2.7/site-packages/hgext/record.pytaddhunk�s   cSs6|jg�t|�}|jj|�||_dS(N(RiR)RaR(R/thdrR2((s2/usr/lib64/python2.7/site-packages/hgext/record.pytnewfile�s  cSsdS(N((R/R((s2/usr/lib64/python2.7/site-packages/hgext/record.pytaddother�scSs|jg�|jS(N(RiRa(R/((s2/usr/lib64/python2.7/site-packages/hgext/record.pytfinished�s RRR R!R"( RJRKRLR0RhRiRjRlRmRnt transitions(((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR`�s.             Rsunhandled transition: %s -> %s(tobjectR-RotKeyErrorRt PatchErrorRn(R(R`Rtstatetnewstatetdata((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt parsepatch�sB    cs(�fd�}t�}i}d \}}dtd�|D��}}x�|D]�} |t| j�7}d }d} dj| j�} | |kr�qNn|j| �|d kr�| j��nt d�t d�jd�| j �D��} |||| d �\} }}}| sqNn| g|| j �<| j �rZ|| j �c| j7<qNnxt | j�D]n\}}|d kr�|d kr�|j��n|dkr�t d �|j �} n6|t| j�|}t d �|||j �f} |||| |�\} }}}| ra| rGtj|�}|j| 7_n||j �j|�qj|d k r�xh|D]I}x@|jD]5}| r�|j| 7_n||j �j|�q�WqtWqj| |j|j7} qjWqNWtg|j�D].} | dj�st| �dkr�| ^q�g�S( s:Interactively filter patch chunks into applied-only chunksc s d&}|d&k r"||||fS|d&k r>||||fSx�trtd�}td�td�td�td�td�td�td�td �td �f }�jd ||f|�}�jd �|d krJttj�}|jd�d} x@|| j �D].} | j d�r�j| j �d �qqWqAn�|dkr_t} n�|dkrtt } n�|dkrm|d&kr��jtd���jd �qAn|j j�r��jtd���jd �qAndtd�} tjdddddt�\} }d&}z/tj| d�}|j j|�|j|�|jd jg| j �D]}d|^ql��|j��j�}tjd||fdi�j�d 6d!tjd"td#�d$�j�t|�}tj�}x-|D]%}|j d%�s|j|�qqW|j�|jd�t|�}Wd&tj |�~Xt } n�|d'kr�t } }no|d(kr�t} }nV|d)kr�t } }n=|d*kr�t} }n$|d+kr�tjtd,���n| |||fSWd&S(-s�prompt query, and process base inputs - y/n for the rest of file - y/n for the rest - ? (help) - q (quit) Return True/False and possibly updated skipfile and skipall. s [Ynesfdaq?]s&Yes, record this changes&No, skip this changes&Edit the change manuallys$&Skip remaining changes to this files&Record remaining changes to this &files'&Done, skip remaining changes and filess*Record &all changes to all remaining filess&Quit, recording no changess&?s%s %ss is::is iis cannot edit patch for whole files!cannot edit patch for binary files---s� To remove '-' lines, make them ' ' lines (context). To remove '+' lines, delete them. Lines starting with # will be removed from the patch. If the patch applies cleanly, the edited hunk will immediately be added to the record list. If it does not apply cleanly, a rejects file will be generated: you can use that when you try again. If all lines of the hunk are removed, then the edit is aborted and the hunk is left unchanged. tprefixs hg-editor-tsuffixs.diffttextR s# s%s "%s"tenvirontHGUSERtonerrt errprefixs edit failedtoutt#Niiiiis user quit(!RR Rt promptchoiceR5RtrecordRLtfindt splitlinesR$tstripRUR)R4ttempfiletmkstemptostfdopenR>tcloset geteditorRtsystemtusernametAborttfouttopent cStringIOtStringIOtseekRvtunlink(tskipfiletskipalltquerytchunkt newpatchestrespstchoicestrtdoctcRtrettphelptpatchfdtpatchfnt ncpatchfptftiteditortpatchfpR(tui(s2/usr/lib64/python2.7/site-packages/hgext/record.pytprompts�                         3                   icss|]}t|j�VqdS(N(R7R.(R1R2((s2/usr/lib64/python2.7/site-packages/hgext/record.pys <genexpr>ysiR=sexamine changes to %s?s and css|]}d|VqdS(s'%s'N((R1R�((s2/usr/lib64/python2.7/site-packages/hgext/record.pys <genexpr>�ssrecord this change to '%s'?srecord change %d/%d to '%s'?N(NN(tsetRR8R7R.R>R)RQR<RRCRDR@t enumeratetcopyR[RR;R:t itervaluesRI(R�RaR�tseentappliedR�R�tposttotalR2t fixoffsetRktmsgR�tnpR�R�tidxR�tnewpatchtnewhunk((R�s2/usr/lib64/python2.7/site-packages/hgext/record.pyt filterpatch s`h       &!    "R�s ^commit|ciishg record [OPTION]... [FILE]...cOs#t||tjdt||�dS(sDinteractively select changes to commit If a list of files is omitted, all changes reported by :hg:`status` will be candidates for recording. See :hg:`help dates` for a list of formats valid for -d/--date. You will be prompted for whether to record changes to each modified file, and for files with multiple changes, for each change to use. For each query, the following responses are possible:: y - record this change n - skip this change e - edit this change manually s - skip remaining changes to this file f - record remaining changes to this file d - done, skip remaining changes and files a - record all changes to all remaining files q - quit, recording no changes ? - display help This command is not available when committing a merge.tcommitN(tdorecordRR�RU(R�trepotpatstopts((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR��s cs[|ds|||||�Stjd���fd�}t|||dt||�dS(Nt interactivetmqcs�j|||�dS(N(trefresh(R�R�R�R�(R�(s2/usr/lib64/python2.7/site-packages/hgext/record.pyt committomq�stqrefresh(RR�R�R (torigfnR�R�R�R�R�((R�s2/usr/lib64/python2.7/site-packages/hgext/record.pyR��s  cs~ytjd��Wn&tk r;tjtd���nX|jj����fd�}t|||dt ||�dS(svinteractively record a new patch See :hg:`help qnew` & :hg:`help record` for more information and usage. R�s'mq' extension not loadedcs't|d<�j||�||�dS(Nt checkname(RUtnew(R�R�R�R�(R�R(s2/usr/lib64/python2.7/site-packages/hgext/record.pyR��s tqnewN( RR�RqRR�RR�tcheckpatchnameR�RU(R�R�RR�R�R�((R�Rs2/usr/lib64/python2.7/site-packages/hgext/record.pytqrecord�s cOs6|dr t|||||�S||||||�S(NR�(R�(R�R�R�RtargsR�((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR��s c s�|j�s(tjtd�|��n|j���fd�}d�}|j} tj|d|�ztj |||||�SWd| |_XdS(Ns)running non-interactively, use %s insteadcst|dj��dk}|r:tjtd���n|jd|�d }tj|dt dt dt d|j d �d |j d �d |j d ���}tj |d|d|�}t j�} | jdj|��| jd�yt|t| ��}Wn/tjk r5} tjtd�| ��nX~ t�} x?|D]7} y| jt| j���WqItk rqIXqIW|d|d|d} g| D]}|| kr�|^q�}|s�|jtd��dSt|d�}�r�| }n%g|D]}||kr|^q}i�|r�|jd�}ytj|�Wq�tk r}} | jtjkr~�q~q�Xnz�x�|D]�}tjd|j dd�dd|�\}}tj!|�|j"d||f�tj#|j$|�|�t%j&|j$|�|�|�|<q�Wt j�} x0|D](}|j'��kr6|j| �q6q6W| j(�}| jd��r�t)j*||j+j,��fd��n|r y@|j"d�|j"| j-��tj.||| ddd�Wq tjk r} tjt/| ���q Xn~ tj0�}tj1|j2�z�||||�Wdtj1|�XdSWdy�xp�j3�D]b\}}|j"d||f�tj#||j$|��t%j&||j$|��tj4|�qW|r�tj5|�nWntk rnXXdS( s%This is generic record driver. Its job is to interactively filter local changes, and accordingly prepare working directory into a state in which the job can be delegated to a non-interactive commit command such as 'commit' or 'qrefresh'. After the actual job is done by non-interactive command, the working directory is restored to its original state. In the end we'll record interesting changes, and everything else will be left in place, so the user can continue working. is9cannot partially commit a merge (use "hg commit" instead)R&iR�tgittnodatestignorewstignore_all_spacetignorewsamounttignore_space_changetignoreblanklinestignore_blank_linestchangesR=iserror parsing patch: %sisno changes to record srecord-backupsRwt/Rt.tdirsbackup %r as %r cs |�kS(N((tkey(tbackups(s2/usr/lib64/python2.7/site-packages/hgext/record.pyRTssapplying patch teolmodeNsrestoring %r to %r (6R7RtparentsRR�RtstatusRtdiffoptstdictR tgetRR�R�R5R>R�R�RvRrR�tupdateRCtAttributeErrorR�tmkdirtOSErrorterrnotEEXISTR�R�treplaceR�tdebugtcopyfiletwjointshutiltcopystatRDttellRtreverttdirstatetp1tgetvaluet internalpatchtstrtgetcwdtchdirtroott iteritemsR�trmdir(R�R�tmessageR&R�tmergeR�R�tchunksR(terrt contendersR2tchangedR�tnewfilestmodifiedttobackupt backupdirtfdttmpnameR�tdopatchtcwdtrealname(t backupallt commitfunc(R�s2/usr/lib64/python2.7/site-packages/hgext/record.pyt recordfunc�s�      % %           csS|jdd�}x:tj�fd��D] \}}||d||�q+WdS(NtlabelR=cs�S(N(((R�(s2/usr/lib64/python2.7/site-packages/hgext/record.pyR�s(tpopRt difflabel(torigR�tkwRR�R((R�s2/usr/lib64/python2.7/site-packages/hgext/record.pyt wrapwrite�s%R5( R�RR�RR�R5Rt wrapfunctionRR�( R�R�Rt cmdsuggestRR�R�RR toldwrite((RRs2/usr/lib64/python2.7/site-packages/hgext/record.pyR��s   �  s&hg qrecord [OPTION]... PATCH [FILE]...R�cCs�ytjd�}Wntk r'dSXt|jddttd�ftd<td|jttd��td|jt td ��dS( NR�s^qnewis&hg qrecord [OPTION]... PATCH [FILE]...R�R�s interactively record a new patchR�s'interactively select changes to refresh( RR�RqR�tcmdtableR�Rt_wrapcmdR�R�(R�R�((s2/usr/lib64/python2.7/site-packages/hgext/record.pytuisetup�s cCs6tj|||�}|djddd|f�dS(NiR�R�(Rt wrapcommandRR(tcmdttabletwrapfnR�tentry((s2/usr/lib64/python2.7/site-packages/hgext/record.pyR�ss record qrecord(*RLtmercurial.i18nRRt mercurialRRRRRRR�R�R�R�RMR�R�Rtcommandt testedwithRNR%RURR�R-RpR)RSR RvR�RR�R�R�R�R�RRt inferrepo(((s2/usr/lib64/python2.7/site-packages/hgext/record.pyt<module>s@(T      3< ( P �    �