%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /usr/share/emacs/25.2/lisp/gnus/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //usr/share/emacs/25.2/lisp/gnus/auth-source.elc
;ELC
;;; Compiled
;;; in Emacs version 25.2.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\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\343\353\345\341\354\355&	\210\356\357\360\361!\"\210\356\362\363\361!\"\210\356\364\362\"\210\365\364\366\367#\210\370\361\371\362#\210\372\361\336\373\336$\207" [require password-cache mm-util gnus-util 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 7200 "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" put 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."))] 10)
#@58 Create a new object of class type `auth-source-backend'.
(defalias 'auth-source-backend #[(&rest slots) "\301\302\303#\207" [slots apply make-instance auth-source-backend] 4 (#$ . 3029)])
(function-put 'auth-source-backend 'compiler-macro 'auth-source-backend--anon-cmacro)
(defalias 'auth-source-backend--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
#@50 List of authentication protocols and their names
(custom-declare-variable 'auth-source-protocols ''((imap "imap" "imaps" "143" "993") (pop3 "pop3" "pop" "pop3s" "110" "995") (ssh "ssh" "22") (sftp "sftp" "115") (smtp "smtp" "25")) '(#$ . 3530) :group 'auth-source :version "23.2" :type '(repeat :tag "Authentication Protocols" (cons :tag "Protocol Entry" (symbol :tag "Protocol") (repeat :tag "Names" (string :tag "Name")))))
(defconst auth-source-protocols-customize (mapcar #[(a) "\242\302\303\304	!\226	F)\207" [a p const :tag symbol-name] 4] auth-source-protocols))
#@57 Defaults for creating token values.  Usually let-bound.
(defvar auth-source-creation-defaults nil (#$ . 4108))
#@55 Default prompts for token values.  Usually let-bound.
(defvar auth-source-creation-prompts nil (#$ . 4225))
(byte-code "\301\302\303\304#\210\305\306\307\310\311\312\313\314\315\316&	\210\305\317\320\321\311\312\313\314\315\322\323\324\325\326\327\330\322\326\331\332\333\326\334\335\300!\2035@\2026\336F\337BBBBB\340BBFF&	\207" [epa-file-auto-mode-alist-entry make-obsolete auth-source-hide-passwords nil "Emacs 24.1" custom-declare-variable auth-source-save-behavior 'ask "If set, auth-source will respect it for save behavior." :group auth-source :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 'never "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)))] 25)
(defvar auth-source-magic "auth-source-magic ")
(byte-code "\301\302\303\304\305\306\307\310\311\312&	\210\301\313\314\315\305\306\307\310\311\316&	\210\301\317\320\321\305\306\307\322\311\323\324\325\326\327\330\331\332\333\334\335\324\336\337\340\323\324\341\342\303\326\324\343\344\335\324\345\346\326\324\345\347BBBB\257\350BBBBB\257\257\257F&	\210\301\351\303\352\305\306\307\322\311\353&	\207" [auth-source-protocols-customize custom-declare-variable auth-source-do-cache t "Whether auth-source should cache information with `password-cache'." :group auth-source :version "23.2" :type boolean auth-source-debug nil "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 '("~/.authinfo" "~/.authinfo.gpg" "~/.netrc") "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." "24.1" repeat :tag "Authentication Sources" choice (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) list "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 "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")))) auth-source-gpg-encrypt-to "List of recipient keys that `authinfo.gpg' encrypted to.\nIf the value is not a list, symmetric encryption will be used." (choice (const :tag "Symmetric encryption" t) (repeat :tag "Recipient public keys" (string :tag "Recipient public key")))] 42)
(defalias 'auth-source-do-debug #[(&rest msg) "\205\302\303	\"\207" [auth-source-debug msg apply auth-source-do-warn] 3])
(defalias 'auth-source-do-trivia #[(&rest msg) "\302=\204\f\303!\205\304\305	\"\207" [auth-source-debug msg trivia functionp apply auth-source-do-warn] 3])
(defalias 'auth-source-do-warn #[(&rest msg) "\302\303!\203\202\f\304	\"\207" [auth-source-debug msg apply functionp message] 3])
#@235 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).
(defalias 'auth-source-read-char-choice #[(prompt choices) "\205_\306\307\310\211	:\203\"	@\311\312\n\"B	A\211\202
\237+\"\313\f\314\315O\316Q
\fP\310\211>\204\\\317\320!\203K\320\"\202V\321\322\"\210\323 \211\211\2028,\207" [choices #1=#:--cl-var-- c #2=#:--cl-var-- prompt-choices prompt apply concat nil format "%c/" "[" 0 -1 "] " fboundp read-char-choice message "%s" read-char full-prompt k] 6 (#$ . 9734)])
#@65 Creates an auth-source-backend from an ENTRY in `auth-sources'.
(defalias 'auth-source-backend-parse #[(entry) "\306\211\307=\203\310\311!\202\217;\203'\312\313\"\203'\310\314\315\316\317\"DD!\202\217\320=\2033\310\321!\202\217\322=\203?\310\323!\202\217;\203X\312\324\"\203X\310\314\325\316\317\"DD!\202\217;\203q\312\326\"\203q\310\314\327\316\317\"DD!\202\217;\203~\310\314D!\202\217\330\314\";\203\302\331\330\314\"!\332\232\203\255\333\330\314\"\314\330\314\"\334\335\336\337\340\341\342\343\330\314\"!&\202\217\333\330\314\"\314\330\314\"\334\344\336\345\340\346&	\202\217\330\314\"\203\"\330\314\"<\203\"\330\211\314\"\327\"\204\345\330\211\314\"\325\"\203\"\330\314\"\330	\327\"\211\203\367\322\202\370\320\330	\n\203\327\202\325\"\2119\203\347\f!\333\350\351\f\"\314\f\334\336\352\340\353&	,\202\217\330\314\"\203\203\330\314\"<\203\203\354\355\356\357#\203\203
\203\203\330\211\314\"\315\"\206H\360\2119\203X\361\347\f!!\206W\362\363\355!\203p\333\350\364\f\"\314\f\334\355\336\365\340\366&	\202\367\370\"\210\333\350\371\f\"\314\372\334\373%)\202\217\367\374\"\210\375\333\314\372\334\373%\"\207" [entry source-spec keychain-generic keychain-type source secrets-enabled auth-source-backend-parse-parameters default auth-source-backend-parse (:source (:secrets default)) string-match "^secrets:\\(.+\\)" :source :secrets match-string 1 macos-keychain-internet (:source (:macos-keychain-internet default)) macos-keychain-generic (:source (:macos-keychain-generic default)) "^macos-keychain-internet:\\(.+\\)" :macos-keychain-internet "^macos-keychain-generic:\\(.+\\)" :macos-keychain-generic plist-get file-name-extension "plist" auth-source-backend :type plstore :search-function auth-source-plstore-search :create-function auth-source-plstore-create :data plstore-open netrc auth-source-netrc-search auth-source-netrc-create symbol-name format "Mac OS Keychain (%s)" auth-source-macos-keychain-search auth-source-macos-keychain-create require secrets nil t "session" secrets-get-alias "Login" featurep "Secrets API (%s)" auth-source-secrets-search auth-source-secrets-create auth-source-do-warn "auth-source-backend-parse: no Secrets API, ignoring spec: %S" "Ignored Secrets API (%s)" "" ignore "auth-source-backend-parse: invalid backend spec: %S" make-instance] 18 (#$ . 10422)])
#@135 Fills in the extra auth-source-backend parameters of ENTRY.
Using the plist ENTRY, get the :host, :port, and :user search
parameters.
(defalias 'auth-source-backend-parse-parameters #[(entry backend) ";?\205\303\304\305\"\211\203\306\n\307	#\210\304\310\"\211\203(\306\n\311	#\210\304\312\"\211\2037\306\n\313	#\210*\n\207" [entry val backend nil plist-get :host eieio-oset host :user user :port port] 4 (#$ . 12809)])
#@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 #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\313\314
\"*	\206'\315\316+\317,G-\320.,-W\203Z,8+>\204P,8.B.,\321\\\211,\2027.\237+/\322!0\323!1\32020\203\2023\203\202\324\3251G#\210\202W\326=\204\231<\204\231\327\330\331\326=<D\320$\210\n<\204\246\327\332\333\nC\320$\210\334*!2*\3204\2115\2035@4\3352/\3206\2115\2055@6\3361\365\337\3406\"\34146\"\"?\205\361\34242\"2\343\335\320\"0\202\371\210\202\372\2105A\2115\204\313\320*0\2105A\2115\204\267*\344\3452G#\210\3462	\320\f\n&1\324\3471G	$\210\203L1\204L\3462	\f\n&1\324\3501G	$\2103\203W\3511\"\210	\317U\203d1??\202f1.\207" [spec max require create delete auth-sources 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 backends ignored-keys i #1=#:--cl-var-- #2=#:--cl-var-- keys cached found filtered-backends auth-source-do-cache backend --dolist-tail-- key] 8 (#$ . 13252)])
(defalias 'auth-source-search-backends #[(backends spec max create delete require) "\306U\203\n\307\202\310\n\310\211\203a\f@	GV\203Z\311\312\313\"\314\315\312\316\"\317\320
\321\322&\211\203Y\323\324G\312\316\"\312\325\"&\210\326	\")\fA\211\204*	*\207" [max matches backends backend --dolist-tail-- require 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 create delete spec bmatches] 16])
#@218 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.
(defalias 'auth-source-delete #[(&rest spec) "\301\302\303\304#!\207" [spec auth-source-search plist-put :delete t] 5 (#$ . 21276)])
#@74 Returns t is VALUE is t or COLLECTION is t or COLLECTION contains VALUE.
(defalias 'auth-source-search-collection #[(collection value) ":\204\302=\204C\302=\206#	\302=\206#	\232\206#	\235\207" [collection value t] 2 (#$ . 21633)])
(defvar auth-source-netrc-cache nil)
#@37 Forget all cached auth-source data.
(defalias 'auth-source-forget-all-cached #[nil "\302\303\"\210\304\211\207" [password-data auth-source-netrc-cache mapatoms #[(sym) "\302\303P\304	!\"\205\305\304	!!\207" [auth-source-magic sym string-match "^" symbol-name password-cache-remove] 4] nil] 3 (#$ . 21921) nil])
#@52 Format SPEC entry to put it in the password cache.
(defalias 'auth-source-format-cache-entry #[(spec) "\302\303	\"P\207" [auth-source-magic spec format "%S"] 4 (#$ . 22243)])
#@41 Remember FOUND search results for SPEC.
(defalias 'auth-source-remember #[(spec found) "\304\305\n!\")\207" [auth-source-cache-expiry password-cache-expiry spec found password-cache-add auth-source-format-cache-entry] 3 (#$ . 22425)])
#@39 Recall FOUND search results for SPEC.
(defalias 'auth-source-recall #[(spec) "\301\302!!\207" [spec password-read-from-cache auth-source-format-cache-entry] 3 (#$ . 22669)])
#@30 Check if SPEC is remembered.
(defalias 'auth-source-remembered-p #[(spec) "\301\302!!\207" [spec password-in-cache-p auth-source-format-cache-entry] 3 (#$ . 22850)])
#@151 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.
(defalias 'auth-source-forget #[(spec) "\301\302!!\207" [spec password-cache-remove auth-source-format-cache-entry] 3 (#$ . 23024)])
#@300 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.
(defalias 'auth-source-forget+ #[(&rest spec) "\303\304\305\306\n\"\210	*\207" [sname count password-data 0 nil mapatoms #[(sym) "\305!\211\205&\306\307\n\310Q	\"\205&\311\312\313\314	\"!\"\205&\315	!\210\fT\211\207" [sym sname auth-source-magic spec count symbol-name string-match "^" "\\(.+\\)" auth-source-specmatchp read match-string 1 password-cache-remove] 6]] 3 (#$ . 23315)])
(defalias 'auth-source-specmatchp #[(spec stored) "\306	G\307\nW\203	8B\310\\\211\202\237+\3112O\f\307\211\205M@\312\313
\"\313	
\"\"\204C\314\311\315\"\210A\211\204,\307*0)\315=?\207" [i spec #1=#:--cl-var-- #2=#:--cl-var-- keys key 0 nil 2 --cl-block-nil-- auth-source-search-collection plist-get throw no --dolist-tail-- stored] 6])
#@73 Pick the first secret found from applying SPEC to `auth-source-search'.
(defalias 'auth-source-pick-first-password #[(&rest spec) "\303\304\305\306\307#\"@\310	\311\"\312\n!\203\n \202\n*\207" [spec result secret apply auth-source-search plist-put :max 1 plist-get :secret functionp] 6 (#$ . 24380)])
#@67 Format PROMPT using %x (for any character x) specifiers in ALIST.
(defalias 'auth-source-format-prompt #[(prompt alist) "\306\211\2030\n@\211@	A@\211\203(\203(\307\310\311\f\"\310\312\"
\306\313%*\nA\211\204*
\207" [alist cell --dolist-tail-- v c prompt nil replace-regexp-in-string format "%%%c" "%s" t] 7 (#$ . 24694)])
(defalias 'auth-source-ensure-strings #[(values) "\301=\203\207<\204C\302\303\"\207" [values t mapcar #[(value) "\247\203\n\301\302\"\207\207" [value format "%s"] 3]] 3])
(defalias 'auth-source--aput-1 #[(alist key val) "\305	:\203	@@\232\204	\211A\242\nB\202\fB	\204'\2028\n\237	@@\232\2036	A\2027	\244*B\207" [alist rest seen key val nil] 4])
(defalias 'auth-source--aput '(macro . #[(var key val) "\303\304	\nFE\207" [var key val setq auth-source--aput-1] 6]))
(defalias 'auth-source--aget #[(alist key) "\302	\"A\207" [key alist assoc] 3])
#@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 #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@7	<\2034	\202&\315	!\205&\316
!\317\320!8r8q\210\321\216\n\206O\322\3239\324	:\"\243;\325;\326\"<\325;\327\"=\330>\331?\332=!\203\216<\333\334	!8\232\203\216\335\336	\"\210= c\210\202\300\337	!\210\340:	\326\333\334	!8\327\341\342!\211@\211A\343\344\345 \"L\210)\346\347\350\351\352D\351@D\353FE)F#:eb\210\354>\n\"\331BCC\211AC\242\211B\203\345B\237?B?\202\315*\3239W\203!D\203\355\356p\"\204\375\357\356!\210D<\203D.\360\361\362	9#!\203!\363ed	\331\364%\210\365\3669	#\210?\237.\n.\207" [#1# file max host user port plist-member :file :max :host :user :port :require file-exists-p auth-source-ensure-strings generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] 5000 0 assoc plist-get :mtime :secret #[(alist) "\205\207\306	\307\310\"\206\307\311\"\206\312\"\205\207\306\n\307\313\"\2061\307\314\"\2061\307\315\"\2061\312\"\205\207\306\307\316\"\206F\307\317\"\206F\312\"\205\207\f?\206\207\320C
\"@\f\321\312:\203\200@\322\"\211\203\200A\211\202b\205\206\312,\207" [alist host user port require file auth-source-search-collection auth-source--aget "machine" "host" t "login" "account" "user" "port" "protocol" auth-source-netrc-normalize nil plist-get n #3=#:--cl-var-- req #4=#:--cl-flag--] 6] nil functionp 5 file-attributes auth-source-do-trivia "auth-source-netrc-parse: using CACHED file data for %s" insert-file-contents auth-source--aput-1 make-symbol "--v--" mapcar 1+ buffer-string lambda (&rest --cl-rest--) apply quote #[(#5=#:G0) "\301\302\303\304J\"\"\207" [#5# apply string mapcar 1-] 5] --cl-rest-- auth-source-netrc-parse-entries local-variable-p epa-file-encrypt-to 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" require #2# modified auth-source-netrc-cache cached cached-mtime cached-secrets check result #6=#:--cl-v-- #7=#:v alist entries auth-source-gpg-encrypt-to] 13 (#$ . 25618)])
#@65 Advance to the next interesting position in the current buffer.
(defalias 'auth-source-netrc-parse-next-interesting #[nil "\300\301!\204l\203m\204\302y\210\202\303\304w\207" [looking-at "#" 1 "	 " nil] 2 (#$ . 28038)])
#@41 Read one thing from the current buffer.
(defalias 'auth-source-netrc-parse-one #[nil "\300 \210\301\302!\204\301\303!\204\301\304!\205!\305\306!Gu\210\300 \210\307\310!\207" [auth-source-netrc-parse-next-interesting looking-at "'\\([^']*\\)'" "\"\\([^\"]*\\)\"" "\\([^ 	\n]+\\)" match-string 0 match-string-no-properties 1] 2 (#$ . 28271)])
(defalias 'auth-source-current-line #[(&optional pos) "\212\203b\210n\203\301\202\302\303\301`\"\\)\207" [pos 1 0 count-lines] 4])
(put 'auth-source-current-line 'byte-optimizer 'byte-compile-inline-expand)
#@74 Parse up to MAX netrc entries, passed by CHECK, from the current buffer.
(defalias 'auth-source-netrc-parse-entries #[(check max) "\306\307\211\211\211\211\310 \211\203y\f\311\232	\203.\204%\f\312\232\203.
	\n#\307\203;\312\313B	B\202\f\310 \211\203\f\312\232\203p\314\315\316\317\307\212\203Yb\210n\203a\315\202b\320\321\315`\"\\*$\210\315y\210\202\f\fB	B\202\f	\203\204
	\n#\n\237.\207" [default alist all item2 item adder #[(check alist all) "\203	\nGV\203!\203\nB\n\207" [alist max all check] 2] nil auth-source-netrc-parse-one "default" "machine" t gnus-error 1 "%s: Unexpected `machine' token at line %d" "auth-source-netrc-parse-entries" 0 count-lines check pos] 8 (#$ . 28838)])
(defvar auth-source-passphrase-alist nil)
(defalias 'auth-source-token-passphrase-callback-function #[(_context _key-id file) "\306!\307	\"\310\311\312\nA!\203\nA \202\nA!\206P\n\204*C\211	B\313\314\315\"\316\"\n\317\320!\211\211\311!L\210)\321\322\323\324\325D\324\fD\326FE)\241\210+\207" [file auth-source-passphrase-alist entry passphrase #1=#:--cl-p-- #2=#:v file-truename assoc nil copy-sequence functionp read-passwd format "Passphrase for %s tokens: " t make-symbol "--p--" lambda (&rest --cl-rest--) apply quote #[(#3=#:G1) "J\207" [#3#] 1] --cl-rest--] 8])
#@115 Pass either the decoded SECRET or the gpg:BASE64DATA version.
FILE is the file from which we obtained this token.
(defalias 'auth-source-epa-extract-gpg-token #[(secret file) "\303\304\"\203\305\306\307\"!\310\311!\312	\313\nB\"\210\314	\")\207" [secret context file 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] 4 (#$ . 30173)])
(defalias 'auth-source-epa-make-gpg-token #[(secret file) "\306\307!\310\211\211\311H>\204\312\313\314\nD\"\210\n\211\315\316I\210)\317\n\320
B\"\210\321\n\310#\322\323!rq\210\324\216c\210\325ed\316#\210\326\327ed\"P.\207" [cipher pp-escape-newlines context cl-struct-epg-context-tags #1=#:v file epg-make-context OpenPGP nil 0 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*" #[nil "\301!\205	\302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] base64-encode-region "gpg:" buffer-substring-no-properties secret #2#] 5])
(defalias 'auto-source--symbol-keyword #[(symbol) "\301\302\303\"!\207" [symbol intern format ":%s"] 4])
(defalias 'auth-source-netrc-normalize #[(alist filename) "\301\302\"\207" [alist mapcar #[(entry) "\306\211\n\211A\242\211\203\235@A\211\307\235\203\310\202=\f\311\235\203(\312\202=\f\313\235\2032\314\202=\f\315\235\203<\316\202=\f\211\316\232\203\221\317\320!\317\321!\211\211L\210)
\211\306L\210)\322\323J\"\203~
\211 \324\325\326\327\330D\327
D\327D\331\257EL\210)\324\325\326\327\332D\327
D\327D\331\257E*\333	\334\f!#*\202	*\207" [item ret entry v k #1=#:--cl-token-decoder-- nil ("machine") "host" ("login" "account") "user" ("protocol") "port" ("password") "secret" make-symbol "--lexv--" "--token-decoder--" string-match "^gpg:" lambda (&rest --cl-rest--) apply quote #[(#2=#:G2 #3=#:G3 val) "\304	\"\n\211\305L\210)\207" [val filename #2# #4=#:v auth-source-epa-extract-gpg-token nil] 4] --cl-rest-- #[(#5=#:G4 #6=#:G5) "J\203	\211J	J!L\210)	J\207" [#5# #6# #7=#:v] 4] plist-put auto-source--symbol-keyword #8=#:--cl-lexv-- #9=#:v #10=#:v #11=#:v] 9]] 3])
#@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 #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@ \f\203W\f\317	\304\"=\204W\320\321\322\f?\f\317	\304\"=D\323$\210\324\325\313
\310\n\326\317	\327\"\314\206i\330\315\206p\330\316 \206w\330&\f\317	\327\"\"!\203\235!\204\235\331\332	\333\"\"\206\233\331\334\335\311\323#\"!!.	\207" [spec backend require create type max plist-member :backend :require :create :type :max :host :user :port eieio-oref 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 host user port results] 14 (#$ . 32458)])
(defalias 'auth-source-netrc-element-or-first #[(v) "<\203@\207\207" [v] 1])
#@67 

(fn &rest SPEC &key BACKEND HOST PORT CREATE &allow-other-keys)
(defalias 'auth-source-netrc-create #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\313\f\314=?\205&\f@\315\316\317\310\n\311&@A\320
@\"B\321	\322\"C\323D\324\211EF
\324G\211H\203\216H@G\325\326G!\"\211I\203\204I\314=\203q\324\202sI\211J\203\203\327EGJ#E))HA\211H\204T*@\324K\211H\203\356H@K\326K!\330LGM\324NLMW\203\310L8NBNL\331\\\211L\202\257N\237+O\211PO>\203\344\327EK\325P\"#E*HA\211H\204\232*B\324Q\211H\203H@Q\332EQ\"R\333R!\206\325A\326Q!\"R\332SQ\"\211T\2040Q\334=\2030\335 \2022TU\334\333\332E\334\"!\206H\325F\336\"\206H\337B\302\333\332E\302\"!\206]\325F\310\"\206]\340B\303\333\332E\303\"!\206r\325F\311\"\206r\341BEV\332WQ\"\206\264\342Q\343\"\203\213\344\202\264\342Q\334\"\203\227\345\202\264\342Q\302\"\203\243\346\202\264\342Q\303\"\203\257\347\202\264\350\351Q\"X\352X\353\332V\334\"D\354\332V\302\"D\355\332V\303\"DE\"XR\206\245Q\343=\203u\350\356C\"YZ\357=\203\360\357\2023Z<\2032\360Z!\324\211[\\]]\205.]\211A]\242\211\\@\314=\204!\361\\@C\"\203\\A[\324\211]\204\324+\2023\357^\362U!\206@\363X!_^\204_\364Y!\203R\365\202S\357^C^DZBZ^\365=\203o\366_C\"\202q_+\202\245U;\203\241\367\361\370X\"\203\222X\330\211\224O\371U\372R\202\231X\373U\374R\324\211U$\202\245\362U!\211R\203\353\375F\326Q!Q\343=\203\346\376\377!\211`\211aRL\210)\201g\201h\201i\201j\201kD\201j`D\201lFE)\202\350R#FR;\203\330RGW\203\201mbDb PD).HA\211H\204\372*\375F\201n\376\201o!\376\201p!c\211d\211eCL\210)c\211fDL\210)\201g\201h\201i\201j\201qD\201jcD\201jdD\201l\257E*#\210F.\fC\207" [spec backend host port create base-required plist-member :backend :host :port :create (host user port secret) t auth-source-search :max 1 append eieio-oref source #10="" nil plist-get auto-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]" "[any host]" "[any port]" eql secret "%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 "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 ": *\\'" " (default " "): " "(default " ") " plist-put make-symbol "--data--" create-extra current-data required file add valist artificial br --dolist-tail-- val br-choice er i #1=#:--cl-var-- #2=#:--cl-var-- keys k r data auth-source-creation-defaults given-default default printable-defaults auth-source-creation-prompts prompt ep auth-source-netrc-use-gpg-tokens ret item check gpg-encrypt plain #3=#:--cl-data-- #4=#:v printer #5=#:--cl-add-- #6=#:--cl-file-- #7=#:v #8=#:v lambda (&rest --cl-rest--) apply quote #[(#9=#:G6) "J\207" [#9#] 1] --cl-rest-- #[nil "\303\304G\305U\203
\306\202\307\310	\311\"\203\312\202=\310	\313\"\203$\314\202=\310	\315\"\203/\316\202=\310	\317\"\203:\320\202=\321	!\322\323\n\"\203K\303\324\n\"\202L\n$\207" [add r data format "%s%s %s" 0 #10# " " eql user "login" host "machine" secret "password" port "port" symbol-name string-match "[\"# ]" "%S"] 7] :save-function "--file--" "--add--" #[(#11=#:G7 #12=#:G8) "\302J	J\"\207" [#12# #11# auth-source-netrc-saver] 3]] 11 (#$ . 33562)])
#@156 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.
(defalias 'auth-source-netrc-saver #[(file add) "\306\307\310\311\312\313	%#\314\n\"\211\203\315\316\n\"\202E\317\320!r
q\210\321\216\322!\2030\323!\210@\203J\324\325p\"\204@\326\325!\210@<\203J@eb\210\306\327\".\330=?\331\332ABCDC\204\375\333D\334\"A\335A\336\"\203{\337\211C\202b\335A\340\"\203\307\212EFr\341B!q\210p\342 \210FE\332\211GH\337\211I\337JK\343 \210\344\345!\210+\211LM\346\347!\210Mq\210\350 \210\351L!\210,\202`\335A\352\"\203\330\353\337\211C\202b\335A\354\"\203\355\353\337C\355\356\332\"\210\202`\335A\357\"\203`\360\361	\"\202`\362B!\203\363\362B!!\210.\204\353\364	GW\203<n\204 \365c\210	\365\261\210\366ed\332\367%\210\370\371\"\210\372\373\"\210\374\375\"\210.\376\n\377#\211*\207" [file add key auth-source-netrc-cache cached #1=#:temp-buffer 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*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] file-exists-p insert-file-contents local-variable-p epa-file-encrypt-to make-local-variable "Save auth info to file %s? " ask "*auth-source Help*" nil auth-source-read-char-choice (121 110 78 101 63) eql 121 t 63 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 110 "" 78 customize-save-variable auth-source-save-behavior 101 read-string "Line to add: " get-buffer-window delete-window 0 "\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" auth-source-gpg-encrypt-to k bufname done prompt default-directory #2=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #3=#:buf standard-output] 10 (#$ . 37108)])
#@472 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.
(defalias 'auth-source-secrets-listify-pattern #[(pattern) "\204\306\207\211A\242\211A\242\307!\n;\203\"	\nDC\202&\310\311\n\"\211\312\211\f

:\203q
@\f\312\211:\203`@\313\f\"BA\211\202C\237+\237
\244

A\211\2020
\237.\207" [pattern key value tails heads #1=#:--cl-var-- (nil) auth-source-secrets-listify-pattern mapcar #[(v) "	D\207" [key v] 2] nil append h #2=#:--cl-var-- #3=#:--cl-var-- tl #4=#:--cl-var--] 4 (#$ . 39361)])
#@1091 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 #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\n\203.\314\315\316\317\211$\210\2039\314\320\321\317\211$\210\322	\323\"$
\206D\324\325%\326&G'\317(&'W\203w&8%>\204m&8(B(&\327\\\211&\202T(\237+)\330\331\332\333\334)\"\"!*\335\332\336)\"!+*,\317\211-.,:\203\361,@-\331\337$-#/\317\21101/:\203\336/@0\f;\203\316\340\f0\"\203\32501B1/A\211/\202\2701\237+\237.\244.,A\211,\202\236.\237+2\3412\211G
Z\"2\333\3422\"2\333\3432\".\207" [spec backend create delete label max plist-member :backend :create :delete :label :max cl--assertion-failed (not create) "The Secrets API auth-source backend doesn't support creation yet" nil (not delete) "The Secrets API auth-source backend doesn't support deletion yet" eieio-oref source 5000 (:create :delete :max :backend :label :require :type) 0 2 auth-source-secrets-listify-pattern apply append mapcar #[(k) "\302	\"?\206\302	\"\303=?\205	\302	\"D\207" [spec k plist-get t] 4] mm-delete-duplicates (:host :login :port :secret) secrets-search-items string-match butlast #[(item) "\304\305\306\307!\211\211\310\n\"L\210)\311\312\313\314\315D\314D\316FE)D\313\304\317\320\321\n\"\"\"\"\207" [#1=#:--cl-v-- #2=#:v coll item append :secret make-symbol "--v--" secrets-get-secret lambda (&rest --cl-rest--) apply quote #[(#3=#:G9) "J\207" [#3#] 1] --cl-rest-- mapcar #[(entry) "@AD\207" [entry] 2] secrets-get-attributes] 10] #[(plist) "\302\303\302\304\305\"\"	\"\207" [returned-keys plist append apply mapcar #[(req) "\302	\"?\205	\303D\207" [plist req plist-get nil] 3]] 6] coll ignored-keys i #4=#:--cl-var-- #5=#:--cl-var-- search-keys search-specs returned-keys #6=#:--cl-var-- search-spec #7=#:--cl-var-- #8=#:--cl-var-- item #9=#:--cl-var-- items] 7 (#$ . 40322)])
(defalias 'auth-source-secrets-create #[(&rest spec) "\301!\207" [spec debug] 2])
#@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 #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\n\203.\314\315\316\317\211$\210\2039\314\320\321\317\211$\210\322	\323\" 
\206D\324\325!\326\"G#\317$\"#W\203w\"8!>\204m\"8$B$\"\327\\\211\"\202T$\237+%\330\331\332\333%\"\"&\334\331\335%\"!'\330\336 \f
&%(\332\337(\".\f\207" [spec backend create delete type max 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) 0 2 apply append mapcar #[(k) "\302	\"?\206\302	\"\303=?\205	\302	\"D\207" [spec k plist-get t] 4] mm-delete-duplicates (:host :login :port :secret) auth-source-macos-keychain-search-items #[(plist) "\302\303\302\304\305\"\"	\"\207" [returned-keys plist append apply mapcar #[(req) "\302	\"?\205	\303D\207" [plist req plist-get nil] 3]] 6] coll ignored-keys i #1=#:--cl-var-- #2=#:--cl-var-- search-keys search-spec returned-keys items] 7 (#$ . 43373)])
#@71 

(fn COLL TYPE MAX &key LABEL TYPE HOST USER PORT &allow-other-keys)
(defalias 'auth-source-macos-keychain-search-items #[(coll _type _max &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\n\314=\2115\2030\315\2021\316\317B6\310\nD7	\203G\3206\321	D\"6\203]\32065\203W\322\202X\323D\"6\f\203j\3206\324\fD\"6
\203\2235\203\3206\323
D\"6\202\223\3206\325\326
\"\203\215\327\202\216\330
D\"68\331\232\204\243\32068C\"6\332\333!9r9q\210\334\216\335\336\337\340\341\3406&\210eb\210m\204\342\343!\203\360\34475\345\346\347!\211:\211;\350\351!L\210)\352\353\335\354\355D\354:D\356FE)$7\202\342\357!\203\34475\360\350\351!$7\202\342\361!\203\34475\350\351!\350\362!$7\340y\210\202\275+\3637\364\"\205+7C.\207" [#1# label type host user port plist-member :label :type :host :user :port 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*" #[nil "\301!\205	\302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] apply call-process "/usr/bin/security" nil t looking-at "^password: \"\\(.+\\)\"$" auth-source-macos-keychain-result-append "secret" make-symbol "--v--" match-string 1 lambda (&rest --cl-rest--) quote #[(#3=#:G10) "J\207" [#3#] 1] --cl-rest-- "^[ ]+0x00000007 <blob>=\"\\(.+\\)\"" "label" "^[ ]+\"\\([a-z]+\\)\"[^=]+=\"\\(.+\\)\"" 2 plist-get :secret keychain-generic args ret coll #2# #4=#:--cl-v-- #5=#:v] 11 (#$ . 46044)])
(defalias 'auth-source-macos-keychain-result-append #[(result generic k v) "	B\304\n\305\232\203\306\202H\203\n\307\232\203\310\202H\203+\n\311\232\203+\312\202H\2049\n\313\232\2039\312\202H\204G\n\314\232\203G\310\202H\n!	B\211\207" [v result k generic auto-source--symbol-keyword "acct" "user" "crtr" "host" "svce" "port" "ptcl" "srvr"] 3])
(defalias 'auth-source-macos-keychain-create #[(&rest spec) "\301!\207" [spec debug] 2])
#@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 #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\313	\314\"\f\206&\315\316#\317$G%\320&$%W\203Y$8#>\204O$8&B&$\321\\\211$\2026&\237+'\322\323\324\325'\"\"(\326\323\327'\"!)\330
(\"*\324\331*\"+\332*\211G\fZ\"*\324\333*\"*\324\334*\"*\n\203\270*\204\270\322\335	\336\"\"\206\263\322\337\340\310\320#\"*\202\345\203\345+\203\345+\320,\211-\203\340-@,\341
,\"\210-A\211-\204\314*\342
!\210*.\207" [spec backend create delete max store plist-member :backend :create :delete :max eieio-oref data 5000 (:create :delete :max :backend :label :require :type) 0 nil 2 apply append mapcar #[(k) "\303	\"\211?\206
\n\304=?\205\n;\203\nC	\nD)\207" [spec k v plist-get t] 4] mm-delete-duplicates (:host :login :port :secret) plstore-find car butlast #[(item) "\305A!\306	\307\"\211\203,\nA\310\311!\211\211\nA@L\210)\312\313\314\315\316D\315D\317FE)\240\210	*\207" [item plist secret #1=#:--cl-v-- #2=#:v copy-tree plist-member :secret make-symbol "--v--" lambda (&rest --cl-rest--) apply quote #[(#3=#:G11) "J\207" [#3#] 1] --cl-rest--] 8] #[(plist) "\302\303\302\304\305\"\"	\"\207" [returned-keys plist append apply mapcar #[(req) "\302	\"?\205	\303D\207" [plist req plist-get nil] 3]] 6] slot-value create-function auth-source-plstore-search plist-put plstore-delete plstore-save ignored-keys i #4=#:--cl-var-- #5=#:--cl-var-- search-keys search-spec returned-keys items item-names item-name --dolist-tail--] 7 (#$ . 48081)])
#@67 

(fn &rest SPEC &key BACKEND HOST PORT CREATE &allow-other-keys)
(defalias 'auth-source-plstore-create #[(&rest spec) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\313\314?\f\315=?\205)\f@\316\317\320\310\n\311&@A\321
@\"B\322\211CD\322E
\322F\211G\203\213G@F\323\324F!\"\211H\203\201H\315=\203n\322\202pH\211I\203\200\325CFI#C))GA\211G\204Q*@\322J\211G\203\353G@J\324J!\326KGL\322MKLW\203\305K8MBMK\327\\\211K\202\254M\237+N\211ON>\203\341\325CJ\323O\"#C*GA\211G\204\227*B\322P\211G\203MG@P\330CP\"8\3318!\206\323A\324P!\"8\330QP\"\211R\204-P\332=\203-\333 \202/RS\332\331\330C\332\"!\206E\323D\334\"\206E\335B\302\331\330C\302\"!\206Z\323D\310\"\206Z\336B\303\331\330C\303\"!\206o\323D\311\"\206o\337BET\330UP\"\206\261\340P\341\"\203\210\342\202\261\340P\332\"\203\224\343\202\261\340P\302\"\203\240\344\202\261\340P\303\"\203\254\345\202\261\346\347P\"V\350V\351\330T\332\"D\352\330T\302\"D\353\330T\303\"DE\"V8\206P\341=\203\351\354S!\206\355V!\202S;\203\356\357\360V\"\203V\326\211\224O\361S\362R\202
V\363S\364R\322\211S$\202\354S!\2118\203BP?\235\2036\365E\324P!8#E\202B\365D\324P!8#D.GA\211G\204\367*\366\367	\370\"\371\346\372\323D\334\"\323D\310\"\323D\311\"$!DE$\210\373\346\374\375\367	\370\"!\"!\205\201\376\367	\370\"!.\f\207" [spec backend host port create base-required plist-member :backend :host :port :create (host user port secret) (secret) t auth-source-search :max 1 append nil plist-get auto-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]" "[any host]" "[any port]" eql secret "%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 eval read-passwd read-string string-match ": *\\'" " (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 base-secret create-extra current-data required valist artificial secret-artificial br --dolist-tail-- val br-choice er i #1=#:--cl-var-- #2=#:--cl-var-- keys k r auth-source-creation-defaults given-default default printable-defaults auth-source-creation-prompts prompt] 11 (#$ . 49761)])
(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)
#@869 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".
(defalias 'auth-source-user-or-password #[(mode host port &optional username create-missing delete-existing) "\306\307	\n%\210<\211\203\202C\310	\311\nF\203)\312
\313D\"\202*
\2039\312
\314\315D\"\202:
\203I\312
\316\315D\"\202J
\317\320\321\312\322
\"\"@\211\203\242\317\211\203\241@\211\323\232\203\207\324\325\"\205\324\325\" B\202\230\326\232\203\230\324\313\"BA\211\204f*\237\f\203\260\202\263\242).\207" [mode host port username listy search 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 apply auth-source-search (:max 1) "password" plist-get :secret "login" create-missing delete-existing found choice m --dolist-tail--] 8 (#$ . 52413)])
(defalias 'auth-source-user-and-password #[(host &optional user) "\203\304\305	\306\307\310\311\312\313\314\315&\n\202\304\305	\310\311\312\316\314\315&@\317\n\306\"\317\n\320\"\321!\2034 \nE+\207" [user host auth-info password auth-source-search :host :user "yourusername" :max 1 :require (:user :secret) :create nil (:user :secret) plist-get :secret functionp] 11])
(provide 'auth-source)

Kontol Shell Bypass