MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/gnus/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/gnus/gnus-score.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:03 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/gnus-score.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\301\302!\210\301\303!\210\301\304!\210\301\305!\210\301\306!\210\301\307!\210\310\311\312\313\314\315\316\317&\210\310\320\312\321\314\315\316\322&\210\310\323\312\324\314\315\316\325&\210\310\326\327\330\314\315\316\331&\210\310\300\332\333\314\315\314\334\316\331&	\210\310\335\336\337\314\315\316\340&\210\310\341\342\343\314\344\316\345&\210\310\346\347\350\314\351\316\352&\210\310\353\354\355\314\351\316\356&\210\310\357\312\360\314\361\316\362\363\364\365\366\367\370\371QF\372BBBB&\210\310\373\374\375\314\361\316\376&\210\310\377\201@\201A\314\361\316\345&\210\310\201B\201C\201D\314\361\316\201E&\210\310\201F\312\201G\314\315\316\201H&\210\310\201I\312\201J\314\334\314\315\316\201K&	\210\310\201L\201M\201N\314\334\316\201O&\210\310\201P\312\201Q\201R\201S\314\334\316\201T&	\210\310\201U\312\201V\314\334\316\201W&\210\310\201X\201Y\201Z\314\334\316\201[&\210\310\201\\\201]\201^\314\334\316\201_&\210\310\201`\312\201a\314\334\316\201b&\210\310\201c\312\201d\314\334\316\356&\210\310\201e\312\201f\314\344\316\356&\210\310\201g\201h\201i\314\334\316\201j&\210\310\201k\201l\201m\314\334\314\315\316\201n&	\210\310\201o\312\201p\314\315\314\334\201R\201q\316\356&\210\310\201r\312\201s\314\344\316\201t&\210\310\201u\312\201v\314\344\316\201w&\210\310\201x\312\201y\314\344\316\356&\210\310\201z\312\201{\314\344\316\201|&\210\310\201}\312\201~\314\315\316\201&\210\310\201\200\312\201\201\314\201\202\316\356&\210\310\201\203\312\201\204\314\201\202\201R\201q\316\201\205&	\207" [gnus-adaptive-file-suffix require gnus gnus-sum gnus-range gnus-win message score-mode custom-declare-variable gnus-global-score-files nil "List of global score files and directories.\nSet this variable if you want to use people's score files.  One entry\nfor each score file or each score file directory.  Gnus will decide\nby itself what score files are applicable to which group.\n\nSay you want to use the single score file\n\"/ftp.gnus.org@ftp:/pub/larsi/ding/score/soc.motss.SCORE\" and all\nscore files in the \"/ftp.some-where:/pub/score\" directory.\n\n (setq gnus-global-score-files\n       '(\"/ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE\"\n	 \"/ftp.some-where:/pub/score\"))" :group gnus-score-files :type (repeat file) gnus-score-file-single-match-alist "Alist mapping regexps to lists of score files.\nEach element of this alist should be of the form\n	(\"REGEXP\" [ \"SCORE-FILE-1\" ] [ \"SCORE-FILE-2\" ] ... )\n\nIf the name of a group is matched by REGEXP, the corresponding scorefiles\nwill be used for that group.\nThe first match found is used, subsequent matching entries are ignored (to\nuse multiple matches, see `gnus-score-file-multiple-match-alist').\n\nThese score files are loaded in addition to any files returned by\n`gnus-score-find-score-files-function'." (repeat (cons regexp (repeat file))) gnus-score-file-multiple-match-alist "Alist mapping regexps to lists of score files.\nEach element of this alist should be of the form\n	(\"REGEXP\" [ \"SCORE-FILE-1\" ] [ \"SCORE-FILE-2\" ] ... )\n\nIf the name of a group is matched by REGEXP, the corresponding scorefiles\nwill be used for that group.\nIf multiple REGEXPs match a group, the score files corresponding to each\nmatch will be used (for only one match to be used, see\n`gnus-score-file-single-match-alist').\n\nThese score files are loaded in addition to any files returned by\n`gnus-score-find-score-files-function'." (repeat (cons regexp (repeat file))) gnus-score-file-suffix "SCORE" "Suffix of the score files." string "ADAPT" "Suffix of the adaptive score files." gnus-score-adapt gnus-score-find-score-files-function 'gnus-score-find-bnews "Function used to find score files.\nThe function will be called with the group name as the argument, and\nshould return a list of score files to apply to that group.  The score\nfiles do not actually have to exist.\n\nPredefined values are:\n\n`gnus-score-find-single': Only apply the group's own score file.\n`gnus-score-find-hierarchical': Also apply score files from parent groups.\n`gnus-score-find-bnews': Apply score files whose names matches.\n\nSee the documentation to these functions for more information.\n\nThis variable can also be a list of functions to be called.  Each\nfunction is given the group name as argument and should either return\na list of score files, or a list of score alists.\n\nIf functions other than these pre-defined functions are used,\nthe `a' symbolic prefix to the score commands will always use\n\"all.SCORE\"." (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)) gnus-score-interactive-default-score 1000 "*Scoring commands will raise/lower the score with this number as the default." gnus-score-default integer gnus-score-expiry-days 7 "*Number of days before unused score file entries are expired.\nIf this variable is nil, no score file entries will be expired." gnus-score-expire (choice (const :tag "never" nil) number) gnus-update-score-entry-dates t "*If non-nil, update matching score entry dates.\nIf this variable is nil, then score entries that provide matches\nwill be expired along with non-matching score entries." boolean gnus-decay-scores "*If non-nil, decay non-permanent scores.\n\nIf it is a regexp, only decay score files matching regexp." gnus-score-decay choice (const :tag "never" nil) (const :tag "always" t) const :tag "adaptive score files" "\\." "\\'" ((regexp)) gnus-decay-score-function 'gnus-decay-score "*Function called to decay a score.\nIt is called with one parameter -- the score to be decayed." (radio (function-item gnus-decay-score) (function :tag "Other")) gnus-score-decay-constant 3 "*Decay all \"small\" scores with this amount." gnus-score-decay-scale 0.05 "*Decay all \"big\" scores with this factor." number gnus-home-score-file "Variable to control where interactive score entries are to go.\nIt can be:\n\n * A string\n   This file will be used as the home score file.\n\n * A function\n   The result of this function will be used as the home score file.\n   The function will be passed the name of the group as its\n   parameter.\n\n * A list\n   The elements in this list can be:\n\n   * `(regexp file-name ...)'\n     If the `regexp' matches the group name, the first `file-name'\n     will be used as the home score file.  (Multiple filenames are\n     allowed so that one may use gnus-score-file-single-match-alist to\n     set this variable.)\n\n   * A function.\n     If the function returns non-nil, the result will be used\n     as the home score file.  The function will be passed the\n     name of the group as its parameter.\n\n   * A string.  Use the string as the home score file.\n\n   The list will be traversed from the beginning towards the end looking\n   for matches." (choice string (repeat (choice string (cons regexp (repeat file)) function)) (function-item gnus-hierarchial-home-score-file) (function-item gnus-current-home-score-file) function) gnus-home-adapt-file "Variable to control where new adaptive score entries are to go.\nThis variable allows the same syntax as `gnus-home-score-file'." (choice string (repeat (choice string (cons regexp (repeat file)) function)) function) gnus-default-adaptive-score-alist `((gnus-kill-file-mark) (gnus-unread-mark) (gnus-read-mark (from ,(+ 2 gnus-score-decay-constant)) (subject ,(+ 27 gnus-score-decay-constant))) (gnus-catchup-mark (subject ,(+ -7 (* -1 gnus-score-decay-constant)))) (gnus-killed-mark (from ,(- -1 gnus-score-decay-constant)) (subject ,(+ -17 (* -1 gnus-score-decay-constant)))) (gnus-del-mark (from ,(- -1 gnus-score-decay-constant)) (subject ,(+ -12 (* -1 gnus-score-decay-constant))))) "Alist of marks and scores.\nIf you use score decays, you might want to set values higher than\n`gnus-score-decay-constant'." (repeat (cons (symbol :tag "Mark") (repeat (list (choice :tag "Header" (const from) (const subject) (symbol :tag "other")) (integer :tag "Score"))))) gnus-adaptive-word-length-limit "*Words of a length lesser than this limit will be ignored when doing adaptive scoring." :version "22.1" (radio (const :format "Unlimited " nil) (integer :format "Maximum length: %v")) gnus-ignored-adaptive-words "List of words to be ignored when doing adaptive word scoring." (repeat string) 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") "*Default list of words to be ignored when doing adaptive word scoring." (repeat string) gnus-default-adaptive-word-score-alist `((,gnus-read-mark . 30) (,gnus-catchup-mark . -10) (,gnus-killed-mark . -20) (,gnus-del-mark . -15)) "*Alist of marks and scores." (repeat (cons (character :tag "Mark") (integer :tag "Score"))) gnus-adaptive-word-minimum "If a number, this is the minimum score value that can be assigned to a word." (choice (const nil) integer) gnus-adaptive-word-no-group-words "If t, don't adaptively score words included in the group name." gnus-score-mimic-keymap "*Have the score entry functions pretend that they are a keymap." gnus-score-exact-adapt-limit 10 "*Number that says how long a match has to be before using substring matching.\nWhen doing adaptive scoring, one normally uses fuzzy or substring\nmatching.  However, if the header one matches is short, the possibility\nfor false positives is great, so if the length of the match is less\nthan this variable, exact matching will be used.\n\nIf this variable is nil, exact matching will always be used." (choice (const nil) integer) gnus-score-uncacheable-files "ADAPT$" "All score files that match this regexp will not be cached." regexp gnus-adaptive-pretty-print "If non-nil, adaptive score files fill are pretty printed." "23.1" gnus-score-default-header "Default header when entering new scores.\n\nShould be one of the following symbols.\n\n a: from\n s: subject\n b: body\n h: head\n i: message-id\n t: references\n x: xref\n e: `extra' (non-standard overview)\n l: lines\n d: date\n f: followup\n\nIf nil, the user will be asked for a header." (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)) gnus-score-default-type "Default match type when entering new scores.\n\nShould be one of the following symbols.\n\n s: substring\n e: exact string\n f: fuzzy string\n r: regexp string\n b: before date\n a: after date\n n: this date\n <: less than number\n >: greater than number\n =: equal to number\n\nIf nil, the user will be asked for a match 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)) gnus-score-default-fold "Non-nil means use case folding for new score file entries." gnus-score-default-duration "Default duration of effect when entering new scores.\n\nShould be one of the following symbols.\n\n t: temporary\n p: permanent\n i: immediate\n\nIf nil, the user will be asked for a duration." (choice (const :tag "temporary" t) (const :tag "permanent" p) (const :tag "immediate" i) (const :tag "ask" nil)) gnus-score-after-write-file-function "Function called with the name of the score file just written to disk." (choice (const nil) function) gnus-score-thread-simplify "If non-nil, subjects will simplified as in threading." gnus-score-various gnus-inhibit-slow-scoring "Inhibit slow scoring, e.g. scoring on headers or body.\n\nIf a regexp, scoring on headers or body is inhibited if the group\nmatches the regexp.  If it is t, scoring on headers or body is\ninhibited for all groups." (choice (const :tag "All" nil) (const :tag "None" t) regexp)] 16)
#@62 If nil, only `gnus-score-find-score-files-function' is used.
(defvar gnus-score-use-all-scores t (#$ . 13728))
#@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) (#$ . 13845))
(defvar gnus-scores-exclude-files nil)
(defvar gnus-internal-global-score-files nil)
(defvar gnus-score-file-list nil)
(defvar gnus-short-name-score-file-cache nil)
(defvar gnus-score-help-winconf nil)
(defvar gnus-adaptive-score-alist gnus-default-adaptive-score-alist)
(defvar gnus-adaptive-word-score-alist gnus-default-adaptive-word-score-alist)
(defvar gnus-score-trace nil)
(defvar gnus-score-edit-buffer nil)
#@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 (#$ . 14585))
(defvar gnus-score-cache nil)
(defvar gnus-scores-articles nil)
(defvar gnus-score-index nil)
(defconst gnus-header-index '(("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))
#@327 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.  A symbolic prefix of `a' (the SYMP parameter)
says to use the `all.SCORE' file for the command instead of the
current score file.
(defalias 'gnus-summary-lower-score #[(&optional score symp) "\302\303![	\"\207" [score symp gnus-summary-increase-score gnus-score-delta-default] 3 (#$ . 16332) (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])
#@327 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.  A symbolic prefix of `a' (the SYMP parameter)
says to use the `all.SCORE' file for the command instead of the
current score file.
(defalias 'gnus-summary-increase-score #[(&optional score symp) "\306!\211\307W\203\310\202\311	\307V\312\313@A\314\315 \316E\317\320EBCDE\2055\321E!\307HFG\205B\321G!\307HHI\205O\321I!\307HJ\322\211KL\322\211MN\322O\323\216F\204\247D\203x\324\325!\210\326\327\n\"\210\202\212\326\330\203\202\331\202\203\332\333\334\f\335##\210\336 \211F\337U\204\233F\340U\203b\322F\341\342\f\325#\210\202b\343 \210F\227\f\236\211K\204\310D\203\304\344\345\nF#\210\202\310\344\346!\210F\227FU\204\364D\203\340\326\345\nF#\210\202\344\326\335!\210H\206\352\347HJ\206\362\314J\350\322\351\352
\"\"PH\204JD\203\324\325!\210\326\353\nF#\210\202,\326\354\203\331\202 \332KA@\333\355P\335#$\210\336 \211H\337U\204=H\340U\203\375\322H\341\356P\357#\210\202\375\343 \210H\227P\236A@\211M\204nD\203j\344\345\nF#\210\202n\344\360!\210)H\227HU\204\225D\203\211\326\361\nFH$\210\202\215\326\335!\210J\206\223\314JJ\204\340D\203\257\324\325!\210\326\362\nFH$\210\202\302\326\363\203\271\331\202\272\332\333\364B\335##\210\336 \211J\337U\204\323J\340U\203\225\322J\341\365B\357#\210\202\225\343 \210D\203\366\326\366\nFHJ%\210\202\372\326\335!\210JB\236\211QA@)\211L\204G\nT\367=\2030F\370\\\371=\2030HS\372=\2030J\373Z\374=\2030\344\375!\210D\203C\344\366\nFHJ%\210\202G\344\376!\210)R\205tKA@\377\232\205t\201W\351\321R\"S\201X\201YS\201Z\322\211S@&)!O\357K8\335\230\203\203\335\202\225\201[\357K8\206\221KA@\322O#NKA@\201\\\232\203\312\201]\201^N\"\203\266N\307\225\322ON\201]\201_N\"\203\312N\307\225\322ONM\201`>\203\333\201aN!NT\201b=\203rUq\210\201cV\201d=\203\375\201e\335!\202V\201f=\203A\202\201e\201g!!\210)\201hKA@NM\201i=?\205*L\201j=?\2056L\201kK8?\322O&\210T\201b=\205XrUq\210\201cA!).\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" #1="" nil body-string) (104 "head" #1# 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] #1# 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) "\3028\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" "%c %c %c %c" 77 12 109 113 4 111 "You rang?" "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 collection symp gnus-summary-buffer gnus-score-find-score-files-function intern gnus-completing-read "Score extra header" 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 (#$ . 17042) (gnus-interactive "P\ny")])
(defalias 'gnus-score-insert-help #[(string alist idx) "\306 r\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.eb\210\330 \210\331 \332\245)W\203\270\333\310!\210\202\277\334 \210\335\310!\210\336)\337 \210)\340\341*\342\"!)\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-select-lowest-window window-height 2 switch-to-buffer split-window pop-to-buffer 1 shrink-window-if-larger-than-buffer select-window gnus-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\n\"\203/\n\313\225\311O\2020\n)\2025\314\202C\315=\203C\316	!\317\f!
\227\311)\320\313
G\311
$\210*\203\216\321\322\323+\324=\203h\325\202s+;\203r\326\202s\327
\f\313W\203~\330\202\331$	\247\203\213\332	!\202\214	\"\333\334
,\"8\335=\203\246	;\203\256\336	!\202\256\320\313	G\311	$\210+\324=\204\255\f-U\203\276\311
\311./\334/.\206\3230\206\323\337 \"A*\311123\203	\f+\205\366+\247\203\362+\202\366\340+!\3413!\257\202:\203	\f+\205+\247\203+\202\340+!F\202:+\203.	\f\340+!E\202:\f\2038	\fD\202:	C)2\203\221\334	2\"\2111\203\221\34218\342)8=\203\221\33318\247\203h\333)8\247\204v\33318\204\221\333)8\204\2211A1A@\206\202-)A@\206\213-\\\240\210\202\247\343
2\203\240)2B\202\243)C\311\306$\210\343\344\345\"\210*4\204\331\334
,\"A@\313Y\203\326\333\334
,\"8\346=\203\326\347
	\f3%\210\202\331\350 \210)+\207" [type match subject message-subject-re-regexp score header t r s nil string-match 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-number 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 new prompt date gnus-header-index gnus-score-interactive-default-score alist symbol gnus-score-alist elem old extra silent] 7 (#$ . 23505)])
