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/share/emacs/24.3/lisp/net
Viewing File: /usr/share/emacs/24.3/lisp/net/secrets.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:33 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/secrets.el ;;; in Emacs version 24.3.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\"\210\302\305\306\"\210\302\307\306\"\210\302\310\306\"\210\302\311\306\"\207" [require dbus autoload tree-widget-set-theme "tree-widget" widget-create-child-and-convert "wid-edit" widget-default-value-set widget-field-end widget-member] 3) #@60 Whether there is a daemon offering the Secret Service API. (defvar secrets-enabled nil (#$ . 833)) #@22 Write debug messages (defvar secrets-debug t (#$ . 938)) #@48 The D-Bus name used to talk to Secret Service. (defconst secrets-service "org.freedesktop.secrets" (#$ . 1001)) #@60 The D-Bus root object path used to talk to Secret Service. (defconst secrets-path "/org/freedesktop/secrets" (#$ . 1119)) #@53 The D-Bus object path representing an empty object. (defconst secrets-empty-path "/" (#$ . 1247)) #@66 Check, whether PATH is a valid object path. It returns t if not. (defalias 'secrets-empty-path #[(path) ";?\206  \230\207" [path secrets-empty-path] 2 (#$ . 1351)]) (put 'secrets-empty-path 'byte-optimizer 'byte-compile-inline-expand) #@56 The D-Bus interface managing sessions and collections. (defconst secrets-interface-service "org.freedesktop.Secret.Service" (#$ . 1595)) #@43 A collection of items containing secrets. (defconst secrets-interface-collection "org.freedesktop.Secret.Collection" (#$ . 1738)) #@53 The D-Bus temporary session collection object path. (defconst secrets-session-collection-path "/org/freedesktop/secrets/collection/session" (#$ . 1874)) #@70 A session tracks state between the service and a client application. (defconst secrets-interface-prompt "org.freedesktop.Secret.Prompt" (#$ . 2033)) #@43 A collection of items containing secrets. (defconst secrets-interface-item "org.freedesktop.Secret.Item" (#$ . 2188)) #@37 The default item type we are using. (defconst secrets-interface-item-type-generic "org.freedesktop.Secret.Generic" (#$ . 2312)) #@70 A session tracks state between the service and a client application. (defconst secrets-interface-session "org.freedesktop.Secret.Session" (#$ . 2446)) #@119 The D-Bus session path of the active session. A session path `secrets-empty-path' indicates there is no open session. (defvar secrets-session-path secrets-empty-path (#$ . 2604)) #@43 Close the secret service session, if any. (defalias 'secrets-close-session #[nil "\302\303\304\217\210\211\207" [secrets-empty-path secrets-session-path err (dbus-call-method :session secrets-service secrets-session-path secrets-interface-session "Close") ((dbus-error (byte-code "\203 \302 @ A\"\210\302\207" [dbus-debug err signal] 3)))] 3 (#$ . 2789)]) #@229 Open a new session with "plain" algorithm. If there exists another active session, and REOPEN is nil, that session will be used. The object path of the session will be returned, and it will be stored in `secrets-session-path'. (defalias 'secrets-open-session #[(&optional reopen) "\203\306 \210 \211;?\206\n \230)\203(\307\310\f \311\312\313&\211A@)\2032\314\315 \"\210 \207" [reopen secrets-session-path path secrets-empty-path secrets-service secrets-path secrets-close-session dbus-call-method :session "OpenSession" "plain" (:variant "") message "Secret Service session: %s" secrets-interface-service x secrets-debug] 9 (#$ . 3156)]) #@69 Internal variable to catch signals from `secrets-interface-prompt'. (defvar secrets-prompt-signal nil (#$ . 3817)) #@53 Handle the prompt identified by object path PROMPT. (defalias 'secrets-prompt #[(prompt) "\211;?\206 \n\230)?\205;\306\307 \f\310\311&\312\307 \f\313\314\315\316\"&\210\317\216\2047\320\315\211\321#\210\202)@*\207" [prompt path secrets-empty-path secrets-service secrets-interface-prompt object dbus-register-signal :session "Completed" secrets-prompt-handler dbus-call-method "Prompt" frame-parameter nil window-id ((byte-code "\302\303 !\207" [secrets-prompt-signal object nil dbus-unregister-object] 2)) read-event 0.1 secrets-prompt-signal] 10 (#$ . 3938)]) #@60 Handler for signals emitted by `secrets-interface-prompt'. (defalias 'secrets-prompt-handler #[(&rest args) "@\203\n C\211\207\211A@)\211\207" [args secrets-empty-path secrets-prompt-signal x] 3 (#$ . 4523)]) #@53 Cached D-Bus object paths of available collections. (defvar secrets-collection-paths nil (#$ . 4744)) #@61 Handler for signals emitted by `secrets-interface-service'. (defalias 'secrets-collection-handler #[(&rest args) "\303!\304\230\203\305\302 @\"\207\303!\306\230\205\307 @\n\"\211\207" [last-input-event args secrets-collection-paths dbus-event-member-name "CollectionCreated" add-to-list "CollectionDeleted" delete] 3 (#$ . 4852)]) #@55 Return the object paths of all available collections. (defalias 'secrets-get-collections #[nil "\206 \304\305 \n \306%\211\207" [secrets-collection-paths secrets-service secrets-path secrets-interface-service dbus-get-property :session "Collections"] 6 (#$ . 5196)]) #@68 Return all properties of collection identified by COLLECTION-PATH. (defalias 'secrets-get-collection-properties #[(collection-path) "\211;?\206 \n\230)?\205\305\306 \f$\207" [collection-path path secrets-empty-path secrets-service secrets-interface-collection dbus-get-all-properties :session] 6 (#$ . 5472)]) #@71 Return property PROPERTY of collection identified by COLLECTION-PATH. (defalias 'secrets-get-collection-property #[(collection-path property) "\211;?\206 \n\230)\206 ;??\205\306\307\f %\207" [collection-path path secrets-empty-path property secrets-service secrets-interface-collection dbus-get-property :session] 7 (#$ . 5795)]) #@36 Return a list of collection names. (defalias 'secrets-list-collections #[nil "\300\301\302 \"\207" [mapcar #[(collection-path) " \230\203\302\207\303\304\"\207" [collection-path secrets-session-collection-path "session" secrets-get-collection-property "Label"] 3] secrets-get-collections] 3 (#$ . 6141)]) #@160 Return the object path of collection labeled COLLECTION. If COLLECTION is nil, return the session collection path. If there is no such COLLECTION, return nil. (defalias 'secrets-collection-path #[(collection) "\203\n\306\230\203 \2063\307\310\n \f\311&\211\211\f;?\206&\f \230)?\205, )\2063\312\313\215\207" [collection secrets-session-collection-path secrets-service secrets-path secrets-interface-service collection-path "session" dbus-call-method :session "ReadAlias" collection-found (byte-code "\303 \304\211\203! @\n\305\306\"\230\203\307\310\"\210 A\211\204 \304*\304\207" [collection-path --dolist-tail-- collection secrets-get-collections nil secrets-get-collection-property "Label" throw collection-found] 5) path secrets-empty-path] 8 (#$ . 6457)]) #@104 Create collection labeled COLLECTION if it doesn't exist. Return the D-Bus object path for collection. (defalias 'secrets-create-collection #[(collection) "\306!\211\211;?\206\n \230)\203-\307\310\311\f \312\313\314\315\316DED&\211A@)! )\207" [collection collection-path path secrets-empty-path secrets-service secrets-path secrets-collection-path secrets-prompt dbus-call-method :session "CreateCollection" :array :dict-entry "Label" :variant secrets-interface-service x] 13 (#$ . 7250)]) #@112 Return the collection name ALIAS is referencing to. For the time being, only the alias "default" is supported. (defalias 'secrets-get-alias #[(alias) "\304\305\306 \n\307 &\310\"\207" [secrets-service secrets-path secrets-interface-service alias secrets-get-collection-property dbus-call-method :session "ReadAlias" "Label"] 8 (#$ . 7760)]) #@113 Set ALIAS as alias of collection labeled COLLECTION. For the time being, only the alias "default" is supported. (defalias 'secrets-set-alias #[(collection alias) "\306!\211\211;?\206\n \230)?\205!\307\310\f  \311\f\312 &)\207" [collection collection-path path secrets-empty-path secrets-service secrets-path secrets-collection-path dbus-call-method :session "SetAlias" :object-path secrets-interface-service alias] 10 (#$ . 8110)]) #@44 Delete ALIAS, referencing to a collection. (defalias 'secrets-delete-alias #[(alias) "\305\306 \n\307 \310\f&\207" [secrets-service secrets-path secrets-interface-service alias secrets-empty-path dbus-call-method :session "SetAlias" :object-path] 9 (#$ . 8557)]) #@96 Unlock collection labeled COLLECTION. If successful, return the object path of the collection. (defalias 'secrets-unlock-collection #[(collection) "\306!\211\211;?\206\n \230)\204)\307\310\311\f  \312\313\314 E&\211A@)!\210 )\207" [collection collection-path path secrets-empty-path secrets-service secrets-path secrets-collection-path secrets-prompt dbus-call-method :session "Unlock" :array :object-path secrets-interface-service x] 11 (#$ . 8828)]) #@39 Delete collection labeled COLLECTION. (defalias 'secrets-delete-collection #[(collection) "\306!\211\211;?\206\n \230)?\205\307\310\311\f \312%!)\207" [collection collection-path path secrets-empty-path secrets-service secrets-interface-collection secrets-collection-path secrets-prompt dbus-call-method :session "Delete"] 8 (#$ . 9296)]) #@68 Return the object paths of all available items in COLLECTION-PATH. (defalias 'secrets-get-items #[(collection-path) "\211;?\206 \n\230)?\205\305 \210\306\307 \f\310%\207" [collection-path path secrets-empty-path secrets-service secrets-interface-collection secrets-open-session dbus-get-property :session "Items"] 7 (#$ . 9649)]) #@56 Return all properties of item identified by ITEM-PATH. (defalias 'secrets-get-item-properties #[(item-path) "\211;?\206 \n\230)?\205\305\306 \f$\207" [item-path path secrets-empty-path secrets-service secrets-interface-item dbus-get-all-properties :session] 6 (#$ . 9992)]) #@59 Return property PROPERTY of item identified by ITEM-PATH. (defalias 'secrets-get-item-property #[(item-path property) "\211;?\206 \n\230)\206 ;??\205\306\307\f %\207" [item-path path secrets-empty-path property secrets-service secrets-interface-item dbus-get-property :session] 7 (#$ . 10279)]) #@49 Return a list of all item labels of COLLECTION. (defalias 'secrets-list-items #[(collection) "\304!\211\211;?\206\n \230)?\205\305\306\307 !\")\207" [collection collection-path path secrets-empty-path secrets-unlock-collection mapcar #[(item-path) "\301\302\"\207" [item-path secrets-get-item-property "Label"] 3] secrets-get-items] 5 (#$ . 10590)]) #@310 Search items in COLLECTION with ATTRIBUTES. ATTRIBUTES are key-value pairs. The keys are keyword symbols, starting with a colon. Example: (secrets-create-item "Tramp collection" "item" "geheim" :method "sudo" :user "joe" :host "remote-host") The object paths of the found items are returned as list. (defalias 'secrets-search-items #[(collection &rest attributes) "\306!\307\211\211\211;?\206\f \230)?\205wA:\203S\310@!\204.\311\312@\"\210\313\301\314\315@!\316\307O\211A@)E\317#\211AA)\211\202\320\321 \322 \203e\323 B\202f\324&\325\326\317\n@\n\211A@)\"\"+\207" [collection props result collection-path path secrets-empty-path secrets-unlock-collection nil keywordp error wrong-type-argument add-to-list :dict-entry symbol-name 1 append dbus-call-method :session "SearchItems" :array (:array :signature "{ss}") mapcar #[(item-path) "\301\302\"\207" [item-path secrets-get-item-property "Label"] 3] attributes x secrets-service secrets-interface-collection] 9 (#$ . 10955)]) #@353 Create a new item in COLLECTION with label ITEM and password PASSWORD. ATTRIBUTES are key-value pairs set for the created item. The keys are keyword symbols, starting with a colon. Example: (secrets-create-item "Tramp collection" "item" "geheim" :method "sudo" :user "joe" :host "remote-host") The object path of the created item is returned. (defalias 'secrets-create-item #[(collection item password &rest attributes) "\306 !\235?\205\240\307 !\310\211\211\211;?\206 \230)?\205\237 A:\203]\311 @!\2048\312\313 @\"\210\314\302\315\316 @!\317\310O \211!A@)E\320# \211!AA)\211 \202$\321\322\"\f#\323\320\324\315\325\326DE\315\327\326$DEE\n\205\203\315\330\326\320\331\n\"DEC\"\332\333%\334\335&!\257\310&\336 \211!A@)!\210 @+\207" [item collection props result collection-path path secrets-list-items secrets-unlock-collection nil keywordp error wrong-type-argument add-to-list :dict-entry symbol-name 1 append dbus-call-method :session "CreateItem" :array "Label" :variant "Type" "Attributes" (:array) :struct :object-path (:array :signature "y") dbus-string-to-byte-array secrets-prompt secrets-empty-path attributes x secrets-service secrets-interface-collection secrets-interface-item-type-generic secrets-session-path password] 15 (#$ . 11989)]) #@98 Return the object path of item labeled ITEM in COLLECTION. If there is no such item, return nil. (defalias 'secrets-item-path #[(collection item) "\302!\303\304\215)\207" [collection collection-path secrets-unlock-collection item-found (byte-code "\304!\305\211\205#\n@ \306 \307\"\230\203\310\311 \"\210\nA\211\204\n\305*\207" [collection-path item-path --dolist-tail-- item secrets-get-items nil secrets-get-item-property "Label" throw item-found] 5)] 2 (#$ . 13289)]) #@93 Return the secret of item labeled ITEM in COLLECTION. If there is no such item, return nil. (defalias 'secrets-get-secret #[(collection item) "\306 \"\211\211;?\206 \f\230)?\205&\307\310\311 \n\f\312\313 &AA@!)\207" [collection item item-path path secrets-empty-path secrets-service secrets-item-path dbus-byte-array-to-string dbus-call-method :session "GetSecret" :object-path secrets-interface-item secrets-session-path] 10 (#$ . 13777)]) #@135 Return the lookup attributes of item labeled ITEM in COLLECTION. If there is no such item, or the item has no attributes, return nil. (defalias 'secrets-get-attributes #[(collection item) ";\204\306\307 \"\211\211;?\206 \f\230)?\205'\310\311\312\313 \n \314%\")\207" [collection item item-path path secrets-empty-path secrets-service "default" secrets-item-path mapcar #[(attribute) "\302\303@P!\211A@)B\207" [attribute x intern ":"] 4] dbus-get-property :session "Attributes" secrets-interface-item] 9 (#$ . 14234)]) #@145 Return the value of ATTRIBUTE of item labeled ITEM in COLLECTION. If there is no such item, or the item doesn't own this attribute, return nil. (defalias 'secrets-get-attribute #[(collection item attribute) "\303\304 \n\"\"A\207" [attribute collection item assoc secrets-get-attributes] 5 (#$ . 14773)]) #@28 Delete ITEM in COLLECTION. (defalias 'secrets-delete-item #[(collection item) "\306 \"\211\211;?\206 \f\230)?\205\307\310\311 \n \312%!)\207" [collection item item-path path secrets-empty-path secrets-service secrets-item-path secrets-prompt dbus-call-method :session "Delete" secrets-interface-item] 8 (#$ . 15084)]) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [secrets-mode-hook variable-documentation put purecopy "Hook run when entering Secrets mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp secrets-mode-map definition-name secrets-mode] 5) (defvar secrets-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [secrets-mode-map variable-documentation put purecopy "Keymap for `secrets-mode'." boundp secrets-mode-syntax-table definition-name secrets-mode] 5) (defvar secrets-mode-syntax-table (make-syntax-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [secrets-mode-syntax-table variable-documentation put purecopy "Syntax table for `secrets-mode'." secrets-mode-abbrev-table definition-name secrets-mode] 5) (defvar secrets-mode-abbrev-table (progn (define-abbrev-table 'secrets-mode-abbrev-table nil) secrets-mode-abbrev-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [secrets-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `secrets-mode'." secrets-mode derived-mode-parent nil] 5) #@235 Major mode for presenting password entries retrieved by Security Service. In this mode, widgets represent the search results. \{secrets-mode-map} This mode runs the hook `secrets-mode-hook', as the final step during initialization. (defalias 'secrets-mode #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \315!\316 \"\210\317 \320\321#\210\306\322!\210\323\324\325!\204@\307\211\326 \210))\327\330!\207" [delay-mode-hooks major-mode mode-name secrets-mode-map secrets-mode-syntax-table secrets-mode-abbrev-table make-local-variable t kill-all-local-variables secrets-mode "Secrets" use-local-map set-syntax-table copy-keymap set-keymap-parent define-key "z" kill-this-buffer tree-widget-after-toggle-functions (secrets-tree-widget-after-toggle-function) called-interactively-p interactive erase-buffer run-mode-hooks secrets-mode-hook local-abbrev-table special-mode-map widget-keymap buffer-read-only inhibit-read-only] 5 (#$ . 16714) nil]) (byte-code "\301\302\303\304#\210\305\306!rq\210\307\216\302 \210+\301\207" [#1=#:temp-buffer put secrets-mode disabled t generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2))] 4) #@211 Display a list of collections from the Secret Service API. The collections are in tree view, that means they can be expanded to the corresponding secret items, which could also be expanded to their attributes. (defalias 'secrets-show-secrets #[nil "\204\301\302!\207r\303\304!q\210\305p!\210\306 \210\307 )\207" [secrets-enabled message "Secret Service not available" get-buffer-create "*Secrets*" switch-to-buffer-other-window secrets-mode secrets-show-collections] 2 (#$ . 17934) nil]) #@33 Show all available collections. (defalias 'secrets-show-collections #[nil "\304\305\306!\307 \210\310\311!\210\312 \313\211\205/ @\314\315\316\n\317\n\320BBBBB!\210 A\211\204\313,\207" [alias inhibit-read-only coll --dolist-tail-- t secrets-get-alias "default" erase-buffer tree-widget-set-theme "folder" secrets-list-collections nil widget-create tree-widget :tag :collection (:open nil :sample-face bold :expander secrets-expand-collection)] 8 (#$ . 18431)]) #@45 Expand items of collection shown as WIDGET. (defalias 'secrets-expand-collection #[(widget) "\302\303\"\304\305\306 !\")\207" [widget coll widget-get :collection mapcar #[(item) "\302\303\304 \305\306BBBBBBB\207" [item coll tree-widget :tag :collection :item (:open nil :sample-face bold :expander secrets-expand-item)] 8] secrets-list-items] 4 (#$ . 18907)]) #@57 Expand password and attributes of item shown as WIDGET. (defalias 'secrets-expand-item #[(widget) "\305\306\"\305\307\"\310 \n\"\311\312\313GT\314\315 \"B\"\316\317\313\320\321\322\323 \n\"\324\325\326\327\330\331\332\f\313GZ\333\"\334Q\257 \314\335 \",B\207" [widget coll item attributes padding widget-get :collection :item secrets-get-attributes apply max "password" mapcar #[(attribute) "\301@!G\207" [attribute symbol-name] 2] editable-field :tag :secret 42 :value secrets-get-secret :sample-face widget-button-pressed :size 0 :format "%{%t%}:" make-string 32 "%v\n" #[(attribute) "\304@!\305\306OA\307\310\n\311 \312\313\314\315\316\317\320 \nGZ\321\"\322Q\257 *\207" [attribute value name padding symbol-name 1 nil editable-field :tag :value :sample-face widget-documentation :size 0 :format "%{%t%}:" make-string 32 "%v\n"] 14]] 16 (#$ . 19277)]) #@46 Add a temporary widget to show the password. (defalias 'secrets-tree-widget-after-toggle-function #[(widget &rest ignore) "\303\304\"\305\211\203-\n@\306 \307\"\203&\310 !b\210\311\312!\210\313 \314\315\316\317%\210\nA\211\204 *\320 \207" [widget child --dolist-tail-- widget-get :children nil widget-member :secret widget-field-end widget-insert " " widget-create-child-and-convert push-button :notify secrets-tree-widget-show-password "Show password" widget-setup] 7 (#$ . 20149)]) #@45 Show password, and remove temporary widget. (defalias 'secrets-tree-widget-show-password #[(widget &rest ignore) "\302\303\"\304 \305\306#\210\307 \302 \310\"\"\210\311 )\207" [widget parent widget-get :parent widget-put :secret nil widget-default-value-set :value widget-setup] 5 (#$ . 20647)]) (byte-code "\306\307\310#\203*\311\307 \n \312\313&\210\311\307\f \314\315&\210\311\307\f \316\315&\210\317\320\321!\207" [secrets-service dbus-service-dbus dbus-path-dbus dbus-interface-dbus secrets-path secrets-interface-service dbus-ping :session 100 dbus-register-signal "NameOwnerChanged" #[(&rest args) "\203 \306\307 \"\210\n\310\211\211\207" [secrets-debug args secrets-empty-path secrets-session-path secrets-prompt-signal secrets-collection-paths message "Secret Service has changed: %S" nil] 4] "CollectionCreated" secrets-collection-handler "CollectionDeleted" t provide secrets secrets-enabled] 8)