....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.135.64.200
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/auth-source.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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\300\302!\210\300\303!\210\300\304!\210\305\306\307\"\210\305\310\307\"\210\305\311\307\"\210\305\312\307\"\210\305\313\307\"\210\305\314\307\"\210\305\315\307\"\210\305\316\317\"\210\305\320\321\"\210\305\322\321\"\210\305\323\321\"\210\305\324\321\"\210\305\325\321\"\210\305\326\321\"\210\305\327\330\"\210\305\331\330\"\210\305\332\330\"\210\305\333\330\"\210\305\334\335\336\337$\210\340\341\336\342\343\344\345\346&\210\347\350\351\352\353DD\354\343\355\356\357&\210\360\361\362\363!\"\210\360\364\365\363!\"\210\360\366\364\"\210\367\366\370\371#\210\372\363\373\364#\374\363\336\375\336$\207" [require json password-cache cl-lib eieio autoload secrets-create-item "secrets" secrets-delete-item secrets-get-alias secrets-get-attributes secrets-get-secret secrets-list-collections secrets-search-items rfc2104-hash "rfc2104" plstore-open "plstore" plstore-find plstore-put plstore-delete plstore-save plstore-get-file epg-make-context "epg" epg-context-set-passphrase-callback epg-decrypt-string epg-encrypt-string help-mode "help-mode" nil t custom-declare-group auth-source "Authentication sources." :version "23.1" :group gnus custom-declare-variable auth-source-cache-expiry funcall function #[0 "\300\207" [7200] 1] "How many seconds passwords are cached, or nil to disable\nexpiring.  Overrides `password-cache-expiry' through a\nlet-binding." "24.1" :type (choice (const :tag "Never" nil) (const :tag "All Day" 86400) (const :tag "2 Hours" 7200) (const :tag "30 Minutes" 1800) (integer :tag "Seconds")) defalias auth-source-backend-p eieio-make-class-predicate auth-source-backend auth-source-backend--eieio-childp eieio-make-child-predicate auth-source-backend-child-p make-obsolete "use (cl-typep ... \\='auth-source-backend) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((type :initarg :type :initform 'netrc :type symbol :custom symbol :documentation "The backend type.") (source :initarg :source :type string :custom string :documentation "The backend source.") (host :initarg :host :initform t :type t :custom string :documentation "The backend host.") (user :initarg :user :initform t :type t :custom string :documentation "The backend user.") (port :initarg :port :initform t :type t :custom string :documentation "The backend protocol.") (data :initarg :data :initform nil :documentation "Internal backend data.") (create-function :initarg :create-function :initform ignore :type function :custom function :documentation "The create function.") (search-function :initarg :search-function :initform ignore :type function :custom function :documentation "The search function."))] 8)
#@76 Create a new object of class type `auth-source-backend'.

(fn &rest SLOTS)
(defalias 'auth-source-backend #[128 "\300\301\302#\207" [apply make-instance auth-source-backend] 5 (#$ . 3073)])
(byte-code "\300\301\302\303#\300\207" [function-put auth-source-backend compiler-macro auth-source-backend--anon-cmacro] 4)
#@26 

(fn WHOLE &rest SLOTS)
(defalias 'auth-source-backend--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 3395)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable auth-source-protocols funcall function #[0 "\300\207" [((imap "imap" "imaps" "143" "993") (pop3 "pop3" "pop" "pop3s" "110" "995") (ssh "ssh" "22") (sftp "sftp" "115") (smtp "smtp" "25"))] 1] "List of authentication protocols and their names." :version "23.2" :type (repeat :tag "Authentication Protocols" (cons :tag "Protocol Entry" (symbol :tag "Protocol") (repeat :tag "Names" (string :tag "Name"))))] 8)
(defconst auth-source-protocols-customize (mapcar #[257 "\211\242\300\301\302!\226F\207" [const :tag symbol-name] 6 "\n\n(fn A)"] auth-source-protocols))
#@57 Defaults for creating token values.  Usually let-bound.
(defvar auth-source-creation-defaults nil (#$ . 4283))
#@55 Default prompts for token values.  Usually let-bound.
(defvar auth-source-creation-prompts nil (#$ . 4400))
(byte-code "\302\303\304\305#\210\306\307\310\311\312DD\313\314\315\316\317&\210\306\320\310\311\321DD\322\314\315\316\323\324\325\326\327\330\331\323\327\332\333\334\327\335\336\300!\2039@\202:\337F\340BBBBB\341BBFF&\210\306\342\310\311\343DD\344\314\315\316\345&\210\306\346\310\311\347DD\350\314\315\316\351&\210\306\352\310\311\353DD\354\314\355\316\326\327\356\323\357\360\361\362\363\364\331\327\365\366\367\326\327\370\371\372\323\327\373\374\331\327\375\376\323\327\375\377	BBBB\257\201@BBBBB\257\257\201ABBBBBBBBF&\210\306\201B\310\311\201CDD\201D\314\201E\316\201F&\207" [epa-file-auto-mode-alist-entry auth-source-protocols-customize make-obsolete auth-source-hide-passwords nil "Emacs 24.1" custom-declare-variable auth-source-save-behavior funcall function #[0 "\300\207" [ask] 1] "If set, auth-source will respect it for save behavior." :version "23.2" :type (choice :tag "auth-source new token save behavior" (const :tag "Always save" t) (const :tag "Never save" nil) (const :tag "Ask" ask)) auth-source-netrc-use-gpg-tokens #[0 "\300\207" [never] 1] "Set this to tell auth-source when to create GPG password\ntokens in netrc files.  It's either an alist or `never'.\nNote that if EPA/EPG is not available, this should NOT be used." choice (const :tag "Always use GPG password tokens" (t gpg)) (const :tag "Never use GPG password tokens" never) repeat :tag "Use a lookup list" list "Matcher" (const :tag "Match anything" t) const "The EPA encrypted file extensions" boundp "\\.gpg\\'" ((regexp :tag "Regular expression")) ((choice :tag "What to do" (const :tag "Save GPG-encrypted password tokens" gpg) (const :tag "Don't encrypt tokens" never))) auth-source-do-cache #[0 "\300\207" [t] 1] "Whether auth-source should cache information with `password-cache'." boolean auth-source-debug #[0 "\300\207" [nil] 1] "Whether auth-source should log debug messages.\n\nIf the value is nil, debug messages are not logged.\n\nIf the value is t, debug messages are logged with `message'.  In\nthat case, your authentication data will be in the clear (except\nfor passwords).\n\nIf the value is a function, debug messages are logged by calling\n that function using the same arguments as `message'." (choice :tag "auth-source debugging mode" (const :tag "Log using `message' to the *Messages* buffer" t) (const :tag "Log all trivia with `message' to the *Messages* buffer" trivia) (function :tag "Function that takes arguments like `message'") (const :tag "Don't log anything" nil)) auth-sources #[0 "\300\207" [("~/.authinfo" "~/.authinfo.gpg" "~/.netrc")] 1] "List of authentication sources.\nEach entry is the authentication type with optional properties.\nEntries are tried in the order in which they appear.\nSee Info node `(auth)Help for users' for details.\n\nIf an entry names a file with the \".gpg\" extension and you have\nEPA/EPG set up, the file will be encrypted and decrypted\nautomatically.  See Info node `(epa)Encrypting/decrypting gpg files'\nfor details.\n\nIt's best to customize this with `\\[customize-variable]' because the choices\ncan get pretty complex." "26.1" "Authentication Sources" (string :tag "Just a file") (const :tag "Default Secrets API Collection" default) (const :tag "Login Secrets API Collection" "secrets:Login") (const :tag "Temp Secrets API Collection" "secrets:session") (const :tag "Default internet Mac OS Keychain" macos-keychain-internet) (const :tag "Default generic Mac OS Keychain" macos-keychain-generic) "Source definition" (const :format #1="" :value :source) (choice :tag "Authentication backend choice" (string :tag "Authentication Source (file)") (list :tag "Secret Service API/KWallet/GNOME Keyring" (const :format #1# :value :secrets) (choice :tag "Collection to use" (string :tag "Collection name") (const :tag "Default" default) (const :tag "Login" "Login") (const :tag "Temporary" "session"))) (list :tag "Mac OS internet Keychain" (const :format #1# :value :macos-keychain-internet) (choice :tag "Collection to use" (string :tag "internet Keychain path") (const :tag "default" default))) (list :tag "Mac OS generic Keychain" (const :format #1# :value :macos-keychain-generic) (choice :tag "Collection to use" (string :tag "generic Keychain path") (const :tag "default" default)))) "Extra Parameters" :inline t "Extra parameter" (list :tag "Host" (const :format #1# :value :host) (choice :tag "Host (machine) choice" (const :tag "Any" t) (regexp :tag "Regular expression"))) "Protocol" (const :format #1# :value :port) (const :tag "Any" t) ((list :tag "User" :inline t (const :format #1# :value :user) (choice :tag "Personality/Username" (const :tag "Any" t) (string :tag "Name")))) ((sexp :tag "A data structure (external provider)")) auth-source-gpg-encrypt-to #[0 "\300\207" [t] 1] "List of recipient keys that `authinfo.gpg' encrypted to.\nIf the value is not a list, symmetric encryption will be used." "24.1" (choice (const :tag "Symmetric encryption" t) (repeat :tag "Recipient public keys" (string :tag "Recipient public key")))] 40)
#@18 

(fn &rest MSG)
(defalias 'auth-source-do-debug #[128 "\205\301\302\"\207" [auth-source-debug apply auth-source-do-warn] 4 (#$ . 9542)])
#@18 

(fn &rest MSG)
(defalias 'auth-source-do-trivia #[128 "\301=\204\f\302!\205\303\304\"\207" [auth-source-debug trivia functionp apply auth-source-do-warn] 4 (#$ . 9690)])
#@18 

(fn &rest MSG)
(defalias 'auth-source-do-warn #[128 "\301\302!\203\202\f\303\"\207" [auth-source-debug apply functionp message] 4 (#$ . 9874)])
#@256 Read one of CHOICES by `read-char-choice', or `read-char'.
`dropdown-list' support is disabled because it doesn't work reliably.
Only one of CHOICES will be returned.  The PROMPT is augmented
with "[a/b/c] " if CHOICES is (?a ?b ?c).

(fn PROMPT CHOICES)
(defalias 'auth-source-read-char-choice #[514 "\211\205D\300\301\302\211:\203!@\262\303\304\"B\262A\262\202	\211\237\266\203\"\305\306\307\310#\311QP\302\211>\204B\312\"\262\2022\266\203\207" [apply concat nil format "%c/" "[" substring 0 -1 "] " read-char-choice] 10 (#$ . 10033)])
#@330 List of auth-source parser functions.
Each function takes an entry from `auth-sources' as parameter and
returns a backend or nil if the entry is not supported.  Add a
parser function to this list with `add-hook'.  Searching for a
backend starts with the first element on the list and stops as
soon as a function returns non-nil.
(defvar auth-source-backend-parser-functions nil (#$ . 10600))
#@76 Create an auth-source-backend from an ENTRY in `auth-sources'.

(fn ENTRY)
(defalias 'auth-source-backend-parse #[257 "\300\301\"\211\204\302\303\"\210\304\305\306\307\310\311%\262\312\"\207" [run-hook-with-args-until-success auth-source-backend-parser-functions auth-source-do-warn "auth-source-backend-parse: invalid backend spec: %S" make-instance auth-source-backend :source "" :type ignore auth-source-backend-parse-parameters] 8 (#$ . 10998)])
#@14 

(fn ENTRY)
(defalias 'auth-source-backends-parser-file #[257 "\211;\203\n\300D\262\301\300\"\211;\203!\302!\303\232\203!\304!\202&\211\206&\305\211;\2031\302!\2062\305;\205q\211\306\232\203Q\307\300\310\311\312\313\314\315\316\317!&\202q\320\321\"\203e\307\300\310\322\312\323&\202q\307\300\310\324\312\325\314\326&	\207" [:source plist-get file-name-extension "gpg" file-name-sans-extension "" "plist" auth-source-backend :type plstore :search-function auth-source-plstore-search :create-function auth-source-plstore-create :data plstore-open member-ignore-case ("json") json auth-source-json-search netrc auth-source-netrc-search auth-source-netrc-create] 17 (#$ . 11461)])
(add-hook 'auth-source-backend-parser-functions 'auth-source-backends-parser-file)
#@14 

(fn ENTRY)
(defalias 'auth-source-backends-parser-macos-keychain #[257 "\211;\203\300\301\"\203\302\303\304\305\"DD\262\211;\203,\300\306\"\203,\302\307\304\305\"DD\262\211\310=\2035\311\262\211\312=\203>\313\262\314\302\"??\205\234\314\302\"<\205\234\314\211\302\"\307\"\204c\314\211\302\"\303\"\205\234\314\302\"\314\307\"\211\203s\312\202t\310\314\203~\307\202\303\"\2119\203\212\315!\262\316\317\320\"\302\321\322\323\324\325&	\266\204\207" [string-match "^macos-keychain-internet:\\(.+\\)" :source :macos-keychain-internet match-string 1 "^macos-keychain-generic:\\(.+\\)" :macos-keychain-generic macos-keychain-internet (:source (:macos-keychain-internet default)) macos-keychain-generic (:source (:macos-keychain-generic default)) plist-get symbol-name auth-source-backend format "Mac OS Keychain (%s)" :type :search-function auth-source-macos-keychain-search :create-function auth-source-macos-keychain-create] 15 (#$ . 12258)])
(add-hook 'auth-source-backend-parser-functions 'auth-source-backends-parser-macos-keychain)
#@14 

(fn ENTRY)
(defalias 'auth-source-backends-parser-secrets #[257 "\211;\203\301\302\"\203\303\304\305\306\"DD\262\211\307=\203\310\262\311\303\"??\205\210\311\303\"<\205\210\311\211\303\"\304\"??\205\210\312\313\314\315#\205\210\205\210\311\211\303\"\304\"\2119\203_\316\317!!\206]\320\262\321\313!\203w\322\323\324\"\303\325\313\326\327\330\331&	\202\206\332\333\"\210\322\323\334\"\303\335\325\336%\262\207" [secrets-enabled string-match "^secrets:\\(.+\\)" :source :secrets match-string 1 default (:source (:secrets default)) plist-get require secrets nil t secrets-get-alias symbol-name "Login" featurep auth-source-backend format "Secrets API (%s)" :type :search-function auth-source-secrets-search :create-function auth-source-secrets-create auth-source-do-warn "auth-source-backend-parse: no Secrets API, ignoring spec: %S" "Ignored Secrets API (%s)" "" ignore] 12 (#$ . 13336)])
(add-hook 'auth-source-backend-parser-functions 'auth-source-backends-parser-secrets)
#@154 Fill in the extra auth-source-backend parameters of ENTRY.
Using the plist ENTRY, get the :host, :port, and :user search
parameters.

(fn ENTRY BACKEND)
(defalias 'auth-source-backend-parse-parameters #[514 ";?\205\300\301\302\"\211\262\203\303\304#\210\301\305\"\211\262\203(\303\306#\210\301\307\"\211\262\2038\303\310#\210\266\207" [nil plist-get :host eieio-oset host :user user :port port] 8 (#$ . 14348)])
#@5695 Search or modify authentication backends according to SPEC.

This function parses `auth-sources' for matches of the SPEC
plist.  It can optionally create or update an authentication
token if requested.  A token is just a standard Emacs property
list with a :secret property that can be a function; all the
other properties will always hold scalar values.

Typically the :secret property, if present, contains a password.

Common search keys are :max, :host, :port, and :user.  In
addition, :create specifies if and how tokens will be created.
Finally, :type can specify which backend types you want to check.

A string value is always matched literally.  A symbol is matched
as its string value, literally.  All the SPEC values can be
single values (symbol or string) or lists thereof (in which case
any of the search terms matches).

:create t means to create a token if possible.

A new token will be created if no matching tokens were found.
The new token will have only the keys the backend requires.  For
the netrc backend, for instance, that's the user, host, and
port keys.

Here's an example:

(let ((auth-source-creation-defaults \='((user . "defaultUser")
                                        (A    . "default A"))))
  (auth-source-search :host "mine" :type \='netrc :max 1
                      :P "pppp" :Q "qqqq"
                      :create t))

which says:

"Search for any entry matching host `mine' in backends of type
 `netrc', maximum one result.

 Create a new entry if you found none.  The netrc backend will
 automatically require host, user, and port.  The host will be
 `mine'.  We prompt for the user with default `defaultUser' and
 for the port without a default.  We will not prompt for A, Q,
 or P.  The resulting token will only have keys user, host, and
 port."

:create \='(A B C) also means to create a token if possible.

The behavior is like :create t but if the list contains any
parameter, that parameter will be required in the resulting
token.  The value for that parameter will be obtained from the
search parameters or from user input.  If any queries are needed,
the alist `auth-source-creation-defaults' will be checked for the
default value.  If the user, host, or port are missing, the alist
`auth-source-creation-prompts' will be used to look up the
prompts IN THAT ORDER (so the `user' prompt will be queried first,
then `host', then `port', and finally `secret').  Each prompt string
can use %u, %h, and %p to show the user, host, and port.

Here's an example:

(let ((auth-source-creation-defaults \='((user . "defaultUser")
                                        (A    . "default A")))
       (auth-source-creation-prompts
        \='((password . "Enter IMAP password for %h:%p: "))))
  (auth-source-search :host \='("nonesuch" "twosuch") :type \='netrc :max 1
                      :P "pppp" :Q "qqqq"
                      :create \='(A B Q)))

which says:

"Search for any entry matching host `nonesuch'
 or `twosuch' in backends of type `netrc', maximum one result.

 Create a new entry if you found none.  The netrc backend will
 automatically require host, user, and port.  The host will be
 `nonesuch' and Q will be `qqqq'.  We prompt for the password
 with the shown prompt.  We will not prompt for Q.  The resulting
 token will have keys user, host, port, A, B, and Q.  It will not
 have P with any value, even though P is used in the search to
 find only entries that have P set to `pppp'."

When multiple values are specified in the search parameter, the
user is prompted for which one.  So :host (X Y Z) would ask the
user to choose between X, Y, and Z.

This creation can fail if the search was not specific enough to
create a new token (it's up to the backend to decide that).  You
should `catch' the backend-specific error as usual.  Some
backends (netrc, at least) will prompt the user rather than throw
an error.

:require (A B C) means that only results that contain those
tokens will be returned.  Thus for instance requiring :secret
will ensure that any results will actually have a :secret
property.

:delete t means to delete any found entries.  nil by default.
Use `auth-source-delete' in ELisp code instead of calling
`auth-source-search' directly with this parameter.

:type (X Y Z) will check only those backend types.  `netrc' and
`secrets' are the only ones supported right now.

:max N means to try to return at most N items (defaults to 1).
More than N items may be returned, depending on the search and
the backend.

When :max is 0 the function will return just t or nil to indicate
if any matches were found.

:host (X Y Z) means to match only hosts X, Y, or Z according to
the match rules above.  Defaults to t.

:user (X Y Z) means to match only users X, Y, or Z according to
the match rules above.  Defaults to t.

:port (P Q R) means to match only protocols P, Q, or R.
Defaults to t.

:K (V1 V2 V3) for any other key K will match values V1, V2, or
V3 (note the match rules above).

The return value is a list with at most :max tokens.  Each token
is a plist with keys :backend :host :port :user, plus any other
keys provided by the backend (notably :secret).  But note the
exception for :max 0, which see above.

The token can hold a :save-function key.  If you call that, the
user will be prompted to save the data to the backend.  You can't
request that this should happen right after creation, because
`auth-source-search' has no way of knowing if the token is
actually useful.  So the caller must arrange to call this function.

The token's :secret key can hold a function.  In that case you
must call it to obtain the actual value.

(fn &rest SPEC &key MAX REQUIRE CREATE DELETE &allow-other-keys)
(defalias 'auth-source-search #[128 "\302\303\"A@\302\304\"A@\302\305\"A@\302\306\"A@\307\310\"\206!\311\312\313G\314W\203F8>\204>8B\262\315\\\262\202'\211\237\266\203\316	!\317\n!\314\203f	\203f\320\321G#\210\2021\322=\204\201<\204\201\323\324\325\322=\f<D\314$\210	<\204\220\323\326\327\fC\314$\210\330!\262\211\203\342\211@\3312\332\211\205\327\211@\3321\313\333\334\"\335\"\"?\205\307\336\"\262\337\331\314\"0\202\317\210\202\320\210A\266\202\202\243\2620\210A\266\202\202\230\210\340\341G#\210\342
\314\f&\262\320\343G$\210\203'\204'\342
\f\f&\262\320\344G$\210	\2031\345\f\"\210\313U\203=??\202>\266\207\207" [auth-sources auth-source-do-cache plist-member :max :require :create :delete mapcar auth-source-backend-parse 1 (:require :create :delete :max) 0 nil 2 auth-source-remembered-p auth-source-recall auth-source-do-debug "auth-source-search: found %d CACHED results matching %S" t cl--assertion-failed (or (eq t create) (listp create)) "Invalid auth-source :create parameter (must be t or a list): %s %s" (listp require) "Invalid auth-source :require parameter (must be a list): %s" copy-sequence --cl-block-nil-- (invalid-slot-name) auth-source-search-collection plist-get slot-value delq throw auth-source-do-trivia "auth-source-search: found %d backends matching %S" auth-source-search-backends "auth-source-search: found %d results (max %d) matching %S" "auth-source-search: CREATED %d results (max %d) matching %S" auth-source-remember] 21 (#$ . 14789)])
#@48 

(fn BACKENDS SPEC MAX CREATE DELETE REQUIRE)
(defalias 'auth-source-search-backends #[1542 "\300U\203\n\301\202\302\211\203_\211@GV\203X\303\304\305\"\306\307\304\310\"\311\n\312
\313\314&\211\203W\315\316G\304\310\"\304\317\"&\210\320\"\262\210A\266\202\202\210\207" [0 1 nil apply slot-value search-function :backend :type type :max :require :create :delete auth-source-do-trivia "auth-source-search-backend: got %d (max %d) in %s:%s matching %S" source append] 25 (#$ . 22079)])
#@235 Delete entries from the authentication backends according to SPEC.
Calls `auth-source-search' with the :delete property in SPEC set to t.
The backend may not actually delete the entries.

Returns the deleted entries.

(fn &rest SPEC)
(defalias 'auth-source-delete #[128 "\300\301\302\303\304#\"\207" [apply auth-source-search plist-put :delete t] 7 (#$ . 22611)])
#@96 Return t if VALUE is t or COLLECTION is t or COLLECTION contains VALUE.

(fn COLLECTION VALUE)
(defalias 'auth-source-search-collection #[514 ":\204\300=\204C\262\300=\206$\211\300=\206$\232\206$\211\235\207" [t] 4 (#$ . 22982)])
(defvar auth-source-netrc-cache nil)
#@37 Forget all cached auth-source data.
(defalias 'auth-source-forget-all-cached #[0 "\302\303\"\210\304\211\207" [password-data auth-source-netrc-cache maphash #[514 "\242\300=\205\n\301!\207" [auth-source password-cache-remove] 4 "\n\n(fn KEY PASSWORD)"] nil] 3 (#$ . 23270) nil])
#@63 Format SPEC entry to put it in the password cache.

(fn SPEC)
(defalias 'auth-source-format-cache-entry #[257 "\300B\207" [auth-source] 3 (#$ . 23560)])
#@58 Remember FOUND search results for SPEC.

(fn SPEC FOUND)
(defalias 'auth-source-remember #[514 "\302\303!\")\207" [auth-source-cache-expiry password-cache-expiry password-cache-add auth-source-format-cache-entry] 5 (#$ . 23720)])
#@50 Recall FOUND search results for SPEC.

(fn SPEC)
(defalias 'auth-source-recall #[257 "\300\301!!\207" [password-read-from-cache auth-source-format-cache-entry] 4 (#$ . 23960)])
#@41 Check if SPEC is remembered.

(fn SPEC)
(defalias 'auth-source-remembered-p #[257 "\300\301!!\207" [password-in-cache-p auth-source-format-cache-entry] 4 (#$ . 24144)])
#@162 Forget any cached data matching SPEC exactly.

This is the same SPEC you passed to `auth-source-search'.
Returns t or nil for forgotten or not found.

(fn SPEC)
(defalias 'auth-source-forget #[257 "\300\301!!\207" [password-cache-remove auth-source-format-cache-entry] 4 (#$ . 24321)])
#@317 Forget any cached data matching SPEC.  Returns forgotten count.

This is not a full `auth-source-search' spec but works similarly.
For instance, (:host "myhost" "yourhost") would find all the
cached data that was found with a search for those two hosts,
while (:host t) would find all host entries.

(fn &rest SPEC)
(defalias 'auth-source-forget+ #[128 "\301C\302\303\304\305\306\307\"\310\"\311\312%\"\210\211\242\207" [password-data 0 maphash make-byte-code 514 "\242\302=\205\303\300A\"\205\304!\210\301\211\242T\240\207" vconcat vector [auth-source auth-source-specmatchp password-cache-remove] 5 "\n\n(fn KEY PASSWORD)"] 10 (#$ . 24615)])
#@20 

(fn SPEC STORED)
(defalias 'auth-source-specmatchp #[514 "\300G\301W\2038B\262\302\\\262\202\211\237\266\203\3032E\211\211\205B\211@\304\305\"\305\"\"\204;\306\303\307\"\210A\266\202\202\"\2620\307=?\207" [0 nil 2 --cl-block-nil-- auth-source-search-collection plist-get throw no] 10 (#$ . 25277)])
#@90 Pick the first secret found from applying SPEC to `auth-source-search'.

(fn &rest SPEC)
(defalias 'auth-source-pick-first-password #[128 "\300\301\302\303\304#\"@\305\306\"\307!\203\211 \202\211\207" [apply auth-source-search plist-put :max 1 plist-get :secret functionp] 7 (#$ . 25608)])
#@86 Format PROMPT using %x (for any character x) specifiers in ALIST.

(fn PROMPT ALIST)
(defalias 'auth-source-format-prompt #[514 "\211\211\203-\211@\211@A@\203$\211\203$\300\301\302\"\301\303\"\304\305%\262\266A\266\202\202\210\207" [replace-regexp-in-string format "%%%c" "%s" nil t] 12 (#$ . 25911)])
#@15 

(fn VALUES)
(defalias 'auth-source-ensure-strings #[257 "\211\300=\203\207\211<\204\211C\262\301\302\"\207" [t mapcar #[257 "\211\247\203\n\300\301\"\207\207" [format "%s"] 4 "\n\n(fn VALUE)"]] 4 (#$ . 26234)])
#@22 

(fn ALIST KEY VAL)
(defalias 'auth-source--aput-1 #[771 "\300\211:\203@@\232\204\211A\262\242B\262\202B\204'\2028\237@@\232\2036A\2027\244B\207" [nil] 9 (#$ . 26461)])
#@20 

(fn VAR KEY VAL)
(defalias 'auth-source--aput '(macro . #[771 "\300\301FE\207" [setq auth-source--aput-1] 9 (#$ . 26663)]))
#@18 

(fn ALIST KEY)
(defalias 'auth-source--aget #[514 "\300\"A\207" [assoc] 5 (#$ . 26799)])
#@187 Parse FILE and return a list of all entries in the file.
Note that the MAX parameter is used so we can exit the parse early.

(fn &key FILE MAX HOST USER PORT REQUIRE &allow-other-keys)
(defalias 'auth-source-netrc-parse #[128 "\303\304\"A@\303\305\"A@\303\306\"A@\303\307\"A@\303\310\"A@C\303\311\"A@<\203/\202$\312!\205$\313\242!\240\210\314\315!r\211q\210\316\317\320\321\322!\323\"\324$\216\206U\325\317\326	\"\243\327\330\"\327\331\"\316\332\333\321\322%\334\"\335\336%\337\340!\203\233\341!\3428\262\232\203\233\343\344\"\210 c\210\202\303\345!\210\346\330\341!\3428\262\331\347\350 !\316\317\351\321\322!\352\"\324$\262F#eb\210\353\"\337\211A\262\242\211\262\203\341\211\237B\262\202\314\266\317W\203	\203\354\302p\"\204\371\355\302!\210	<\203	\356\357\360	#!\203\361ed\337\362%\210\363\364#\210\211\237\266\207*\262\207" [auth-source-netrc-cache auth-source-gpg-encrypt-to epa-file-encrypt-to plist-member :file :max :host :user :port :require file-exists-p auth-source-ensure-strings generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 5000 assoc plist-get :mtime :secret 257 "\211\205|\305\301\306\307\"\206\306\310\"\206\311\"\205|\305\302\306\312\"\2061\306\313\"\2061\306\314\"\2061\311\"\205|\305\303\242\306\315\"\206G\306\316\"\206G\311\"\205|\304?\206|\317C\300\"@\304\320\311:\203s@\262\321\"\211\262\203sA\262\202Y\211\205x\311\266\203\262\207" [auth-source-search-collection auth-source--aget "machine" "host" t "login" "account" "user" "port" "protocol" auth-source-netrc-normalize nil plist-get] 8 "\n\n(fn ALIST)" nil functionp file-attributes 5 auth-source-do-trivia "auth-source-netrc-parse: using CACHED file data for %s" insert-file-contents auth-source--aput-1 auth-source--obfuscate buffer-string "\301\300!\207" [auth-source--deobfuscate] auth-source-netrc-parse-entries local-variable-p make-local-variable y-or-n-p format "Save file %s? (%d deletions)" write-region silent auth-source-do-debug "auth-source-netrc-parse: modified %d lines in %s"] 28 (#$ . 26899)])
#@65 Advance to the next interesting position in the current buffer.
(defalias 'auth-source-netrc-parse-next-interesting #[0 "\300\301w\210\301f\302=\204l\205m?\205\303y\210\300\301w\210\202\207" ["	 " nil 35 1] 2 (#$ . 29095)])
#@114 Say whether the next think in the buffer is a token (password, etc).
Match data is altered to reflect the token.
(defalias 'auth-source-netrc-looking-at-token #[0 "\300\301!\206\300\302!\206\300\303!\207" [looking-at "'\\([^']*\\)'" "\"\\([^\"]*\\)\"" "\\([^ 	\n]+\\)"] 2 (#$ . 29334)])
#@41 Read one thing from the current buffer.
(defalias 'auth-source-netrc-parse-one #[0 "\300 \210\301 \205\302\303!Gu\210\304\305!\300 \210\207" [auth-source-netrc-parse-next-interesting auth-source-netrc-looking-at-token match-string 0 match-string-no-properties 1] 2 (#$ . 29631)])
#@22 

(fn &optional POS)
(defalias 'auth-source-current-line #[256 "\212\211\203\211b\210n\203\300\202\301\302\300`\"\\)\207" [1 0 count-lines] 5 (#$ . 29919)])
(put 'auth-source-current-line 'byte-optimizer 'byte-compile-inline-expand)
#@90 Parse up to MAX netrc entries, passed by CHECK, from the current buffer.

(fn CHECK MAX)
(defalias 'auth-source-netrc-parse-entries #[514 "\300\301\211\211\211\211\302 \211\262\203w\303\232\262\203/\211\204!\304\232\203/	$\262\301\262\211\203=\304\305BB\262\202\302 \211\262\203\304\232\203m\306\307\310\301\212\211\203W\211b\210n\203_\311\202`\312\313\311`\"\\)\262#\210\202BB\262\202\203\206	$\262\237\207" [#[1028 "\203GV\203!\203B\262\207" [] 6 "\n\n(fn MAX CHECK ALIST ALL)"] nil auth-source-netrc-parse-one "default" "machine" t error "%s: Unexpected `machine' token at line %d" "auth-source-netrc-parse-entries" 1 0 count-lines] 16 (#$ . 30164)])
(defvar auth-source-passphrase-alist nil)
#@28 

(fn CONTEXT KEY-ID FILE)
(defalias 'auth-source-token-passphrase-callback-function #[771 "\301!\302\"\303\304\305A!\203A \202A!\206E\204(C\262B\306\307\310\"\311\"\262\304!\312\313\314\315\316!\317\"\320$\262\241\210\211\207" [auth-source-passphrase-alist file-truename assoc nil copy-sequence functionp read-passwd format "Passphrase for %s tokens: " t make-byte-code 0 "\300\207" vconcat vector [] 1] 14 (#$ . 30931)])
#@133 Pass either the decoded SECRET or the gpg:BASE64DATA version.
FILE is the file from which we obtained this token.

(fn SECRET FILE)
(defalias 'auth-source-epa-extract-gpg-token #[514 "\300\301\"\203\302\303\304\"!\262\305\306!\307\310B\"\210\311\"\207" [string-match "^gpg:\\(.+\\)" base64-decode-string match-string 1 epg-make-context OpenPGP epg-context-set-passphrase-callback auth-source-token-passphrase-callback-function epg-decrypt-string] 7 (#$ . 31385)])
#@20 

(fn SECRET FILE)
(defalias 'auth-source-epa-make-gpg-token #[514 "\302\303!\304\211\305!	>\204\306\307\310D\"\210\211\311\312I\266\313\314B\"\210\315\304#\262\316\317!r\211q\210\320\321\322\323\324!\325\"\326$\216c\210\327ed\312#\210\330\331ed\"P*\262)\207" [pp-escape-newlines cl-struct-epg-context-tags epg-make-context OpenPGP nil type-of signal wrong-type-argument epg-context 4 t epg-context-set-passphrase-callback auth-source-token-passphrase-callback-function epg-encrypt-string generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 base64-encode-region "gpg:" buffer-substring-no-properties] 12 (#$ . 31864)])
#@15 

(fn SYMBOL)
(defalias 'auth-source--symbol-keyword #[257 "\300\301\302\"!\207" [intern format ":%s"] 5 (#$ . 32576)])
#@23 

(fn ALIST FILENAME)
(defalias 'auth-source-netrc-normalize #[514 "\300\301\302\303\304\305!\306\"\307\310%\"\207" [mapcar make-byte-code 257 "\301\211\211A\262\242\211\262\203n\211@A\302\267\202(\303\202)\304\202)\305\202)\306\202)\262\306\232\203`\307!\301C\310\311\"\203N\211\312\313\314\315\316\300\"\317\"\320\321%\240\210\312\322\323\315\316\"\324\"\325$\266\202\262\326\327!#\262\266\202\207" vconcat vector [nil #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("machine" 24 "login" 28 "account" 28 "protocol" 32 "password" 36)) "host" "user" "port" "secret" auth-source--obfuscate string-match "^gpg:" make-byte-code 257 "\302\300\"\301\303\240\210\207" vconcat vector [auth-source-epa-extract-gpg-token nil] 4 "\n\n(fn VAL)" 0 "\301\242\203\f\301\242\302\300!!\207\302\300!\207" [auth-source--deobfuscate] 3 plist-put auth-source--symbol-keyword] 15 "\n\n(fn ENTRY)"] 9 (#$ . 32703)])
(defvar auth-source--session-nonce nil)
#@15 

(fn STRING)
(defalias 'auth-source--obfuscate #[257 "\204\"\301\302\303\304S\211\262\305Y\203\306\307!B\262\202\211\237\266\202\"\310\311!\203Z\312 \203Z\313\314 !@\315\316\311\211A\262\242\317\320\321\"\"\322\320\323\"D\317\324	\325\"\320	\326\"\"$\327#\207\330\331\"\207" [auth-source--session-nonce apply string 16 nil 0 random 128 fboundp gnutls-symmetric-encrypt gnutls-available-p last gnutls-ciphers mapconcat base64-encode-string auth-source--pad plist-get :cipher-keysize iv-auto :cipher-ivsize encode-coding-string utf-8 :cipher-blocksize "-" mapcar 1-] 13 (#$ . 33722)])
#@57 Pad string S to a modulo of LENGTH.

(fn STRING LENGTH)
(defalias 'auth-source--pad #[514 "\211\300G\"Z\301\211\"P\207" [mod make-string] 7 (#$ . 34335)])
#@49 Remove PKCS#7 padding from STRING.

(fn STRING)
(defalias 'auth-source--unpad #[257 "\300\301G\211GSHZ#\207" [substring 0] 7 (#$ . 34500)])
#@13 

(fn DATA)
(defalias 'auth-source--deobfuscate #[257 "\301\302!\2036\303 \2036\304\305 !@\306\307\"\310\311\312\211A\262\242\313\314\315\"\"\316A@!\316@!$@!\317\"\207\320\321\322\323\"\"\207" [auth-source--session-nonce fboundp gnutls-symmetric-encrypt gnutls-available-p last gnutls-ciphers split-string "-" decode-coding-string auth-source--unpad gnutls-symmetric-decrypt auth-source--pad plist-get :cipher-keysize base64-decode-string utf-8 apply string mapcar 1+] 12 (#$ . 34649)])
#@203 Given a property list SPEC, return search matches from the :backend.
See `auth-source-search' for details on SPEC.

(fn &rest SPEC &key BACKEND REQUIRE CREATE TYPE MAX HOST USER PORT &allow-other-keys)
(defalias 'auth-source-netrc-search #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\203S\311	\312\"=\204S\313\314\315?\311
\312\"=D\316$\210\317\320\305\302\321\311\322\"\306\206h\323\307\f\206o\323\310
\206v\323&\f\311\n\322\"\"\203\236\211\204\236\324\325\n\326\"\"\206\234\324\327\330\f\303\316#\"\262\211\262\207" [plist-member :backend :require :create :type :max :host :user :port eieio-oref type cl--assertion-failed (or (null type) (eq type (oref backend type))) "Invalid netrc search: %s %s" nil auth-source-netrc-normalize auth-source-netrc-parse :file source t apply slot-value create-function auth-source-netrc-search plist-put] 23 (#$ . 35156)])
#@10 

(fn V)
(defalias 'auth-source-netrc-element-or-first #[257 "\211<\203\211@\207\207" [] 2 (#$ . 36125)])
#@67 

(fn &rest SPEC &key BACKEND HOST PORT CREATE &allow-other-keys)
(defalias 'auth-source-netrc-create #[128 "\303\304\"A@\303\305\"A@\303\306\"A@\303\307\"A@\310\311=?\205!\312\313\314\305\306	&@\315\"\316\317\"\320C\321\211\211\203m\211@\322\323!\"\211\203e\211\311=\203W\321\202X\211\211\203d\324#\262\210\210A\266\202\202<\210\211\203\264\211@\323!\325G\321W\203\2248B\262\326\\\262\202~\211\237\266\203>\203\253\324\322\"#\262\266A\266\202\202p\210\211\203p\211@\327\"\330!\206\315\322	\323!\"C\327\"\211\204\341\331=\203\341\332 \202\342\211\331\330\327\n\331\"!\206\366\322\333\"\206\366\334B\335\330\327\335\"!\206\322	\305\"\206\336B\337\330\327\f\337\"!\206 \322\n\306\"\206 \340BE\327	\"\206E\341\267\202@\342\202E\343\202E\344\202E\345\202E\346\347\"\350\351\327\331\"D\352\327\335\"D\353\327\337\"DE\"\211\242\206\354=\203\345\346\355\"\n\356=\203y\356\202\257\n<\203\256\357\n!\321\211\203\251\211A\262\242\262@\311=\204\237\360@\"\203\203A\262\321\262\202\203\266\202\202\257\356\361!\206\271\362!\204\321\363!\203\307\364\202\310\356\262D\nB\364=\203\337\365\"\202\340\211\266\203\202;\203\366\360\367\"\203\370\325\211\224#\371\372R\202\373\374R\321\211$\202\361!\240\210\242\203E\375\n\323\n!\n\354=\203?\242\376\325\377\201@\201A!\201B\"\314$\262\202B\242#\262\n\242;\203g\325\242GW\203g\201C\f\211\242\f#P\240\266\266A\266\202\202\266\210\375\201D\242\376\325\201E\201@\201A\"\201F\"\201G$\266\202#\210\211C\266\210\207" [auth-source-creation-defaults auth-source-creation-prompts auth-source-netrc-use-gpg-tokens plist-member :backend :host :port :create (host user port secret) t auth-source-search :max 1 append eieio-oref source #1="" nil plist-get auth-source--symbol-keyword auth-source--aput-1 0 2 auth-source--aget auth-source-netrc-element-or-first user user-login-name :user "[any user]" host "[any host]" port "[any port]" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (secret 304 user 308 host 312 port 316)) "%p password for %u@%h: " "%p user name for %h: " "%p host name for user %u: " "%p port for %u@%h: " format "Enter %s (%%u@%%h:%%p): " auth-source-format-prompt 117 104 112 secret "Use GPG password tokens in %s?" never copy-sequence string-match eval read-passwd y-or-n-p gpg auth-source-epa-make-gpg-token read-string ": *\\'" substring " (default " "): " "(default " ") " plist-put make-byte-code "\300\207" vconcat vector [] #[771 "\300\301\242G\302U\203\303\202\304\305\267\202%\306\202(\307\202(\310\202(\311\202(\312!\313\314\242\"\203:\300\315\242\"\202<\242$\207" [format "%s%s %s" 0 #1# " " #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (user 21 host 25 secret 29 port 33)) "login" "machine" "password" "port" symbol-name string-match "[\"# ]" "%S"] 10 "\n\n(fn ADD R DATA)"] :save-function "\302\300\301\"\207" [auth-source-netrc-saver] 3] 32 (#$ . 36239)])
#@171 Save a line ADD in FILE, prompting along the way.
Respects `auth-source-save-behavior'.  Uses
`auth-source-netrc-cache' to avoid prompting more than once.

(fn FILE ADD)
(defalias 'auth-source-netrc-saver #[514 "\306\307\310\311\312\313%#\314\"\211\203\315\316\"\202\"\317\320!r\211q\210\321\322\323\324\325!\326\"\327$\216\330!\2039\331!\210	\203O\332\302p\"\204H\333\302!\210	<\203O	eb\210\306\334\"\335=?\336\337\204\324\340\341\"\262\211\342\267\202]\343\262\202]\212\fr\344!q\210p\345 \210\337\211>\343\211?\343@A\346 \210\347\350!\210+\211B\351\352!\210Bq\210\353 \210\354!\210)\266)\202]\355\262\343\262\202]\355\262\343\262\356\303\337\"\210\202]\357\360	\"\262\202]\202]\361!\203\340\362\361!!\210\204\347\355\262\322GW\203n\204\366\363c\210\363\261\210\364ed\337\365%\210\366	\367\"\210\370\371\n\"\210\372\373\n\"\210\266*\210\374\375#\211\207" [auth-source-netrc-cache auth-source-gpg-encrypt-to epa-file-encrypt-to auth-source-save-behavior default-directory buffer-read-only format "%s %s" rfc2104-hash md5 64 16 assoc auth-source-do-trivia "auth-source-netrc-saver: found previous run for key %s, returning" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 file-exists-p insert-file-contents local-variable-p make-local-variable "Save auth info to file %s? " ask "*auth-source Help*" nil auth-source-read-char-choice (121 110 78 101 63) #s(hash-table size 5 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (121 109 63 115 110 176 78 185 101 199)) t get-buffer-create kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook princ "(y)es, save\n(n)o but use the info\n(N)o and don't ask to save again\n(e)dit the line\n(?) for help as you can see.\n" help-mode internal-temp-output-buffer-show "" customize-save-variable read-string "Line to add: " get-buffer-window delete-window "\n" write-region silent set-file-modes 384 auth-source-do-debug "auth-source-netrc-create: wrote 1 new line to %s" message "Saved new authentication information to %s" auth-source--aput-1 "ran" buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only standard-output] 16 (#$ . 39377)])
#@486 Convert a PATTERN with lists to a list of string patterns.

auth-source patterns can have values of the form :foo ("bar"
"qux"), which means to match any secret with :foo equal to
"bar" or :foo equal to "qux".  The secrets backend supports
only string values for patterns, so this routine returns a list
of patterns that is equivalent to the single original PATTERN
when interpreted such that if a secret matches any pattern in the
list, it matches the original PATTERN.

(fn PATTERN)
(defalias 'auth-source-secrets-listify-pattern #[257 "\211\204\300\207\211A\262\242\211A\262\242\301!;\203!DC\2021\302\303\304\305\306\307!\310\"\311\312%\"\211\313\211:\203h@\262\313\211:\203X@\262\314\"B\262A\262\202@\211\237\266\203\237\244\262A\262\2024\211\237\266\203\207" [(nil) auth-source-secrets-listify-pattern mapcar make-byte-code 257 "\300D\207" vconcat vector [] 3 "\n\n(fn V)" nil append] 14 (#$ . 41666)])
#@1093 Search the Secrets API; spec is like `auth-source'.

The :label key specifies the item's label.  It is the only key
that can specify a substring.  Any :label value besides a string
will allow any label.

All other search keys must match exactly.  If you need substring
matching, do a wider search and narrow it down yourself.

You'll get back all the properties of the token as a plist.

Here's an example that looks for the first item in the `Login'
Secrets collection:

 (let ((auth-sources \='("secrets:Login")))
    (auth-source-search :max 1))

Here's another that looks for the first item in the `Login'
Secrets collection whose label contains `gnus':

 (let ((auth-sources \='("secrets:Login")))
    (auth-source-search :max 1 :label "gnus"))

And this one looks for the first item in the `Login' Secrets
collection that's a Google Chrome entry for the git.gnus.org site
authentication tokens:

 (let ((auth-sources \='("secrets:Login")))
    (auth-source-search :max 1 :signon_realm "https://git.gnus.org/Git"))

(fn &rest SPEC &key BACKEND CREATE DELETE LABEL MAX &allow-other-keys)
(defalias 'auth-source-secrets-search #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\203)\306\307\310\311\211$\210\312\313\"\2062\314\315\316	G\311W\203W\f8>\204O\f8B\262\317\\\262\2028\211\237\266\203\320\321\322\323\324\325\326\327\330!\331\"\332\333%\"\"!\334\322\335\"!\311\211:\203\275@\262\321\336\n#\311\211:\203\255@\262
;\203\241\337\"\203\246B\262A\262\202\212\211\237\266\203\237\244\262A\262\202y\211\237\266\203\340\211GZ\"\323\324\325\341\327\330
!\342\"\343\344%\"\323\324\325\345\327\330	!\346\"\347\350%\"
\203	\211\204	\321\351\352\"\"\206\321\353\354\302\311#\"\262\266\211\207" [plist-member :backend :create :delete :label :max cl--assertion-failed (not delete) "The Secrets API auth-source backend doesn't support deletion yet" nil eieio-oref source 5000 (:create :delete :max :backend :label :require :type) 0 2 auth-source-secrets-listify-pattern apply append mapcar make-byte-code 257 "\301\300\"?\206\301\300\"\302=?\205\211\301\300\"D\207" vconcat vector [plist-get t] 5 "\n\n(fn K)" delete-dups (:host :login :port :secret) secrets-search-items string-match butlast "\301\302\303\300\"\304\305\306\307\310!\311\"\312$\262D\313\301\314\315\316\300\"\"\"\"\207" [append :secret secrets-get-secret make-byte-code 0 "\300\207" vconcat vector #1=[] 1 apply mapcar #[257 "\211@AD\207" #1# 3 "\n\n(fn ENTRY)"] secrets-get-attributes] 10 "\n\n(fn ITEM)" "\301\302\301\303\304\305\306\307\310	!\311\"\312\313%\300\"\"\"\207" [append apply mapcar make-byte-code 257 "\301\300\"?\205\211\302D\207" vconcat vector [plist-get nil] 4 "\n\n(fn REQ)"] 11 "\n\n(fn PLIST)" slot-value create-function auth-source-secrets-search plist-put] 22 (#$ . 42619)])
#@67 

(fn &rest SPEC &key BACKEND HOST PORT CREATE &allow-other-keys)
(defalias 'auth-source-secrets-create #[128 "\302\303\"A@\302\304\"A@\302\305\"A@\302\306\"A@\307\310=?\205!\311\312\313\304\305	&@\314\"\315\316\"\317C\317\211\211\203m\211@\320\321!\"\211\203e\211\310=\203W\317\202X\211\211\203d\322#\262\210\210A\266\202\202<\210\211\203\264\211@\321!\323G\317W\203\2248B\262\324\\\262\202~\211\237\266\203>\203\253\322\320\"#\262\266A\266\202\202p\210\211\203@\211@\325\"\326!\206\315\320	\321!\"\325\"\211\204\340\327=\203\340\330 \202\211\204\331=\203\332\333\326\325\n\327\"!\206\373\320\334\"\326\325\335\"!\206\n\320	\304\"#\202\211\327\326\325\n\327\"!\206#\320\334\"\206#\336B\335\326\325\335\"!\2068\320	\304\"\2068\337B\340\326\325\f\340\"!\206M\320\n\305\"\206M\341B\331\326\325
\331\"!\206b\320\342\"\206b\343BF\325	\"\206\213\344\267\202\206\345\202\213\346\202\213\347\202\213\350\202\213\351\202\213\332\352\"\353\354\325\327\"D\355\325\335\"D\356\325\340\"DE\"\206\346\357=\203\272\360!\206\346\361!\202\346;\203\343\362\363\364\"\203\325\365\323\211\224#\366\367R\202\333\370\371R\317\211$\202\346\360!\262\203\372\n\321\n!\n\357=\203\f\373\323\374\375\376!\377\"\313$\262\202#\262\n;\2037\323GW\2037\201@>\2047\314
\242\321!	D\"\240\210\266A\266\202\202\266\210\372\201A\320\342\"\320\201B\"\201C!\203`\211 \202a\211\373\323\201D\375\376		$\201E\"\201F$\266\204#\210\211C\266\210\207" [auth-source-creation-defaults auth-source-creation-prompts plist-member :backend :host :port :create (host user port secret label) t auth-source-search :max 1 append eieio-oref source nil plist-get auth-source--symbol-keyword auth-source--aput-1 0 2 auth-source--aget auth-source-netrc-element-or-first user user-login-name label format "%s@%s" :user host "[any user]" "[any host]" port "[any port]" :label "[any label]" #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (secret 370 user 374 host 378 port 382 label 386)) "%p password for %u@%h: " "%p user name for %h: " "%p host name for user %u: " "%p port for %u@%h: " "Enter label for %u@%h: " "Enter %s (%%u@%%h:%%p): " auth-source-format-prompt 117 104 112 secret eval read-passwd read-string string-match ": *\\'" substring " (default " "): " "(default " ") " plist-put make-byte-code "\300\207" vconcat vector [] (secret label) :save-function :secret functionp "\304\301\302\303\300\242$\207" [auth-source-secrets-saver] 5] 32 (#$ . 45499)])
#@136 Wrapper around `secrets-create-item', prompting along the way.
Respects `auth-source-save-behavior'.

(fn COLLECTION ITEM SECRET ARGS)
(defalias 'auth-source-secrets-saver #[1028 "\306\307\"\310=?\311=\312\313\204z\314\315\"\262\211\316\267\202
\311\262\311\262\202
\212	r\317!q\210p\320 \210\313\211\311\211\311\321 \210\322\323!\210+\211 \324\325!\210 q\210\326 \210\327!\210)\266)\202
\311\262\313\262\202
\311\262\313\262\330\300\313\"\210\202
\202
\205\225\331\332\n\"\210\333\334\n\"\210\335\336\n\n\n\n%\207" [auth-source-save-behavior default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks format "Save auth info to secrets collection %s? " ask t "*auth-source Help*" nil auth-source-read-char-choice (121 110 78 63) #s(hash-table size 4 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (121 29 63 38 110 96 78 105)) get-buffer-create kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook princ "(y)es, save\n(n)o but use the info\n(N)o and don't ask to save again\n(?) for help as you can see.\n" help-mode internal-temp-output-buffer-show customize-save-variable auth-source-do-debug "secrets-create-item: wrote 1 new item to %s" message "Saved new authentication information to %s" apply secrets-create-item inhibit-read-only standard-output] 16 (#$ . 48157)])
#@1469 Search the macOS Keychain; spec is like `auth-source'.

All search keys must match exactly.  If you need substring
matching, do a wider search and narrow it down yourself.

You'll get back all the properties of the token as a plist.

The :type key is either `macos-keychain-internet' or
`macos-keychain-generic'.

For the internet keychain type, the :label key searches the
item's labels ("-l LABEL" passed to "/usr/bin/security").
Similarly, :host maps to "-s HOST", :user maps to "-a USER",
and :port maps to "-P PORT" or "-r PROT"
(note PROT has to be a 4-character string).

For the generic keychain type, the :label key searches the item's
labels ("-l LABEL" passed to "/usr/bin/security").
Similarly, :host maps to "-c HOST" (the "creator" keychain
field), :user maps to "-a USER", and :port maps to "-s PORT".

Here's an example that looks for the first item in the default
generic macOS Keychain:

 (let ((auth-sources \='(macos-keychain-generic)))
    (auth-source-search :max 1)

Here's another that looks for the first item in the internet
macOS Keychain collection whose label is `gnus':

 (let ((auth-sources \='(macos-keychain-internet)))
    (auth-source-search :max 1 :label "gnus")

And this one looks for the first item in the internet keychain
entries for git.gnus.org:

 (let ((auth-sources \='(macos-keychain-internet")))
    (auth-source-search :max 1 :host "git.gnus.org"))

(fn &rest SPEC &key BACKEND CREATE DELETE TYPE MAX &allow-other-keys)
(defalias 'auth-source-macos-keychain-search #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\203)\306\307\310\311\211$\210\2034\306\312\313\311\211$\210\314\315\"\206=\316\317\320	G\311W\203b\f8>\204Z\f8B\262\321\\\262\202C\211\237\266\203\322\323\324\325\326\327\330\331!\332\"\333\334%\"\"\335\323\336\"!\337\f\340\"\211\203\221\211<\203\221\211\202\223\211C\337\341\"\211\203\245\211<\203\245\211\202\247\211C\3422\356\211\205\353\211@\211\203\343\211@\211\205\301\343\344\"\322\345&\211\203\332\346\342\"\210\266A\266\202\202\263\210A\266\202\202\254\2620\324\325\326\347\330\331!\350\"\351\352%\"\266\213\207" [plist-member :backend :create :delete :type :max cl--assertion-failed (not create) "The macOS Keychain auth-source backend doesn't support creation yet" nil (not delete) "The macOS Keychain auth-source backend doesn't support deletion yet" eieio-oref source 5000 (:create :delete :max :backend :label :host :port) 0 2 apply append mapcar make-byte-code 257 "\301\300\"?\206\301\300\"\302=?\205\211\301\300\"D\207" vconcat vector [plist-get t] 5 "\n\n(fn K)" delete-dups (:host :login :port :secret) plist-get :host :port match format "%S" auth-source-macos-keychain-search-items throw "\301\302\301\303\304\305\306\307\310	!\311\"\312\313%\300\"\"\"\207" [append apply mapcar make-byte-code 257 "\301\300\"?\205\211\302D\207" vconcat vector [plist-get nil] 4 "\n\n(fn REQ)"] 11 "\n\n(fn PLIST)"] 29 (#$ . 49551)])
#@72 Convert octal string to utf-8 string.  E.g: 'a\b' to 'a'

(fn STRING)
(defalias 'auth-source--decode-octal-string #[257 "\211\300\301\"\262G\302\303\304\301\211\211\305\211\203\306\202(\211\n8\307=\203&\310\202'\311\\\262	8\262W\203_\307=\203T\312\313\nT\310\\#\260\314\"B\262\202YB\262\301\262\202\237\266\204\"\315\"\207" [append nil decode-coding-string apply unibyte-string t 0 92 4 1 string-to-number cl-subseq 8 utf-8] 16 (#$ . 52558)])
#@71 

(fn COLL TYPE MAX HOST PORT &key LABEL TYPE USER &allow-other-keys)
(defalias 'auth-source-macos-keychain-search-items #[1413 "\300\301\"A@\300\302\"A@\300\303\"A@\304=\211\203\305\202\306\307B\302D\2030\310\311D\"\262\203F\310\203?\312\202@\313D\"\262\203S\310\314D\"\262\203}\203h\310\313\nD\"\262\202}\310\315\316\"\203v\317\202w\320\nD\"\262\321\232\204\214\310
C\"\262\322\323!r\211q\210\324\325\326\327\330!\331\"\332$\216\333\334\335\336\337\336&\210eb\210m\204\340\341!\203\323\342\343\344\345\346!!\324\325\347\327\330!\350\"\346$\262$\262\202\376\340\351!\203\350\342\352\344\345\346!!$\262\202\376\340\353!\203\376\342\344\345\346!!\344\345\332!!$\262\336y\210\202\255*\210\354\355\"\205\211C\266\203\207" [plist-member :label :type :user macos-keychain-generic "find-generic-password" "find-internet-password" ("-g") append "-l" "-c" "-s" "-a" string-match "[0-9]+" "-P" "-r" "default" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 apply call-process "/usr/bin/security" nil t looking-at "^password: \\(?:0x[0-9A-F]+\\)? *\"\\(.+\\)\"" auth-source-macos-keychain-result-append "secret" auth-source--decode-octal-string match-string 1 "\300\207" [] "^[ ]+0x00000007 <blob>=\\(?:0x[0-9A-F]+\\)? *\"\\(.+\\)\"" "label" "^[ ]+\"\\([a-z]+\\)\"[^=]+=\\(?:0x[0-9A-F]+\\)? *\"\\(.+\\)\"" plist-get :secret] 24 (#$ . 53044)])
#@27 

(fn RESULT GENERIC K V)
(defalias 'auth-source-macos-keychain-result-append #[1028 "\211B\262\300\301\232\203\302\202I\203\303\232\203\304\202I\203,\305\232\203,\306\202I\204:\307\232\203:\306\202I\204H\310\232\203H\304\202I!B\211\262\207" [auth-source--symbol-keyword "acct" "user" "crtr" "host" "svce" "port" "ptcl" "srvr"] 7 (#$ . 54535)])
#@19 

(fn &rest SPEC)
(defalias 'auth-source-macos-keychain-create #[128 "\300!\207" [debug] 3 (#$ . 54917)])
#@115 Search the PLSTORE; SPEC is like `auth-source'.

(fn &rest SPEC &key BACKEND CREATE DELETE MAX &allow-other-keys)
(defalias 'auth-source-plstore-search #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\305\306\"\206!\307\310\311G\312W\203F8>\204>8B\262\313\\\262\202'\211\237\266\203\314\315\316\317\320\321\322\323!\324\"\325\326%\"\"\327\315\330\"!\331\"\316\332\"\333\211G	Z\"\316\334\"\316\317\320\335\322\323\n!\336\"\337\340%\"
\203\253\211\204\253\314\341\342\"\"\206\246\314\343\344\302\312#\"\262\202\316\f\203\316\203\316\211\203\310\211@\345
\"\210A\266\202\202\265\210\346!\210\266\212\207" [plist-member :backend :create :delete :max eieio-oref data 5000 (:create :delete :max :backend :label :require :type) 0 nil 2 apply append mapcar make-byte-code 257 "\301\300\"\211?\206\f\211\302=?\205\303!D\207" vconcat vector [plist-get t auth-source-ensure-strings] 5 "\n\n(fn K)" delete-dups (:host :login :port :secret) plstore-find car butlast #[257 "\300A!\301\302\"\211\203 \211AA@\303\304\305\306\307!\310\"\311$\262\240\210\207" [copy-tree plist-member :secret make-byte-code 0 "\300\207" vconcat vector [] 1] 11 "\n\n(fn ITEM)"] "\301\302\301\303\304\305\306\307\310	!\311\"\312\313%\300\"\"\"\207" [append apply mapcar make-byte-code 257 "\301\300\"?\205\211\302D\207" vconcat vector [plist-get nil] 4 "\n\n(fn REQ)"] 11 "\n\n(fn PLIST)" slot-value create-function auth-source-plstore-search plist-put plstore-delete plstore-save] 22 (#$ . 55031)])
#@67 

(fn &rest SPEC &key BACKEND HOST PORT CREATE &allow-other-keys)
(defalias 'auth-source-plstore-create #[128 "\302\303\"A@\302\304\"A@\302\305\"A@\302\306\"A@\307\310\311=?\205\"\312\313\314\304	\305\n&@\315\"\316\211\211\211\203h\211@\317\320!\"\211\203`\211\311=\203R\316\202S\211\211\203_\321#\262\210\210A\266\202\2027\210\211\203\256\211@\320!\322G\316W\203\2168B\262\323\\\262\202x\211\237\266\203>\203\245\321\317\"#\262\266A\266\202\202j\210\211\203\313\211@\324\"\325!\206\307\317\320!\"\324\"\211\204\332\326=\203\332\327 \202\333\211\326\325\324\326\"!\206\357\317	\330\"\206\357\331B\332\325\324\f\332\"!\206\317\n\304\"\206\333B\334\325\324
\334\"!\206\317\305\"\206\335BE\324	\"\206>\336\267\2029\337\202>\340\202>\341\202>\342\202>\343\344\"\345\346\324\326\"D\347\324\332\"D\350\324\334\"DE\"\206\231\351=\203m\352!\206\231\353!\202\231;\203\226\354\355\356\"\203\210\357\322\211\224#\360\361R\202\216\362\363R\316\211$\202\231\352!\262\203\302\235\203\266\364\n\320\n!#\262\n\202\302\364\320\n!#\262\266A\266\202\202\260\210\365\366
\367\"\370\343\371\317\330\"\317\304\"\317	\305\"$!$\210\372\343\373\374\366\367\"!\"!\205\375\366
\367\"!\266\210\207" [auth-source-creation-defaults auth-source-creation-prompts plist-member :backend :host :port :create (host user port secret) (secret) t auth-source-search :max 1 append nil plist-get auth-source--symbol-keyword auth-source--aput-1 0 2 auth-source--aget auth-source-netrc-element-or-first user user-login-name :user "[any user]" host "[any host]" port "[any port]" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (secret 297 user 301 host 305 port 309)) "%p password for %u@%h: " "%p user name for %h: " "%p host name for user %u: " "%p port for %u@%h: " format "Enter %s (%%u@%%h:%%p): " auth-source-format-prompt 117 104 112 secret eval read-passwd read-string string-match ": *\\'" substring " (default " "): " "(default " ") " plist-put plstore-put eieio-oref data sha1 "%s@%s:%s" y-or-n-p "Save auth info to file %s? " plstore-get-file plstore-save] 29 (#$ . 56588)])
#@36 

(fn HOST USER PORT REQUIRE ITEM)
(defalias 'auth-source-json-check #[1285 "\211\205\300\206\n\301\302\303\"\206\302\304\"\206\301\"\205\300\206#\301\302\305\"\2069\302\306\"\2069\302\307\"\2069\301\"\205\300\206C\301\302\310\"\206R\302\311\"\206R\301\"\205?\206\312\301:\203x@\262\302\"\211\262\203xA\262\202^\211\205}\301\266\203\207" [auth-source-search-collection t plist-get :machine :host :login :account :user :port :protocol nil] 11 (#$ . 58843)])
#@196 Given a property list SPEC, return search matches from the :backend.
See `auth-source-search' for details on SPEC.

(fn &rest SPEC &key BACKEND REQUIRE TYPE MAX HOST USER PORT &allow-other-keys)
(defalias 'auth-source-json-search #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\203L\310\311\"=\204L\312\313\314?\310\f\311\"=D\315$\210\316\317\320\310\n\321\"!\"\206[\322\315\211\203\210\211@\211\203\201GV\203\201\323%\203\201\211B\262A\266\202\202]\210\211\237\266\203\207" [plist-member :backend :require :type :max :host :user :port eieio-oref type cl--assertion-failed (or (null type) (eq type (oref backend type))) "Invalid JSON search: %s %s" nil mapcar #[257 "\300\203\\\211A\262\242\301@!A\302=\203\303\202:\304>\203%\305\202:\306=\203/\307\202:\310=\2039\311\202:\262\311=\203R\211\312\313\314\315\316!\317\"\320$\262\262\321#\266\204\202\211\207" [nil auth-source--symbol-keyword :machine :host (:login :account) :user :protocol :port :password :secret make-byte-code 0 "\300\207" vconcat vector [] 1 plist-put] 12 "\n\n(fn ENTRY)"] json-read-file source 5000 auth-source-json-check] 19 (#$ . 59353)])
(byte-code "\300\301\302\303#\210\300\304\305\303#\207" [make-obsolete auth-source-user-or-password auth-source-search "Emacs 24.1" auth-source-forget-user-or-password auth-source-forget] 4)
#@940 Find MODE (string or list of strings) matching HOST and PORT.

DEPRECATED in favor of `auth-source-search'!

USERNAME is optional and will be used as "login" in a search
across the Secret Service API (see secrets.el) if the resulting
items don't have a username.  This means that if you search for
username "joe" and it matches an item but the item doesn't have
a :user attribute, the username "joe" will be returned.

A non-nil DELETE-EXISTING means deleting any matching password
entry in the respective sources.  This is useful only when
CREATE-MISSING is non-nil as well; the intended use case is to
remove wrong password entries.

If no matching entry is found, and CREATE-MISSING is non-nil,
the password will be retrieved interactively, and it will be
stored in the password database which matches best (see
`auth-sources').

MODE can be "login" or "password".

(fn MODE HOST PORT &optional USERNAME CREATE-MISSING DELETE-EXISTING)
(defalias 'auth-source-user-or-password #[1539 "\300\301%\210<\211\203\202C\302\303F\203/\304\305D\"\2020\211\203=\304\306\307D\"\202>\211\203K\304\310\307D\"\202L\211\311\211\203m\300\312\313	\235\203`\314\202a&\210\202\273\315\316\304\317\"\"@\211\203\252\211\203\251\211@\211\320\267\202\242\321\322\"\205\223\321\322\" B\262\202\242\321\305\"B\262A\266\202\202{\210\237\262\203\267\202\271\242\266\202\207" [auth-source-do-debug "auth-source-user-or-password: DEPRECATED get %s for %s (%s) + user=%s" :host :port append :user :create t :delete nil "auth-source-user-or-password: DEPRECATED cached %s=%s for %s (%s) + %s" "password" "SECRET" apply auth-source-search (:max 1) #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("password" 135 "login" 154)) plist-get :secret] 20 (#$ . 60781)])
#@28 

(fn HOST &optional USER)
(defalias 'auth-source-user-and-password #[513 "\211\203\300\301\302\303\304\305\306\307\310&\n\202\300\301\303\304\305\311\307\310&@\312\302\"\312\313\"\314!\2032\211 \262E\207" [auth-source-search :host :user :max 1 :require (:user :secret) :create nil (:user :secret) plist-get :secret functionp] 13 (#$ . 62635)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable authinfo-hidden funcall function #[0 "\300\207" [#1="password"] 1 #1#] "Regexp matching elements in .authinfo/.netrc files that should be hidden." :type regexp :version "27.1"] 8)
(defvar authinfo-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [authinfo-mode-hook variable-documentation put "Hook run after entering Authinfo mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp authinfo-mode-map definition-name authinfo-mode] 4)
(defvar authinfo-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\317#\207" [authinfo-mode-abbrev-table authinfo-mode-map variable-documentation put purecopy "Keymap for `authinfo-mode'." boundp authinfo-mode-syntax-table definition-name authinfo-mode (lambda (#1=#:def-tmp-var) (defvar authinfo-mode-syntax-table #1#)) make-syntax-table "Syntax table for `authinfo-mode'." (lambda (#1#) (defvar authinfo-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `authinfo-mode'." derived-mode-parent] 5)
#@291 Mode for editing .authinfo/.netrc files.

This is just like `fundamental-mode', but hides passwords.  The
passwords are revealed when point moved into the password.

\{authinfo-mode-map}

This mode runs the hook `authinfo-mode-hook', as the final or penultimate step
during initialization.
(defalias 'authinfo-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\315ed\"\210\316 \210)\317\320!\207" [delay-mode-hooks major-mode mode-name authinfo-mode-map authinfo-mode-syntax-table authinfo-mode-abbrev-table make-local-variable t kill-all-local-variables authinfo-mode "Authinfo" use-local-map set-syntax-table authinfo--hide-passwords reveal-mode run-mode-hooks authinfo-mode-hook local-abbrev-table] 3 (#$ . 64428) nil])
#@18 

(fn START END)
(defalias 'authinfo--hide-passwords #[514 "\212\214}\210b\210\301\302\303\"\304\305#\2053\306 \203	\307\310\224\310\225\"\311\312\313\314\315\316##\210\311\317\320#\266\202	*\207" [authinfo-hidden re-search-forward format "\\(\\s-\\|^\\)\\(%s\\)\\s-+" nil t auth-source-netrc-looking-at-token make-overlay 0 overlay-put display propertize "****" face warning reveal-toggle-invisible authinfo--toggle-display] 10 (#$ . 65178)])
#@21 

(fn OVERLAY HIDE)
(defalias 'authinfo--toggle-display #[514 "\211\203\300\301\302\303\304\305##\207\300\301\306#\207" [overlay-put display propertize "****" face warning nil] 9 (#$ . 65638)])
(provide 'auth-source)

Youez - 2016 - github.com/yon3zu
LinuXploit