#@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 &optional 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 (#$ . 25672) (list (gnus-completing-read "Header" (mapcar 'car (gnus-remove-if-not #'(lambda (x) (fboundp (nth 2 x))) gnus-header-index)) t) (read-string "Match: ") (if (y-or-n-p "Use regexp match? ") 'r 's) (string-to-number (read-string "Score: ")))])
#@61 Automatically mark articles with score below SCORE as read.
(defalias 'gnus-score-set-mark-below #[(score) "\206		\206	\303\304\305C\"\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 (#$ . 26740) (list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg)) (string-to-number (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 (#$ . 27181)])
#@63 Update all lines in the summary buffer, even the hidden ones.
(defalias 'gnus-score-update-all-lines #[nil "\212eb\210\301m\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 (#$ . 27364)])
#@56 Automatically expunge articles with score below SCORE.
(defalias 'gnus-score-set-expunge-below #[(score) "\206		\206	\302\303\304C\"\210\303\305\306\"\207" [score gnus-summary-default-score 0 gnus-score-set expunge touched (t)] 3 (#$ . 27688) (list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg)) (string-to-number (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\306\n!!)\2051\212\214\307 \210\310\311!\211\2050	q\210\312\313\314P\315\316 \317\320&+\207" [score gnus-summary-buffer buffer id gnus-score-delta-default buffer-live-p get-buffer message-narrow-to-headers mail-fetch-field "message-id" gnus-summary-score-entry "references" "[ 	]*$" r current-time-string nil t] 9 (#$ . 28078) "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\306\n!!)\205,\212\214eb\210\307\310!\211\205+	q\210\311\312\313\314 %+\207" [score gnus-summary-buffer buffer id gnus-score-delta-default buffer-live-p get-buffer mail-fetch-field "message-id" gnus-summary-score-entry "references" s current-time-string] 7 (#$ . 28571) "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
BAB\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 (#$ . 29421) "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\\	BB*\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 (#$ . 29853) "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 (#$ . 30487) 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 (#$ . 30872) (list (read-file-name "Change to score file: " gnus-kill-files-directory))])
#@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\330!#\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 "%s" substitute-command-keys "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits"] 5 (#$ . 31128) (list gnus-current-score-file)])
#@26 Edit the all.SCORE file.
(defalias 'gnus-score-edit-all-score #[nil "\301\302\303!!\210\304 \210\305\306\307\310\311!\"\207" [gnus-score-edit-exit-function find-file gnus-score-file-name "all" gnus-score-mode gnus-score-edit-done gnus-message 4 substitute-command-keys "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits"] 4 (#$ . 31881) nil])
#@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\325!#\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 "%s" substitute-command-keys "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits"] 5 (#$ . 32243) (list (read-file-name "Edit score file: " gnus-kill-files-directory))])
#@97 Edit score file at point in Score Trace buffers.
If FORMAT, also format the current score file.
(defalias 'gnus-score-edit-file-at-point #[(&optional format) "\212\305 \210\306p!)\307\310\212\311\210\312\n\313 \314#\205'\315\n\316 \314#\205'`\316 {)\211\203:\317\320\"\204:\321\230\203A\322\323\324\"\202d\325!\210\f\203L\326 \210:\205d\327\330	#eb\210\315\311\314#\210\331\224Sb,\207" [rule sep reg file format beginning-of-line read "[ \n
	]*" " -> +" nil re-search-backward point-at-bol t re-search-forward point-at-eol string-match "\\<\\(non-file rule\\|A file\\)\\>" "" gnus-error 3 "Can't find a score file in current line." gnus-score-edit-file gnus-score-pretty-print mapconcat #[(obj) "\301\302\303\"!\207" [obj regexp-quote format "%S"] 4] 0] 5 (#$ . 32939)])
(defalias 'gnus-score-load-file #[(file) "\306\307\310\311\306!!P\306	!\"\203	\206\306	\"!\312	\n\"	\f\235\313\211,-\2034A-\202e\313.\314	!-\315-\236\204K\315\313D-B-
\203^\316-\236\204^\316\317D-B-	-B\nB-\313/00\203\2530\2111@@);\203\2210@0\2111@@)\227\240\210\317/\202\2400\2111@@):\203\240\317/0\211A0@\210\202l/\203\265-C,*\320--2\3122-\206\314.\206\314\321 \"A*@\322--2\3122-\206\346.\206\346\321 \"A*@\323--2\3122-\206.\206\321 \"A*@\324--2\3122-\206.\206\321 \"A*\325--2\3122-\2063.\2063\321 \"A*\326--2\3122-\206L.\206L\321 \"A*@\327--2\3122-\206f.\206f\321 \"A*\330--2\3122-\206.\206\321 \"A*@\331--2\3122-\206\231.\206\231\321 \"A*@\332--2\3122-\206\263.\206\263\321 \"A*\333--2\3122-\206\314.\206\314\321 \"A*@\334--2\3122-\206\346.\206\346\321 \"A*@;\203\307	\"\202\203?\204\335	!\203?\203-\336-\"\203?\337\315\340-#\210\337\333\341\342 !C-#\210\203a
\204a\343\344,\345\346\203[B\202]\"#,\203o
\204o\334!\210\343\347\345\350\"\"3\2443\203\302r4q\210\203\301@:\203\270\2111@@)9\203\270\351\2111@@)!\210\2111@@)@A@L\210A\211\204\213)\203\3135\352\232\203\332\31767\202\370\353\232\203\350\313\2116\202\370:\203\366\3176\202\37078\20699\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 gnus-score-load-file 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\202Y\310\311!rq\210\312\216\f\313	!\210)eb\210\212\314\315\306\316#)\2031\306\317\320\217+\203C:\204C\321\322	\"\210\202S@\323=\203Q\324!\202S\325\n	\"\211)\207" [alist file gnus-score-alist #1=#:temp-buffer score-mode-coding-system coding-system-for-read nil file-readable-p generate-new-buffer " *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 (#$ . 36546)])
#@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\374\f\204\374@<\204:\313\314@	#\202\362\211@@);\205\362\211@A)\211<\204`\313\315@A@	#\202\362\211@@)
\203\361\f\204\361
\211A@\n\227\316\235\203\205@\247?\202\211@;?\203\225\313\317@	#\202\355\211A@)\203\270\211A@)\250\204\270\313\320\211A@)	#\202\355AA@\203\322AA@\250\204\322\313\321AA@	#\202\355AAA@\205\355AAA@9?\205\355\313\322AAA@	#\202i\fA\211\204%\f\203\312 \210\307\323\324\f#\210\325\326!\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 "%s" sit-for 2 a x] 6 (#$ . 37323)])
(defalias 'gnus-score-transform-old-to-new #[(alist) "\3058\306\211@\307=\203A@\203v@\211@;\203]\nA\n	B\203Y\211\211@@)\305@8\310@8\205C\311\310@8!@A@\203N\312\202O\313F\240\210A\211\204+)\202o\nA<\204k\n@\nAD\202l\n	BA\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\324\f\211A@\311@\312\"A\313\n!\"\314\"!\2066
\2066\315 \"A*\316\232\203\300\317\n!\"\314\"!\206R
\206R\315 \"A*\204\300\320	!\203d\321	!\203\300\322\313\n\"\241\323 \210\306#$\204\211\324\325%!\326P	\"\203\211\327\n!\210\202\222&'\330\n!\210))\331\332	!!\210\333\334 !\203\247\335	!\210\202\300\321	!\203\300()\336	!\210)*\203\300*	!\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 gnus-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-pretty-print 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 (#$ . 39873)])
(defalias 'gnus-score-headers #[(score-files &optional trace) "\306\211\306\211\306\307
!\211\205\330\306$\203	\203%&\310\311 !'(\2055'(Z)*+,-\306\211./\3060\312\313\314\"\210+\211A+@\211/\203s/\315H1\236\204M/$\206l\315BB\202Mr\316\317!q\210\320 \2102\2113\205\212\321\3223!!)\203\223\3232!\210-,\n\203\250\324\325%\"A@4\326\n!\210&\203&\211A&@\211.@/\324/%\"A@4\315\327\330\331\332	\"\"W\203\2505\2035\333=\204\3535;\203\33456\"\203\315\324/%\"A@V\203\312\313\335\"\210\202\250\336.8	/')7%\2110\203\2500B\202\2502\2113\205*\321\3223!!)\203<18r2q\21081*p\2119\2113\205T3;\203P\322\202Q\3373!)\203g\340\3229!:\":\3419!\210*\203\233$\211;@A)U\203~<\203\224\211;@@)\315H\211;@A)B1B1A\211\204l\306=	\211A@\211=\203\315=\203\236=\211;@@):\203\302\342=@7\"\210=\211A=@\210\202\251)\312\313\343\"\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 7 "Scoring..." 0 gnus-get-buffer-create "*Headers*" buffer-disable-undo buffer-live-p get-buffer 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] t string-match "Scoring on headers or body skipped." 2 buffer-name delete 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 gnus-inhibit-slow-scoring gnus-newsgroup-name trace scored buf gnus-buffers x gnus-save-score score] 7])
#@364 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 (#$ . 42140)])
#@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 \306\211\205)	@\211@\nH\211\203 \307\230\204 \310\f\"\210)	A\211\204	\306*\207" [thread --dolist-tail-- gnus-score-index id score gnus-make-threads nil "" gnus-score-lower-thread] 4 (#$ . 42805)])
(defalias 'gnus-score-integer #[(scores header now expire &optional trace) "\306	\"A@\307\211
\203	
@
A\306\n\"A\203A\211@\211@\3108\2063\311A@\206>\3128\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%\"\242B&B&\323\"@\"\211#@A)\\\241\210\"A\211\"\204\200\203\203\345'\203\345\324\325\326\n#\210AA(\240\210\202)\203)W\203\324\325\327\n#\210A\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\203A\211@\3108\206>\311 A@\206I!\"\3128#\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
)\"\242B*B*\326$\n\"\nA\\\241\210\202\247#\203'$\203	+\203	\327\330\331
#\210AA,\240\210\202'-\203'#-W\203'\327\330\332
#\210A\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-decode-text-parts #[nil "\306\307!\306\310!\211\211\311L\210)\211\311L\210)	\211\312L\210)\211\313\314\315\316\317D\316D\316	D\320\257EL\210)\321\322!\212\323 \210`d|\210\324	JJ!\"\210,\207" [#1=#:--cl---cl-mm-text-parts---- #2=#:--cl---cl-my-mm-display-part---- #3=#:v #4=#:v #5=#:v #6=#:v make-symbol "----cl-my-mm-display-part----" "----cl-mm-text-parts----" nil #[(handle) "\205\214``}\210\301!\210db)\207" [handle mm-display-inline] 2] lambda (&rest --cl-rest--) apply quote #[(#7=#:G56411 #8=#:G56412 handle) "@;\203\303	JA\"@\304\232\203\n@C\202\n)\207\305@!\203?\306\307\211@;\2033@\2027A@@)\"\205DC\207\303	J\"\207" [handle #7# parts mapcan "multipart/alternative" bufferp string-match "^text/"] 4] --cl-rest-- mm-dissect-buffer t article-goto-body mapc handles] 9])
(defalias 'gnus-score-body #[(scores header now expire &optional trace) "?\205\212\306	\307\"\nq\210\214\310	
12\311\230\203!\312\202-2\313\230\203,\314\202-\3153\310\21145\310\21167\310\f\203\316\f!\2118@@)\317H\320\321\3223!\"\205c\323\3223!\317\225\310O!9:;\310\324\325\217*\2042\313\230\20436\3153\f\203\f\2118@@)\317H7\326\327\3307$\210~\210\310<379\"\2032\313\230\203\261\331 <eb\2106\203\3336\312=\203\317`\332\333\310\334#\206\312d}\210\202\333\332\333\310\334#\206\330`d}\2101
\203
\211A@5\33525\"44A\203\3364A\211=@\211>@?\336>8\206\f\337@>A@\206AB\340>8C\310D@\341=\206;@\342=\206;@\343=\206;@\344=?E@\345=\204Z@\341=\204Z@\346=\204Z@\343=\203^\347\202\203@\337=\204z@\342=\204z@\350=\204z@\344=\203~\332\202\203\351\352@\"Feb\210F?\310\334#\203\267\f@B\f\2118@A)\\\241\210\334DG\203\267\3535H\"\242>BIBIG\204\374C\203\374D\203\335J\203\335\354\355\3565#\210>AAK\240\210\202\374L\203\374CLW\203\374\354\355\3575#\2104=A\241\2104==4.	\202\361<\203\360<!\210)\fA\211\204\203.\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 (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..." gnus-score-decode-text-parts 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) mm-destroy-parts all-scores header request-func entries alist ofunc article x gnus-newsgroup-name group func handles 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) "?\205L\306	\n\"A@\f\307\211\211\211\211\211\211\211\211+,-./01234r5q\210\3106\206>\31178\"!\210)\3129\313\"\2119\314 \210\203\226@\211.@4H/A0/\232\203v.1B1\202N0\203\2120\315\261\210\316`S`\3171$\210.C1/0\202N0\203\2520\315\261\210\316`S`\3171$\210\f\203;\f@,\fA\306	,\"--A\203\252-A\211:@\211;@<\320;8\206\327\321=;A@\206\342>?\322;8@\307A\323=!\324H\211B\325U\206
B\326U\206
B\327U\206
B\330U?CB\227\211D\331U\203\332\202=D\333U\2044D\334U\2044D\335U\2038\336\202=\337\340=\"E\307\211F.eb\210D\333U\203\230E<\307\341#\203\362\342 \324\224U\203\222\307\210`\324\225U\203\222\343`\317\"\211FAF\203\222F@.FAF\344.@?2G$\210\202t\307\210\202OE<\307\341#\203\362\307\210\343`\317\"\211FAF\211AF@\211.\203\230.?.A\\\241\210H\203\331\345,I\"\242;BJBJ\344.@?2G$\211+\203\256+
B\202\256@\2032A\203K\203\346\347\350,#\210;AAL\240\210\2022M\2032@MW\2032\346\347\351,#\210-:A\241\210-::-.
\202\274r5q\210\3103!\210)\352
.\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 point-at-bol get-text-property gnus-score-add-followups rassq 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 trace gnus-score-cache gnus-score-trace 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) "rq\210	\306H@\307\211\211A@\211\203F\f@\310\232\203\311\f\211A@)8\203:\311\f\211A@)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 (#$ . 50534)])
(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>?@ABCDE\211F\311U\203:G\202?\312G\313\"\211G\314 \210\211A@\211A\203\250A@FHBF\311U\203i\315B!BE\203v\316HB\"BCB\232\203\210ADBD\202GC\203\234C\317\261\210\320`S`\321D$\210ACDBC\202GC\203\274C\317\261\210\320`S`\321D$\210I\203eI\211AI@?\306?\"@@A\203\274@\211JA@)\3228\206\347\323KA@\206\361LM\3248N\3258O\310P\326K!\327H\211Q\330>?RQ\227SE\203(S\331>\204(\316H@\"\202*@TS\332U\2037\333\202`S\334U\204LS\335U\204LS\336U\203P\337\202`S\340U\203[\310\202`\341\342K\"UO\203\203\343O\344U\333=\203wT\202{\345T!\346\260T\333US\336U\203\234@?B>B>@A@\202`S\340U\203\263@?B\fB@A@\202`S\334U\203\214eb\210m\204(UT\310\347#\203(l\203\"\350 \327\224U\203\"\351`\321\"\211PV\203\n
\211A@\211A\203\"AMAA\\\241\210\352?W\"\242BXBX\202\344
\211A@\211A\203\"AMAA\\\241\210\202\n\353y\210\202\275V\2035@A@\202`N\204B@A@\202`P\203bY\203b\354\355\356?#\210AAZ\240\210@A@\202`[\203\204N[W\203\204\354\355\357?#\210@\211J\211AA)\241\210\202`@A@\202`eb\210T\360\230\203\231\361Tm\204\377UT\310\347#\203\377\327\224b\210\310\210\351`\321\"\211PV\203\341
\211A@\211A\203\371AMAA\\\241\210\352?W\"\242BXBX\202\273
\211A@\211A\203\371AMAA\\\241\210\202\341\353y\210\202\231V\203\f@A@\202`N\204@A@\202`P\2039Y\2039\354\355\362?#\210AAZ\240\210@A@\202`[\203[N[W\203[\354\355\363?#\210@\211J\211AA)\241\210\202`@A@.\202\321>\203u\364\\!\210>@@A@\211\203u@T\3228KA@\206\213LM\3248N\326K!\327H\211Q\365U?R\310Peb\210m\204\337T\310\347#\203\350 \327\224U\203l\203\351`\321\"\211PV\203\370
\211A@\211A\203AMAA\\\241\210\352>\211J@A)W\"\242BXBX\202\314
\211A@\211A\203AMAA\\\241\210\202\370\353y\210\202\246V\204kN\203kP\203AY\203A\354\355\366>\211J@A)#\210AAZ\240\210\202k[\203kN[W\203k\354\355\367>\211J@A)#\210>\211J@@)>@@AA\241\210>A>.\202o\f\203V\370\371ed\"\317_!]\372]!\210\f@@A@\211\203UA@\206\232LM\3248N\310P\373@]\"\211\203\375
J\347PV\203\345
\211A@\211A\203\375AMAA\\\241\210\352\f\211J@A)W\"\242BXBX\202\272
\211A@\211A\203\375AMAA\\\241\210\202\345V\204NN\203NP\203'Y\203'\354\355\374\f\211J@A)#\210AAZ\240\210\202N[\203NN[W\203N\354\355\375\f\211J@A)#\210\f\211J@@)\f@@AA\241\210\fA+\202\210).
\310\207" [header gnus-header-index gnus-score-thread-simplify kill words arts assoc "subject" nil 9 sort gnus-score-string< erase-buffer gnus-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" "[ (](" " \\. \"\\([^\"]*\\\\\"\\)*[^\"]*" regexp-quote "\\([^\"]*\\\\\"\\)*[^\"]*\")[ )]" t 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 gnus-simplify-subject-fuzzy-regexp hashtb] 14])
(defalias 'gnus-enter-score-words-into-hashtb #[(hashtb) "\306\211eb\210\307 p\310\216\311\f!\210\312\313\306\314#\2038\315\316\224\316\225{\227\211
\"J\317	
\"\320\321\322 \323\"\"L\210\202+\320\205\\\324\325\326\"\203W\316\225\306O\202Y)\327\"#\205v\317\211A@
\"\306L\210\202a+\207" [val word #1=#:buffer #2=#:table gnus-adaptive-word-syntax-table hashtb nil syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table re-search-forward "\\b\\w+\\b" t intern-soft 0 intern append get-text-property point-at-eol articles message-tokenize-header string-match "^[^:]+:" "." gnus-ignored-adaptive-words 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 "\205zr	q\210\306\n\206\307\310\"\206\311\f\"!\210)<\203&\312>\203l\212\313
!\211;<\314 =>?\315\211@A\315\211BC;\203\322;@\211@@9\203Z@\211@J\240\210@A\211@\203\311\316\317\320@\211D@@)\321=\203w\322\202\202\323@\211D@@)!\227P!\211C!\203\300@@@\211D@@)\321=\203\237\324\202\251\323@\211D@@)!@\211D@A)B\241\210@@\325\326C\327BE\240\210@A\211@\204c;A\211;\204H?\203j?@A@<\236A\211@\203a\330?@8:\204a\330?@8\211A\203a@\203a@\211D@@)A!B\331@@A@B\211\247\203\332\202L@@A@\333\232\203+\334\202LE\2039BGEW\203=\335\202L@@A@\336\232\203K\337\202L\340\341@@8=\315\310&\210@A\211@\204\377?A\211?\204\327.	<\205z\342>\205z\343\344!FrFq\210\345\216\346\347!G\350\314 !=>?\315\211\"H\315\211IJ\351 pKL\352\216\353M!\210?\211A?@\211H\2031\330H8:\204\254HA@N\236A\211I\203\254\330H8\354Hc\210\355ed\"\210eb\210\356\357\315\310#\203+\360\361\362!\211\"G\"JJO\203\"GOV\203\337IJ\206\n\362\\JP\203JPW\203PJ\317\"G\"JL\210\202\337\363 \210\202\254+\364QR\205T\365S\366\367S\"\203OS\362\225\315O\202QS)\370\"T#UU\203o\317U\211AU@G\"\315L\210\202Y)	q\210\371\372G\".\n\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 generate-new-buffer " *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 ((byte-code "rq\210\302	!\210)\302\207" [#2=#:buffer #3=#:table set-syntax-table] 2)) 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!\305J	\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 d score val #2# #3# gnus-adaptive-word-syntax-table gnus-adaptive-word-score-alist gnus-adaptive-word-length-limit gnus-adaptive-word-minimum gnus-ignored-adaptive-words gnus-adaptive-word-no-group-words gname gnus-default-ignored-adaptive-words ignored] 9 (#$ . 55773)])
(defalias 'gnus-score-edit-done #[nil "\303p!	\203\304	!\210\305\n!\210\306\n!\210\307\310!*\207" [gnus-prev-winconf winconf bufnam buffer-file-name set-window-configuration gnus-score-remove-from-cache gnus-score-load-file run-hooks gnus-score-edit-done-hook] 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\315\314\211,-\212\316\317!\210)\314.\320\305!\210.\211\204G\321\322\323/#\210\202\253\317q\210\324\325\326\"\210\324\327\330\"\210\324\331\332\"\210\324\333\334\"\210\324\335\336\"\210\3370
\3141\2112\203\2242@\2111@\206{\340\341,1A\342\f!\343\f!$c\2102A\2112\204p*\341\344\345\346\347\350
\"\"\"c\210\351c\210eb\210\352\353!\210-3q\210	\211)\207" [gnus-newsgroup-scored old-scored to gnus-newsgroup-data file trace 3 get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject nil "%S [%s] -> %s\n" nnheader-set-temp-buffer "*Score Trace*" gnus-possibly-score-headers gnus-error 1 "No score rules apply to the current article (default score %d)." local-set-key "q" #[nil "\300\301!\210\302 \207" [bury-buffer nil gnus-summary-expand-window] 2 nil nil] "k" #[nil "\300p!\210\301 \207" [kill-buffer gnus-summary-expand-window] 2 nil nil] "e" #[nil "\300 \207" [gnus-score-edit-file-at-point] 1 "Run `gnus-score-edit-file-at-point'." nil] "f" #[nil "\300\301!\207" [gnus-score-edit-file-at-point format] 2 "Run `gnus-score-edit-file-at-point'." nil] "t" toggle-truncate-lines t "(non-file rule)" format file-name-nondirectory abbreviate-file-name "\nTotal score: %d" apply + mapcar #[(s) "AA@\206	\207" [s gnus-score-interactive-default-score] 1] "\n\nQuick help:\n\nType `e' to edit score file corresponding to the score rule on current line,\n`f' to format (pretty print) the score file and edit it,\n`t' toggle to truncate long lines in this buffer,\n`q' to quit, `k' to kill score trace buffer.\n\nThe first sexp on each line is the score rule, followed by the file name of\nthe score file and its full name, including the directory." gnus-configure-windows score-trace frmt gnus-newsgroup-headers gnus-score-trace gnus-summary-default-score truncate-lines entry --dolist-tail-- gnus-summary-buffer] 8 (#$ . 58717) 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\3128\313>\2032A@\206K
@B	B\2022\314	\315\"\211A\203\237\211@A)A@A\232\203\224@\211@@)A@@\\\240\210\211\211AA)\241\210\202\\\211A@\210\202\\)\316\317!\210\314	\320\"\211\204\264\321\312\322\"\202\332	\203\324\323\324	\211@@)	\211@A)#c\210	\211A@\210\202\264eb\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 (#$ . 60785) nil])
#@57 Redo the entire scoring process in the current summary.
(defalias 'gnus-summary-rescore #[nil "\302 \210\303\211\304 \210\305 \207" [gnus-score-cache gnus-newsgroup-scored gnus-score-save nil gnus-possibly-score-headers gnus-score-update-all-lines] 2 (#$ . 61694) nil])
#@33 Flush the cache of score files.
(defalias 'gnus-score-flush-cache #[nil "\303 \210\304\211\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"] 4 (#$ . 61972) nil])
(gnus-add-shutdown 'gnus-score-close 'gnus)
(defvar gnus-score-file-alist-cache nil)
#@37 Clear all internal score variables.
(defalias 'gnus-score-close #[nil "\304\211\304\211\211\207" [gnus-score-cache gnus-internal-global-score-files gnus-score-file-list gnus-score-file-alist-cache nil] 3 (#$ . 62338)])
#@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 (#$ . 62567) "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 (#$ . 63123) "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 (#$ . 63794) "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 (#$ . 64358) "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 (#$ . 64588) "p"])
#@59 Lower score of articles in the current thread with SCORE.
(defalias 'gnus-summary-lower-thread #[(&optional score) "\301\302![!\207" [score gnus-summary-raise-thread gnus-score-delta-default] 3 (#$ . 64776) "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 #\237BA\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 (#$ . 64996)])
#@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\206a\306\320\"C.\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 "this.file.does.not.exist.SCORE" files gnus-kill-files-directory] 7 (#$ . 65778)])
#@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 (#$ . 66340)])
#@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!!\211G\312 7\3138\236A9\314\315\":\316\211;<\316=r\317\320!q\210\321 \210\n\203)\322 \210\n@c\210eb\210\323\3247P\316\315#\203\"\325\326\315\211#\210eb\210\327\330\f!!\203g\331dS
^!\210\202\202db\210\332>\316\315#\203{`Te|\210\202\202\333\334\335\n@#\210eb\210\3369\205\217\3379!\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\274eb\210\342\347\316\315#\203\341\325\350\315\211#\210\202\320eb\210\327\351!\203\370\315<\352\353d{\354Q=\202\352\334d{\354Q=\316<<\203\316\355\356\217\204<\204\"\316\357\360\217\203\"\n@;B;\nA\211\2047p\211?\211@\205A@;\203=\361\202>\362@!)\203T\363\361?!A\"A\364?!\210)\365!\211B\363B;\"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 "$" (byte-code "\302	\"?\207" [regexp group-trans string-match] 3) ((error)) (string-match regexp group-trans) ((error)) get-buffer buffer-name delete kill-buffer gnus-score-file-name gnus-sort-score-files score-regexp nnheader-file-name-translation-alist trans group-trans ofiles not-match regexp gnus-directory-sep-char-regexp buf buffer gnus-buffers localscore] 5 (#$ . 66569)])
#@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 (#$ . 68543)])
#@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 (#$ . 68780)])
#@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\313Oc\210eb\210`\313\314\315\313\316#\2039\f`S{B\202'\317 \210\320\321\"\211G*\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 (#$ . 69475)])
#@55 Sort FILES so that the most general files come first.
(defalias 'gnus-sort-score-files #[(files) "\303\304!rq\210\305\216\306\307	\"\306\310\311\n\312\"\",\207" [#1=#:temp-buffer files alist generate-new-buffer " *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\313Oc\210eb\210`\313\314\315\313\316#\203=\f`S{B\202+\317 \210\320\321\"\211G*)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"] 7] cdr sort car-less-than-car] 5 (#$ . 69987)])
#@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\202`\n\2033\310\n\211@@)\"\203,\311\n\211@A)	\"\nA\211\204\n\211\203Y\310\n\211@@)\"\203R\311\n\211@A)	\"\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 append gnus-score-file-single-match-alist] 4 (#$ . 70738)])
#@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
\203P\f\203(\307\310	!!\311	\312\"\211\203;B)\313	\314\"\211\203OB)\f\203k\315\f@!\203d\316\f@	!\237\"\fA\211\204T
\203\216\311	!\211\203}B)\313	\317\"\211\203\215B)\203\263@;\203\250\320@\"\240\210\211A@\210\202\221)\237\203\314@A\235\203\314\211A@\210\202\267A\203\211A@)\211AA)\235\203\367\211\211AA)\241\210\202\317\211A@\210\202\317)+\207" [gnus-score-find-score-files-function group gnus-newsgroup-name score-files funcs gnus-score-use-all-scores nil copy-sequence gnus-score-find-alist gnus-home-score-file t gnus-group-find-parameter adapt-file functionp append score-file expand-file-name home gnus-newsgroup-adaptive-score-file param-file files gnus-kill-files-directory x] 5 (#$ . 71254)])
#@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 (#$ . 72219)])
#@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!\312Q\"\2023\306\313\n!\314Q\"!)\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 (#$ . 72428)])
#@52 Scan all global score directories for score files.
(defalias 'gnus-score-search-global-directories #[(files) "\303	\203&\304	@!\203\305	@\306\307 \310P#\202	@B	A\211\204\211)\207" [out files gnus-internal-global-score-files nil file-directory-p directory-files t gnus-score-file-regexp "$"] 6 (#$ . 72900) (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 (#$ . 73259) 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\202W\307\f!\203:\f!\202W\f:\205W\310\311\f@!\"\205W\312\f\211A@)\313\306$\211\203\205s\314!\315!\203n\202s\316\"+\207" [adapt gnus-home-adapt-file gnus-home-score-file found elem list nil functionp string-match gnus-globalify-regexp replace-match t nnheader-translate-file-chars file-name-absolute-p nnheader-concat group x gnus-kill-files-directory] 6 (#$ . 73571)])
#@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 (#$ . 74199)])
#@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 (#$ . 74521)])
#@42 Return the "current" regular score file.
(defalias 'gnus-current-home-score-file #[(group) "\301!@\207" [group gnus-score-find-alist] 2 (#$ . 74846)])
#@84 Decay SCORE according to `gnus-score-decay-constant' and `gnus-score-decay-scale'.
(defalias 'gnus-decay-score #[(score) "\211\304W\203\305\202\f\306\307!	\307!\n_]^_Z\310!)\207" [score gnus-score-decay-constant gnus-score-decay-scale n 0 -1 1 abs floor] 6 (#$ . 75004)])
#@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 (#$ . 75290)])
(provide 'gnus-score)

MMCT - 2023