;ELC   
;;; compiled by amu@mit.edu on Sat Sep 13 16:19:24 1997
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.4.67/lisp/gnus-range.el
;;; emacs version 19.30.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`gnus-range.el' was compiled for Emacs 19.29 or later"))


#@30 Return last element of LIST.
(defalias 'gnus-last-element #[(list) "Aƒ\f A‰‚ @‡" [list] 2 (#$ . 498)])
#@38 Do a complete, total copy of a list.
(defalias 'gnus-copy-sequence #[(list) "À\n:ƒ% \n@:ƒ Ã\n‰A@!	B‚ \n‰A@	B‚ \nƒ0 	Ÿ\n¤‚2 	Ÿ)‡" [nil out list gnus-copy-sequence] 3 (#$ . 612)])
#@65 Return a list of elements of LIST1 that do not appear in LIST2.
(defalias 'gnus-set-difference #[(list1 list2) "À	!\nƒ Ã\n@	\"\nA‰„ 	)‡" [copy-sequence list1 list2 delq] 4 (#$ . 804)])
#@102 Return a list of elements of LIST1 that do not appear in LIST2.
Both lists have to be sorted over <.
(defalias 'gnus-sorted-complement #[(list1 list2) "À\nƒ\n „ \n†R ‚R \nƒJ ƒJ \n@@Uƒ+ \nAA‚ \n@@Wƒ? \n@	B\nA‰‚ @	BA‚ 	Ÿ\n†Q ¤)‡" [nil out list1 list2] 3 (#$ . 1001)])
(defalias 'gnus-intersection #[(list1 list2) "À\nƒ \n@>ƒ \n@	B\nA‰„ 	)‡" [nil result list2 list1] 3])
(defalias 'gnus-sorted-intersection #[(list1 list2) "À\nƒ5 ƒ5 \n@@Uƒ  \n@	B\nAA‚ \n@@Wƒ/ \nA‰‚ A‚ 	Ÿ)‡" [nil out list1 list2] 3])
(defalias 'gnus-set-sorted-intersection #[(list1 list2) "À	B‰	ƒ; \fƒ; 	@\f@Uƒ! 		A\fA‚ 	@\f@Wƒ5 	A¡ˆ	A‰‚ \fA‚ À¡ˆ\nA*‡" [nil list1 top prev list2] 3])
#@143 Convert list of numbers to a list of ranges or a single range.
If ALWAYS-LIST is non-nil, this function will always release a list of
ranges.
(defalias 'gnus-compress-sequence #[(numbers &optional always-list) "@@Ã…u A<„ ‚u ƒL \n@U„E \nT@Uƒ/ @‚E 	\nUƒ9 	‚< 	\nB\fB@@A‰„ „e \f„e 	\nUƒ_ 	C‚u 	\nB‚u 	\nUƒo 	‚r 	\nB\fBŸ+‡" [numbers first last nil result always-list] 3 (#$ . 1710)])
(defalias (quote gnus-uncompress-sequence) (quote gnus-uncompress-range))
#@134 Expand a list of ranges into a list of numbers.
RANGES is either a single range on the form `(num . num)' or a list of
these ranges.
(defalias 'gnus-uncompress-range #[(ranges) "À‰‰\f„ À‚j \fA<„0 \f@\fA\nXƒ+ 	BT‰‚ 	Ÿ‚j \fƒh \f@:„H \f@§ƒa \f@	B‚a \f@@\f@A\nXƒa 	BT‰‚Q \fA‰„4 	Ÿ+‡" [nil result last first ranges] 4 (#$ . 2194)])
#@112 Return a list of ranges that has all articles from both RANGES and LIST.
Note: LIST has to be sorted over `<'.
(defalias 'gnus-add-to-range #[(ranges list) "„	 Á\nÃ\"‡Ä\n!A<„ CÅ‰‰‰	\nƒ¡ \nƒ¡ \n	@:„; @†> @@\nƒY \nAƒY \nA@WƒY \nA‰„D 	@Wƒw \n\nAÅ¡ˆÁ	Ã\"\n¤\n@:„‚ @†… @A\nƒš \n@Xƒš \nA‰„‹ A‰„) \nƒ® Á\nÃ\"\n¤\nË\nÌ\"‰\n‰ƒR@:„\nAƒKA@:„é @TA@UƒK‰@A@B ˆ‰AA¡ˆ‚K@TA@@UƒKA@@ ˆ‰A@ ˆ‰AA¡ˆ‚KAƒKA@:„1@ATA@UƒK@A@¡ˆ‰AA¡ˆ‚K@ATA@@UƒK@A@A¡ˆ‰AA¡ˆA‰„» \n-‡" [ranges gnus-compress-sequence list t copy-sequence nil temp highest lowest ilist out sort #[(r1 r2) ":„	 † @	:„ 	† 	@W‡" [r1 r2] 2]] 6 (#$ . 2549)])
#@116 Return a list of ranges that has all articles from LIST removed from RANGES.
Note: LIST has to be sorted over `<'.
(defalias 'gnus-remove-from-range #[(ranges list) "ÀÁÂ!\f\"!‡" [gnus-compress-sequence gnus-sorted-complement gnus-uncompress-range ranges list] 4 (#$ . 3241)])
(defalias 'gnus-member-of-range #[(number ranges) "A<„ 	@Y…Z 	AX‡ÂƒW @§ƒ% 	@Y‚* 	@@YƒW ƒW @§ƒ> 	@U‚K 	@@YƒP 	@AXƒP ÄA‰„ )?‡" [ranges number t not-stop nil] 3])
#@53 Return the length RANGE would have if uncompressed.
(defalias 'gnus-range-length #[(range) "À	!G‡" [gnus-uncompress-range range] 2 (#$ . 3703)])
#@59 Test whether all elements in SUBLIST are members of LIST.
(defalias 'gnus-sublist-p #[(list sublist) "À\nƒ \n‰A@>„ ÄÄ‰„ 	)‡" [t sublistp sublist list nil] 3 (#$ . 3854)])
#@37 Add RANGE2 to RANGE1 destructively.
(defalias 'gnus-range-add #[(range1 range2) "ƒ 	„ † 	‡ÂÃÄ!Ä	!¤Å\"!‡" [range1 range2 gnus-compress-sequence sort gnus-uncompress-range <] 5 (#$ . 4039)])
(provide (quote gnus-range))
