PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/emacs/26.1/lisp/mh-e/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/mh-e/mh-xface.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\"\207" [require mh-e autoload message-fetch-field "message"] 3)
#@73 Determine at run time what function should be called to display X-Face.
(defvar mh-show-xface-function (byte-code "\301Y\203\302\207\303\207" [emacs-major-version 21 mh-face-display-function ignore] 2) (#$ . 510))
(defvar mh-uncompface-executable (byte-code "\300\301!\205	\301\302!\207" [fboundp executable-find "uncompface"] 2))
#@17 Display X-Face.
(defalias 'mh-show-xface #[nil "\205	\205\n\204\204\f\205
 \207" [window-system mh-show-use-xface-flag mh-decode-mime-flag mh-mhl-format-file mh-clean-message-header-flag mh-show-xface-function] 1 (#$ . 851)])
#@141 Display a Face, X-Face, or X-Image-URL header field.
If more than one of these are present, then the first one found
in this order is used.
(defalias 'mh-face-display-function #[nil "\214eb\210\306\307d\310#\210e`}\210\310\311\312\310\"\311\313\310\"\311\314\310\"\315\211	\2030\316	!\317\202S\n\203=\320\n!\321\202S\203F\303\202S\322 \211@A@)
\205\214eb\210\306\323d\310#\205\214
\303=\203o\324!\210\202\213\325\326!\203\213\326\327\f
\310\330\331\332\315\310#\333\334\332\315\310#&\335\"\210\315.\207" [case-fold-search face x-face url raw type re-search-forward "\n\n" t message-fetch-field "face" "x-face" "x-image-url" nil mh-face-to-png png mh-uncompface pbm mh-picon-get-image "^from:" mh-x-image-url-display fboundp insert-image create-image :foreground face-foreground mh-show-xface :background face-background " " #1=#:--cl-var--] 13 (#$ . 1096)])
#@43 Convert base64 encoded DATA to png image.
(defalias 'mh-face-to-png #[(data) "\302\303!rq\210\304\216\305\306!\203\306\307!\210	c\210\3101#\311ed\"0\202'\210\202(\210\312 +\207" [#1=#:temp-buffer data generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] fboundp set-buffer-multibyte nil (error) base64-decode-region buffer-string] 3 (#$ . 1992)])
#@51 Run DATA through `uncompface' to generate bitmap.
(defalias 'mh-uncompface #[(data) "\303\304!rq\210\305\216\306\307!\203\307\310!\210	c\210\n\205,\311ed\n\312\313%\314\232\205,\315 \210\316 +\207" [#1=#:temp-buffer data mh-uncompface-executable generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] fboundp set-buffer-multibyte nil call-process-region t (t nil) 0 mh-icontopbm buffer-string] 6 (#$ . 2393)])
#@35 Elisp substitute for `icontopbm'.
(defalias 'mh-icontopbm #[nil "eb\210d\301\302\303\304#\203%\212db\210\305\306\307!\310\"c\210\305\306\311!\310\"c\210)\202e|\210eb\210\312c)\207" [end re-search-forward "0x\\(..\\)\\(..\\)," nil t string-to-number match-string 1 16 2 "P4\n48 48\n"] 4 (#$ . 2854)])
#@113 List of directories where picons reside.
The directories are searched for in the order they appear in the list.
(defvar mh-picon-directory-list '("~/.picons" "~/.picons/users" "~/.picons/usenix" "~/.picons/news" "~/.picons/domains" "~/.picons/misc" "/usr/share/picons/" "/usr/share/picons/users" "/usr/share/picons/usenix" "/usr/share/picons/news" "/usr/share/picons/domains" "/usr/share/picons/misc") (#$ . 3166))
#@35 List of directories to search in.
(defvar mh-picon-existing-directory-list 'unset (#$ . 3587))
(defvar mh-picon-cache (make-hash-table :test 'equal))
(defvar mh-picon-image-types (byte-code "\303\304\211:\2031@\3051\306\307!\205\307	!0\202#\210\202*\203*	\nBA\211\202\n\237+\207" [#:--cl-var-- type #:--cl-var-- (xpm xbm gif) nil (error) fboundp image-type-available-p] 3))
(autoload 'message-tokenize-header "sendmail")
#@51 Find the best possible match and return contents.
(defalias 'mh-picon-get-image #[nil "\3062\276\307 \210\214\3101\311\312\313!!@0\202\210\314\3151\"\3140\202$\210\314@\211\2056\316\317	\"\2056\320\321	\"\227\211\205@\320\322	\"\227\323\324\n#\325\f
\"$\n\205X\326\327\330\n\331\"\"%\314&$\203k\332\306$\"\210\202u%\204u\332\306\314\"\210\3332\251'(\314)(:\203\376(@)*+\314\211,-\314\211./+:\203\364+@,\323\334)\f,$-\335-!\203\275\332\333-\"\210\323\334),$.\335.!\203\324\332\333.\"\210\323\334)\n,$/\335/!\203\353\332\333/\"\210+A\211+\202\235-(A\211(\202\202*\336D0\31410:\203\2460@1'2\314)2:\203\2342@)%3\31443:\203\222\33731)#4*5\314\211,6\31475:\203\2105@,\323\3404,#6\3356!\203i\332\3336\"\210\323\3414,#7\3357!\203\332\3337\"\2105A\2115\202J,3A\2113\202-*2A\2112\202*0A\2110\202	*\3140&\f8
9\3428\343&!9#.0\207" [from-field from host user canonical-address mh-picon-cache --cl-block-mh-picon-get-image-- mh-picon-set-directory-list (error) message-tokenize-header mh-get-header-field "from:" nil (error) string-match "\\([^+]*\\)\\(+.*\\)?@\\(.*\\)" match-string 3 1 format "%s@%s" gethash delete "" split-string "\\." throw --cl-block-loop-- "%s/%s.%s" file-exists-p "unknown" mh-picon-generate-path "%s.%s" "%s/face.%s" puthash mh-picon-file-contents cached-value host-list match mh-picon-existing-directory-list #1=#:--cl-var-- dir mh-picon-image-types #2=#:--cl-var-- type file1 file2 file3 #3=#:--cl-var-- u #4=#:--cl-var-- x y #5=#:--cl-var-- z1 z2 #6=#:v #7=#:v] 6 (#$ . 4033)])
#@54 Update `mh-picon-existing-directory-list' if needed.
(defalias 'mh-picon-set-directory-list #[nil "\305=\205*	\306\211\n:\203%\n@\307!\203\fB\nA\211\202
\f\237+\211\207" [mh-picon-existing-directory-list mh-picon-directory-list #1=#:--cl-var-- x #2=#:--cl-var-- unset nil file-directory-p] 3 (#$ . 5666)])
#@180 Generate the image file path.
HOST-LIST is the parsed host address of the email address, USER
the username and DIRECTORY is the directory relative to which the
path is generated.
(defalias 'mh-picon-generate-path #[(host-list user directory) "\306	\307\n:\203\n@\310\311#\nA\211\202\310\312\f
$+\207" [acc host-list #1=#:--cl-var-- elem directory user "" nil format "%s/%s" "%s/%s%s"] 6 (#$ . 5994)])
#@189 Return details about FILE.
A list of consisting of a symbol for the type of the file and the
file contents as a string is returned. If FILE is nil, then both
elements of the list are nil.
(defalias 'mh-picon-file-contents #[(file) ";\2031\303\304!r	q\210\305\216\306\307!\203\307\310!\210\311\312\"\205&\313\314\315\"!\316!\210\n\317 ,D\207\310\211D\207" [file #1=#:temp-buffer type generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] fboundp set-buffer-multibyte nil string-match ".*\\.\\(...\\)$" intern match-string 1 insert-file-contents-literally buffer-string] 4 (#$ . 6415)])
#@48 Function to use to scale image to proper size.
(defvar mh-x-image-scaling-function (byte-code "\300\301!\203\302\207\300\303!\203\300\304!\203\300\305!\203\306\207\307\207" [executable-find "convert" mh-x-image-scale-with-convert "anytopnm" "pnmscale" "pnmtopng" mh-x-image-scale-with-pnm ignore] 2) (#$ . 7056))
#@69 Scale image in INPUT file and write to OUTPUT file using pnm tools.
(defalias 'mh-x-image-scale-with-pnm #[(input output) "\303\304\305	#!\211\306\232?\205\307	!)\207" [input output res shell-command-to-string format "anytopnm < %s | pnmscale -xysize 96 48 | pnmtopng > %s" "" delete-file] 6 (#$ . 7383)])
#@71 Scale image in INPUT file and write to OUTPUT file using ImageMagick.
(defalias 'mh-x-image-scale-with-convert #[(input output) "\302\303\304\211\211\305\306	&\207" [input output call-process "convert" nil "-geometry" "96x48"] 9 (#$ . 7699)])
(defvar mh-wget-executable nil)
(defvar mh-wget-choice (byte-code "\301\302!\211\203\n\303\207\301\304!\211\203\305\207\301\306!\211\205\307\207" [mh-wget-executable executable-find "wget" wget "fetch" fetch "curl" curl] 2))
(defvar mh-wget-option (byte-code "\301\302\"A\207" [mh-wget-choice assoc ((curl . "-o") (fetch . "-o") (wget . "-O"))] 3))
(defvar mh-x-image-temp-file nil)
(defvar mh-x-image-url nil)
(defvar mh-x-image-marker nil)
(defvar mh-x-image-url-cache-file nil)
#@102 Display image from location URL.
If the URL isn't present in the cache then it is fetched with wget.
(defalias 'mh-x-image-url-display #[(url) "\306!\307	!\310 \311\304!\210\312!?\206z\n\313=\203%\314	\"\202z
?\206z\315=\206z\n\316=\206z\204C\317\211\223\202z\n\320=\203W\321	\317\"\210\322	\323$\202z\324=\203n\325\326\327\"!\204n\321	\316\"\202z\n\317=\205z\322	\323$+\207" [url cache-filename state marker mh-x-image-marker mh-wget-executable mh-x-image-url-cache-canonicalize mh-x-image-get-download-state point-marker make-local-variable mh-x-image-url-sane-p ok mh-x-image-display ignore never nil try-again mh-x-image-set-download-state mh-x-image-url-fetch-image mh-x-image-scale-and-display ask y-or-n-p format "Fetch %s? " mh-x-image-scaling-function mh-fetch-x-image-url] 5 (#$ . 8441)])
#@48 Directory where X-Image-URL images are cached.
(defvar mh-x-image-cache-directory nil (#$ . 9280))
#@114 Set the DIRECTORY where X-Image-URL images are cached.
This is only done if `mh-x-image-cache-directory' is nil.
(defalias 'mh-set-x-image-cache-directory #[(directory) "?\205	\211\207" [mh-x-image-cache-directory directory] 2 (#$ . 9386)])
#@405 Canonicalize URL.
Replace the ?/ character with a ?! character and append .png.
Also replaces special characters with `mh-url-hexify-string'
since not all characters, such as :, are valid within Windows
filenames.  In addition, replaces * with %2a. See URL
`http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/ifaces/iitemnamelimits/GetValidCharacters.asp'.
(defalias 'mh-x-image-url-cache-canonicalize #[(url) "\303\304\305\306\307\310\311\312!r	q\210\313\216\nc\210\314\315\316\"\210\317 +!##\207" [mh-x-image-cache-directory #1=#:temp-buffer url format "%s/%s.png" mh-replace-regexp-in-string "\\*" "%2a" mh-url-hexify-string generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] mh-replace-string "/" "!" buffer-string] 10 (#$ . 9638)])
#@58 Check the state of FILE by following any symbolic links.
(defalias 'mh-x-image-get-download-state #[(file) "\302!\204\303\304\305\211\211%\210\306	!\203\307\310\311	!!!\207\302	!\204$\305\207\312\207" [mh-x-image-cache-directory file file-exists-p call-process "mkdir" nil file-symlink-p intern file-name-nondirectory file-chase-links ok] 6 (#$ . 10473)])
#@42 Setup a symbolic link from FILE to DATA.
(defalias 'mh-x-image-set-download-state #[(file data) "\203\f\302\303!	\304#\207\305	!\207" [data file make-symbolic-link symbol-name t delete-file] 4 (#$ . 10842)])
#@37 Check if URL is something sensible.
(defalias 'mh-x-image-url-sane-p #[(url) "G\211\302W\203
\303\202%\304\302O\305\232\204\303\202%	\306V\203$\303\202%\307)\207" [url len 5 nil 0 "http:" 100 t] 4 (#$ . 11059)])
#@26 Display IMAGE at MARKER.
(defalias 'mh-x-image-display #[(image marker) "r\305!q\210\306\307 \310\216\311!\2051\312!?\2051\f=\2051b\210\313\314!\2030\314\315\316\"!\210\317,\207" [marker buffer-modified-flag inhibit-read-only image mh-x-image-marker marker-buffer t buffer-modified-p #[nil "\301!\207" [buffer-modified-flag set-buffer-modified-p] 2] file-readable-p file-symlink-p fboundp insert-image create-image png nil] 4 (#$ . 11287)])
#@230 Fetch and display the image specified by URL.
After the image is fetched, it is stored in CACHE-FILE. It will
be displayed in a buffer and position specified by MARKER. The
actual display is carried out by the SENTINEL function.
(defalias 'mh-x-image-url-fetch-image #[(url cache-file marker sentinel) "\203G\306\307	!!\310\311!\203\311\312!\206\313\314\315!!rq\210\316\305!\210\f\316\317!\210\316\320!\210\n)\321\322\323\n&\"*\207\324\f\325\"\207" [mh-wget-executable mh-temp-fetch-buffer filename buffer cache-file mh-x-image-url-cache-file get-buffer-create generate-new-buffer-name fboundp make-temp-file "mhe-fetch" expand-file-name make-temp-name "~/mhe-fetch" make-local-variable mh-x-image-marker mh-x-image-temp-file set-process-sentinel start-process "*mh-x-image-url-fetch*" mh-x-image-set-download-state try-again marker mh-wget-option url sentinel] 8 (#$ . 11748)])
#@91 When the wget PROCESS terminates scale and display image.
The argument CHANGE is ignored.
(defalias 'mh-x-image-scale-and-display #[(process change) "\306!\307=\205h\310\211\211\211r\311!\211q\210
)\312=\2034\313\314!\210\315\n\316\"\210\202M\n\"\210\317\n!\203H\320\n\f\"\210\202M\315\n\316\"\210\3211e\f\310\211\223\210\322!\210\323	!\210\324!0\202g\210\310,\207" [process wget-buffer cache-filename temp-file marker mh-x-image-marker process-status exit nil process-buffer ignore message "The \"convert\" program is needed to display X-Image-URL" mh-x-image-set-download-state try-again file-exists-p mh-x-image-display (error) delete-process kill-buffer delete-file mh-x-image-url-cache-file mh-x-image-temp-file mh-x-image-scaling-function] 4 (#$ . 12658)])
(provide 'mh-xface)