;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:43:42 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/gnus/gnus-score.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`gnus-score.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\207" [require gnus gnus-sum gnus-range message score-mode] 2)
#@544 List of global score files and directories.
Set this variable if you want to use people's score files.  One entry
for each score file or each score file directory.  Gnus will decide
by itself what score files are applicable to which group.

Say you want to use the single score file
"/ftp.gnus.org@ftp:/pub/larsi/ding/score/soc.motss.SCORE" and all
score files in the "/ftp.some-where:/pub/score" directory.

 (setq gnus-global-score-files
       '("/ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE"
         "/ftp.some-where:/pub/score"))
(custom-declare-variable 'gnus-global-score-files 'nil '(#$ . 764) :group 'gnus-score-files :type '(repeat file))
#@505 Alist mapping regexps to lists of score files.
Each element of this alist should be of the form
	("REGEXP" [ "SCORE-FILE-1" ] [ "SCORE-FILE-2" ] ... )

If the name of a group is matched by REGEXP, the corresponding scorefiles
will be used for that group.
The first match found is used, subsequent matching entries are ignored (to
use multiple matches, see `gnus-score-file-multiple-match-alist').

These score files are loaded in addition to any files returned by
`gnus-score-find-score-files-function'.
(custom-declare-variable 'gnus-score-file-single-match-alist 'nil '(#$ . 1428) :group 'gnus-score-files :type '(repeat (cons regexp (repeat file))))
#@530 Alist mapping regexps to lists of score files.
Each element of this alist should be of the form
	("REGEXP" [ "SCORE-FILE-1" ] [ "SCORE-FILE-2" ] ... )

If the name of a group is matched by REGEXP, the corresponding scorefiles
will be used for that group.
If multiple REGEXPs match a group, the score files corresponding to each
match will be used (for only one match to be used, see
`gnus-score-file-single-match-alist').

These score files are loaded in addition to any files returned by
`gnus-score-find-score-files-function'.
(custom-declare-variable 'gnus-score-file-multiple-match-alist 'nil '(#$ . 2088) :group 'gnus-score-files :type '(repeat (cons regexp (repeat file))))
#@28 Suffix of the score files.
(custom-declare-variable 'gnus-score-file-suffix '"SCORE" '(#$ . 2774) :group 'gnus-score-files :type 'string)
#@37 Suffix of the adaptive score files.
(custom-declare-variable 'gnus-adaptive-file-suffix '"ADAPT" '(#$ . 2918) :group 'gnus-score-files :group 'gnus-score-adapt :type 'string)
#@831 Function used to find score files.
The function will be called with the group name as the argument, and
should return a list of score files to apply to that group.  The score
files do not actually have to exist.

Predefined values are:

`gnus-score-find-single': Only apply the group's own score file.
`gnus-score-find-hierarchical': Also apply score files from parent groups.
`gnus-score-find-bnews': Apply score files whose names matches.

See the documentation to these functions for more information.

This variable can also be a list of functions to be called.  Each
function is given the group name as argument and should either return
a list of score files, or a list of score alists.

If functions other than these pre-defined functions are used,
the `a' symbolic prefix to the score commands will always use
"all.SCORE".
(custom-declare-variable 'gnus-score-find-score-files-function ''gnus-score-find-bnews '(#$ . 3100) :group 'gnus-score-files :type '(radio (function-item gnus-score-find-single) (function-item gnus-score-find-hierarchical) (function-item gnus-score-find-bnews) (repeat :tag "List of functions" (choice (function :tag "Other" :value 'ignore) (function-item gnus-score-find-single) (function-item gnus-score-find-hierarchical) (function-item gnus-score-find-bnews))) (function :tag "Other" :value 'ignore)))
#@79 *Scoring commands will raise/lower the score with this number as the default.
(custom-declare-variable 'gnus-score-interactive-default-score '1000 '(#$ . -4442) :group 'gnus-score-default :type 'integer)
#@127 *Number of days before unused score file entries are expired.
If this variable is nil, no score file entries will be expired.
(custom-declare-variable 'gnus-score-expiry-days '7 '(#$ . -4653) :group 'gnus-score-expire :type '(choice (const :tag "never" nil) number))
#@169 *In non-nil, update matching score entry dates.
If this variable is nil, then score entries that provide matches
will be expired along with non-matching score entries.
(custom-declare-variable 'gnus-update-score-entry-dates 't '(#$ . -4927) :group 'gnus-score-expire :type 'boolean)
#@42 *If non-nil, decay non-permanent scores.
(custom-declare-variable 'gnus-decay-scores 'nil '(#$ . -5216) :group 'gnus-score-decay :type 'boolean)
#@96 *Function called to decay a score.
It is called with one parameter -- the score to be decayed.
(custom-declare-variable 'gnus-decay-score-function ''gnus-decay-score '(#$ . -5367) :group 'gnus-score-decay :type '(radio (function-item gnus-decay-score) (function :tag "Other")))
#@45 *Decay all "small" scores with this amount.
(custom-declare-variable 'gnus-score-decay-constant '3 '(#$ . -5651) :group 'gnus-score-decay :type 'integer)
#@43 *Decay all "big" scores with this factor.
(custom-declare-variable 'gnus-score-decay-scale '0.05 '(#$ . -5811) :group 'gnus-score-decay :type 'number)
#@943 Variable to control where interactive score entries are to go.
It can be:

 * A string
   This file file will be used as the home score file.

 * A function
   The result of this function will be used as the home score file.
   The function will be passed the name of the group as its
   parameter.

 * A list
   The elements in this list can be:

   * `(regexp file-name ...)'
     If the `regexp' matches the group name, the first `file-name' will
     will be used as the home score file.  (Multiple filenames are
     allowed so that one may use gnus-score-file-single-match-alist to
     set this variable.)

   * A function.
     If the function returns non-nil, the result will be used
     as the home score file.  The function will be passed the
     name of the group as its parameter.

   * A string.  Use the string as the home score file.

   The list will be traversed from the beginning towards the end looking
   for matches.
