;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; 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 "\302\303!\210\302\304!\210\302\305!\210\302\306!\210\302\307!\210\302\310!\210\302\311!\210\302\312!\210\302\313!\210\314\315\316\"\210\314\317\316\"\210\320\236\203A \320\236A\321\322\323\"\240\210\202L \320\321\322\323\"\323\211FB\320	\236\204X \320\324D	B\323\207" [nnoo-definition-alist nnoo-state-alist require nnheader gnus-util gnus nnoo netrc utf7 tls parse-time nnmail autoload auth-source-forget+ "auth-source" auth-source-search nnimap mapcar list nil "*internal-non-initialized-backend*"] 4)
#@105 The address of the IMAP server.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-address nil (#$ . 930))
(nnoo-define 'nnimap-address nil)
#@128 Username to use for authentication to the IMAP server.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-user nil (#$ . 1114))
(nnoo-define 'nnimap-user nil)
#@186 The IMAP port used.
If nnimap-stream is `ssl', this will default to `imaps'.  If not,
it will default to `imap'.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-server-port nil (#$ . 1316))
(nnoo-define 'nnimap-server-port nil)
#@296 How nnimap talks to the IMAP server.
The value should be either `undecided', `ssl' or `tls',
`network', `starttls', `plain', or `shell'.

If the value is `undecided', nnimap tries `ssl' first, then falls
back on `network'.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-stream 'undecided (#$ . 1590))
(nnoo-define 'nnimap-stream nil)
#@264 What command to execute to connect to an IMAP server.
This will only be used if the connection type is `shell'.  See
the `open-network-stream' documentation for an explanation of
the format.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-shell-program (byte-code "\301\300!\203 <\203 @\207\207\302\207" [imap-shell-program boundp "ssh %s imapd"] 2) (#$ . 1971))
(nnoo-define 'nnimap-shell-program nil)
#@226 The mail box where incoming mail arrives and should be split out of.
This can be a string or a list of strings
For example, "INBOX" or ("INBOX" "SENT").

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-inbox nil (#$ . 2425))
(nnoo-define 'nnimap-inbox nil)
#@140 How mail is split.
Uses the same syntax as `nnmail-split-methods'.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-split-methods nil (#$ . 2727))
(nnoo-define 'nnimap-split-methods nil)
#@119 Uses the same syntax as `nnmail-split-fancy'.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-split-fancy nil (#$ . 2959))
(nnoo-define 'nnimap-split-fancy nil)
#@148 Articles with the flags in the list will not be considered when splitting.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-unsplittable-articles '(%Deleted %Seen) (#$ . 3166))
(byte-code "\300\301\302\"\210\303\304\305\306#\207" [nnoo-define nnimap-unsplittable-articles nil make-obsolete-variable nnimap-split-rule "see `nnimap-split-methods'." "Emacs 24.1"] 4)
#@213 How nnimap authenticate itself to the server.
Possible choices are nil (use default methods), `anonymous',
`login', `plain' and `cram-md5'.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-authenticator nil (#$ . 3575))
(nnoo-define 'nnimap-authenticator nil)
#@254 If non-nil, expunge articles after deleting them.
This is always done if the server supports UID EXPUNGE, but it's
not done by default on servers that doesn't support that command.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-expunge t (#$ . 3880))
(nnoo-define 'nnimap-expunge nil)
#@210 If non-nil, try to use streaming commands with IMAP servers.
Switching this off will make nnimap slower, but it helps with
some servers.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-streaming t (#$ . 4212))
(nnoo-define 'nnimap-streaming nil)
(defvar nnimap-connection-alist nil)
(nnoo-define 'nnimap-connection-alist nil)
(defvar nnimap-current-infos nil)
(nnoo-define 'nnimap-current-infos nil)
(defalias 'nnimap-decode-gnus-group #[(group) "\301\302\"\207" [group decode-coding-string utf-8] 3])
(defalias 'nnimap-encode-gnus-group #[(group) "\301\302\"\207" [group encode-coding-string utf-8] 3])
#@315 If non-nil, Gnus will fetch partial articles.
If t, Gnus will fetch only the first part.  If a string, it
will fetch all parts that have types that match that string.  A
likely value would be "text/" to automatically fetch all
textual parts.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnimap-fetch-partial-articles nil (#$ . 4864))
(byte-code "\300\301\302\"\210\303\304\302\305\306\307%\210\310\311\302\312\313\314\315\316\306\304&	\207" [nnoo-define nnimap-fetch-partial-articles nil custom-declare-group nnimap "IMAP for Gnus." :group gnus custom-declare-variable nnimap-request-articles-find-limit "Limit the number of articles to look for after moving an article." :type (choice (const nil) integer) :version "24.4"] 10)
(defvar nnimap-process nil)
(defvar nnimap-status-string "")
#@72 Internal variable with default value for `nnimap-split-download-body'.
(defvar nnimap-split-download-body-default nil (#$ . 5694))
(defvar nnimap-keepalive-timer nil)
(defvar nnimap-process-buffers nil)
#@41 compiler-macro for inlining `nnimap-p'.
(defalias 'nnimap-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-p (and (memq (type-of cl-x) cl-struct-nnimap-tags) t)) nil] 7 (#$ . 5903)])
(put 'nnimap-p 'compiler-macro 'nnimap-p--cmacro)
(defalias 'nnimap-p #[(cl-x) "\302!	>\205	 \303\207" [cl-x cl-struct-nnimap-tags type-of t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put nnimap-p side-effect-free error-free put nnimap cl-deftype-satisfies] 5)
#@45 compiler-macro for inlining `nnimap-group'.
(defalias 'nnimap-group--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-group (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 1)) nil] 7 (#$ . 6446)])
(put 'nnimap-group 'compiler-macro 'nnimap-group--cmacro)
#@46 Access slot "group" of `nnimap' struct CL-X.
(defalias 'nnimap-group #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 1] 4 (#$ . 6806)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-group side-effect-free t] 4)
#@47 compiler-macro for inlining `nnimap-process'.
(defalias 'nnimap-process--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-process (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 2)) nil] 7 (#$ . 7115)])
(put 'nnimap-process 'compiler-macro 'nnimap-process--cmacro)
#@48 Access slot "process" of `nnimap' struct CL-X.
(defalias 'nnimap-process #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 2] 4 (#$ . 7485)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-process side-effect-free t] 4)
#@48 compiler-macro for inlining `nnimap-commands'.
(defalias 'nnimap-commands--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-commands (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 3)) nil] 7 (#$ . 7800)])
(put 'nnimap-commands 'compiler-macro 'nnimap-commands--cmacro)
#@49 Access slot "commands" of `nnimap' struct CL-X.
(defalias 'nnimap-commands #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 3] 4 (#$ . 8175)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-commands side-effect-free t] 4)
#@52 compiler-macro for inlining `nnimap-capabilities'.
(defalias 'nnimap-capabilities--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-capabilities (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 4)) nil] 7 (#$ . 8493)])
(put 'nnimap-capabilities 'compiler-macro 'nnimap-capabilities--cmacro)
#@53 Access slot "capabilities" of `nnimap' struct CL-X.
(defalias 'nnimap-capabilities #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 4] 4 (#$ . 8888)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-capabilities side-effect-free t] 4)
#@53 compiler-macro for inlining `nnimap-select-result'.
(defalias 'nnimap-select-result--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-select-result (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 5)) nil] 7 (#$ . 9218)])
(put 'nnimap-select-result 'compiler-macro 'nnimap-select-result--cmacro)
#@54 Access slot "select-result" of `nnimap' struct CL-X.
(defalias 'nnimap-select-result #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 5] 4 (#$ . 9618)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-select-result side-effect-free t] 4)
#@48 compiler-macro for inlining `nnimap-newlinep'.
(defalias 'nnimap-newlinep--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-newlinep (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 6)) nil] 7 (#$ . 9951)])
(put 'nnimap-newlinep 'compiler-macro 'nnimap-newlinep--cmacro)
#@49 Access slot "newlinep" of `nnimap' struct CL-X.
(defalias 'nnimap-newlinep #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 6] 4 (#$ . 10326)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-newlinep side-effect-free t] 4)
#@46 compiler-macro for inlining `nnimap-server'.
(defalias 'nnimap-server--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-server (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 7)) nil] 7 (#$ . 10645)])
(put 'nnimap-server 'compiler-macro 'nnimap-server--cmacro)
#@47 Access slot "server" of `nnimap' struct CL-X.
(defalias 'nnimap-server #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 7] 4 (#$ . 11011)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-server side-effect-free t] 4)
#@57 compiler-macro for inlining `nnimap-last-command-time'.
(defalias 'nnimap-last-command-time--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-last-command-time (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 8)) nil] 7 (#$ . 11324)])
(put 'nnimap-last-command-time 'compiler-macro 'nnimap-last-command-time--cmacro)
#@58 Access slot "last-command-time" of `nnimap' struct CL-X.
(defalias 'nnimap-last-command-time #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 8] 4 (#$ . 11745)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-last-command-time side-effect-free t] 4)
#@48 compiler-macro for inlining `nnimap-greeting'.
(defalias 'nnimap-greeting--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-greeting (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 9)) nil] 7 (#$ . 12091)])
(put 'nnimap-greeting 'compiler-macro 'nnimap-greeting--cmacro)
#@49 Access slot "greeting" of `nnimap' struct CL-X.
(defalias 'nnimap-greeting #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 9] 4 (#$ . 12467)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-greeting side-effect-free t] 4)
#@48 compiler-macro for inlining `nnimap-examined'.
(defalias 'nnimap-examined--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-examined (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 10)) nil] 7 (#$ . 12786)])
(put 'nnimap-examined 'compiler-macro 'nnimap-examined--cmacro)
#@49 Access slot "examined" of `nnimap' struct CL-X.
(defalias 'nnimap-examined #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 10] 4 (#$ . 13163)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-examined side-effect-free t] 4)
#@51 compiler-macro for inlining `nnimap-stream-type'.
(defalias 'nnimap-stream-type--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-stream-type (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 11)) nil] 7 (#$ . 13483)])
(put 'nnimap-stream-type 'compiler-macro 'nnimap-stream-type--cmacro)
#@52 Access slot "stream-type" of `nnimap' struct CL-X.
(defalias 'nnimap-stream-type #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 11] 4 (#$ . 13875)])
(byte-code "\300\301\302\303#\300\207" [function-put nnimap-stream-type side-effect-free t] 4)
#@54 compiler-macro for inlining `nnimap-initial-resync'.
(defalias 'nnimap-initial-resync--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block nnimap-initial-resync (or (nnimap-p cl-x) (signal 'wrong-type-argument (list 'nnimap cl-x))) (aref cl-x 12)) nil] 7 (#$ . 14204)])
(put 'nnimap-initial-resync 'compiler-macro 'nnimap-initial-resync--cmacro)
#@55 Access slot "initial-resync" of `nnimap' struct CL-X.
(defalias 'nnimap-initial-resync #[(cl-x) "\302!	>\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 12] 4 (#$ . 14611)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put nnimap-initial-resync side-effect-free t defalias copy-nnimap copy-sequence] 4)
#@203 compiler-macro for inlining `make-nnimap'.

(fn CL-WHOLE &cl-quote &key GROUP PROCESS COMMANDS CAPABILITIES SELECT-RESULT NEWLINEP SERVER LAST-COMMAND-TIME GREETING EXAMINED STREAM-TYPE INITIAL-RESYNC)
(defalias 'make-nnimap--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\306\321\"A@ \306\322\"A@!\"\"\203\216 \"@\323>\203u \"AA\211\"\202` \324>A@\203\204 \325\211\"\202` \326\327\"@\"\210\202^ )\330\331\332\325#\325	\n\f !&.\f\207" [#1# group process commands capabilities select-result plist-member :group :process :commands :capabilities :select-result :newlinep :server :last-command-time :greeting :examined :stream-type :initial-resync (:group :process :commands :capabilities :select-result :newlinep :server :last-command-time :greeting :examined :stream-type :initial-resync :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:group :process :commands :capabilities :select-result :newlinep :server :last-command-time :greeting :examined :stream-type :initial-resync)" cl--defsubst-expand (group process commands capabilities select-result newlinep server last-command-time greeting examined stream-type initial-resync) (cl-block make-nnimap (record 'nnimap group process commands capabilities select-result newlinep server last-command-time greeting examined stream-type initial-resync)) newlinep server last-command-time greeting examined stream-type initial-resync #2=#:--cl-keys-- cl-whole] 19 (#$ . 14995)])
(put 'make-nnimap 'compiler-macro 'make-nnimap--cmacro)
#@183 Constructor for objects of type `nnimap'.

(fn &key GROUP PROCESS COMMANDS CAPABILITIES SELECT-RESULT NEWLINEP SERVER LAST-COMMAND-TIME GREETING EXAMINED STREAM-TYPE INITIAL-RESYNC)
(defalias 'make-nnimap #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\306\321\"A@\306\322\"A@ !!\203\216 !@\323>\203u !AA\211!\202` \324>A@\203\204 \325\211!\202` \326\327!@\"\210\202^ )\330\331	\n\f &.\f\207" [#1# group process commands capabilities select-result plist-member :group :process :commands :capabilities :select-result :newlinep :server :last-command-time :greeting :examined :stream-type :initial-resync (:group :process :commands :capabilities :select-result :newlinep :server :last-command-time :greeting :examined :stream-type :initial-resync :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:group :process :commands :capabilities :select-result :newlinep :server :last-command-time :greeting :examined :stream-type :initial-resync)" record nnimap newlinep server last-command-time greeting examined stream-type initial-resync #2=#:--cl-keys--] 15 (#$ . 16683)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-nnimap side-effect-free t cl-struct-define nnimap nil cl-structure-object record ((cl-tag-slot) (group) (process) (commands) (capabilities) (select-result) (newlinep) (server) (last-command-time) (greeting) (examined) (stream-type) (initial-resync)) cl-struct-nnimap-tags] 11)
(defvar nnimap-object nil)
(defvar nnimap-mark-alist '((read "\\Seen" %Seen) (tick "\\Flagged" %Flagged) (reply "\\Answered" %Answered) (expire "gnus-expire") (dormant "gnus-dormant") (score "gnus-score") (save "gnus-save") (download "gnus-download") (forward "gnus-forward")))
(defvar nnimap-quirks '(("QRESYNC" "Zimbra" "QRESYNC ") ("MOVE" "Dovecot" nil)))
(defvar nnimap-inhibit-logging nil)
(defalias 'nnimap-buffer #[nil "\301!\207" [nntp-server-buffer nnimap-find-process-buffer] 2])
(defalias 'nnimap-header-parameters #[nil "\302\303B\304B\305\306!\203 \307B\310B\311\312 \203\" \313\202# \314\315\316	\"\"B\311\317\237\")\207" [params nnmail-extra-headers nil "UID" "RFC822.SIZE" nnimap-capability "X-GM-EXT-1" "X-GM-LABELS" "BODYSTRUCTURE" format nnimap-ver4-p "BODY.PEEK[HEADER.FIELDS %s]" "RFC822.HEADER.LINES %s" append (Subject From Date Message-Id References In-Reply-To Xref) "%s"] 5])
(defalias 'nnimap-retrieve-headers #[(articles &optional group server _fetch-old) "\203 \304!r	q\210\305 \210\306\n\"\203T r\307 q\210\305 \210\310\311\312\313\314!!\315 #\316\"\210\317\320p!!\2048 \321\322!\210\323 \210db\210\324\325\326\316#\203M \327\330!\210\202> )\331\332p!!\210)\333\207" [group nntp-server-buffer server articles nnimap-decode-gnus-group erase-buffer nnimap-change-group nnimap-buffer nnimap-wait-for-response nnimap-send-command "UID FETCH %s %s" nnimap-article-ranges gnus-compress-sequence nnimap-header-parameters t process-live-p get-buffer-process error "Server closed connection" nnimap-transform-headers search-backward "\n" nil delete-char 1 insert-buffer-substring nnimap-find-process-buffer headers] 6])
(nnoo-register-function 'nnimap-retrieve-headers)
(defalias 'nnimap-transform-headers #[nil "eb\210\306\211\211\211\211\3072Em?\205D\310\311!\204/ `\312y\210`|\210m\203 \313\307\306\"\210\202 \314\225b\210\315\316\212\315\317\306\320#\206G \315\311\306\320#\206G d)\320#\203s \321\322\312!!\314\224\323\\`|\210``\n\\{``\n\\|\210\324\325\326\327\330	#\"c\210\2023 \331 \210\315\332\333 \320#\205\202 \322\312!\306\331 \210\315\334\333 \320#\205\224 \322\312!\331 \210\335\336\333 \320#\203\257 \3371\254 \340p!0\202\256 \210\306\331 \210\335\341\333 \320#\203\375 \3421\306 \340p!0\202\310 \210\306\211:\203\333 @:\203\333 @\211\202\312 @;\203\370 @\226\343\232\203\370 A@\226\344\232\203\370 \3458\202\373 \3468)\347 \333 |\210\324\350\f\"c\210\312y\210\n\203\324\351\n\"c\210\203 \324\352\"c\210\203*\324\353\"c\210\315\354\306\320#\2045db\210\347 \333 |\210\355c\210\312y\210\202 0-\207" [labels string size lines article structure nil --cl-block-nil-- looking-at "\\* [0-9]+ FETCH" 1 throw 0 re-search-forward "[^]][ (]{\\([0-9]+\\)}?\n" "] {[0-9]+}?\n" t string-to-number match-string 2 format "%S" subst-char-in-string 10 32 beginning-of-line "UID \\([0-9]+\\)" line-end-position "RFC822.SIZE \\([0-9]+\\)" search-forward "X-GM-LABELS" (error) read "BODYSTRUCTURE" (error) "MESSAGE" "RFC822" 9 7 line-beginning-position "211 %s Article retrieved." "Chars: %s\n" "Lines: %s\n" "X-GM-LABELS: %s\n" "^$\\|^)?$" "."] 7])
(defalias 'nnimap-unfold-quoted-lines #[nil "\302\211\303\304\302\305#\205- \306\307\310!!\311\224T`|\210``	\\{``	\\|\210\312\313\"c\210\202 *\207" [string size nil re-search-forward " {\\([0-9]+\\)}?\n" t string-to-number match-string 1 0 format "%S"] 4])
(defalias 'nnimap-get-length #[nil "\300\301\302 \303#\205 \304\305\306!!\207" [re-search-forward "{\\([0-9]+\\)}" line-end-position t string-to-number match-string 1] 4])
(defalias 'nnimap-article-ranges #[(ranges) "\304	\247\203 \305	!\202K 	A\247\203 \306\307	@	A#\202K 	\304\211\203D @\211:\2037 \306\307\n@\nA#\202: \305\n!BA\211\204% *\310\311\237\312#)\207" [result ranges elem --dolist-tail-- nil number-to-string format "%d:%d" mapconcat identity ","] 5])
(defalias 'nnimap-open-server #[(server &optional defs no-reconnect) "\304!\203 \305\207\306	\236\204 \307	\306DC\"\310\311	#\210\n\203$ \312!\207\312!\206- \313!\207" [server defs no-reconnect nntp-server-buffer nnimap-server-opened t nnimap-address append nnoo-change-server nnimap nnimap-find-connection nnimap-open-connection] 4])
(nnoo-register-function 'nnimap-open-server)
(defalias 'nnimap-make-process-buffer #[(buffer) "r\306\307\310	\n\211\205 \n;\203 \311\202 \312\n!)$!q\210\313 \210\314 \210\315 \210\316\303!\210\317\316\304!\210\320\321\322\323!\324\325$\npDBpBp)\207" [nnimap-address nnimap-server-port buffer after-change-functions nnimap-object nnimap-connection-alist generate-new-buffer format " *nnimap %s %s %s*" get-buffer buffer-name mm-disable-multibyte buffer-disable-undo gnus-add-buffer make-local-variable nil make-nnimap :server nnoo-current-server nnimap :initial-resync 0 nnimap-process-buffers] 8])
(defalias 'nnimap-credentials #[(address ports user) "\306\307\310\311\312	\313\n\314\315\316\317\320&\f@\211\2052 \321\f\314\"\321\f\322\"\323!\203+  \202, )\321\f\324\"E*\207" [auth-source-creation-prompts address ports user found secret ((user . "IMAP user at %h: ") (secret . "IMAP password for %u@%h: ")) auth-source-search :max 1 :host :port :user :require (:user :secret) :create t plist-get :secret functionp :save-function] 14])
(defalias 'nnimap-keepalive #[nil "\306 	\307\211\205f @\310\n!\203^ r\nq\210\f\203] \311\f!>\204+ \312\313\314\fD\"\210\f\315H\203] \316\317\311\f!>\204C \312\313\314\fD\"\210\f\315H\"!\320V\203] \3211X \322\323!0\202\\ \210\202] \210)A\211\204 \307+\207" [now nnimap-process-buffers buffer --dolist-tail-- nnimap-object cl-struct-nnimap-tags current-time nil buffer-name type-of signal wrong-type-argument nnimap 8 float-time time-subtract 300 (error) nnimap-send-command "NOOP"] 8])
(defalias 'nnimap-open-connection #[(buffer) "\203\f 	\306=\203\f \307	\306=\2039 \310\311\211\n:\2034 \n@\211\312!)\211\313=\2034 \nA\211\202 \f+\202< \312!\211\313=?\205E \f)\207" [nnimap-server-port nnimap-stream #1=#:--cl-var-- type stream buffer undecided ssl (ssl network) nil nnimap-open-connection-1 no-connect] 3])
(defalias 'nnimap-map-port #[(port) "\301\232\203 \302\207\207" [port "imaps" "993"] 2])
(defalias 'nnimap-open-connection-1 #[(buffer) "\204\n \306\307\211\310#r\311	!q\210\312\211\f\313>\203$ \314\315\316#\210\317\202H \f\320=\2034 \314\315\321#\210\322\202H \f\323>\203D \314\315\324#\210\325\202H \326\327\f\"@\330\211ABC\203\\ C@B@\331\332p\333@@!\334\f\335\336\337\336\340D\341\342\343\336\344\345\346\347\350\351&\211E@FEAG\352G\353\"H\352G\354\"I\352G\334\"JF\203\253 \355F!\356>\204\253 \330F\357F!\360=\203\273 \361F\362\336#\210\363K!L>\204\315 \364\365\366KD\"\210K\211M\367FI\210)\363K!L>\204\352 \364\365\366KD\"\210K\211N\370JI\210)F\204\371\366\372@@\f%\210\373\202\321\374F\330\"\210\375H\330\336O\376#)\266\203\204)\371\366\377H#\202\321\363K!L>\204;\364\365\366KD\"\210K\211P\201Z HI\210)\363K!L>\204Z\364\365\366KD\"\210K\211Q\201[ \201\\ \201] \201^ I!\"I\210)\201_ H\330\336O\376#)\266\203\204\234R\201` =\203\232\201a \201b  D\202\255\201c \201d \201e \366!D!@S#\211B\204\271\330K\202\234\336T\201f B@BA@\"A)A@\2036\201g \367B8!\203\341\367B8 \210\201h \201i !AA\330U\211V\2032V@\211U@\226\201i \230\203)\363K!L>\204\364\365\366KD\"\210K\211W\201[ \201\\ \201] UA\"I\210)VA\211V\204\363*\202\234\201e \366!D\330X\211V\203}V@X@\330Y\211V\203sV@Y\201j \201k X\201l Y$\210VA\211V\204V*VA\211V\204F*\201m \363K!L>\204\223\364\365\366KD\"\210K\367H!\210\330KK\205\321\201n \201o !\203\263\201h \201p !\210\314\315\201q #\210\363K!L>\204\315\364\365\366KD\"\210K\367H.\f\207" [nnimap-keepalive-timer buffer coding-system-for-read coding-system-for-write nnimap-stream nnimap-address run-at-time 900 nnimap-keepalive nnimap-make-process-buffer binary (network plain starttls) nnheader-message 7 "Opening connection to %s..." ("imap" "143") shell "Opening connection to %s via shell..." ("imap") (ssl tls) "Opening connection to %s via tls..." ("imaps" "imap" "993" "143") error "Unknown stream type: %s" nil open-network-stream "*nnimap*" nnimap-map-port :type :warn-unless-encrypted t :return-list :shell-command :capability-command "1 CAPABILITY\n" :always-query-capabilities :end-of-command "\n" :success " OK " :starttls-function #[(capabilities) "\302\303\304\305#)\266\203\205 \306\207" [capabilities inhibit-changing-match-data "STARTTLS" nil t string-match "1 STARTTLS\n"] 7] plist-get :greeting :capabilities process-status (open run) process-type network set-network-process-option :keepalive type-of signal wrong-type-argument nnimap 2 11 nnheader-report "Unable to contact %s:%s via %s" no-connect set-process-query-on-exit-flag "[*.] \\(OK\\|PREAUTH\\)" string-match "%s" ports login-result credentials nnimap-server-port nnimap-shell-program stream-list stream props greeting capabilities stream-type nnimap-object cl-struct-nnimap-tags #1=#:v #2=#:v inhibit-changing-match-data #3=#:v #4=#:v nnimap-authenticator nnimap-user nnimap-inhibit-logging response --dolist-tail-- #5=#:v host port 9 4 mapcar upcase split-string "[*.] PREAUTH" anonymous "anonymous" message-make-address nnimap-credentials gnus-delete-duplicates nnoo-current-server nnimap-login functionp nnimap-command "CAPABILITY" auth-source-forget+ :host :port delete-process nnimap-capability "QRESYNC" "ENABLE QRESYNC" "Opening connection to %s...done"] 24])
(autoload 'rfc2104-hash "rfc2104")
(defalias 'nnimap-login #[(user password) "\306\307!\204- \310!	>\204 \311\312\313D\"\210\314H\315=\203- \n\203' \n\316=\203- \317\320\f#\207\306\321!\203e \n\203= \n\322=\203e \323 \210\324\325!\326\327!)\330\331p!\332\333\334\335\336\337\f\340!%Q!\341P\"\210\342)!*\207\306\307!\204{ \n\203u \n\316=\203{ \317\320\f#\207\306\343!\205\231 \n\203\213 \n\344=\205\231 \317\345\332\346\347\350!\350\f!#!\"\207" [nnimap-object cl-struct-nnimap-tags nnimap-authenticator user password challenge nnimap-capability "LOGINDISABLED" type-of signal wrong-type-argument nnimap 11 tls login nnimap-command "LOGIN %S %S" "AUTH=CRAM-MD5" cram-md5 erase-buffer nnimap-send-command "AUTHENTICATE CRAM-MD5" nnimap-wait-for-line "^\\+\\(.*\\)\n" process-send-string get-buffer-process base64-encode-string " " rfc2104-hash md5 64 16 base64-decode-string "\n" nnimap-wait-for-response "AUTH=PLAIN" plain "AUTHENTICATE PLAIN %s" format " %s %s" nnimap-quote-specials sequence] 12])
(defalias 'nnimap-quote-specials #[(string) "\302\303!rq\210\304\216	c\210eb\210\305\306\307\310#\203$ \311u\210\312c\210\313u\210\202 \314 +\207" [#1=#:temp-buffer string generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] re-search-forward "[\\\"]" nil t -1 "\\" 1 buffer-string] 4])
(defalias 'nnimap-find-parameter #[(parameter elems) "\305	\305\211\203= @\211@\f\232\203 \nA\2026 \n@\306\232\2036 \nA@:\2036 \nA@@\f\232\2036 \nA@AA\211\204\n *)\207" [result elems elem --dolist-tail-- parameter nil "OK"] 3])
(defalias 'nnimap-close-server #[(&optional server) "\301\302\303#\205! \3041 \305\306\307 !!0\202 \210\202 \210\310\302\"\210\311\207" [server nnoo-change-server nnimap nil (error) delete-process get-buffer-process nnimap-buffer nnoo-close-server t] 4])
(nnoo-register-function 'nnimap-close-server)
(defalias 'nnimap-request-close #[nil "\300\207" [t] 1])
(nnoo-register-function 'nnimap-request-close)
(defalias 'nnimap-server-opened #[(&optional server) "\305\306	!\n\203 \307\310\n#\202 \232*\205/ \205/ \211\205( \311\312\f!!)\205/ \313!\207" [server backend nnoo-parent-backend nntp-server-buffer buffer nnimap nnoo-current-server format "%s+%s" buffer-live-p get-buffer nnimap-find-connection] 6])
(nnoo-register-function 'nnimap-server-opened)
(defalias 'nnimap-status-message #[(&optional _server) "\207" [nnimap-status-string] 1])
(nnoo-register-function 'nnimap-status-message)
(defalias 'nnimap-request-article #[(article &optional group server to-buffer) "\203 \306!r	q\210\307\n\"\310\211;\203# \311\n#\205\265 \205\265 \312 \210r\313 q\210\312 \210\203q \314\315\"\210eb\210\316\317\310\320#\203q \3211j `\322\323!\210\324`\"\210b\210\325p!)0\202l \210\310\326!\f\203~ \327\f#\202\202 \330!\205\264 p r!\206\217 	q\210\"\203\245 r q\210\331\332 !)c\210\202\254 \333 \310\211#\210\334 \210*B),\207" [group nntp-server-buffer server structure parts result nnimap-decode-gnus-group nnimap-change-group nil nnimap-find-article-by-message-id erase-buffer nnimap-buffer nnimap-command "UID FETCH %d (BODYSTRUCTURE)" re-search-forward "FETCH.*BODYSTRUCTURE" t (error) forward-sexp 1 downcase-region read nnimap-find-wanted-parts nnimap-get-partial-article nnimap-get-whole-article string-to-multibyte buffer-string insert-buffer-substring nnheader-ms-strip-cr article nnimap-fetch-partial-articles start buffer to-buffer enable-multibyte-characters] 4])
(nnoo-register-function 'nnimap-request-article)
(defalias 'nnimap-request-head #[(article &optional group server to-buffer) "\203 \306!\307	\"\205E r\310 q\210\n;\203 \311	\n#\n\205D \312\n\313\314\315 \"\"\210pr\f\2064 q\210\316 \210\317!\210\320 \210\n*B)\207" [group server article buffer to-buffer nntp-server-buffer nnimap-decode-gnus-group nnimap-change-group nnimap-buffer nnimap-find-article-by-message-id nnimap-get-whole-article format "UID FETCH %%d %s" nnimap-header-parameters erase-buffer insert-buffer-substring nnheader-ms-strip-cr] 5])
(nnoo-register-function 'nnimap-request-head)
(defalias 'nnimap-request-articles #[(articles &optional group server) "\203 \306!r	q\210\307\n\"\211\205Y \310 \210r\311 q\210\310 \210\312\313 \203* \314\202+ \315\316\317\f!!\"\205X pr	q\210\203M rq\210\320\321 !)c\210\202S \322\323\211#\210\324 \210*\325)*\207" [group nntp-server-buffer server result articles buffer nnimap-decode-gnus-group nnimap-change-group erase-buffer nnimap-buffer nnimap-command nnimap-ver4-p "UID FETCH %s BODY.PEEK[]" "UID FETCH %s RFC822.PEEK" nnimap-article-ranges gnus-compress-sequence string-to-multibyte buffer-string insert-buffer-substring nil nnheader-ms-strip-cr t enable-multibyte-characters] 6])
(nnoo-register-function 'nnimap-request-articles)
(defalias 'nnimap-get-whole-article #[(article &optional command) "\304\206 \305 \203 \306\202 \307	\"eb\210\310\311\312\313#\204 \312\n\205D \314 \210o\204. e`|\210\315 \316 \317y\210`|\210`\\b\210`d|\210)\313)\207" [command article result bytes nnimap-command nnimap-ver4-p "UID FETCH %d BODY.PEEK[]" "UID FETCH %d RFC822.PEEK" re-search-forward "\\* [0-9]+ FETCH" nil t beginning-of-line nnimap-get-length line-beginning-position 1] 4])
(defalias 'nnimap-capability #[(capability) "\303	!\n>\204 \304\305\306	D\"\210	\307H\235\207" [capability nnimap-object cl-struct-nnimap-tags type-of signal wrong-type-argument nnimap 4] 5])
(defalias 'nnimap-ver4-p #[nil "\300\301!\207" [nnimap-capability "IMAP4REV1"] 2])
(defalias 'nnimap-get-partial-article #[(article parts structure) "\304\305\306 \203\f \307\202 \310\306 \203 \311\312	\313#\202 \311\314	\313#$\211\205( \315!)\207" [article parts result structure nnimap-command "UID FETCH %d (%s %s)" nnimap-ver4-p "BODY.PEEK[HEADER]" "RFC822.HEADER" mapconcat #[(part) "\301\302\"\207" [part format "BODY.PEEK[%s]"] 3] " " #[(part) "\301\302\"\207" [part format "RFC822.PEEK[%s]"] 3] nnimap-convert-partial-article] 9])
(defalias 'nnimap-convert-partial-article #[(structure) "eb\210\304 \305\211\306 \307y\210`|\210`\n\\b\210\310\311!\203E \312\307!\304 \206' \313\314 \210`\307y\210`|\210	``\n\\{DB``\n\\|\210\202 `d|\210\315\"\210+\316\207" [parts id bytes structure nnimap-get-length nil line-beginning-position 1 looking-at ".*BODY\\[\\([.0-9]+\\)\\]" match-string 0 beginning-of-line nnimap-insert-partial-structure t] 4])
(defalias 'nnimap-insert-partial-structure #[(structure parts &optional subp) "\306\211\n@:\203 \211A\210\202 @A@\307\235\211\203' \fA@*\2034 \310\311	\227#c\210\n@;\204\257 \312\313\261\210\n@@:\203U \314\n\211A\242\315#\210\2024 \n\211A\242\310\316@\227A@\227#c\210\317\320\3218\"\203\205 \310\322\317\320\3218\"A@\"c\210\202\210 \313c\210\310\323\3248\"c\210\313c\210\325\3268\"\203\253 \325\3268\"A@c\210)\2024 \312\327\261*\207" [boundary type structure bstruc has-boundary subp nil "boundary" format "Content-type: multipart/%s; boundary=%S\n\n" "\n--" "\n" nnimap-insert-partial-structure t "Content-type: %s/%s" member-ignore-case "CHARSET" 2 "; charset=%S\n" "Content-transfer-encoding: %s\n" 5 assoc 9 "--\n" parts bit] 7])
(defalias 'nnimap-find-wanted-parts #[(structure) "\301\302\303\"!\207" [structure message-flatten-list nnimap-find-wanted-parts-1 ""] 4])
(defalias 'nnimap-find-wanted-parts-1 #[(structure prefix) "\306\307\n@:\203t \n\211A\242\211@:\2030 \310\f\311\230\203$ \312	!\202) \313\314\f	#\"B\202m \313\315@A@#\f\311\230\203D \312	!\202I \313\314\f	#\316\233\240\210\317=\203_ \320\232\202e \321\"\203l B*	T)\202 \237*\207" [parts num structure sub prefix id 1 nil nnimap-find-wanted-parts-1 "" number-to-string format "%s.%s" "%s/%s" 9 t "1" string-match type nnimap-fetch-partial-articles] 7])
(defalias 'nnimap-request-group #[(group &optional server dont-check info) "\306!\307	?\205 \310\n\"?\205 \"\f\205 \fC\311rq\210\205j 	\2039 \312\310\n\"8\211\204O \313\f\"\314\f\315$\210\312\310\n\"8)\206T \316\317 \210\320\321A@Z@A\322!%c\210\315,\207" [group dont-check nnimap-current-infos server info active nnimap-decode-gnus-group nnimap-change-group assoc nil 2 nnimap-retrieve-group-data-early nnimap-finish-retrieve-group-infos t (0 . 1) erase-buffer format "211 %d %d %d %S\n" nnimap-encode-gnus-group result nntp-server-buffer sequences] 7])
(nnoo-register-function 'nnimap-request-group)
(defalias 'nnimap-request-group-scan #[(group &optional server info) "\306!\307\310	\"\205\264 \310\211\211r\311 q\210\312 \210\313\314\315\316\"\"\313\317!#\320$!%>\2048 \321\322\323$D\"\210$\211&\324I\210)\325!\210\326\327#\324\330\257C!!'\203q \f\203q \331\f'C\"\210\332'\333'@(\"J\"\210db\210\334\f@8\211)\203\204 )S\202\210 \335\f@8\206\214 \336\337\f@8\206\232 )\206\232 \324,r*q\210\312 \210\340\341\nZT\n\342!%c\210,\316\207" [group server low high marks flag-sequence nnimap-decode-gnus-group nnimap-change-group nil nnimap-buffer erase-buffer nnimap-send-command "SELECT %S" utf7-encode t "UID FETCH 1:* FLAGS" type-of signal wrong-type-argument nnimap 1 nnimap-wait-for-response nnimap-flags-to-marks nnimap-parse-flags "SELECT" nnimap-update-infos nnimap-store-info intern-soft 5 3 0 4 format "211 %d %d %d %S\n" nnimap-encode-gnus-group group-sequence nnimap-object cl-struct-nnimap-tags #1=#:v info gnus-active-hashtb uidnext nntp-server-buffer] 8])
(nnoo-register-function 'nnimap-request-group-scan)
(defalias 'nnimap-request-create-group #[(group &optional server _args) "\302!\303\304	\"\205 r\305 q\210\306\307\310\311\"\"@)\207" [group server nnimap-decode-gnus-group nnimap-change-group nil nnimap-buffer nnimap-command "CREATE %S" utf7-encode t] 5])
(nnoo-register-function 'nnimap-request-create-group)
(defalias 'nnimap-request-delete-group #[(group &optional _force server) "\302!\303\304	\"\205 r\305 q\210\306\307\310\311\"\"@)\207" [group server nnimap-decode-gnus-group nnimap-change-group nil nnimap-buffer nnimap-command "DELETE %S" utf7-encode t] 5])
(nnoo-register-function 'nnimap-request-delete-group)
(defalias 'nnimap-request-rename-group #[(group new-name &optional server) "\303!\304\305	\"\205  r\306 q\210\307 \210\310\311\312\313\"\312\n\313\"#@)\207" [group server new-name nnimap-decode-gnus-group nnimap-change-group nil nnimap-buffer nnimap-unselect-group nnimap-command "RENAME %S %S" utf7-encode t] 6])
(nnoo-register-function 'nnimap-request-rename-group)
(defalias 'nnimap-unselect-group #[nil "\300\301!\207" [nnimap-command "EXAMINE DOES.NOT.EXIST"] 2])
(defalias 'nnimap-request-expunge-group #[(group &optional server) "\302!\303	\"\205 r\304 q\210\305\306!@)\207" [group server nnimap-decode-gnus-group nnimap-change-group nnimap-buffer nnimap-command "EXPUNGE"] 3])
(nnoo-register-function 'nnimap-request-expunge-group)
(defalias 'nnimap-get-flags #[(spec) "\304\211\211r\305 q\210\306 \210\307\310\311\"!\210`\312ed\313\314\315%\210eb\210\316\317\315#\203? \320p!\321	>A@\322	>A@B\nB\202\" )\n\237+\207" [end elems articles spec nil nnimap-buffer erase-buffer nnimap-wait-for-response nnimap-send-command "UID FETCH %s FLAGS" subst-char-in-region 92 37 t search-forward " FETCH " read UID FLAGS] 6])
(defalias 'nnimap-close-group #[(_group &optional _server) "\300\207" [t] 1])
(nnoo-register-function 'nnimap-close-group)
(defalias 'nnimap-request-move-article #[(article group server accept-form &optional _last internal-move-group) "\306!	\203\f \306	!\307\310!r\nq\210\311\216\312 \210	\203! \313\202\" \314\fp$\205\227 \315\316!	\203\200 r\317 q\210\320\321!\205B \322\321!\321\232\211\203L \323\202M \324\325\326	\327\"#\211 @\203h \204h \330!\210	\331\332 AA@\"\206{ \333	\f!$,B\202\226 \334\"!\211 \205\225 \335\f\"\210\330!\210 ))+\207" [group internal-move-group #1=#:temp-buffer article server message-id nnimap-decode-gnus-group generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] mm-disable-multibyte nnimap-request-head nnimap-request-article message-field-value "message-id" nnimap-buffer nnimap-capability "MOVE" nnimap-quirk "UID MOVE %d %S" "UID COPY %d %S" nnimap-command utf7-encode t nnimap-delete-article nnimap-find-uid-response "COPYUID" nnimap-find-article-by-message-id eval nnimap-change-group can-move command result nnimap-request-articles-find-limit accept-form] 7])
(nnoo-register-function 'nnimap-request-move-article)
(defalias 'nnimap-request-expire-articles #[(articles group &optional server force) "\306!	\204\n \307\207\310\n\"\204 	\207\203, \f\311=\203, \312\313	!!\204* \314\315\316\"\210\307\207\2046 \317=\203: 	\202@ \320	\321!\"\211\204J 	\202g \f\311=\203Z \312\313!!\210\202b \322\n#\323	\")\207" [group articles server force nnmail-expiry-target nnmail-expiry-wait nnimap-decode-gnus-group nil nnimap-change-group delete nnimap-delete-article gnus-compress-sequence nnheader-message 7 "Article marked for deletion, but not expunged." immediate gnus-sorted-intersection nnimap-find-expired-articles nnimap-process-expiry-targets gnus-sorted-complement deletable-articles] 5])
(nnoo-register-function 'nnimap-request-expire-articles)
(defalias 'nnimap-process-expiry-targets #[(articles group server) "\306\211\n\307=\203 \202T\310\n!\204\303\311\312\n!\313\314\f\"\211\203+ \f<\203+ \f\206_\315\f\"A\206_\f\316\232\203> 4\206H\315\f5\"A\206H\315\f6\"A\206H788\203v \f\313\3178@@@8@@A@#\232\204v 8\211A8\210\202T 8@@)\206H9::\203\242 \f\313\317:@@:@A@#\232\204\242 :\211A:\210\202\202 :@)\206H;A\306\211<=>>\203E\320>\211A>\2428\211=;\204\264 \f=\306\321?@=\32225=\206\337 4=@\204\353 \323\324\"\210\323\32556D\"\210=A@\326\235\203\313\327=@\"\202\313\317=@=A@#\211A=B\211B\235\2041?\2041\315B@\"\2041BBA*0+\232\203\264 =<\306\211>\204\271 <+\211C\203\\\315\f\"\204\\\fCBBC))\"\203\303\330D\f\"\203Tr\331 q\210\332\333\334D$\210\335\336!\205\204\337\336!\336\232E\340E\203\220\341\202\221\342\343\344!!\345\nF\346\347F\"\203\253F\350\225\306O\202\255F)\321\"#\210E\203\273\301\202\274\300L\210*\202T\306G\211H\203PH@G\nI\351\352!JrJq\210\353\216\354 \210\355GD\fp$\203F\310I!\203\375ID!II\2033I\307=\2043\356I\321\"\204\357I!\203-\360ID\"\210\332\333\361DGI%\210\202<\306I\202<\332\333\362DG$\210I\203FGB,HA\211H\204\315*\237\330D\f\"\210\203f\363\344!!\210	*\207" [articles-to-delete deleted-articles nnmail-expiry-target articles server gnus-server-method-cache nil delete functionp gnus-server-equal gnus-group-method format "nnimap:%s" assoc "native" "%s:%s" 4 t server-name mapc #[(name-method) "A	\232\205\f \302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205 \n\235\204 \nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") "%s" nnimap-change-group nnimap-buffer nnheader-message 7 "Expiring articles from %s: %s" nnimap-capability "MOVE" nnimap-quirk nnimap-command "UID MOVE %s %S" "UID COPY %s %S" nnimap-article-ranges gnus-compress-sequence utf7-encode string-match "^[^:]+:" 0 generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] mm-disable-multibyte nnimap-request-article gnus-request-group gnus-request-create-group nnmail-expiry-target-group "Expiring article %s:%d to %s" "Expiring article %s:%d" nnimap-delete-article gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers opened gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache name name-method result group can-move gname article --dolist-tail-- target #1#] 8])
(defalias 'nnimap-find-expired-articles #[(group) "\304\305\211#\211\2055 r\306 q\210\307\310\311\312\313\314\315\316	!8\n\"@\226\"	\"\"\211@\2054 \317\320\321\322\323\324A\"A\"\"*)\207" [group cutoff parse-time-months result nnmail-expired-article-p nil nnimap-buffer nnimap-command "UID SEARCH SENTBEFORE %s" format-time-string format "%%d-%s-%%Y" rassoc 4 decode-time delete 0 mapcar string-to-number assoc "SEARCH"] 10])
#@122 Search for message with MESSAGE-ID in GROUP from SERVER.
If LIMIT, first try to limit the search to the N last articles.
(defalias 'nnimap-find-article-by-message-id #[(group server message-id &optional limit) "r\306 q\210\307 \210\310	\311\312$\211<\205< \3132< \nA\311\211\205: \f@\211A@\314\232\2032 \315\313@\"\210\fA\211\204! \311*0\316\317\203V \203V \320\321\322\323!\324#\"\202W \325#\326!\205\211 \327\330\331\332 \"A!@\211\203y \323!\202\210 \205\210 \205\210 \333	#),\207" [group server change-group-result result --dolist-tail-- number-of-article nnimap-buffer erase-buffer nnimap-change-group nil t found "EXISTS" throw nnimap-send-command "UID SEARCH%s HEADER Message-Id %S" format " %s:*" - string-to-number -1 "" nnimap-wait-for-response last assoc "SEARCH" nnimap-parse-response nnimap-find-article-by-message-id limit message-id sequence article] 9 (#$ . 44167)])
(defalias 'nnimap-delete-article #[(articles) "r\302 q\210\303\304\305!\"\210\306\307!\203 \303\310\305!\"\210\311\202- 	\203) \303\312!\210\311\202- \313\314\315\")\207" [articles nnimap-expunge nnimap-buffer nnimap-command "UID STORE %s +FLAGS.SILENT (\\Deleted)" nnimap-article-ranges nnimap-capability "UIDPLUS" "UID EXPUNGE %s" t "EXPUNGE" gnus-message 7 "nnimap: nnimap-expunge is not set and the server doesn't support UIDPLUS, so we won't delete this article now"] 4])
(defalias 'nnimap-request-scan #[(&optional group server) "\203 \305!\306\307	\"\205C \n\205C \205C \310\311\312	#\210\n<\203; \n\307\211\2037 \f@\313 \210\fA\211\204* *\202> \313 \210\310\311\314	#\207" [group server nnimap-inbox nnimap-split-methods --dolist-tail-- nnimap-decode-gnus-group nnimap-change-group nil nnheader-message 7 "nnimap %s splitting mail..." nnimap-split-incoming-mail "nnimap %s splitting mail...done"] 5])
(nnoo-register-function 'nnimap-request-scan)
(defalias 'nnimap-marks-to-flags #[(marks) "\306\211\n\306\211\203$ \f@\211\236A@\211\203 	B\fA\211\204\f *	*\207" [flag flags marks mark --dolist-tail-- nnimap-mark-alist nil] 3])
(defalias 'nnimap-request-update-group-status #[(group status &optional server) "\304!\305\306	\"\205% \307\n\310\"\211\205$ r\311 q\210\312\313A@\314\315\"#))\207" [group server status command nnimap-decode-gnus-group nnimap-change-group nil assoc ((subscribe "SUBSCRIBE") (unsubscribe "UNSUBSCRIBE")) nnimap-buffer nnimap-command "%s %S" utf7-encode t] 7])
(nnoo-register-function 'nnimap-request-update-group-status)
(defalias 'nnimap-request-set-mark #[(group actions &optional server) "\306!\307	\"\205\217 \310r\311 q\210\312 \210\310\211\203\206 @\211\211G\313U\2034 \211A\242\202< \314\315\310GD\"\211A\242@\316!\211\203~ \317\320\321!\f\322=\203e \323\202v \f\324=\203o \325\202v \f\326=\205v \327\330\331\332#$-A\211\204 *\n\205\216 \333\n!*\207" [group server sequence actions action --dolist-tail-- nnimap-decode-gnus-group nnimap-change-group nil nnimap-buffer erase-buffer 3 signal wrong-number-of-arguments nnimap-marks-to-flags nnimap-send-command "UID STORE %s %sFLAGS.SILENT (%s)" nnimap-article-ranges del "-" add "+" set "" mapconcat identity " " nnimap-wait-for-response #1=#:--cl-rest-- range marks flags] 9])
(nnoo-register-function 'nnimap-request-set-mark)
(defalias 'nnimap-request-accept-article #[(group &optional server _last) "\204\n \306\307!@@\310!\311\312	\"\205\277 \313 \210\314\315!\312\211\316 \210\317ed\"r\320 q\210\321\322\323\n#\2066 \n\211\205\276 \324!->\204K \325\326\327D\"\210\330H\232\203V \331 \210\332 \210\333\334\335\336\"\nG#.\204l \337\340!\210\341\342p!\n\"\210\341\342p!\324!->\204\207 \325\326\327D\"\210\343H\203\221 \344\202\222 \345\"\210\346!/\347/!\204\253 \350\327\351/#\210\312\202\275 \352\353/@\"\206\274 \354	\f0$B),\207" [group server message sequence message-id nnimap-object nnmail-article-group (lambda (group) (list (list group))) nnimap-decode-gnus-group nnimap-change-group nil nnmail-check-syntax message-field-value "message-id" nnimap-add-cr buffer-substring-no-properties nnimap-buffer nnimap-process-quirk "OK Gimap " append type-of signal wrong-type-argument nnimap 10 nnimap-unselect-group erase-buffer nnimap-send-command "APPEND %S {%d}" utf7-encode t nnimap-wait-for-connection "^[+]" process-send-string get-buffer-process 6 "\n" "\n" nnimap-get-response nnimap-ok-p nnheader-report "%s" nnimap-find-uid-response "APPENDUID" nnimap-find-article-by-message-id cl-struct-nnimap-tags nnimap-streaming result nnimap-request-articles-find-limit] 6])
(nnoo-register-function 'nnimap-request-accept-article)
(defalias 'nnimap-process-quirk #[(greeting-match type data) "\306!	>\204 \307\310\311D\"\210\312H\205} \313\n\306!	>\204& \307\310\311D\"\210\312H\"\205} \314=\205} \313\315\f\"\205} \316\317\320\"\211\321=\203L \322\311\323\"\202| \324=\203V \f\202| \325\326!rq\210\327\216\fc\210eb\210\330\315\331\332#\203y \333\334\332\211#\210\202h \335 +)\207" [nnimap-object cl-struct-nnimap-tags greeting-match type data choice type-of signal wrong-type-argument nnimap 9 string-match append " " gnus-multiple-choice "Message contains NUL characters.  Delete, continue, abort? " ((100 "Delete NUL characters") (99 "Try to APPEND the message as is") (97 "Abort")) 97 nnheader-report "Aborted APPEND due to NUL characters" 99 generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] search-forward nil t replace-match "" buffer-string #1#] 7])
(defalias 'nnimap-ok-p #[(value) ":\205 @:\205 @@\301\232\207" [value "OK"] 2])
(defalias 'nnimap-find-uid-response #[(name list) "\303\304	\"!@\211\205 \305\n!)\207" [name list result last nnimap-find-response-element string-to-number] 5])
(defalias 'nnimap-find-response-element #[(name list) "\305	\305\211\203\" @\211:\203 \f\n@\232\203 \nA\211\204\n *)\207" [result list elem --dolist-tail-- name nil] 3])
(defalias 'nnimap-request-replace-article #[(article group buffer) "\304!\305\306!\205\" r\nq\210\307\305\310#\211)\205\" \311C!\210	A)\207" [group group-art buffer article nnimap-decode-gnus-group nil nnimap-change-group nnimap-request-accept-article t nnimap-delete-article] 4])
(nnoo-register-function 'nnimap-request-replace-article)
(defalias 'nnimap-add-cr #[nil "eb\210\300\301\302\303#\205 \304\305\303\211#\210\202 \207" [re-search-forward "?\n" nil t replace-match "\n"] 4])
(defalias 'nnimap-get-groups #[nil "\305 \210\306\307!\310\311	!\210\312ed\313\314\315%\210eb\210\316 \210eb\210\317\320\310\315#\203[ \321p!\321p!\322\323\310w\210`\310\210\324\310x\210`\"\325\f\235\204W \326\n;\203N \n\202R \327\330\n\"\315\"B+\202 \237*\207" [groups sequence group _separator flags erase-buffer nnimap-send-command "LIST \"\" \"*\"" nil nnimap-wait-for-response subst-char-in-region 92 37 t nnimap-unfold-quoted-lines search-forward "* LIST " read buffer-substring-no-properties " \"" " \"" %NoSelect utf7-decode format "%s"] 6])
(defalias 'nnimap-get-responses #[(sequences) "\304	\304\211\203) @eb\210\305\306\307\n\"\304\310#\203\" \n\311 DBA\211\204\n *)\207" [responses sequences sequence --dolist-tail-- nil re-search-forward format "^%d " t nnimap-parse-response] 5])
(defalias 'nnimap-request-list #[(&optional server) "\306\307\"\205Er	q\210\310 \210r\311 q\210\312 )\307\211\211\205Dr\311 q\210\313!%>\2044 \314\315\316D\"\210\211&\317\307I\210)\f\307'\211(\203} (@'\313!%>\204\\ \314\315\316D\"\210\211)\320'I\210)\321\322\323'\324\"\"'DB(A\211(\204G *\325@@!\210\326\327\330\"!)\n\307*\211(\203B(@\211*@+*A@*\331+\"A@'\332'!,'\2038*@@\333\232\2038\334\335*\"\307\211-./*\3070\211(\203\367 (@\2110A@\336\232\203\356 \3370@!-(A\211(\204\332 */\203\337/@!S..\204\340\341,\"c\210\2027-\342U\203)\340\343,.\211T$c\210\2027\340\344,.\2064-#c\210+,(A\211(\204\226 *\324,\207" [server nntp-server-buffer responses sequences groups nnimap-object nnimap-change-group nil erase-buffer nnimap-buffer nnimap-get-groups type-of signal wrong-type-argument nnimap 1 10 nnimap-send-command "EXAMINE %S" utf7-encode t nnimap-wait-for-response nnimap-get-responses mapcar car assoc nnimap-encode-gnus-group "OK" nnimap-find-parameter "UIDNEXT" "EXISTS" string-to-number format "%S 0 1 y\n" 0 "%S %d %d y\n" "%S %d 1 y\n" cl-struct-nnimap-tags #1=#:v group --dolist-tail-- #2=#:v response sequence egroup exists highest uidnext elem] 6])
(nnoo-register-function 'nnimap-request-list)
(defalias 'nnimap-request-newgroups #[(_date &optional server) "\305\306\"\2058 r	q\210\307 \210r\310 q\210\311 )\306\211\2036 @\312\n\f\"\204/ \313\314\315\n!\"c\210A\211\204 +\316\207" [server nntp-server-buffer group --dolist-tail-- nnimap-current-infos nnimap-change-group nil erase-buffer nnimap-buffer nnimap-get-groups assoc format "%S 0 1 y\n" nnimap-encode-gnus-group t] 5])
(nnoo-register-function 'nnimap-request-newgroups)
(defalias 'nnimap-retrieve-group-data-early #[(server infos) "\306\307\"\205n	\205nr\310 q\210\311 \210\312\n!>\204\" \313\314\315\nD\"\210\n\211\316\307I\210)\312\n!>\2049 \313\314\315\nD\"\210\n\211\317\320I\210)\321\322!\307\211\211\211\211\211\211()*+	\307,\211-\203i-@,\323,8*\324,@.\325\326.\"\203\207 .\320\225\307O\202\211 .)!(\327*\236A\330\331,8\236\332*\236A\333*\236A\312\n!>\204\271 \313\314\315\nD\"\210\n\211/\334(I\210)+\203\372 \203\372 \203\372 \203\372 \203\372 \335\336\337(\340\"\341\322!%\342\307(\342\257)B)\202`\203\343\202\344\30701\203$\203$\203$\316A\345Z]0\202C\312\n!>\2043\313\314\315\nD\"\210\n\2112\3172\317HTI\210)\3160\335\3461\337(\340\"#\335\3470\"0(1\257)B)*-A\211-\204e *).	\207" [server infos nnimap-object cl-struct-nnimap-tags #1=#:v #2=#:v nnimap-change-group nil nnimap-buffer erase-buffer type-of signal wrong-type-argument nnimap 1 12 0 nnimap-capability "QRESYNC" 5 nnimap-decode-gnus-group string-match "^[^:]+:" active unexist 3 uidvalidity modseq 10 nnimap-send-command "EXAMINE %S (%s (%s %s))" utf7-encode t nnimap-quirk qresync "EXAMINE" "SELECT" 100 "%s %S" "UID FETCH %d:* FLAGS" group sequences params qresyncp info --dolist-tail-- gname #3=#:v start command #4=#:v] 9])
(nnoo-register-function 'nnimap-retrieve-group-data-early)
(defalias 'nnimap-quirk #[(command) "\305	\"\211\203# \306\nA@\307!\f>\204 \310\311\312D\"\210\313H\"\204' \202* \314\n8)\207" [command nnimap-quirks quirk nnimap-object cl-struct-nnimap-tags assoc string-match type-of signal wrong-type-argument nnimap 9 2] 7])
(defalias 'nnimap-finish-retrieve-group-infos #[(server infos sequences &optional dont-insert) "\205\244 \306\307	\310#\205\244 \311\312 !\205\244 \313\311\312 !!\314>\205\244 r\312 q\210\315@A@\316=\2033 @@\2027 @A@\310\"\205\243 \317\320\321\237!!\n\"\210?\205\243 r\fq\210\322 \210\n\307\211\205\242 @\211@\323\"J\211\203\227 \324\325\326\327\330\331\"\203\211 \332\225\307O\202\213 )!!A@$c\210*A\211\204[ \307+)\207" [sequences server infos dont-insert nntp-server-buffer info nnimap-change-group nil t get-buffer-process nnimap-buffer process-status (open run) nnimap-wait-for-response qresync nnimap-update-infos nnimap-flags-to-marks nnimap-parse-flags erase-buffer intern-soft format "%S %d %d y\n" nnimap-encode-gnus-group nnimap-decode-gnus-group string-match "^[^:]+:" 0 --dolist-tail-- group gnus-active-hashtb active gname] 8])
(nnoo-register-function 'nnimap-finish-retrieve-group-infos)
(defalias 'nnimap-update-infos #[(flags infos) "\306\211\205< \n@\307	@\310\311\"\203 \312\225\306O\202 )!\313\f\"A\211\2033 \314	\"\210*\nA\211\204 \306*\207" [infos info --dolist-tail-- gname group flags nil nnimap-decode-gnus-group string-match "^[^:]+:" 0 assoc nnimap-update-info marks] 5])
(defalias 'nnimap-update-info #[(info marks) "\211G\306U\203 	\211A\242\202 \307\310\311	GD\"	\211A\242	\211A\242	\211A\242	\211A\2420	\211A\2421	\211A\242	\211A\242	\211A\2422	@3\n\204v 0\204v \312\31348\236A\211\n\205r \3144@5\"\nL)\202T\315\31348\236A\2116\205\226 6\232?\205\226 1?\206\226 1\316V)\203\250 \3174\315\"\210\3174\320\"\202T4@71\205\266 1\316U8\32175\"J\206\311 \312\31348\236A\n0\203\324 0S8\204\343 \32175\"J\2046\31475\"\n\203\206\365 \n@\n@^\f\206 \nA\nA]B\2021\203\f\203\fB\20210\203#0\211SB\20211\20301\211SB\2021\311L\210\202I\31475\"\n@\f\206F0SBL\210\322=\204f\3234\324\325>\204b\326>\205d#\210\324\31348\236A\211\203\3553\203\2131\204\213\3274\n\3302!$\210\202\355\331\332\211\n\333\334\326\"A\334\335\"A\"\"\334\336\"A\"!9\3371\fB9\":1\316V\203\325\3401\316V\203\314\341\3161SB\34248\"\202\320\34248:\":<\203\342\326>\203\3524AA:\240\210\34348;A\311<\211=\203\214=@<<\203\334<AA@\"@>\204\325>\203\203\334<@\"\331\334<AA@\"\206C\334\314<A@>\"\"\206C\334<A@\"A!?@\344@\"@\210@A\211@\203t1\316V\203t\337@1\fB\"@\340@?\"??\203\202<@?BB*=A\211=\204\373*\345\236A\32175\"J\n8\203\252\337\n\331\n!\"\202\271\346AA\347\n\32175\"J\"\"B\n@\316V\203\317\350\316\n@SBB\"BA\203\335AB\241\210\202\344\345BBB+\3514\343#\210*\334\352\"AC\n\203*C\203*\353C!@\nAV\203*7D\354\355D\"\203D\356\225\311O\202!D)\356BCEBE)\3234\312\32175\"J#\210\3234\315#\210\3234\3203#\210\3574\32175\"J\"+.\207" [marks #1=#:--cl-rest-- existing flags high low 10 signal wrong-number-of-arguments nil active 5 intern uidvalidity 1 gnus-group-remove-parameter modseq intern-soft not-scanned gnus-group-set-parameter permanent-flags %* %Seen nnimap-update-qresync-info nnimap-imap-ranges-to-gnus-ranges gnus-compress-sequence gnus-set-difference gnus-sorted-union assoc %Deleted %Flagged gnus-range-difference gnus-range-nconcat gnus-sorted-range-intersection 2 3 delq unexist gnus-add-to-range gnus-list-range-difference gnus-range-add gnus-info-set-entry %Recent last string-match "^[^:]+:" 0 nnimap-store-info uidnext start-article vanished highestmodseq info gnus-active-hashtb old-uidvalidity group completep unread read nnimap-mark-alist type --dolist-tail-- obarray new-marks old-marks old-unexists unexists recent gname nnmail-split-history] 10])
(defalias 'nnimap-update-qresync-info #[(info existing vanished flags) "AA\306\211\307\3108	\"\311\n\236A\"\312\n\236A\"\240\210\3138\fA\314\211\203\220 @\315@\"\315AA@\n\"\206K \315\316A@\"\n\"\206K \315A@\n\"A\317\"\210A\306\"\320\321\322\"!\"\211\203\200 @BB*\323\313#\210A\211\204% *	\205\275 \324\236\307A	\"\203\260 \241\210\202\267 \324BB*\323\313#)\207" [info vanished flags marks nnimap-mark-alist type gnus-add-to-range gnus-range-add 2 %Flagged %Seen 3 nil assoc intern delq gnus-remove-from-range gnus-compress-sequence gnus-sorted-complement gnus-info-set-entry unexist --dolist-tail-- obarray new-marks ticks existing old-unexists unexists] 7])
(defalias 'nnimap-imap-ranges-to-gnus-ranges #[(irange) "G\305U?\205C \306\307\310\"\306\211\203? @\311\312\n\"\2032 \307\n\312\"\313\f@!\313\fA@!)B\2025 \313\n!	BA\211\204 *	\237)\207" [irange result elem --dolist-tail-- numbers 0 nil split-string "," string-match ":" string-to-number] 4])
(defalias 'nnimap-store-info #[(info active) "\306@\307\310	\"\203 	\311\225\312O\202 	)!\313\n\"\211\203( \fD\241\2020 \nEB\211*\207" [info gname group nnimap-current-infos entry active nnimap-decode-gnus-group string-match "^[^:]+:" 0 nil assoc] 5])
(defalias 'nnimap-flags-to-marks #[(groups) "\306\211\211\211\211\211\211\211\211\211\306\211\203\344 @\211@A@\3078\3108\3118\3128\3138\314\233\211@@\306\211\211\306\211\203\301 @\211@@BA\306\211\203\267 @\315\"\211\204\245 @DB\202\256 \f@\fAB\241\210A\211\204\207 *A\211\204j *\n	\257B,A\211\204# *.\n\207" [highestmodseq vanished uidvalidity permanent-flags mark start-article nil 2 3 4 5 6 7 assoc articles uidnext group data groups elem --dolist-tail-- existing low marks high article flag] 12])
(defalias 'nnimap-parse-flags #[(sequences) "eb\210\306ed\307\310\311%\210\312\313\314\311#\203 \315\316\311\211#\210\202 eb\210\314\211\211\211\211\211\211\211\211\211$%&'(\314)\211*\203\234*@\211)\211+G\317U\203[ +\211A+\242\202c \320\321\314+GD\",+\211A+\242-+\211A+\242.+\211A+\242/+@0`'\322\323\324,\"\314\311#\203\221\325y\210`&'b\2100\326\232\203\270 \322\327&\206\255 e\311#\205\271 \330p!\202\271 \331'b\210\322\332&\206\306 e\311#\205\316 \330p!'b\210\312\333&\206\333 e\311#\205\343 \334\325!'b\210-\335=\205\377 \312\336&\206\367 e\311#\205\377 \334\325!'b\210\312\337&\206\fe\311#\205\334\325!&b\210\340y\203\221-\335=\2041\322\323\324-\"\314\311#\203\221-\335=\203C'b\210&'\202J`'&b\210\312\341'\311#\203j\330p!\342\f>A@\343\f>A@B%B%\202J/.\n	\257%\244$B$-\335=\203\213&b\210\202\216`&\314%.*A\211*\204B *$.\n\207" [highestmodseq vanished uidvalidity permanent-flags elems uidnext subst-char-in-region 92 37 t re-search-forward " MODSEQ ([0-9]+)" nil replace-match "" 5 signal wrong-number-of-arguments search-forward format "\n%d OK " 1 "SELECT" "PERMANENTFLAGS " read not-scanned "UIDNEXT " "UIDVALIDITY \\([0-9]+\\)" match-string qresync "^\\* VANISHED .*? \\([0-9:,]+\\)" "HIGHESTMODSEQ \\([0-9]+\\)" -1 "^\\* [0-9]+ FETCH " UID FLAGS groups articles end start sequences elem --dolist-tail-- #1=#:--cl-rest-- group-sequence flag-sequence totalp group command] 11])
(defalias 'nnimap-find-process-buffer #[(buffer) "\302	\"A@\207" [buffer nnimap-connection-alist assoc] 3])
(defalias 'nnimap-request-post #[(&optional _server) "\301\302\207" [nnimap-status-string "Read-only server" nil] 1])
(byte-code "\300\301!\210\302\303\304\"\207" [nnoo-register-function nnimap-request-post autoload nnir-search-thread "nnir"] 3)
(defalias 'nnimap-request-thread #[(header &optional group server) "\203 \306!	\203 \307\n!\207\310\"\205@ \311\n!r\312 q\210\313\314\f\")\211\205? \315@\205< \316\317\320\321\322\323A\"A\"\"\324\325#*\207" [group gnus-refer-thread-use-nnir header server cmd result nnimap-decode-gnus-group nnir-search-thread nnimap-change-group nnimap-make-thread-query nnimap-buffer nnimap-command "UID SEARCH %s" gnus-fetch-headers delete 0 mapcar string-to-number assoc "SEARCH" nil t] 9])
(nnoo-register-function 'nnimap-request-thread)
#@349 Change group to GROUP if non-nil.
If SERVER is set, check that server is connected, otherwise retry
to reconnect, unless NO-RECONNECT is set to t.  Return nil if
unsuccessful in connecting.
If GROUP is nil, return t.
If READ-ONLY is set, send EXAMINE rather than SELECT to the server.
Return the server's response to the SELECT or EXAMINE command.
(defalias 'nnimap-change-group #[(group &optional server no-reconnect read-only) "\306	\203 \307	!\204 \310	\311\n#\204 \311\202w \204\" \306\202w r\312 q\210\313\314\f\2031 \315\2022 \316\317\306\"#\211@\205v \320!>\204O \321\322\323D\"\210\211\324I\210)\320!>\204k \321\322\323D\"\210\211\325I\210)*)\207" [open-result server no-reconnect group read-only result t nnimap-server-opened nnimap-open-server nil nnimap-buffer nnimap-command "%s %S" "EXAMINE" "SELECT" utf7-encode type-of signal wrong-type-argument nnimap 1 5 nnimap-object cl-struct-nnimap-tags #1=#:v #2=#:v] 7 (#$ . 62891)])
#@43 Find the connection delivering to BUFFER.
(defalias 'nnimap-find-connection #[(buffer) "\303	\"\211\2053 \304\nA@!\203- \305\nA@!\203- \306\305\nA@!!\307>\203- \305\nA@!\2023 \310\n	\"\311)\207" [buffer nnimap-connection-alist entry assoc buffer-name get-buffer-process process-status (open run) delq nil] 4 (#$ . 63869)])
(defvar nnimap-sequence 0)
(defalias 'nnimap-send-command #[(&rest args) "\306!	>\204 \307\310\311D\"\210\211\312\313 I\210)\314\315p!\316\317\320T\211\321\317\f\"\306!	>\2046 \307\310\311D\"\210\322H\203@ \323\202A \324$!\"\210\204M \325!\210\207" [nnimap-object cl-struct-nnimap-tags #1=#:v nnimap-sequence args nnimap-streaming type-of signal wrong-type-argument nnimap 8 current-time process-send-string get-buffer-process nnimap-log-command format "%d %s%s\n" apply 6 "" "" nnimap-wait-for-response] 12])
#@54 If non-nil, log commands to the "*imap log*" buffer.
(defvar nnimap-record-commands nil (#$ . 64725))
(defalias 'nnimap-log-buffer #[nil "\302\303!\206 r\304!q\210\305\301!\210\306p))\207" [name window-point-insertion-type "*imap log*" get-buffer get-buffer-create make-local-variable t] 2])
(defalias 'nnimap-log-command #[(command) "\203 r\304 q\210db\210\305\306!\307	\310\n\203 \311\202 \261\210)\207" [nnimap-record-commands nnimap-address nnimap-inhibit-logging command nnimap-log-buffer format-time-string "%H:%M:%S" " [" "] " "(inhibited)\n"] 5])
(defalias 'nnimap-command #[(&rest args) "\303 \210\304\305\"\306	!\211@@\307\232\203 \310\nB\202& \311\312\313\314\315\n@\316##\210\317*\207" [args sequence response erase-buffer apply nnimap-send-command nnimap-get-response "OK" t nnheader-report nnimap "%s" mapconcat #[(a) "\301\302\"\207" [a format "%s"] 3] " " nil] 8])
(defalias 'nnimap-get-response #[(sequence) "\301!\210\302 \207" [sequence nnimap-wait-for-response nnimap-parse-response] 2])
(defalias 'nnimap-wait-for-connection #[(&optional regexp) "\301\206 \302\303\"\207" [regexp nnimap-wait-for-line "^[*.] .*\n" "[*.] \\([A-Z0-9]+\\)"] 3])
(defalias 'nnimap-wait-for-line #[(regexp &optional response-regexp) "\303p!eb\210\304!\305>\203! \306	\307\310#\204! \311!\210eb\210\202 \312y\210\313\n\206* 	!\2051 \314\315!)\207" [process regexp response-regexp get-buffer-process process-status (open run) re-search-forward nil t nnheader-accept-process-output -1 looking-at match-string 1] 4])
(defalias 'nnimap-wait-for-response #[(sequence &optional messagep) "\306p!\307\3101\262 db\210\311	!\312>\211\203\224 o\204$ \313y\210\314\315!\204 \314\316\317\n\"!\204\224 \203\212 \320\321\322\323 \324\245\f\325!#>\204I \326\327\330D\"\210\331H\332U\204\207 \316\333\325!#>\204c \326\327\330D\"\210\331H\325!#>\204v \326\327\330D\"\210\331H\334U\203\202 \335\202\203 \336#\202\210 \335%\210\337	!\210db\210\202 \325!#>\204\244 \326\327\330D\"\210\211$\331\332I\210)0\202\301 \210%\203\274 \340\341!\210\342	!\210\307*\207" [openp process sequence messagep nnimap-address nnimap-object get-buffer-process nil (quit) process-status (open run) -1 looking-at "\\*\\|[0-9]+ OK NOOP" format "%d .*\n" nnheader-message-maybe 7 "nnimap read %dk from %s%s" buffer-size 1000 type-of signal wrong-type-argument nnimap 12 0 " (initial sync of %d group%s; please wait)" 1 "" "s" nnheader-accept-process-output debug "Quit" delete-process cl-struct-nnimap-tags #1=#:v debug-on-quit] 13])
(defalias 'nnimap-parse-response #[nil "\304\305 \306\307#\310\211\310\211\203\" @\311\n!ABA\211\204 *\211A\242\237*B\207" [result lines line --dolist-tail-- split-string nnimap-last-response-string "\n" t nil nnimap-parse-line] 5])
(defalias 'nnimap-parse-line #[(line) "\304\211\305\306!r\nq\210\307\216\310 \210c\210eb\210m\204\227 \311g\211\312\"\203* \313u\210\202 \311	\314\"\203H \315`T\316\317\320 \321#\203B `S\202C `{!\202\221 \311	\322\"\203f \315`T\316\323\320 \321#\203` `S\202a `{!\202\221 \311	\324\"\203\200 \313u\210`\316\325\320 \321#\206{ `S{\202\221 `\316\326\304\327#\203\216 `S\202\220 db{B\202 \237-\207" [result char #1=#:temp-buffer line nil generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] mm-disable-multibyte eql 32 1 91 split-string search-forward "]" line-end-position move 40 ")" 34 "\"" " " t] 6])
(defalias 'nnimap-last-response-string #[nil "\212\301y\210`\302y\210o\204+ \302y\210o\204! \303g\304\"\203! \302y\210\202 \303g\304\"\204+ \301y\210`{*\207" [end 1 -1 eql 42] 3])
(defvar nnimap-incoming-split-list nil)
(defalias 'nnimap-fetch-inbox #[(articles) "\302 \210\303\304\305\306!\307\310\307\311 \203 \312\202 \313!	\203 \314\202) \311 \203( \315\202) \316##\317\"\207" [articles nnimap-split-download-body-default erase-buffer nnimap-wait-for-response nnimap-send-command "UID FETCH %s %s" nnimap-article-ranges format "(UID %s%s)" nnimap-ver4-p "BODY.PEEK" "RFC822.PEEK" "[]" "[HEADER]" "[1]" t] 8])
(defalias 'nnimap-split-incoming-mail #[nil "r\306 q\210\307\310=\203 	\202 \203 \202 \n\205 \303\n\206\" \311\312 \313\314!\2050 \315\314!\314\232\307+,-\316 \210\317\320.\"\210\321/!0>\204V \322\323\324/D\"\210/\2111\325.I\210)\326\327\330!!\211\205:\331\f!\210\332 \210\333 \210\334 \210\335p\336\307\211\337\336&\210-\205:\340-!\307\21123\2114\3075\2116\203\305 6@\2115@+\235\204\274 5@\341=\204\274 \317\342\3435@\311\"\"\2106A\2116\204\235 *\316 \2104\3075\2116\2036@\2115@5A7\2118\341=\203\357 72\2028.\230\204\344\203 \345\202\346\3477!\3438\311\"#7D3B3*6A\2116\204\324 *\20453\2035\3503@@!\210\351\3523!!\210\3512!+.\207" [nnimap-split-methods nnmail-split-methods nnimap-split-fancy nnmail-split-fancy new-articles can-move nnimap-buffer nil default t nnimap-get-groups nnimap-capability "MOVE" nnimap-quirk erase-buffer nnimap-command "SELECT %S" type-of signal wrong-type-argument nnimap 1 nnimap-new-articles nnimap-get-flags "1:*" nnimap-fetch-inbox nnimap-transform-split-mail nnheader-ms-strip-cr nnmail-cache-open nnmail-split-incoming nnimap-save-mail-spec nnimap-dummy-active-number nnimap-make-split-specs junk "CREATE %S" utf7-encode nnimap-send-command "UID MOVE %s %S" "UID COPY %s %S" nnimap-article-ranges nnimap-wait-for-response nnimap-mark-and-expunge-incoming nnimap-parse-copied-articles groups nnmail-inhibit-default-split-group nnimap-incoming-split-list nnimap-inbox nnimap-object cl-struct-nnimap-tags #1=#:v junk-articles sequences specs spec --dolist-tail-- ranges group] 8])
(defalias 'nnimap-mark-and-expunge-incoming #[(range) "\205* \303!\304 \210\305\306\"\307\310!\203 \305\311\"\202& \n\203& \305\312!\313	!)\207" [range sequence nnimap-expunge nnimap-article-ranges erase-buffer nnimap-send-command "UID STORE %s +FLAGS.SILENT (\\Deleted)" nnimap-capability "UIDPLUS" "UID EXPUNGE %s" "EXPUNGE" nnimap-wait-for-response] 3])
(defalias 'nnimap-parse-copied-articles #[(sequences) "\304\211\211eb\210\305\306\304\307#\203* \310\311\312!!\211\236A@\211\203	 \313!	B\202	 \314\315\316\317	\"\320\"!+\207" [range copied sequence sequences nil re-search-forward "^\\([0-9]+\\) OK\\b" t string-to-number match-string 1 gnus-uncompress-range gnus-compress-sequence sort apply nconc <] 6])
(defalias 'nnimap-new-articles #[(flags) "\305	\305\211\203! @\306\f\nA\"\204 \n@BA\211\204\n *\307\237!)\207" [new flags elem --dolist-tail-- nnimap-unsplittable-articles nil gnus-list-memq-of-list gnus-compress-sequence] 4])
(defalias 'nnimap-make-split-specs #[(list) "\306\211\n\306\211\203j \f@\211\211G\307U\203  \211A\242\202' \310\311\306GD\"@\312\306\313\314\"\"\306\211\203b \f@\315	\"\211\204S C\211	BAB\241\210\fA\211\204= -\fA\211\204\f *	\306\211\203\207 \f@\211\316\317A\320\"!\241\210\fA\211\204s *	*\207" [entry specs list elem --dolist-tail-- #1=#:--cl-rest-- nil 2 signal wrong-number-of-arguments delete mapcar car assoc gnus-compress-sequence sort < article spec group] 6])
(defalias 'nnimap-transform-split-mail #[nil "eb\210\302\211\3032[ m?\205Z \304\305!\204) `\306y\210`|\210m\203 \307\303\302\"\210\202 \310\306!\311 \312 \313 |\210\314\315	\"c\210Tu\210\311 \312 \313 |\210\203 Tu\210\312 \313 |\210\202 0*\207" [bytes article nil --cl-block-nil-- looking-at "\\* [0-9]+ FETCH.+UID \\([0-9]+\\)" 1 throw match-string nnimap-get-length line-beginning-position line-end-position format "\n\nX-nnimap-article: %s"] 3])
(defalias 'nnimap-dummy-active-number #[(_group &optional _server) "\300\207" [1] 1])
(defalias 'nnimap-save-mail-spec #[(group-art &optional _server _full-nov) "\303eb\210\304\305\303\306#\204 \307\310!\210\202 \311\312\313!!	\314=\203( \314\313BC\202) 	D\nB\211)\207" [article group-art nnimap-incoming-split-list nil re-search-forward "X-nnimap-article: \\([0-9]+\\)" t error "Invalid nnimap mail" string-to-number match-string 1 junk] 4])
(defalias 'nnimap-make-thread-query #[(header) "\306H\307\310H\206\f \311!\312\313	\211#\n\314\211\203- @\312\315\f\211$A\211\204 \314-\207" [header id refs value refid --dolist-tail-- 4 split-string 5 "" format "(OR HEADER REFERENCES %S HEADER Message-Id %S)" nil "(OR (OR HEADER Message-Id %S HEADER REFERENCES %S) %s)"] 6])
(provide 'nnimap)