(custom-declare-variable 'gnus-home-score-file 'nil '(#$ . 5969) :group 'gnus-score-files :type '(choice string (repeat (choice string (cons regexp (repeat file)) (function :value fun))) (function-item gnus-hierarchial-home-score-file) (function-item gnus-current-home-score-file) (function :value fun)))
#@129 Variable to control where new adaptive score entries are to go.
This variable allows the same syntax as `gnus-home-score-file'.
(custom-declare-variable 'gnus-home-adapt-file 'nil '(#$ . 7223) :group 'gnus-score-adapt :group 'gnus-score-files :type '(choice string (repeat (choice string (cons regexp (repeat file)) (function :value fun))) (function :value fun)))
#@29 *Alist of marks and scores.
(custom-declare-variable 'gnus-default-adaptive-score-alist ''((gnus-kill-file-mark) (gnus-unread-mark) (gnus-read-mark (from 3) (subject 30)) (gnus-catchup-mark (subject -10)) (gnus-killed-mark (from -1) (subject -20)) (gnus-del-mark (from -2) (subject -15))) '(#$ . -7593) :group 'gnus-score-adapt :type '(repeat (cons (symbol :tag "Mark") (repeat (list (choice :tag "Header" (const from) (const subject) (symbol :tag "other")) (integer :tag "Score"))))))
#@63 List of words to be ignored when doing adaptive word scoring.
(custom-declare-variable 'gnus-ignored-adaptive-words 'nil '(#$ . 8085) :group 'gnus-score-adapt :type '(repeat string))
#@72 *Default list of words to be ignored when doing adaptive word scoring.
(custom-declare-variable 'gnus-default-ignored-adaptive-words ''("a" "i" "the" "to" "of" "and" "in" "is" "it" "for" "that" "if" "you" "this" "be" "on" "with" "not" "have" "are" "or" "as" "from" "can" "but" "by" "at" "an" "will" "no" "all" "was" "do" "there" "my" "one" "so" "we" "they" "what" "would" "any" "which" "about" "get" "your" "use" "some" "me" "then" "name" "like" "out" "when" "up" "time" "other" "more" "only" "just" "end" "also" "know" "how" "new" "should" "been" "than" "them" "he" "who" "make" "may" "people" "these" "now" "their" "here" "into" "first" "could" "way" "had" "see" "work" "well" "were" "two" "very" "where" "while" "us" "because" "good" "same" "even" "much" "most" "many" "such" "long" "his" "over" "last" "since" "right" "before" "our" "without" "too" "those" "why" "must" "part" "being" "current" "back" "still" "go" "point" "value" "each" "did" "both" "true" "off" "say" "another" "state" "might" "under" "start" "try" "re") '(#$ . -8274) :group 'gnus-score-adapt :type '(repeat string))
#@29 *Alist of marks and scores.
(custom-declare-variable 'gnus-default-adaptive-word-score-alist '`((,gnus-read-mark . 30) (,gnus-catchup-mark . -10) (,gnus-killed-mark . -20) (,gnus-del-mark . -15)) '(#$ . -9371) :group 'gnus-score-adapt :type '(repeat (cons (character :tag "Mark") (integer :tag "Score"))))
#@78 If a number, this is the minimum score value that can be assigned to a word.
(custom-declare-variable 'gnus-adaptive-word-minimum 'nil '(#$ . 9683) :group 'gnus-score-adapt :type '(choice (const nil) integer))
#@64 If t, don't adaptively score words included in the group name.
(custom-declare-variable 'gnus-adaptive-word-no-group-words 'nil '(#$ . 9899) :group 'gnus-score-adapt :type 'boolean)
#@65 *Have the score entry functions pretend that they are a keymap.
(custom-declare-variable 'gnus-score-mimic-keymap 'nil '(#$ . -10087) :group 'gnus-score-default :type 'boolean)
#@396 *Number that says how long a match has to be before using substring matching.
When doing adaptive scoring, one normally uses fuzzy or substring
matching.  However, if the header one matches is short, the possibility
for false positives is great, so if the length of the match is less
than this variable, exact matching will be used.

If this variable is nil, exact matching will always be used.
(custom-declare-variable 'gnus-score-exact-adapt-limit '10 '(#$ . -10271) :group 'gnus-score-adapt :type '(choice (const nil) integer))
#@60 All score files that match this regexp will not be cached.
(custom-declare-variable 'gnus-score-uncacheable-files '"ADAPT$" '(#$ . 10808) :group 'gnus-score-adapt :group 'gnus-score-files :type 'regexp)
#@276 Default header when entering new scores.

Should be one of the following symbols.

 a: from
 s: subject
 b: body
 h: head
 i: message-id
 t: references
 x: xref
 e: `extra' (non-standard overview)
 l: lines
 d: date
 f: followup

If nil, the user will be asked for a header.
(custom-declare-variable 'gnus-score-default-header 'nil '(#$ . 11018) :group 'gnus-score-default :type '(choice (const :tag "from" a) (const :tag "subject" s) (const :tag "body" b) (const :tag "head" h) (const :tag "message-id" i) (const :tag "references" t) (const :tag "xref" x) (const :tag "extra" e) (const :tag "lines" l) (const :tag "date" d) (const :tag "followup" f) (const :tag "ask" nil)))
#@314 Default match type when entering new scores.

Should be one of the following symbols.

 s: substring
 e: exact string
 f: fuzzy string
 r: regexp string
 b: before date
 a: after date
 n: this date
 <: less than number
 >: greater than number
 =: equal to number

If nil, the user will be asked for a match type.
(custom-declare-variable 'gnus-score-default-type 'nil '(#$ . 11701) :group 'gnus-score-default :type '(choice (const :tag "substring" s) (const :tag "exact string" e) (const :tag "fuzzy string" f) (const :tag "regexp string" r) (const :tag "before date" b) (const :tag "after date" a) (const :tag "this date" n) (const :tag "less than number" <) (const :tag "greater than number" >) (const :tag "equal than number" =) (const :tag "ask" nil)))
#@58 Use case folding for new score file entries iff not nil.
(custom-declare-variable 'gnus-score-default-fold 'nil '(#$ . 12464) :group 'gnus-score-default :type 'boolean)
#@186 Default duration of effect when entering new scores.

Should be one of the following symbols.

 t: temporary
 p: permanent
 i: immediate

If nil, the user will be asked for a duration.
(custom-declare-variable 'gnus-score-default-duration 'nil '(#$ . 12640) :group 'gnus-score-default :type '(choice (const :tag "temporary" t) (const :tag "permanent" p) (const :tag "immediate" i) (const :tag "ask" nil)))
#@71 Function called with the name of the score file just written to disk.
(custom-declare-variable 'gnus-score-after-write-file-function 'nil '(#$ . 13052) :group 'gnus-score-files :type '(choice (const nil) function))
#@55 If non-nil, subjects will simplified as in threading.
(custom-declare-variable 'gnus-score-thread-simplify 'nil '(#$ . 13273) :group 'gnus-score-various :type 'boolean)
#@62 If nil, only `gnus-score-find-score-files-function' is used.
(defvar gnus-score-use-all-scores t (#$ . 13448))
#@53 Syntax table used when doing adaptive word scoring.
(defvar gnus-adaptive-word-syntax-table (byte-code "\302\303 !\304\203 \305\211A@\306	#\210\202 \305\307\310	#\210	*\207" [numbers table copy-syntax-table standard-syntax-table (48 49 50 51 52 53 54 55 56 57) modify-syntax-entry " " 39 "w"] 4) (#$ . 13565))
(byte-code "\301B\306\301!\204\f \307\302B\306\302!\204 \307\303B\306\303!\204$ \307\304B\306\304!\2040 \307\305B\306\305!\204< \307\310B\306\310!\204J \f\311B\306\311!\204X 	\312B\306\312!\204e \307\n\313B\306\313!\204r \307\307\207" [current-load-list gnus-scores-exclude-files gnus-internal-global-score-files gnus-score-file-list gnus-short-name-score-file-cache gnus-score-help-winconf boundp nil gnus-adaptive-score-alist gnus-adaptive-word-score-alist gnus-score-trace gnus-score-edit-buffer gnus-default-adaptive-score-alist gnus-default-adaptive-word-score-alist] 2)
#@683 Alist containing score information.
The keys can be symbols or strings.  The following symbols are defined.

touched: If this alist has been modified.
mark:    Automatically mark articles below this.
expunge: Automatically expunge articles below this.
files:   List of other score files to load when loading this one.
eval:    Sexp to be evaluated when the score file is loaded.

String entries have the form (HEADER (MATCH TYPE SCORE DATE) ...)
where HEADER is the header being scored, MATCH is the string we are
looking for, TYPE is a flag indicating whether it should use regexp or
substring matching, SCORE is the score to add and DATE is the date
of the last successful match.
(defvar gnus-score-alist nil (#$ . 14498))
(byte-code "\301B\305\301!\204\f \306\302B\305\302!\204 \306\303B\305\303!\204$ \306\304B\307\310\311\312\"\207" [current-load-list gnus-score-cache gnus-scores-articles gnus-score-index gnus-header-index boundp nil (("number" 0 gnus-score-integer) ("subject" 1 gnus-score-string) ("from" 2 gnus-score-string) ("date" 3 gnus-score-date) ("message-id" 4 gnus-score-string) ("references" 5 gnus-score-string) ("chars" 6 gnus-score-integer) ("lines" 7 gnus-score-integer) ("xref" 8 gnus-score-string) ("extra" 9 gnus-score-string) ("head" -1 gnus-score-body) ("body" -1 gnus-score-body) ("all" -1 gnus-score-body) ("followup" 2 gnus-score-followup) ("thread" 5 gnus-score-thread)) gnus-define-keys-1 (gnus-summary-score-map "V" gnus-summary-mode-map) ("s" gnus-summary-set-score "S" gnus-summary-current-score "c" gnus-score-change-score-file "C" gnus-score-customize "m" gnus-score-set-mark-below "x" gnus-score-set-expunge-below "R" gnus-summary-rescore "e" gnus-score-edit-current-scores "f" gnus-score-edit-file "F" gnus-score-flush-cache "t" gnus-score-find-trace "w" gnus-score-find-favourite-words)] 3)
#@196 Make a score entry based on the current article.
The user will be prompted for header to score on, match type,
permanence, and the string to be used.  The numerical prefix will be
used as score.
(defalias 'gnus-summary-lower-score #[(&optional score symp) "\302\303![	\"\207" [score symp gnus-summary-increase-score gnus-score-delta-default] 3 (#$ . 16350) (gnus-interactive "P\ny")])
(defalias 'gnus-score-kill-help-buffer #[nil "\301\302!\205 \303\302!\210\205 \304!\207" [gnus-score-help-winconf get-buffer "*Score Help*" kill-buffer set-window-configuration] 2])
#@196 Make a score entry based on the current article.
The user will be prompted for header to score on, match type,
permanence, and the string to be used.  The numerical prefix will be
used as score.
(defalias 'gnus-summary-increase-score #[(&optional score symp) "\306!\211\307W\203 \310\202 \311	\307V\312\313@A\314\315 \316E\317\320EBCDE\2055 \321E!\307HFG\205B \321G!\307HHI\205O \321I!\307HJ\322K\322L\322M\322N\322O\323\216F\204\247 D\203x \324\325!\210\326\327\n\"\210\202\212 \326\330\203\202 \331\202\203 \332\333\334\f\335##\210\336 \211F\337U\204\233 F\340U\203b \322F\341\342\f\325#\210\202b \343 \210F\227\f\236\211K\204\310 D\203\304 \344\345\nF#\210\202\310 \344\346!\210F\227FU\204\364 D\203\340 \326\345\nF#\210\202\344 \326\335!\210H\206\352 \347HJ\206\362 \314J\350\322\351\352\"\"PH\204JD\203\324\325!\210\326\353\nF#\210\202,\326\354\203\331\202 \332KA@\333\355P\335#$\210\336 \211H\337U\204=H\340U\203\375 \322H\341\356P\357#\210\202\375 \343 \210H\227P\236A@\211M\204nD\203j\344\345\nF#\210\202n\344\360!\210)H\227HU\204\225D\203\211\326\361\nFH$\210\202\215\326\335!\210J\206\223\314JJ\204\340D\203\257\324\325!\210\326\362\nFH$\210\202\302\326\363\203\271\331\202\272\332\333\364B\335##\210\336 \211J\337U\204\323J\340U\203\225\322J\341\365B\357#\210\202\225\343 \210D\203\366\326\361\nFHJ%\210\202\372\326\335!\210JB\236\211QA@)\211L\204G\nT\366=\2030F\367\\\370=\2030HS\371=\2030J\372Z\373=\2030\344\374!\210D\203C\344\375\nFHJ%\210\202G\344\376!\210)R\205qKA@\377\232\205q\201V \201W \321R@!\201X \351\201Y R\"\322\201Z %!O\357K8\335\230\203\200\335\202\222\201[ \357K8\206\216KA@\322O#NKA@\201\\ \232\203\307\201] \201^ N\"\203\263N\307\225\322ON\201] \201_ N\"\203\307N\307\225\322ONM\201` >\203\330\201a N!NS\201b =\203\212Tq\210\201c U\201d =\203\372\201e \335!\202U\201f =\203A\202\201e \201g !!\210)\201h KA@NM\201i =?\205'L\201j =?\2053L\201k K8?\322O&\210S\201b =\205U\212Tq\210\201c A!).\207" [score nscore prefix increase char-to-header char-to-type gnus-score-delta-default 0 76 73 ((97 "from" nil nil string) (115 "subject" nil nil string) (98 "body" "" nil body-string) (104 "head" "" nil body-string) (105 "message-id" nil nil string) (114 "references" "message-id" nil string) (120 "xref" nil nil string) (101 "extra" nil nil string) (108 "lines" nil nil number) (100 "date" nil nil date) (102 "followup" nil nil string) (116 "thread" "message-id" nil string)) ((115 s "substring" string) (101 e "exact string" string) (102 f "fuzzy string" string) (114 r "regexp string" string) (122 s "substring" body-string) (112 r "regexp string" body-string) (98 before "before date" date) (97 after "after date" date) (110 at "this date" date) (60 < "less than number" number) (62 > "greater than number" number) (61 = "equal to number" number)) 116 current-time-string "temporary" (112 perm "permanent") (105 now "immediate") symbol-name nil ((gnus-score-kill-help-buffer)) sit-for 1 message "%c-" "%s header (%s?): " "Increase" "Lower" mapconcat #[(s) "\301@!\207" [s char-to-string] 2] "" read-char 63 8 gnus-score-insert-help "Match on header" gnus-score-kill-help-buffer error "%c %c" "Invalid header type" 115 delq mapcar #[(s) "\3028\303	8=\205 	\207" [entry s 4 3] 3] "%c %c-" "%s header '%s' with match type (%s?): " #[(s) "\301@!\207" [s char-to-string] 2] "Match type" 2 "Invalid match type" "%c %c %c" "%c %c %c-" "%s permanence (%s?): " #[(s) "\301@!\207" [s char-to-string] 2] "Match permanence" 77 12 109 113 4 111 "You rang?" "%c %c %c %c" "Invalid match duration" "extra" gnus-current-score-file current-score-file char-to-perm gnus-score-mimic-keymap mimic gnus-score-default-header hchar gnus-score-default-type tchar gnus-score-default-duration pchar entry temporary type match extra legal-types x gnus-extra-headers symp gnus-summary-buffer gnus-score-find-score-files-function intern gnus-completing-read "Score extra header:" #[(x) "\301!B\207" [x symbol-name] 2] t gnus-summary-header "xref" string-match "^Xref: *" "^[^:]* +" (r R regexp Regexp) regexp-quote a gnus-score-load-file gnus-score-find-hierarchical gnus-score-file-name gnus-score-find-single "all" gnus-summary-score-entry s perm 3] 10 (#$ . 16929) (gnus-interactive "P\ny")])
(defalias 'gnus-score-insert-help #[(string alist idx) "\306 \212\307\310!q\210\311 \210\312p!\210\313 \210	\314\261\210\315\n\316\317\211\211\211 !\"#\"\203M $\"@8G # V\204D  #\"A\211\"\204/ #\320\\#\321 S#\245 \321 S \245\n\203\237 ! W\204x \316!\322\315!\210\323c\210\324Z\325\326\f!\327Q\303\n\211%@@)$\n@8#c\210\nA!T!\202b .\330 \210\331 \210\332\310!\210\333&\334 \210)\335\336'\337\"!)\207" [gnus-score-help-winconf string alist format pad width current-window-configuration gnus-get-buffer-create "*Score Help*" buffer-disable-undo delete-windows-on erase-buffer ":\n\n" -1 0 nil 4 window-width delete-char "\n" 3 "%c: %-" int-to-string "s" gnus-appt-select-lowest-window split-window pop-to-buffer 1 shrink-window-if-larger-than-buffer select-window get-buffer-window t n i list max idx x window-min-height gnus-summary-buffer] 8])
(defalias 'gnus-summary-header #[(header &optional no-err extra) "\306`\307\"\211\203 \310!\210)\306`\311\"\206 \312 \313\211\203W \314\n\2368\211\203K \315	!\203K \f\203? \f	\316H\236A\206_ \317\202_ 	\320\"A@H\202_ ?\205_ \321\322!\202_ \205_ \321\323!*\207" [to headers article gnus-newsgroup-data extra header get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject nil 3 vectorp 9 "" assoc error "Pseudo-articles can't be scored" "No article on current line" gnus-header-index no-err] 5])
(defalias 'gnus-newsgroup-score-alist #[nil "\303\304\"\211\205\f \305	!)\204 \305\306!!\210\n\207" [gnus-newsgroup-name param-file gnus-score-alist gnus-group-find-parameter score-file gnus-score-load gnus-score-file-name] 4])
(defalias 'gnus-score-get #[(symbol &optional alist) "\303	\206\f \n\206\f \304 \"A\207" [symbol alist gnus-score-alist assoc gnus-newsgroup-score-alist] 3])
(put 'gnus-score-get 'byte-optimizer 'byte-compile-inline-expand)
#@473 Enter score file entry.
HEADER is the header being scored.
MATCH is the string we are looking for.
TYPE is the match type: substring, regexp, exact, fuzzy.
SCORE is the score to add.
DATE is the expire date, or nil for no expire, or 'now for immediate expire.
If optional argument `PROMPT' is non-nil, allow user to edit match.
If optional argument `SILENT' is nil, show effect of score entry.
If optional argument `EXTRA' is non-nil, it's a non-standard overview header.
(defalias 'gnus-summary-score-entry #[(header match type score date &optional prompt silent extra) "\306=\203 \307\307=\204 \310=\204 \311=\2039 	\2034 	\312\313\n\"\203/ \n\314\225\311O\2020 \n)\2025 \315\202C \316=\203C \317	!\320!\f\227\311\321\314\fG\311\f$\210*\203\215 \322\323\324+\325=\203g \326\202r +;\203q \327\202r \330\f\314W\203} \331\202~ \332$	\247\203\212 \333	!\202\213 	\"\334\335\f,\"8\336=\203\245 	;\203\255 \337	!\202\255 \321\314	G\311	$\210+\325=\204\245-U\203\275 \311\f\311./\335/.\206\322 0\206\322 \340 \"A*\311123\203\377 	+\205\365 +\247\203\361 +\202\365 \341+!\3423!\257\2029\203	+\205+\247\203+\202\341+!F\2029+\203-	\341+!E\2029\2037	D\2029	C2\203\213\335	2\"\2111\203\213\34318\3438=\203\213\33418\247\203d\3348\247\204q\33418\204\213\3348\204\2131A1A@\206}-A@\206\205-\\\240\210\202\237\344\f2\203\2312B\202\233C\311\306$\210\344\345\346\"\210*4\204\321\335\f,\"A@\314Y\203\316\334\335\f,\"8\347=\203\316\350\f	3%\210\202\321\351 \210+\207" [type match subject score header new t r s nil string-match "^[Rr][Ee]: *" 0 "" f gnus-simplify-subject-fuzzy gnus-score-delta-default set-text-properties read-string format "Match %s on %s, %s: " now "now" "temp" "permanent" "lower" "raise" int-to-string 2 assoc gnus-score-integer string-to-int gnus-newsgroup-score-alist date-to-day symbol-name 3 gnus-score-set touched (t) gnus-score-string gnus-summary-score-effect gnus-summary-rescore prompt date gnus-header-index gnus-score-interactive-default-score alist symbol gnus-score-alist elem old extra silent] 7 (#$ . 23211)])
#@213 Simulate the effect of a score file entry.
HEADER is the header being scored.
MATCH is the string we are looking for.
TYPE is the score type.
SCORE is the score to add.
EXTRA is the possible non-standard header.
(defalias 'gnus-summary-score-effect #[(header match type score extra) "\212;\203 G\306V\204 \307\310!\210eb\210	\311=\203  \312!\202< 	\313=\203* \202< 	\314=\2039 \315\316!\317Q\202< \316!m\204r \320\321\f#\322\211\203j 	\311=\203] \312!\n\230\202b \323\n\"\203j \324!\210*\325\326!\210\202= *\327\330!\207" [match type regexp header extra case-fold-search 0 error "No match" f gnus-simplify-subject-fuzzy r e "\\`" regexp-quote "\\'" gnus-summary-header noerr t string-match gnus-summary-raise-score beginning-of-line 2 gnus-set-mode-line summary content score] 5 (#$ . 25359) (list (completing-read "Header: " gnus-header-index (lambda (x) (fboundp (nth 2 x))) t) (read-string "Match: ") (y-or-n-p "Use regexp match? ") (prefix-numeric-value current-prefix-arg))])
(defalias 'gnus-summary-score-crossposting #[(score date) "\306\307!\310\311\211\204 \312\313!\210\314\315\n	#\2058 \310\225\n\316\224\316\225O\211\230\204 \317\307\320\321Q\311\f\322&\210\202 +\207" [group start xref gnus-newsgroup-name score date gnus-summary-header "xref" 0 nil error "This article is not crossposted" string-match " \\([^ 	]+\\):" 1 gnus-summary-score-entry " " ":" t] 8])
#@61 Automatically mark articles with score below SCORE as read.
(defalias 'gnus-score-set-mark-below #[(score) "\206	 	\206	 \303\304\305C\"\210\304\306\307\"\210\310 \207" [score gnus-summary-default-score gnus-summary-mark-below 0 gnus-score-set mark touched (t) gnus-score-update-lines] 3 (#$ . 26771) (list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg)) (string-to-int (read-string "Mark below: "))))])
#@41 Update all lines in the summary buffer.
(defalias 'gnus-score-update-lines #[nil "\212eb\210m?\205 \300 \210\301y\210\202 )\207" [gnus-summary-update-line 1] 1 (#$ . 27209)])
#@63 Update all lines in the summary buffer, even the hidden ones.
(defalias 'gnus-score-update-all-lines #[nil "\212eb\210\301m\204 \302 \203 `B\303 \210\304y\210\202 \205- \211A@b\210\305 \210\202 *\207" [hidden nil gnus-summary-show-thread gnus-summary-update-line 1 gnus-summary-hide-thread] 2 (#$ . 27392)])
#@56 Automatically expunge articles with score below SCORE.
(defalias 'gnus-score-set-expunge-below #[(score) "\206	 	\206	 \302\303\304C\"\210\303\305\306\"\207" [score gnus-summary-default-score 0 gnus-score-set expunge touched (t)] 3 (#$ . 27716) (list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg)) (string-to-int (read-string "Set expunge below: "))))])
#@66 Add SCORE to all followups to the article in the current buffer.
(defalias 'gnus-score-followup-article #[(&optional score) "\304!	\211\205 \305\n!\205 \306\305\n!!)\2057 \212\214\307 \210\310\311!\211\2056 	q\210\312\313\314P\315\316 \317\320&+\207" [score gnus-summary-buffer buffer id gnus-score-delta-default get-buffer buffer-name message-narrow-to-headers mail-fetch-field "message-id" gnus-summary-score-entry "references" "[ 	]*$" r current-time-string nil t] 9 (#$ . 28103) "P"])
#@78 Add SCORE to all later articles in the thread the current buffer is part of.
(defalias 'gnus-score-followup-thread #[(&optional score) "\304!	\211\205 \305\n!\205 \306\305\n!!)\2052 \212\214eb\210\307\310!\211\2051 	q\210\311\312\313\314 %+\207" [score gnus-summary-buffer buffer id gnus-score-delta-default get-buffer buffer-name mail-fetch-field "message-id" gnus-summary-score-entry "references" s current-time-string] 7 (#$ . 28607) "P"])
(defalias 'gnus-score-set #[(symbol value &optional alist warn) "\206\n 	\206\n \306 \307\n\"\310\307\n\206  	\206  \306 \"A*\2031 \f\205M \311\312\313\"\202M \203; \241\202M \204E \314\315!\202M \nBAB\241*\207" [alist gnus-score-alist symbol entry warn value gnus-newsgroup-score-alist assoc read-only gnus-message 4 "Note: read-only score file; entry discarded" error "Empty alist"] 3])
#@46 Raise the score of the current article by N.
(defalias 'gnus-summary-raise-score #[(n) "\305\306`\307\"\211\203 \310!\210)\306`\311\"\206 \312 	\236A\206# \n\206# \313\206( \f\\!\207" [to gnus-newsgroup-scored gnus-summary-default-score n gnus-score-interactive-default-score gnus-summary-set-score get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject 0] 5 (#$ . 29468) "p"])
#@44 Set the score of the current article to N.
(defalias 'gnus-summary-set-score #[(n) "\212\306 \210\307\310	\n\206 \311U\203 \312\202$ 	\n\206 \311W\203# \202$ \f\313\"\210)\314`\315\"\211\2035 \316!\210)\314`\317\"\206? \320 \211\236\211\203S 	\241\210\202\\ 	BB*\321 )\207" [buffer-read-only n gnus-summary-default-score gnus-score-below-mark gnus-score-over-mark to gnus-summary-show-thread nil gnus-summary-update-mark 0 32 score get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-summary-update-line article gnus-newsgroup-scored] 4 (#$ . 29900) "p"])
#@42 Return the score of the current article.
(defalias 'gnus-summary-current-score #[nil "\303\304\305\306`\307\"\211\203 \310!\210)\306`\311\"\206 \312 	\236A\206% \n\206% \313#\207" [to gnus-newsgroup-scored gnus-summary-default-score gnus-message 1 "%s" get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject 0] 7 (#$ . 30534) nil])
#@29 Change current score alist.
(defalias 'gnus-score-change-score-file #[(file) "\301!\210\302\303!\207" [file gnus-score-load-file gnus-set-mode-line summary] 2 (#$ . 30919) (list (read-file-name "Change to score file: " gnus-kill-files-directory))])
(byte-code "\301B\301\207" [current-load-list gnus-score-edit-exit-function] 2)
#@31 Edit the current score alist.
(defalias 'gnus-score-edit-current-scores #[(file) "\204 \306\307!\207\310 \311\n!\203 \312 \210\313\314!!\210\315!\316\317!\210\320 \210\321\322\323!\210	)\324\325\326\327!\"\207" [gnus-current-score-file winconf gnus-summary-buffer file gnus-score-edit-buffer gnus-score-edit-exit-function error "No current score file" current-window-configuration buffer-name gnus-score-save gnus-make-directory file-name-directory find-file-noselect gnus-configure-windows edit-score gnus-score-mode gnus-score-edit-done make-local-variable gnus-prev-winconf gnus-message 4 substitute-command-keys "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits"] 4 (#$ . 31257) (list gnus-current-score-file)])
#@20 Edit a score file.
(defalias 'gnus-score-edit-file #[(file) "\306\307!!\210\310	!\203 \311 \210\312 \313!\314\315!\210\316 \210\317\320\305!\210\n)\321\322\323\324!\"\207" [file gnus-summary-buffer winconf gnus-score-edit-buffer gnus-score-edit-exit-function gnus-prev-winconf gnus-make-directory file-name-directory buffer-name gnus-score-save current-window-configuration find-file-noselect gnus-configure-windows edit-score gnus-score-mode gnus-score-edit-done make-local-variable gnus-message 4 substitute-command-keys "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits"] 4 (#$ . 32002) (list (read-file-name "Edit score file: " gnus-kill-files-directory))])
(defalias 'gnus-score-load-file #[(file) "\306\307\310\311\306!!P\306	!\"\203 	\206 \306	\"!\312	\n\"	\f\235\313,\313-\2034 A-\202e \313.\314	!-\315-\236\204K \315\313D-B-\203^ \316-\236\204^ \316\317D-B-	-B\nB-\313/00\203\253 0\2111@@);\203\221 0@0\2111@@)\227\240\210\317/\202\240 0\2111@@):\203\240 \317/0\211A0@\210\202l /\203\265 -C,*\320--2\3122-\206\314 .\206\314 \321 \"A*@\322--2\3122-\206\346 .\206\346 \321 \"A*@\323--2\3122-\206 .\206 \321 \"A*@\324--2\3122-\206.\206\321 \"A*\325--2\3122-\2063.\2063\321 \"A*\326--2\3122-\206L.\206L\321 \"A*@\327--2\3122-\206f.\206f\321 \"A*\330--2\3122-\206.\206\321 \"A*@\331--2\3122-\206\231.\206\231\321 \"A*@\332--2\3122-\206\263.\206\263\321 \"A*\333--2\3122-\206\314.\206\314\321 \"A*@\334--2\3122-\206\346.\206\346\321 \"A*@\2031\204\335	!\2031\203\336-\"\2031\337\315\340-#\210\337\333\341\342 !C-#\210\203S\204S\343\344,\345\346\203MB\202O\"#,\203a\204a\334!\210\343\347\345\350\"\"3\2443\203\264\2124q\210\203\263@:\203\252\2111@@)9\203\252\351\2111@@)!\210\2111@@)@A@L\210A\211\204})\203\2755\352\232\203\314\31767\202\352\353\232\203\332\313\2116\202\352:\203\350\3176\202\35278\206\36399\206\206::\206\206;;\206<<.\f	=-.,-\207" [gnus-kill-files-directory file gnus-score-cache cached gnus-internal-global-score-files global expand-file-name string-match "^" regexp-quote assoc nil gnus-score-load-score-alist touched read-only t mark gnus-newsgroup-score-alist expunge mark-and-expunge files exclude-files orphan adapt thread-mark-and-expunge adapt-file local decay eval file-exists-p gnus-decay-scores gnus-score-set (t) time-to-days current-time apply append mapcar #[(file) "\301!\207" [file gnus-score-load-file] 2] nconc #[(sfile) "\303\304	!\"\303\n\"D\207" [sfile file gnus-kill-files-directory expand-file-name file-name-directory] 4] make-local-variable (t) (ignore) lists alist gnus-score-alist found a x symbol gnus-scores-exclude-files gnus-summary-buffer gnus-orphan-score gnus-newsgroup-adaptive gnus-default-adaptive-score-alist gnus-adaptive-score-alist gnus-thread-expunge-below gnus-summary-mark-below gnus-summary-expunge-below gnus-newsgroup-adaptive-score-file gnus-current-score-file] 15])
(defalias 'gnus-score-load #[(file) "\304	\"\211\203 \nA\211\202% \305\306!\210\204 \307\310!B	B\211)\207" [file gnus-score-cache cache gnus-score-alist assoc nil gnus-score-load-score-alist copy-alist ((touched nil))] 4])
(defalias 'gnus-score-remove-from-cache #[(file) "\302\303	\"	\"\211\207" [file gnus-score-cache delq assoc] 4])
#@18 Read score FILE.
(defalias 'gnus-score-load-score-alist #[(file) "\306\307	!\204 \306\211\202[ \310\311\312!!\313\216rq\210\f\314	!\210)eb\210\212\315\316\306\317#)\2033 \306\320\321\217+\203E :\204E \322\323	\"\210\202U @\324=\203S \325!\202U \326\n	\"\211)\207" [alist file gnus-score-alist #1=#:temp-buffer score-mode-coding-system coding-system-for-read nil file-readable-p get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents re-search-forward "[()0-9a-zA-Z]" t (byte-code "\300p!\207" [read] 2) ((error (gnus-error 3.2 "Problem with score file %s" file))) error "Invalid syntax with score file %s" setq gnus-score-transform-old-to-new gnus-score-check-syntax] 4 (#$ . 35510)])
#@38 Check the syntax of the score ALIST.
(defalias 'gnus-score-check-syntax #[(alist file) "\204 \306\207:\204 \307\310\311	#\210\312 \210\306\207\306\211\211\211\211\203\f\204@<\204: \313\314@	#\202\n\211@@);\205\n\211@A)\211<\204` \313\315@A@	#\202\n\211@@)\203	\f\204	\211A@\n\227\316\235\203\205 @\247?\202\211 @;?\203\225 \313\317@	#\202\211A@)\203\270 \211A@)\250\204\270 \313\320\211A@)	#\202\211AA)@\203\336 \211AA)@\250\204\336 \313\321\211AA)@	#\202\211AA)A@\205\211AA)A@9?\205\313\322\211AA)A@	#\202i \fA\211\204% \f\203(\312 \210\307\323\f\"\210\324\325!\210\306\202)-\207" [alist file type s err sr nil gnus-message 1 "Score file is not a list: %s" ding format "Invalid score element %s in %s" "Invalid header match %s in %s" ("lines" "chars") "Invalid match %s in %s" "Non-integer score %s in %s" "Non-integer date %s in %s" "Non-symbol match type %s in %s" 3 sit-for 2 a x] 6 (#$ . 36315)])
(defalias 'gnus-score-transform-old-to-new #[(alist) "\3058\306\306@\307=\203 A@\203v @\211@;\203] \nA\n	B\203Y \211\211@@)\305@8\310@8\205C \311\310@8!@A@\203N \312\202O \313F\240\210A\211\204+ )\202o \nA<\204k \n@\nAD\202l \n	BA\211\204 \314\315D	\237+B\207" [alist out entry scor x 2 nil quote 3 date-to-day r s touched t] 7])
(defalias 'gnus-score-save #[nil "\306\211\211\212\306\307\310!\210\f\203\320 \f\211A@\311@\312\"A\313\n!\"\314\"!\2066 \2066 \315 \"A*\316\232\203\274 \317\n!\"\314\"!\206R \206R \315 \"A*\204\274 \320	!\203d \321	!\203\274 \322\313\n\"\241\323 \210\306#\324\325$!\326P	\"\203\204 \327\n!\210\202\216 %&\330\np\"\210))\331\332	!!\210\333\334 !\203\243 \335	!\210\202\274 \321	!\203\274 '(\336	!\210))\203\274 )	!\210*\203 \324*	\"\203 \337	!\210\202 \340p!-\207" [gnus-score-cache file score entry cache gnus-score-alist nil nnheader-set-temp-buffer " *Gnus Scores*" nnheader-translate-file-chars t touched assoc gnus-newsgroup-score-alist (t) read-only file-exists-p file-writable-p gnus-delete-alist erase-buffer string-match regexp-quote "$" gnus-prin1 pp gnus-make-directory file-name-directory zerop buffer-size delete-file gnus-write-buffer gnus-score-remove-from-cache kill-buffer alist symbol emacs-lisp-mode-hook gnus-adaptive-file-suffix score-mode-syntax-table lisp-mode-syntax-table score-mode-coding-system coding-system-for-write gnus-score-after-write-file-function gnus-score-uncacheable-files] 4])
#@38 Load all score files in SCORE-FILES.
(defalias 'gnus-score-load-files #[(score-files) "\306	\203\" 	@;\203 \307	@!\244\202 	@\244	A\211\204 \n\203M \306\211\203L \310\f@\"\211\203E @\n\235\203E \311\f@\"\fA\211\204. *)\207" [scores score-files gnus-scores-exclude-files c s gnus-score-cache nil gnus-score-load-file rassq delq] 4 (#$ . 38825)])
(defalias 'gnus-score-headers #[(score-files &optional trace) "\306\211\306\306\306\307!\211\205\217\306\203 	\203  !\310\311 !\"#\2055 \"#Z$%&'(\306)\306*\306+\312\313\314\"\210&\211A&@\211*\203s *\315H,\236\204M *\206l \315BB\202M \212\316\317!q\210\320 \210-\211.\205\221 \321.!\205\221 \322\321.!!)\203\232 \323-!\210('\n\203\257 \324\325 \"A@/\326\n!\210!\203\363 !\211A!@\211)@*\324* \"A@/\315\327\330\331\332	\"\"W\203\257 \333)8	*\"$0%\211+\203\257 +B\202\257 -\211.\205\321.!\205\322\321.!!)\203,1r-q\2101,*\334p!\210)\203R\2112@A)U\20353\203K\2112@@)\315H\2112@A)B,B,A\211\204#\3064	\211A@\2114\203\2044\203U4\2112@@):\203y\3354@0\"\2104\211A4@\210\202`)\312\313\336\"\210.\202 *\207" [news scores gnus-orphan-score gnus-scores-articles gnus-scores-exclude-files score-files nil gnus-score-load-files date-to-day current-time-string gnus-message 5 "Scoring..." 0 gnus-get-buffer-create "*Headers*" buffer-disable-undo get-buffer buffer-name message-clone-locals assoc "references" gnus-score-orphans apply max mapcar #[(score) "	\305\n\206 \f\206 \306 \"A*G\207" [header score alist symbol gnus-score-alist assoc gnus-newsgroup-score-alist] 3] 2 kill-buffer gnus-score-advanced "Scoring...done" gnus-summary-default-score gnus-header-index entries now gnus-score-expiry-days expire gnus-newsgroup-headers headers gnus-current-score-file current-score-file entry header new gnus-newsgroup-scored gnus-summary-buffer buffer gnus-score-index trace scored x gnus-save-score score] 7])
#@366 Lower the score on THREAD with SCORE-ADJUST.
THREAD is expected to contain a list of the form `(PARENT [CHILD1
CHILD2 ...])' where PARENT is a header array and each CHILD is a list
of the same form as THREAD.  The empty list `nil' is valid.  For each
article in the tree, the score of the corresponding entry in
`gnus-newsgroup-scored' is adjusted by SCORE-ADJUST.
(defalias 'gnus-score-lower-thread #[(thread score-adjust) "\205: @\211<\203 \306	\n\"\210\2021 	\307H\211\f\236\211\203* \211A\n\\\241\210\2020 \nB\fB*)A\211\204 \310\207" [thread head score-adjust article gnus-newsgroup-scored score gnus-score-lower-thread 0 nil] 4 (#$ . 40809)])
#@262 Score orphans.
A root is an article with no references.  An orphan is an article
which has references, but is not connected via its references to a
root article.  This function finds all the orphans, and adjusts their
score in `gnus-newsgroup-scored' by SCORE.
(defalias 'gnus-score-orphans #[(score) "\305 \211\205' @\211@\nH\211\203 \306\230\204 \307	\f\"\210*A\211\204 \310)\207" [threads thread gnus-score-index id score gnus-make-threads "" gnus-score-lower-thread nil] 4 (#$ . 41476)])
(defalias 'gnus-score-integer #[(scores header now expire &optional trace) "\306	\"A@\307\211\203	@A\306\n\"A\203 A\211@\211@\3108\2063 \311A@\206> \3128\307\311=\204l \313=\204l \314=\204l \315=\204l \316=\203q \202v \317\320\" !\211\"\203\305  \"\211#@@)\fH\206\220 \321\"\203\274 $\203\251 \322\n%\"\242B&B&\323\"@\"\211#@A)\\\241\210\"A\211\"\204\200 \203\203\345 '\203\345 \324\325\326\n#\210AA(\240\210\202)\203)W\203\324\325\327\n#\210A\241\210.	\202 +\307\207" [header gnus-header-index alist entries gnus-score-index scores assoc nil 3 > 2 < <= >= = error "Invalid match type: %s" 0 rassq t gnus-score-set touched (t) (t) rest kill match type gnus-score-interactive-default-score score date found match-func gnus-scores-articles articles x trace gnus-score-cache gnus-score-trace gnus-update-score-entry-dates now expire] 5])
(defalias 'gnus-score-date #[(scores header now expire &optional trace) "\306	\"A@\307\211\211\211\211\2030@A\306\"A\203 A\211@\3108\206> \311 A@\206I !\"\3128#\307$%&\307' \313=\203m \314\315@!\202\247  \311=\203 \316\315@!\202\247  \317=\203\221 \320\315@!\202\247  \321=\203\241 \322@\202\247 \323\324 \"\210&\211A&@\211\203\351 \n@H\211'\203\247 \f\315'!\"\203\247 (\203\333 \325)\"\242B*B*\326$\n\"\nA\\\241\210\202\247 #\203'$\203	+\203	\327\330\331#\210AA,\240\210\202'-\203'#-W\203'\327\330\332#\210A\241\210.\202' .\307\207" [header gnus-header-index article match-func match alist assoc nil 3 before 2 after string< gnus-date-iso8601 gnus-string> at string= regexp string-match error "Invalid match type: %s" rassq t gnus-score-set touched (t) (t) entries gnus-score-index scores rest kill type gnus-score-interactive-default-score score date found gnus-scores-articles articles l trace gnus-score-cache gnus-score-trace gnus-update-score-entry-dates now expire] 7])
(defalias 'gnus-score-body #[(scores header now expire &optional trace) "?\205\372\212\306	\307\"\nq\210\214\310	01\311\230\203! \312\202- 1\313\230\203, \314\202- \3152\3103\3104\3105\3106\310\f\203\367\316\f!\2117@@)\317H\320\321\3222!\"\205c \323\3222!\317\225\310O!89:\324\325\326\217*\204x 25\3152\f\203\367\f\2117@@)\317H6\327\330\3316$\210~\210268\"\203\360eb\2105\203\306 5\312=\203\272 `\332\333\310\334#\206\265 d}\210\202\306 \332\333\310\334#\206\303 `d}\2100\203\360\211A@4\33514\"33A\203\311 3A\211;@\211<@=\336<8\206\367 \337><A@\206?@\340<8A\310B>\341=\206&>\342=\206&>\343=\206&>\344=?C>\345=\204E>\341=\204E>\346=\204E>\343=\203I\347\202n>\337=\204e>\342=\204e>\350=\204e>\344=\203i\332\202n\351\352>\"Deb\210D=\310\334#\203\242\f@@\f\2117@A)\\\241\210\334BE\203\242\3534F\"\242<BGBGE\204\347A\203\347B\203\310H\203\310\354\355\3564#\210<AAI\240\210\202\347J\203\347AJW\203\347\354\355\3574#\2103;A\241\2103;;3.	\202\334 \fA\211\204| .\310\207" [gnus-agent-fetching gnus-scores-articles nntp-server-buffer buffer-read-only articles scores sort #[(a1 a2) "@\302H	@\302HW\207" [a1 a2 0] 3] nil "head" gnus-request-head "body" gnus-request-body gnus-request-article last 0 string-match "^gnus-" symbol-name intern #1=#:G97322 (byte-code ";\203\f \303!@\202 \304	!\204 \305	!\210\306\307\310\311	\n#!!)\207" [group method func gnus-find-method-for-group featurep require fboundp intern format "%s-%s"] 6) ((error)) gnus-message 7 "Scoring article %s of %s..." search-forward "\n\n" t assoc 3 s 2 R S Regexp String r regexp re-search-forward string error "Invalid match type: %s" rassq gnus-score-set touched (t) (t) all-scores header request-func entries alist ofunc article x gnus-newsgroup-name group func rest kill match type gnus-score-interactive-default-score score date found case-fold-search search-func trace gnus-score-cache gnus-score-trace gnus-update-score-entry-dates now expire] 6])
(defalias 'gnus-score-thread #[(scores header now expire &optional trace) "\305	\n\f\306&\207" [scores header now expire trace gnus-score-followup t] 7])
(defalias 'gnus-score-followup #[(scores header now expire &optional trace thread) "?\2050\306	\n\"A@\f\307\211\211\211\211\211\211\211\211*+,-./0123\2124q\210\3105\206> \31167\"!\210)\3128\313\"\2118\314 \210\203\226 @\211-@3H.A/.\232\203v -0B0\202N /\203\212 /\315\261\210\316`S`\3170$\210-C0./\202N /\203\252 /\315\261\210\316`S`\3170$\210\f\203\f@+\fA\306	+\",,A\203\252 ,A\2119@\211:@;\320:8\206\327 \321<:A@\206\342 =>\322:8?\307@\323<!\324H\211A\325U\206A\326U\206A\327U\206A\330U?BA\227\211C\331U\203\332\202=C\333U\2044C\334U\2044C\335U\2038\336\202=\337\340<\"D\307E\307-eb\210C\333U\203\232D;\307\341#\203\326\342 \210`\324\224U\203\224\307\210`\324\225U\203\224\343`\317\"\211E@E\203\224E@-EAE\344-@>1F$\210\202v\307\210\202OD;\307\341#\203\326\307\210\343`\317\"\211E@E\211AE@\211-\203\232\344-@>1F$\211*\203\260*B\202\260?\203@\203\367G\203\367\345\346\347+#\210:AAH\240\210\202I\203?IW\203\345\346\350+#\210,9A\241\210,99,.\202\274 \2124q\210\3102!\210)\351.\fBC\207" [gnus-agent-fetching header gnus-header-index gnus-current-score-file scores news assoc nil gnus-score-load-file gnus-score-file-name sort gnus-score-string< erase-buffer 10 put-text-property articles 3 s 2 symbol-name 0 82 83 69 70 114 re-search-forward 101 115 102 search-forward error "Invalid match type: %s" t beginning-of-line get-text-property gnus-score-add-followups gnus-score-set touched (t) (t) "references" new alist entries art this last alike all-scores current-score-file gnus-score-index gnus-summary-buffer gnus-newsgroup-adaptive-score-file gnus-newsgroup-name gnus-adaptive-file-suffix gnus-scores-articles rest kill match type gnus-score-interactive-default-score score date found mt case-fold-search dmt search-func arts thread gnus-update-score-entry-dates now expire] 13])
#@38 Add a score entry to the adapt file.
(defalias 'gnus-score-add-followups #[(header score scores &optional thread) "\212q\210	\306H@\307\307\211A@\211\203F \f@\310\232\203 \311\f\211A@)8\203: \311\f\211A@)8\312=\203 \313\n\f\"\203 \314\202 ?\205` \315\203U \316\202V \310\n\312\317 \307\314&-\207" [gnus-summary-buffer header id scores entry dont 4 nil "references" 3 s assoc t gnus-summary-score-entry "thread" current-time-string x thread score] 9 (#$ . 48176)])
(defalias 'gnus-score-string #[(score-list header now expire &optional trace) "\306	\"A@\n\205 \307\230\310\211\211\211\211\211\211\211\211\211\211=>?@ABCD\211E\311U\203: F\202? \312F\313\"\211F\314 \210\211A@\211@\203\250 @@EHAE\311U\203i \315A!AD\203v \316GA\"ABA\232\203\210 @CBC\202G B\203\234 B\317\261\210\320`S`\321C$\210@CCAB\202G B\203\274 B\317\261\210\320`S`\321C$\210H\203WH\211AH@>\306>\"??A\203\274 ?\211IA@)\3228\206\347 \323JA@\206\361 KL\3248M\3258N\310O\326J!\327H\211P\330>?QP\227RD\203(R\331>\204(\316G@\"\202*@SR\332U\2037\333\202`R\334U\204LR\335U\204LR\336U\203P\337\202`R\340U\203[\310\202`\341\342J\"TN\203u\343N\344S\345\260S\333TR\336U\203\216?>B=B=?A?\202RR\340U\203\245?>B\fB?A?\202RR\334U\203~eb\210m\204TS\310\346#\203l\203\347 \327\224U\203\350`\321\"\211OU\203\374\211A@\211@\203@L@A\\\241\210\351>V\"\242BWBW\202\326\211A@\211@\203@L@A\\\241\210\202\374\352y\210\202\257U\203'?A?\202RM\2044?A?\202RO\203TX\203T\353\354\355>#\210AAY\240\210?A?\202RZ\203vMZW\203v\353\354\356>#\210?\211I\211AA)\241\210\202R?A?\202Reb\210S\357\230\203\213\360Sm\204\361TS\310\346#\203\361\327\224b\210\310\210\350`\321\"\211OU\203\323\211A@\211@\203\353@L@A\\\241\210\351>V\"\242BWBW\202\255\211A@\211@\203\353@L@A\\\241\210\202\323\352y\210\202\213U\203\376?A?\202RM\204?A?\202RO\203+X\203+\353\354\361>#\210AAY\240\210?A?\202RZ\203MMZW\203M\353\354\362>#\210?\211I\211AA)\241\210\202R?A?.\202\321 =\203m\363 \210=\211I@@)A@\211\203m@S\3228JA@\206KL\3248M\326J!\327H\211P\364U?Q\310Oeb\210m\204\n\337S\310\346#\203\n\347 \327\224U\203l\203\350`\321\"\211OU\203\354\211A@\211@\203@L@A\\\241\210\351=\211I@A)V\"\242BWBW\202\300\211A@\211@\203@L@A\\\241\210\202\354\352y\210\202\232U\204cM\203cO\2035X\2035\353\354\365=\211I@A)#\210AAY\240\210\202cZ\203cMZW\203c\353\354\366=\211I@A)#\210=\211I@@)=\211I@@)AA\241\210=A=.\202_\f\203V\367\370ed\"\317_![\371[!\210\f\211I@@)A@\211\203UA@\206\226KL\3248M\310O\372@[\"\211\203\371J\346OU\203\341\211A@\211@\203\371@L@A\\\241\210\351\f\211I@A)V\"\242BWBW\202\266\211A@\211@\203\371@L@A\\\241\210\202\341U\204NM\203NO\203#X\203#\353\354\373\f\211I@A)#\210AAY\240\210\202NZ\203NMZW\203N\353\354\374\f\211I@A)#\210\f\211I@@)\f\211I@@)AA\241\210\fA+\202\200).\310\207" [header gnus-header-index gnus-score-thread-simplify kill words arts assoc "subject" nil 9 sort gnus-score-string< erase-buffer prin1-to-string gnus-map-function 10 put-text-property articles 3 s 2 4 symbol-name 0 (82 83 69 70) (102 114) 114 re-search-forward 101 115 102 search-forward 119 error "Invalid match type: %s" "[ (](" " \\. \"[^)]*" "[^(]*\")[ )]" t gnus-point-at-bol get-text-property rassq 1 gnus-score-set touched (t) (t) "" "\n" (t) (t) gnus-simplify-buffer-fuzzy 70 (t) (t) gnus-make-hashtable count-lines gnus-enter-score-words-into-hashtb intern-soft (t) (t) fuzzies alist entries art this last alike simplify gnus-score-index gnus-scores-articles gnus-simplify-subject-functions score-list x type gnus-score-interactive-default-score score date extra found mt case-fold-search dmt match search-func trace gnus-score-cache gnus-score-trace gnus-update-score-entry-dates now expire hashtb] 14])
(defalias 'gnus-enter-score-words-into-hashtb #[(hashtb) "\306 \307\211eb\210\310\216\311!\210\312\313\307\314#\2036 \315\316\224\316\225{\227\211\f\"J\317	\f\"\320\321\322 \323\"\"L\210\202 )\320\205Y \324\325\326\"\203T \316\225\307O\202V )\327\"#\205s \317\211A@\f\"\307L\210\202^ ,\207" [val word syntab gnus-adaptive-word-syntax-table hashtb gnus-ignored-adaptive-words syntax-table nil ((set-syntax-table syntab)) set-syntax-table re-search-forward "\\b\\w+\\b" t intern-soft 0 intern append get-text-property gnus-point-at-eol articles message-tokenize-header string-match "^[^:]+:" "." gnus-adaptive-word-no-group-words gnus-newsgroup-name gname gnus-default-ignored-adaptive-words ignored] 6])
(defalias 'gnus-score-string< #[(a1 a2) "@	H\n@	H\231\207" [a1 gnus-score-index a2] 3])
(defalias 'gnus-current-score-file-nondirectory #[(&optional score-file) "\206 	\211\203 \302\303!!\202 \304)\207" [score-file gnus-current-score-file gnus-short-group-name file-name-nondirectory "none"] 4])
#@49 Create adaptive score rules for this newsgroup.
(defalias 'gnus-score-adaptive #[nil "\205k\212	q\210\306\n\206 \307\310\"\206 \311\f\"!\210)<\203& \312>\203l\212\313!\211<=\314 >?@\315A\315B\315C\315D<\203\322 <@\211A@9\203Z A\211@J\240\210AA\211A\203\311 \316\317\320A\211E@@)\321=\203w \322\202\202 \323A\211E@@)!\227P!\211D!\203\300 A@A\211E@@)\321=\203\237 \324\202\251 \323A\211E@@)!A\211E@A)B\241\210A@\325\326D\327BE\240\210AA\211A\204c <A\211<\204H @\203j@@A@=\236A\211A\203a\330@@8:\204a\330@@8\211B\203aA\203aA\211E@@)B!C\331A@A@C\211\247\203\332\202LA@A@\333\232\203+\334\202LF\2039CGFW\203=\335\202LA@A@\336\232\203K\337\202L\340\341A@8>\315\310&\210AA\211A\204\377 @A\211@\204\327 .	<\205k\342>\205k\343\344\345!!G\346\216rGq\210\347\350!H\351\314 !>?@\352 I\315\"\315J\315K\315L\353\216\354M!\210@\211A@@\211J\203\"\330J8:\204\253JA@N\236A\211K\203\253\330J8\355Hc\210\356ed\"\210eb\210\357\360\315\310#\203\361\362\363!\211\"H\"JLKL\206\373\363\\LO\203LOW\203OL\317\"H\"LL\210\202\336\364 \210\202\253)\365PQ\205E\366R\367\370R\"\203@R\363\225\315O\202BR)\371\"S#TT\203`\317T\211AT@H\"\315L\210\202J)	q\210\372\373H\".\207" [gnus-newsgroup-adaptive gnus-summary-buffer gnus-newsgroup-adaptive-score-file gnus-newsgroup-name gnus-adaptive-file-suffix gnus-adaptive-score-alist gnus-score-load-file gnus-home-score-file t gnus-score-file-name line gnus-copy-sequence current-time-string nil fboundp intern "mail-header-" followup "message-id" symbol-name "references" lambda (h) (h) 3 gnus-summary-score-entry = "date" a e "subject" f s 2 word get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) gnus-make-hashtable 1000 date-to-day syntax-table ((set-syntax-table syntab)) set-syntax-table 1 downcase-region re-search-forward "\\b\\w+\\b" intern-soft match-string 0 erase-buffer append message-tokenize-header string-match "^[^:]+:" "." mapatoms #[(word) "J\205 \302\303\304!\305J	\306\307&\207" [word date gnus-summary-score-entry "subject" symbol-name w nil t] 8] malist alist date gnus-newsgroup-data data elem headers match func x gnus-score-exact-adapt-limit #1# hashtb syntab d score val gnus-adaptive-word-syntax-table gnus-adaptive-word-score-alist gnus-adaptive-word-minimum gnus-ignored-adaptive-words gnus-adaptive-word-no-group-words gname gnus-default-ignored-adaptive-words ignored] 9 (#$ . 53261)])
(defalias 'gnus-score-edit-done #[nil "\303p!	\203 \304	!\210\305\n!\210\306\n!*\207" [gnus-prev-winconf winconf bufnam buffer-file-name set-window-configuration gnus-score-remove-from-cache gnus-score-load-file] 2])
#@59 Find all score rules that applies to the current article.
(defalias 'gnus-score-find-trace #[nil "\306\307`\310\"\211\203 \311\n!\210)\307`\312\"\206 \313 \2368C\314\211\212\315\316!\210)\314\317\304!\210\211\204A \320\321\322#\210\202p \316q\210\323\f\203i \324\325\f\211@A)\f\211@@)\206_ \326#c\210\fA\211\204K eb\210\327\330!\210+q\210	\211)\207" [gnus-newsgroup-scored old-scored to gnus-newsgroup-data trace gnus-newsgroup-headers 3 get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject nil nnheader-set-temp-buffer "*Score Trace*" gnus-possibly-score-headers gnus-error 1 "No score rules apply to the current article (default score %d)." t format "%S  ->  %s\n" "(non-file rule)" gnus-configure-windows score-trace gnus-score-trace gnus-summary-default-score truncate-lines x gnus-summary-buffer] 5 (#$ . 56070) nil])
#@29 List words used in scoring.
(defalias 'gnus-score-find-favourite-words #[nil "\306\307 !\310\211\211\211\f\211A@\211\203T \211A@\211\203 \n@;\203 \n\211A@\227\311\232\203 \n\211A@\211\203 \3128\313>\2032 A@\206K @B	B\2022 \314	\315\"\211A\203\247 \211@A)\211A@)A\232\203\234 @\211@@)\211A@)@\\\240\210\211\211AA)\241\210\202\\ \211A@\210\202\\ )\316\317!\210\314	\320\"\211\204\274 \321\312\322\"\202\342 	\203\334 \323\324	\211@@)	\211@A)#c\210	\211A@\210\202\274 eb\210\325\326!-\207" [kill rules rule alist alists gnus-score-interactive-default-score gnus-score-load-files gnus-all-score-files nil "subject" 3 (w W word Word) sort #[(r1 r2) "A	A\231\207" [r1 r2] 2] nnheader-set-temp-buffer "*Score Words*" #[(r1 r2) "@	@V\207" [r1 r2] 2] gnus-error "No word score rules" format "%-5d: %s\n" gnus-configure-windows score-words r x] 6 (#$ . 56970) nil])
#@57 Redo the entire scoring process in the current summary.
(defalias 'gnus-summary-rescore #[nil "\302 \210\303\303\304 \210\305 \207" [gnus-score-cache gnus-newsgroup-scored gnus-score-save nil gnus-possibly-score-headers gnus-score-update-all-lines] 1 (#$ . 57893) nil])
#@33 Flush the cache of score files.
(defalias 'gnus-score-flush-cache #[nil "\303 \210\304\304\304\305\306\307\"\207" [gnus-score-cache gnus-score-alist gnus-short-name-score-file-cache gnus-score-save nil gnus-message 6 "The score cache is now flushed"] 3 (#$ . 58171) nil])
(byte-code "\302\303\304\"\210\301B\305\301!\204 \306\306\207" [current-load-list gnus-score-file-alist-cache gnus-add-shutdown gnus-score-close gnus boundp nil] 3)
#@37 Clear all internal score variables.
(defalias 'gnus-score-close #[nil "\304\304\304\304\211\207" [gnus-score-cache gnus-internal-global-score-files gnus-score-file-list gnus-score-file-alist-cache nil] 2 (#$ . 58621)])
#@75 Raise articles which has the same subject with SCORE and select the next.
(defalias 'gnus-summary-raise-same-subject-and-select #[(score) "\305\306`\307\"\211\203 \310!\210)\306`\311\"\206 \312 	\2368\211\205) \313\n!\205) \n\314H)\315\f!\210\316!\203< \315\f!\210\202/ \317\320!)\207" [to gnus-newsgroup-data headers subject score 3 get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject vectorp 1 gnus-summary-raise-score gnus-summary-find-subject gnus-summary-next-article t] 5 (#$ . 58850) "p"])
#@55 Raise articles which has the same subject with SCORE.
(defalias 'gnus-summary-raise-same-subject #[(score) "\305\306`\307\"\211\203 \310!\210)\306`\311\"\206 \312 	\2368\211\205) \313\n!\205) \n\314H)\315\f!\210\316!\203< \315\f!\210\202/ \317\314\320\")\207" [to gnus-newsgroup-data headers subject score 3 get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject vectorp 1 gnus-summary-raise-score gnus-summary-find-subject gnus-summary-next-subject t] 5 (#$ . 59406) "p"])
(defalias 'gnus-score-delta-default #[(level) "\203 \302!\207	\207" [level gnus-score-interactive-default-score prefix-numeric-value] 2])
#@67 Raise the score of the articles in the current thread with SCORE.
(defalias 'gnus-summary-raise-thread #[(&optional score) "\304!\305\212\306 \211\203 \307\n@!\210\310!\210\nA\211\204 )`)\311\312\313\314\311\"!\2040 	b\210*\315 \210\316 \210\317\320!\207" [score e articles gnus-summary-check-current gnus-score-delta-default nil gnus-summary-articles-in-thread gnus-summary-goto-subject gnus-summary-raise-score t zerop gnus-summary-next-subject 1 gnus-summary-recenter gnus-summary-position-point gnus-set-mode-line summary] 5 (#$ . 60077) "P"])
#@75 Raise articles which has the same subject with SCORE and select the next.
(defalias 'gnus-summary-lower-same-subject-and-select #[(score) "\301[!\207" [score gnus-summary-raise-same-subject-and-select] 2 (#$ . 60641) "p"])
#@55 Raise articles which has the same subject with SCORE.
(defalias 'gnus-summary-lower-same-subject #[(score) "\301[!\207" [score gnus-summary-raise-same-subject] 2 (#$ . 60871) "p"])
#@59 Lower score of articles in the current thread with SCORE.
(defalias 'gnus-summary-lower-thread #[(&optional score) "\301\302!S[!\207" [score gnus-summary-raise-thread gnus-score-delta-default] 3 (#$ . 61059) "P"])
#@44 Return a list of all possible score files.
(defalias 'gnus-score-score-files #[(group) "\203\f 	\204\f \305!\210\306\n!\307\310\n!!\204 \311\211\207\312\313!\204; \311\f\2066 \314\315\316\"\210\317\n!\211\314\315\320\"\210B\202Z \203L @\203L \321\n@\"\203Z \322\323\n!8\324\n\325\326 #\237BA\207" [gnus-global-score-files gnus-internal-global-score-files gnus-kill-files-directory gnus-score-file-list gnus-short-name-score-file-cache gnus-score-search-global-directories file-name-as-directory file-exists-p expand-file-name nil gnus-use-long-file-name not-score gnus-message 6 "Finding all score files..." gnus-score-score-files-1 "Finding all score files...done" gnus-file-newer-than 5 file-attributes directory-files t gnus-score-file-regexp] 5 (#$ . 61280)])
#@44 Return all possible score files under DIR.
(defalias 'gnus-score-score-files-1 #[(dir) "\306!C\307 \310\211\211\211\211A@\211\203W \311\312\313	!\"\204 \314	!\203I \315	!\235\204I \315	!B\316	\317\310\317$\244\211\202 \311	\"\203 	\nB\202 \n\206] \320C.\207" [dir file out seen case-fold-search regexp expand-file-name gnus-score-file-regexp nil string-match "^\\." file-name-nondirectory file-directory-p file-truename directory-files t "~/News/this.file.does.not.exist.SCORE" files] 7 (#$ . 62062)])
#@45 Return a regexp that match all score files.
(defalias 'gnus-score-file-regexp #[nil "\302\303!\304\303	!\305\260\207" [gnus-score-file-suffix gnus-adaptive-file-suffix "\\(" regexp-quote "\\|" "\\)\\'"] 5 (#$ . 62597)])
#@147 Return a list of score files for GROUP.
The score files are those files in the ~/News/ directory which matches
GROUP using BNews sys file syntax.
(defalias 'gnus-score-find-bnews #[(group) "\306\307!	\"\310\311!!\211G\312 7\3138\236A9\314\315\":\316;\316<\316=\212\317\320!q\210\321 \210\n\203)\322 \210\n@c\210eb\210\323\3247P\316\315#\203\"\325\326\315\211#\210eb\210\327\330\f!!\203g \331dS^!\210\202\202 db\210\332>\316\315#\203{ `Te|\210\202\202 \333\334\335\n@#\210eb\210\3369\205\217 \3379!\340Q=\323=\316\315#\203\245 \325\324\315\211#\210\202\223 )eb\210\327\341!\203\274 \342\343!\210\344u\210\345c\210\334u\210\342\343\316\315#\203\315 \325\346\315\211#\210\202\274 eb\210\342\347\316\315#\203\341 \325\350\315\211#\210\202\320 eb\210\327\351!\203\370 \315<\352\353d{\354Q=\202\352\334d{\354Q=\316<<\203\355\356\357\217\204<\204\"\360\361\362\217\203\"\n@;B;\nA\211\2047 \363p!\210\364!\211?\365?;\"B;)\366;\237!.\n\207" [group gnus-internal-global-score-files sfiles gnus-kill-files-directory kill-dir klen append gnus-score-score-files file-name-as-directory expand-file-name gnus-score-file-regexp 58 nnheader-translate-file-chars t nil gnus-get-buffer-create "*gnus score files*" buffer-disable-undo erase-buffer re-search-forward "." replace-match "" looking-at regexp-quote delete-char re-search-backward gnus-message 1 "Can't find directory separator in %s" "[/:" char-to-string "]" "nn[a-z]+\\+" search-forward "+" -1 "\\" "\\+" "all" ".*" "not." "^" 5 "$" #1=#:G97323 (byte-code "\302	\"?\207" [regexp group-trans string-match] 3) ((error)) #2=#:G97324 (string-match regexp group-trans) ((error)) kill-buffer gnus-score-file-name delete gnus-sort-score-files score-regexp nnheader-file-name-translation-alist trans group-trans ofiles not-match regexp gnus-directory-sep-char-regexp localscore] 5 (#$ . 62826)])
#@50 Return list containing the score file for GROUP.
(defalias 'gnus-score-find-single #[(group) "\206 \303	\n\"\303	!D\207" [gnus-newsgroup-adaptive-score-file group gnus-adaptive-file-suffix gnus-score-file-name] 3 (#$ . 64709)])
#@103 Return list of score files for GROUP.
This includes the score file for the group and all its parents.
(defalias 'gnus-score-find-hierarchical #[(group) "\305!\306C\307\310\"\203 \311\225\306O\202 )\311\307\312\fT#\2033 \311\224\311\fO\nB\202 \nB\313\314\n\237\211\"\313\315\n\"\244	\316\232\203N \n\202R \313\317\n\",\207" [group prefix all gname start gnus-group-real-prefix nil string-match "^[^:]+:" 0 "\\." mapcar #[(group) "\302	\"\207" [group gnus-adaptive-file-suffix gnus-score-file-name] 3] gnus-score-file-name "" #[(file) "\302\303!	\304!Q!\207" [file prefix nnheader-translate-file-chars file-name-directory file-name-nondirectory] 5]] 4 (#$ . 64946)])
#@84 Return a number that says how specific score FILE is.
Destroys the current buffer.
(defalias 'gnus-score-file-rank #[(file) "	\235\203 \305\207\306\307\310\311\312\n!!!P\"\203 \305\225\313Oc\210eb\210`\313\314\315\313\316#\2039 \f`S{B\202' \317 \210\320\321\"\211G*\207" [file gnus-internal-global-score-files gnus-kill-files-directory elems beg 0 string-match "^" regexp-quote expand-file-name file-name-as-directory nil re-search-forward "[./]" t erase-buffer delete "all"] 7 (#$ . 65641)])
#@55 Sort FILES so that the most general files come first.
(defalias 'gnus-sort-score-files #[(files) "\303\304\305!!\306\216rq\210\307\310	\"\307\311\312\n\313\"\",\207" [#1=#:temp-buffer files alist get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mapcar #[(file) "\211	\235\203\f \305\202H \306\307\310\311\312\n!!!P\"\203! \305\225\313Oc\210eb\210`\313\314\315\313\316#\203= \f`S{B\202+ \317 \210\320\321\"\211G*)B\207" [file gnus-internal-global-score-files gnus-kill-files-directory elems beg 0 string-match "^" regexp-quote expand-file-name file-name-as-directory nil re-search-forward "[./]" t erase-buffer delete "all"] 8] #[(f) "A\207" [f] 1] sort car-less-than-car] 5 (#$ . 66153)])
#@105 Return list of score files for GROUP.
The list is determined from the variable `gnus-score-file-alist'.
(defalias 'gnus-score-find-alist #[(group) "\306\307\f\"\211\203 	A\202b \n\2034 \310\n\211@@)\"\203- 	\311\n\211@A)!\244\nA\211\204 \n\211\203[ \310\n\211@@)\"\203T 	\311\n\211@A)!\244\306\nA\211\204; 	B\fB	*\207" [gnus-score-file-multiple-match-alist score-files alist group gnus-score-file-alist-cache x nil assoc string-match copy-sequence gnus-score-file-single-match-alist] 4 (#$ . 66950)])
#@57 Return a list of all score files for the current group.
(defalias 'gnus-all-score-files #[(&optional group) "	\206 \n\306	\205!\f\203 \f<\204 \fC\203O \f\203' \307	!\237\310	\311\"\211\203: B)\312	\313\"\211\203N B)\f\203\210 \f@\2119\203c \314!\206u <\203q @\315=\206u \316!)\203\201 \f@	!\237\244\fA\211\204S \203\253 \310	!\211\203\232 B)\312	\317\"\211\203\252 B)\203\320 @;\203\305 \320@\"\240\210\211A@\210\202\256 )\237\203\351 @A\235\203\351 \211A@\210\202\324 A\203\211A@)\211AA)\235\203\211\211AA)\241\210\202\354 \211A@\210\202\354 )+\207" [gnus-score-find-score-files-function group gnus-newsgroup-name score-files funcs gnus-score-use-all-scores nil gnus-score-find-alist gnus-home-score-file t gnus-group-find-parameter adapt-file fboundp lambda byte-code-function-p score-file expand-file-name home gnus-newsgroup-adaptive-score-file param-file form files gnus-kill-files-directory x] 5 (#$ . 67479)])
#@36 Do scoring if scoring is required.
(defalias 'gnus-possibly-score-headers #[(&optional trace) "\302 \211\205 \303	\")\207" [score-files trace gnus-all-score-files gnus-score-headers] 4 (#$ . 68509)])
#@48 Return the name of a score file for NEWSGROUP.
(defalias 'gnus-score-file-name #[(newsgroup &optional suffix) "\206 	\304\n\203 \n\305\230\203 \306\"\2023 \307\310!\203* \306\311\n!\312Q\"\2023 \306\313\n!\314Q\"!)\207" [suffix gnus-score-file-suffix newsgroup gnus-kill-files-directory nnheader-translate-file-chars "" expand-file-name gnus-use-long-file-name not-score gnus-newsgroup-savable-name "." gnus-newsgroup-directory-form "/"] 5 (#$ . 68718)])
#@52 Scan all global score directories for score files.
(defalias 'gnus-score-search-global-directories #[(files) "\303	\203' \304\305	@\"\203 \306	@\307\310 \311P#\202  	@B	A\211\204 \211)\207" [out files gnus-internal-global-score-files nil string-match "/$" directory-files t gnus-score-file-regexp "$"] 6 (#$ . 69190) (list gnus-global-score-files)])
#@44 Toggle folding for new score file entries.
(defalias 'gnus-score-default-fold-toggle #[nil "?\211\203\f \301\302\303\"\207\301\302\304\"\207" [gnus-score-default-fold gnus-message 1 "New score file entries will be case insensitive." "New score file entries will be case sensitive."] 4 (#$ . 69555) nil])
#@88 Return the home score file for GROUP.
If ADAPT, return the home adaptive file instead.
(defalias 'gnus-home-score-file #[(group &optional adapt) "\203 	\202	 \n\306\211\211<\204 C\204{ \211A@\211\203{ \f;\203- \f\202v \f\2119\203< \307!\206N <\203J @\310=\206N \311!)\203Y \f!\202v \f:\205v \312\313\f@!\"\205v \314\f\211A@)\315\306$\211\203 \205\216 \316!\203\211 \202\216 \317\"+\207" [adapt gnus-home-adapt-file gnus-home-score-file found elem list nil fboundp lambda byte-code-function-p string-match gnus-globalify-regexp replace-match t file-name-absolute-p nnheader-concat form group x gnus-kill-files-directory] 6 (#$ . 69867)])
#@60 Return the score file of the top-level hierarchy of GROUP.
(defalias 'gnus-hierarchial-home-score-file #[(group) "\302\303\"\203 \304\305\"	P\207\306\307!\203 \310\202 \311	Q\207" [group gnus-score-file-suffix string-match "^[^.]+\\." match-string 0 gnus-use-long-file-name not-score "." "/"] 3 (#$ . 70548)])
#@60 Return the adapt file of the top-level hierarchy of GROUP.
(defalias 'gnus-hierarchial-home-adapt-file #[(group) "\302\303\"\203 \304\305\"	P\207\306\307!\203 \310\202 \311	Q\207" [group gnus-adaptive-file-suffix string-match "^[^.]+\\." match-string 0 gnus-use-long-file-name not-score "." "/"] 3 (#$ . 70870)])
#@42 Return the "current" regular score file.
(defalias 'gnus-current-home-score-file #[(group) "\301!\237@\207" [group gnus-score-find-alist] 2 (#$ . 71195)])
#@84 Decay SCORE according to `gnus-score-decay-constant' and `gnus-score-decay-scale'.
(defalias 'gnus-decay-score #[(score) "\303\211\304W\203\f \305\202 \306\307!	\307!\n_]^_Z!\207" [score gnus-score-decay-constant gnus-score-decay-scale floor 0 -1 1 abs] 7 (#$ . 71357)])
#@38 Decay non-permanent scores in ALIST.
(defalias 'gnus-decay-scores #[(alist day) "\306\307 !Z\310\211\211\211\211\311!\204h \211A@\211\203h \f@;\203 \fA\f\211A@\211\203 \3128\203. \313A@\206H \314	S\211!\203] \n!\202L \nAAB\241\210\202. .\207" [day n score updated entry kill time-to-days current-time nil zerop 2 t natnump times alist gnus-score-interactive-default-score gnus-decay-score-function] 6 (#$ . 71638)])
#@495 Test whether REGEXP is safe for Gnus scoring.
A regexp is unsafe if it matches newline or a buffer boundary.

If the regexp is good, return nil.  If the regexp is bad, return a
cons cell (SYM . STRING), where the symbol SYM is `new' or `bad'.
In the `new' case, the string is a safe replacement for REGEXP.
In the `bad' case, the string is a unsafe subexpression of REGEXP,
and we do not have a simple replacement to suggest.

See `(Gnus)Scoring Tips' for examples of good regular expressions.
(defalias 'gnus-score-regexp-bad-p #[(regexp) "\306\307\310	\"\205\245 	\306\211\211\211\f\204\217 \307\311\"\203\217 \312\225\312\nO\n\306O\313\235\204C \n\314V\203\204 \307\315\"\203\204 \316\230\203M \317\202d \320\230\203W \321\202d \307\322\"\205d \312\323O\324P\211\203~ \206w 	\312G\n\\[OP\202\200 )\202 \203 P\202 \f\203\231 \304\fB\202\244 \203\243 \303B\202\244 \306-)\207" [case-fold-search regexp end new bad tok nil string-match "\n\\|\\\\[SsW`']\\|\\[\\^\\|[ -\n]-" "\\`\\(\\\\[sS]?.\\|\\[\\^?]?[^]]*]\\|[^\\]\\)" 0 ("\n" "\\W" "\\`" "\\'") 2 "\n" "\\`" "^" "\\'" "$" "\\[\\^" -1 "\n]" tail newtok] 6 (#$ . 72098)])
(provide 'gnus-score)
