;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\207" [require bytecomp macroexp] 2)#@26 

(fn FORMAT &rest ARGS)
(defalias 'byte-compile-log-lap-1 #[385 "\300\301\302\303C\303C\304\305\306#\"\266\202#!\207" [byte-compile-log-1 apply format-message nil mapcar make-closure #[257 "\211:\204 \2119\203 \304\305\306!\"\203 \307\306!\310\311O!\207\207\301@\240\250\203+ \312\313\301\242\"\210\301\242\314=\2039 \301\240\210\202r \300\301\242\n>\203H AA@\202W \301\242>\203U A@\202W A\240\210\301\306\301\242!\240\210\304\315\301\242\"\203r \301\307\301\242\310\311O!\240\210\301\242\316=\203} \301\317\240\210\211A\320=\203\216 \301\242\321>\204\216 \301\242\207\322\323\301\242\300\242#\207" [V0 V1 byte-goto-ops byte-constref-ops string-match "^byte-" symbol-name intern 5 nil error "Non-symbolic byte-op %s" TAG "^byte-." constant const 0 (unbind call const) format "(%s %s)"] 6 "\n\n(fn ARG)"]] 13 (#$ . 154)])#@33 

(fn FORMAT-STRING &rest ARGS)
(defalias 'byte-compile-log-lap '(macro . #[385 "\300\301\302BBE\207" [and (memq byte-optimize-log '(t byte)) byte-compile-log-lap-1] 7 (#$ . 997)]))#@324 Lexical variables in scope, in reverse order of declaration.
Each element is on the form (NAME KEEP [VALUE]), where:
  NAME is the variable name,
  KEEP is a boolean indicating whether the binding must be retained,
  VALUE, if present, is a substitutable expression.
Earlier variables shadow later ones with the same name.
(defvar byte-optimize--lexvars nil (#$ . 1187))
(put 'inline 'byte-optimizer 'byte-optimize-inline-handler)#@65 byte-optimize-handler for the `inline' special-form.

(fn FORM)
(defalias 'byte-optimize-inline-handler #[257 "\300\301\302A\"B\207" [progn mapcar #[257 "\211\242\2119\2035 \211\236A\2041 \302!\2035 \211	\236A\2045 \211K\211\262:\203+ \211@\303=\2045 \304!\2045 \305!\207\207" [byte-compile-function-environment byte-compile-macro-environment fboundp macro subrp byte-compile-inline-expand] 4 "\n\n(fn SEXP)"]] 5 (#$ . 1623)])#@13 

(fn FORM)
(defalias 'byte-compile-inline-expand #[257 "\211@\211\236A\211\206\f KC\211\242\211\242\301=\262\203) \302\242!\210\211K\206' \236A\240\210\303\242\2048 \304\305#\210\207\242:\203i \242\242\211\306\267\202g \307\310\242A@#\207$\207$\207\207\2429\203\201 \242\311=\204 \312\242AB!\207\207\313\242!\203\224 \314\242\"\210\242AB\207\207" [byte-compile-function-environment autoload autoload-do-load #[1028 "\211\242=\203 \302\242AB!\207\303\211\304!*\210K\305\"\210\211AB\207" [byte-compile-warnings byte-optimize--lexvars macroexp--unfold-lambda nil byte-compile byte-compile--check-arity-bytecode] 8 "\n\n(fn FORM NAME LOCALFN FN)"] byte-compile-warn-x "attempt to inline `%s' before it was defined" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (autoload 71 lambda 81 closure 92)) error "File `%s' didn't define `%s'" t byte-compile-inline-expand byte-code-function-p byte-compile--check-arity-bytecode] 11 (#$ . 2062)])#@334 Alist of variables lexically bound outside the innermost `while' loop.
Variables here are sensitive to mutation inside the loop, since this can
occur an indeterminate number of times and thus have effect on code
sequentially preceding the mutation itself.
Same format as `byte-optimize--lexvars', with shared structure and contents.
(defvar byte-optimize--vars-outside-loop nil (#$ . 3101))#@118 If t, don't propagate values for variables declared outside the inner loop.
This indicates the loop discovery phase.
(defvar byte-optimize--inhibit-outside-loop-constprop nil (#$ . 3498))#@60 List of variables declared as dynamic during optimization.
(defvar byte-optimize--dynamic-vars nil (#$ . 3691))#@288 List of variables which may be aliased by other lexical variables.
If an entry in `byte-optimize--lexvars' has another variable as its VALUE,
then that other variable must be in this list.
This variable thus carries no essential information but is maintained
for speeding up processing.
(defvar byte-optimize--aliased-vars nil (#$ . 3809))#@63 Whether EXPR is a constant that can be propagated.

(fn EXPR)
(defalias 'byte-optimize--substitutable-p #[257 "\300!\2064 \211\247\2064 \211;\2064 \211:\2031 \211@\301>\203# \211A@9\2064 \211@\302=\2031 \211A@\250\2064 \303!\207" [booleanp 'function internal-get-closed-var keywordp] 3 (#$ . 4154)])#@24 

(fn EXP &rest CASES)
(defalias 'byte-optimize--pcase '(macro . #[385 "\300\301\302\"BB\207" [pcase mapcar #[257 "\300@\211:\203\304 \211\242\211\301=\203\274 \243\211:\203\266 \211\242\211:\203\260 \211\242\243\211:\203\231 \211\242\211\302=\203\200 \243\211:\203i \211\243\211\204O \243\211\204H 	\202J 	\262\202d \243\211\204` \n\"\202b 	\262\262\202{ \243\211\204w 	\"\202y \262\262\202\222 \243\211\204\216 \"\202\220 \262\262\266\202\202\261 \243\211\204\247 \"\202\251 \262\266\202\202\261 \262\202\267 \262\202\275 \262\266\202\202\307 \211\266\202AB\207" [#[514 "\300\301\302\300D\303BBED\207" [\` \, or (pcase--dontcare)] 8 "\n\n(fn HEAD TAIL)"] \` \,] 15 "\n\n(fn CASE)"]] 7 (#$ . 4461)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put byte-optimize--pcase lisp-indent-function 1 put edebug-form-spec pcase] 5)#@24 

(fn FORM FOR-EFFECT)
(defalias 'byte-optimize-form-code-walker #[514 "\242\306:\204P \203# \204! 9\203! \307=\204! \310!\203# \311\2079\203N 	\236\211\2041 \207\2037 \311\207\211AA\203L \n\203G \236\204L \211AA@\207\207\207\242\211\312\267\202\310\243\211\203c \211A\203k \313\314#\210\211@\205v ?\205v \207\243\315#B\207\243\316\317\320\"\"B\207\243\211A\203\236 \321\322\"!\207\323@\"\207\243\211\242\243\323\"\203\315 \322\307\"\324!\203\306 \325\326C\"B\207BB\207\207\243\322\"B\207\243\211\242\243\211\242\243\323\311\"\324!\205\362 \323\f\"\205\367 ?\205 \322\"BBB\207\243\211\311\203(\323@\205A?\"B\262A\262\202\237B\207\243\211\242\243	\n\203?B\202K\307\323\311\"\322\307\")B\323@\311\"\322A\307\")BB\207\313\327#\210\311\207?\205\334\207\243\211\242\243\211\242\243\323\"\316\317\330#\"BBB\207\243\211\242\243\323\311\"\322\n\"BB\207?\205\334AA@\211\203\305\211@\211	\236\211\203\275\211A\307\240\210\210A\266\202\202\253\210\207\211:\203\361\211\242\211\331\267\202\353\332!\211=\203\343\207\323\"\207\207\"\207\211\333\267\202]\243\211\242\243\211\242\243	\236\323\311\"\2039A\307\240\210A\311\241\210\f>\2039	\211\2038\211@\3348=\2031\211A\311\241\210A\266\202\202\210	E\207\243\211\242\243\211\205R\323@\311\"ABBBB\207\335!\203l\243\316\323\"B\207\2119\204v\"\207\203\305\336N\211\205\224\206\224\211\337=\206\224\313\340#\210\311\262\203\305*\203\271+\341>\203\271\307\342\211,-.\343\344\345\346!\"!+\210\323\325\326A\347\"B\307\"\207\316\323A\"B\350N\203\331\351!\202\332\211\262\207" [byte-compile-delete-errors byte-optimize--lexvars byte-optimize--inhibit-outside-loop-constprop byte-optimize--vars-outside-loop byte-optimize--aliased-vars byte-optimize--dynamic-vars #[514 "\300\301#\210\207" [byte-compile-warn-x "`%s' is a malformed function"] 6 "\n\n(fn FORM FN)"] t keywordp nil #s(hash-table size 18 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 88 let* 119 let 119 cond 130 progn 143 prog1 165 save-current-buffer 206 save-restriction 206 save-excursion 206 if 216 or 265 and 265 while 301 interactive 349 function 358 condition-case 365 catch 399 internal-make-closure 418)) byte-compile-warn-x "malformed quote form: `%s'" byte-optimize-let-form mapcar make-closure #[257 "\211:\203 \301@\302\"\303A\300\"B\207\304\305#\210\207" [V0 byte-optimize-form nil byte-optimize-body byte-compile-warn-x "malformed cond form: `%s'"] 5 "\n\n(fn CLAUSE)"] macroexp-progn byte-optimize-body byte-optimize-form macroexp-const-p progn append "misplaced interactive spec: `%s'" #[257 "\n\205 \300\203 \300\304DB\202 \211@\305A\301\")B\207" [V0 V1 lexical-binding byte-optimize--lexvars t byte-optimize-body] 5 "\n\n(fn CLAUSE)"] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (lambda 469 closure 489)) macroexp--unfold-lambda #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (setq 503 defvar 576)) 2 byte-code-function-p side-effect-free error-free "value returned from %s is unused" (t source) 4 byte-compile-log-1 format-message "  %s called for effect; deleted" prin1-to-string (nil) pure byte-optimize-constant-args byte-optimize byte-optimize-log print-length print-level print-escape-newlines] 19 (#$ . 5364)])#@73 The source-level pass of the optimizer.

(fn FORM &optional FOR-EFFECT)
(defalias 'byte-optimize-one-form #[513 "\302\303\"\304\")\207" [byte-compile--lexical-environment byte-optimize--lexvars mapcar #[257 "\211@\300D\207" [t] 3 "\n\n(fn V)"] byte-optimize-form] 5 (#$ . 8857)])#@34 

(fn FORM &optional FOR-EFFECT)
(defalias 'byte-optimize-form #[513 "\305\"\262:\203J @9\203J \306@\307\"\211\205E !\203< 	\310>\203< \311\312\211\313\314\315\316!\316!#!+\210\211\262\211=?\266\202\262\204  \207" [byte-optimize byte-optimize-log print-length print-level print-escape-newlines byte-optimize-form-code-walker function-get byte-optimizer (t source) t 4 byte-compile-log-1 format-message "  %s	==>	%s" prin1-to-string] 11 (#$ . 9146)])#@58 Replace VAR with NEW-VAR in BODY.

(fn VAR NEW-VAR BODY)
(defalias 'byte-optimize--rename-var-body #[771 "\300\301\302#\"\207" [mapcar make-closure #[257 "\302\301\300#\207" [V0 V1 byte-optimize--rename-var] 5 "\n\n(fn FORM)"]] 8 (#$ . 9621)])#@58 Replace VAR with NEW-VAR in FORM.

(fn VAR NEW-VAR FORM)
(defalias 'byte-optimize--rename-var #[771 "\211\242\3009\203 =\203 \207\207:\2036\242\211\301\267\202+\243\211\302\203H \303		@#B\262\303		A@#B\262AA\262\202# \237B\207\243\211:\203m \211\242\243\304\305\306#\"\307#BB\207$\207\243\211:\203\265 \211\242\243\211:\203\252 \211\242\243\303\f\f#\303#\304\305\310#\"BBB\207		$\207$\207\243\211:\203\355 \211\242\243\211:\203\342 \211\242\243\307#BBB\207		$\207$\207\243\211:\203\211\242\243\307#BB\207$\207\243\304\305\311	#\"B\207\207\207\207\243$\207\207" [#[1028 "\300#B\207" [byte-optimize--rename-var-body] 9 "\n\n(fn VAR NEW-VAR HEAD ARGS)"] #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (setq 31 let* 77 let 77 condition-case 118 internal-make-closure 190 defvar 246 cond 278 function 293 quote 295 lambda 297)) nil byte-optimize--rename-var mapcar make-closure #[257 "\302\301\300#\207" [V0 V1 byte-optimize--rename-var-body] 5 "\n\n(fn B)"] byte-optimize--rename-var-body #[257 "\211@\302\301\300A#B\207" [V0 V1 byte-optimize--rename-var-body] 6 "\n\n(fn H)"] #[257 "\302\301\300#\207" [V0 V1 byte-optimize--rename-var-body] 5 "\n\n(fn C)"]] 19 (#$ . 9875)])#@29 

(fn HEAD FORM FOR-EFFECT)
(defalias 'byte-optimize-let-form #[771 "\203m	\n\306\211\211A@\211\203\307 \211@\211@C\307A@\306\"A\262\n\310=\203P \242\n>\203P \311\312\242!!\313\314\315#\"\262\316\242#\262\240\266\306\317!\204e 9\205_ 	\236\211\262\205g C\320\242!\206y \242>\206y \242\f>?\211\205\204 \242\306BB\242ABB\nB\262\n\211\203\250 \310=\203\242 \211	B\202\250 \211\fB\262\f\203\302 \310=\203\274 \nB\266\202 B\262\266\202 \321\n\"\322=\203/\n\203/\306\211\203\372 \211@\211@\211\n>\203\362 \211>\204\362 \211B\262\210A\266\202\202\331 \210\211\211\203-\211@\311\312!!\313\314\323#\n\"\262	\313\314\324#\"\262\316#\262\210A\266\202\202\374 \266\321	\"\f\325\"\306\211\203d\211@\326\233\203S\3278\204S\203]\211@A@DB\262A\266\202\202=)\210\211B\266\202*\207\306\313\330@\"\325A\")B\207" [lexical-binding byte-optimize--lexvars byte-optimize--aliased-vars byte-compile-bound-variables byte-optimize--dynamic-vars byte-optimize--inhibit-outside-loop-constprop nil byte-optimize-form let* make-symbol symbol-name mapcar make-closure #[257 "\302\301\242\300@#\302\301\242\300A@#D\207" [V0 V1 byte-optimize--rename-var] 6 "\n\n(fn B)"] byte-optimize--rename-var-body byte-optimize--substitutable-p special-variable-p append let #[257 "\211@\301=\203\f \300AB\207\207" [V0 V1] 3 "\n\n(fn LEXVAR)"] #[257 "\211@\301=\203\f \300AB\207\207" [V0 V1] 3 "\n\n(fn V)"] byte-optimize-body 3 2 #[257 "\211@\300A@\301\"D\207" [byte-optimize-form nil] 5 "\n\n(fn BINDING)"]] 18 (#$ . 11242)])#@29 

(fn FORMS ALL-FOR-EFFECT)
(defalias 'byte-optimize-body #[514 "\300\211\211\203M \206 A\262@\205 \301@\"\262\211:\2039 \211@\302=\2039 \303\304A!\"\262\211A\262\242\262\211\204A \204F \211B\262A\262\202 \237\207" [nil byte-optimize-form progn append reverse] 9 (#$ . 12844)])#@82 The form in FORM that yields its boolean value, possibly FORM itself.

(fn FORM)
(defalias 'byte-opt--bool-value-form #[257 "\211\242\211\300\267\202: \301A!@\262\302\202; \301AA!@\262\302\202; A@\262\302\202; \3038\262\302\202; \3048\262\302\202; \305\262\204  \207" [#s(hash-table size 23 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (progn 8 inline 8 save-excursion 8 save-restriction 8 save-current-buffer 8 let 19 let* 19 prog1 31 unwind-protect 31 copy-sequence 31 identity 31 reverse 31 nreverse 31 sort 31 mapc 40 setq 40 setcar 40 setcdr 40 puthash 40 set 40 aset 49 put 49 function-put 49)) last t 2 3 nil] 4 (#$ . 13151)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put byte-opt--bool-value-form speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@72 Return non-nil if FORM always evaluates to a non-nil value.

(fn FORM)
(defalias 'byte-compile-trueconstp #[257 "\300!\262\211:\203B \211@\211\301\267\202@ A@\207A\207\302\207\303\3048!\205A \303\305AAA!@!\207\306A@!\207A\205A \303\305A!@!\207\307\207\2119?\206Q \211\302=\206Q \310!\207" [#[257 "\211\242\211\300\267\202: \301A!@\262\302\202; \301AA!@\262\302\202; A@\262\302\202; \3038\262\302\202; \3048\262\302\202; \305\262\204  \207" [#s(hash-table size 23 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (progn 8 inline 8 save-excursion 8 save-restriction 8 save-current-buffer 8 let 19 let* 19 prog1 31 unwind-protect 31 copy-sequence 31 identity 31 reverse 31 nreverse 31 sort 31 mapc 40 setq 40 setcar 40 setcdr 40 puthash 40 set 40 aset 49 put 49 function-put 49)) last t 2 3 nil] 4 "The form in FORM that yields its boolean value, possibly FORM itself.\n\n(fn FORM)"] #s(hash-table size 132 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 18 function 18 list 22 length 25 safe-length 25 cons 25 lambda 25 string 25 unibyte-string 25 make-string 25 concat 25 format 25 format-message 25 substring 25 substring-no-properties 25 string-replace 25 replace-regexp-in-string 25 symbol-name 25 make-symbol 25 compare-strings 25 string-distance 25 mapconcat 25 vector 25 make-vector 25 vconcat 25 make-record 25 record 25 regexp-quote 25 regexp-opt 25 buffer-string 25 buffer-substring 25 buffer-substring-no-properties 25 current-buffer 25 buffer-size 25 get-buffer-create 25 point 25 point-min 25 point-max 25 buffer-end 25 count-lines 25 following-char 25 preceding-char 25 get-byte 25 max-char 25 region-beginning 25 region-end 25 line-beginning-position 25 line-end-position 25 pos-bol 25 pos-eol 25 + 25 - 25 * 25 / 25 % 25 1+ 25 1- 25 min 25 max 25 abs 25 mod 25 expt 25 logb 25 logand 25 logior 25 logxor 25 lognot 25 ash 25 logcount 25 floor 25 ceiling 25 round 25 truncate 25 sqrt 25 sin 25 cos 25 tan 25 asin 25 acos 25 atan 25 exp 25 log 25 copysign 25 ffloor 25 fceiling 25 fround 25 ftruncate 25 float 25 ldexp 25 frexp 25 number-to-string 25 string-to-number 25 int-to-string 25 char-to-string 25 prin1-to-string 25 read-from-string 25 byte-to-string 25 string-to-vector 25 string-to-char 25 capitalize 25 upcase 25 downcase 25 propertize 25 string-as-multibyte 25 string-as-unibyte 25 string-to-multibyte 25 string-to-unibyte 25 string-make-multibyte 25 string-make-unibyte 25 string-width 25 char-width 25 make-hash-table 25 hash-table-count 25 unibyte-char-to-multibyte 25 multibyte-char-to-unibyte 25 sxhash 25 sxhash-equal 25 sxhash-eq 25 sxhash-eql 25 sxhash-equal-including-properties 25 make-marker 25 copy-marker 25 point-marker 25 mark-marker 25 set-marker 25 kbd 25 key-description 25 always 25 if 27 not 45 null 45 or 51)) t byte-compile-trueconstp 2 last byte-compile-nilconstp nil keywordp] 5 (#$ . 13971)])#@68 Return non-nil if FORM always evaluates to a nil value.

(fn FORM)
(defalias 'byte-compile-nilconstp #[257 "\300!\262\211?\206I \211:\205I \211@\211\301\267\202F \302\202G \303\3048!\205G \303\305AAA!@!\202G \306A@!\202G A\205G \303\305A!@!\202G \307\262\207" [#[257 "\211\242\211\300\267\202: \301A!@\262\302\202; \301AA!@\262\302\202; A@\262\302\202; \3038\262\302\202; \3048\262\302\202; \305\262\204  \207" [#s(hash-table size 23 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (progn 8 inline 8 save-excursion 8 save-restriction 8 save-current-buffer 8 let 19 let* 19 prog1 31 unwind-protect 31 copy-sequence 31 identity 31 reverse 31 nreverse 31 sort 31 mapc 40 setq 40 setcar 40 setcdr 40 puthash 40 set 40 aset 49 put 49 function-put 49)) last t 2 3 nil] 4 "The form in FORM that yields its boolean value, possibly FORM itself.\n\n(fn FORM)"] #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (while 23 ignore 23 if 27 not 47 null 47 and 55)) t byte-compile-nilconstp 2 last byte-compile-trueconstp nil] 5 (#$ . 16877)])#@13 

(fn FORM)
(defalias 'byte-optimize-associative-math #[257 "\300\211A\211\203$ \211@\250\203 \211@B\262\202 \211@B\262\211A\262\202 A\203= \301@\237\"\203< \302@D\237\"\207\207\207" [nil apply append] 8 (#$ . 17981)])#@38 Optimize `min' and `max'.

(fn FORM)
(defalias 'byte-optimize-min-max #[257 "\300!\211:\203& \211@\301>\203& \211G\302U\203& \211@@A@\3038E\3048E\207\207" [byte-optimize-associative-math (min max) 4 2 3] 7 (#$ . 18222)])#@22 

(fn OP ACCUM ARGS)
(defalias 'byte-opt--arith-reduce #[771 "\247\2039 \300@\247\2038 \3011 @\"0\202 \210\300\211\262\247\2038 \211\302!@\"U\2038 \211\262A\262\202 \210B\207" [nil (error) float] 8 (#$ . 18453)])#@13 

(fn FORM)
(defalias 'byte-optimize-plus #[257 "\300\301\302\303\301A#\"\211\204 \301\207\211A\204 \211@\247\203 \211@\207\211AA\204W \304>\204/ \305>\203W \211@A@\306>\211\203? \202@ \203H \202I \304=\203S \307\202T \310D\207\211G\311U\203n \303\312\303@A@E!AABB\207\211A\232\203w \207\303B\207" [remq 0 byte-opt--arith-reduce + 1 -1 (1 -1) 1+ 1- 3 byte-optimize-plus] 9 (#$ . 18688)])#@13 

(fn FORM)
(defalias 'byte-optimize-minus #[257 "\211A\211A\203 \300\301@A#\211\262A\204 \211@\247\203 \211@\207\302A>\2034 \211@\303\302A\"\2061 \302CB\262\211A\304\232\203@ \305@D\207\211A\306\232\203L \307@D\207\211A\204[ \211@\247\203[ \211@[\207\211G\310U\203r \301\311\301@A@E!AABB\207\211A\232\203{ \207\301B\207" [byte-opt--arith-reduce - 0 remq (1) 1- (-1) 1+ 3 byte-optimize-minus] 7 (#$ . 19102)])#@13 

(fn FORM)
(defalias 'byte-optimize-multiply #[257 "\300\301\302\303\301A#\"\211\204 \301\207\211A\204 \211@\247\203 \211@\207\211G\304U\2034 \303\305\303@A@E!AABB\207\211A\232\203= \207\303B\207" [remq 1 byte-opt--arith-reduce * 3 byte-optimize-multiply] 7 (#$ . 19534)])#@13 

(fn FORM)
(defalias 'byte-optimize-divide #[257 "\211A\211A\203 \300\301@A#\211\262A\204 \211@\247\203 \211@\207\302A>\2034 \211@\303\302A\"\2061 \302CB\262\211A\232\203= \207\301B\207" [byte-opt--arith-reduce / 1 remq] 6 (#$ . 19823)])#@13 

(fn FORM)
(defalias 'byte-optimize-binary-predicate #[257 "\300A@!\203 \301\233\203 \207\300\3028!\203$ \3031\" \304\305!D0\207\210\207\211@\3028A@E\207" [macroexp-const-p 3 2 (error) quote eval] 4 (#$ . 20079)])#@13 

(fn FORM)
(defalias 'byte-optimize-constant-args #[257 "\300A\211\203 \203 \301@!\262\211A\262\202 \203* \3021' \303\304!D0\207\210\207\207" [t macroexp-const-p (error) quote eval] 6 (#$ . 20307)])#@13 

(fn FORM)
(defalias 'byte-optimize-identity #[257 "\211A\203 \211AA\204 \211A@\207\207" [] 2 (#$ . 20524)])#@47 Whether EXPR is a constant symbol.

(fn EXPR)
(defalias 'byte-optimize--constant-symbol-p #[257 "\300!\205\n \301!9\207" [macroexp-const-p eval] 3 (#$ . 20641)])#@111 Return whether O is guaranteed to be a fixnum in all Emacsen.
See Info node `(elisp) Integer Basics'.

(fn O)
(defalias 'byte-optimize--fixnump #[257 "\211\250\205 \300X\205 \211\301X\207" [-536870912 536870911] 3 (#$ . 20811)])#@13 

(fn FORM)
(defalias 'byte-optimize-equal #[257 "\300AG\301U\2034 \302A@!\204) \302\3018!\204) \303A@!\204) \303\3018!\2030 \304AB\2025 \2025 !\207" [byte-optimize-binary-predicate 2 byte-optimize--constant-symbol-p byte-optimize--fixnump eq] 5 (#$ . 21048)])#@13 

(fn FORM)
(defalias 'byte-optimize-eq #[257 "\300A\211:\203B \211\242\243\211:\203> \211\242\211\204& \243\211\204! !\207\301!\207\2049 \243\211\2044 !\207\301!\207\301!\207\301!\207\301!\207" [#[257 "\300D\207" [not] 3 "\n\n(fn X)"] byte-optimize-binary-predicate] 9 (#$ . 21322)])#@13 

(fn FORM)
(defalias 'byte-optimize-member #[257 "\211AG\300U\204	 \207\3008\204 \301A@\302BB\207\303A@!\204F \304A@!\204F \3008\305!\205A \306!\211<\205? \307\310\311\">?\262\262\203K \312AB\207\207" [2 progn (nil) byte-optimize--constant-symbol-p byte-optimize--fixnump macroexp-const-p eval nil mapcar #[257 "\2119\206 \300!\207" [byte-optimize--fixnump] 3 "\n\n(fn O)"] memq] 7 (#$ . 21630)])#@13 

(fn FORM)
(defalias 'byte-optimize-assoc #[257 "\211G\300U\204 \207\3018\204 \302A@\303BB\207\304A@!\204& \305A@!\2036 \211@\306=\2031 \307\2022 \310AB\207\311!\207" [3 2 progn (nil) byte-optimize--constant-symbol-p byte-optimize--fixnump assoc assq rassq byte-optimize-constant-args] 4 (#$ . 22047)])#@13 

(fn FORM)
(defalias 'byte-optimize-assq #[257 "\211G\300U\204 \207\3018\204 \302A@\303BB\207\304!\207" [3 2 progn (nil) byte-optimize-constant-args] 4 (#$ . 22364)])#@13 

(fn FORM)
(defalias 'byte-optimize-memq #[257 "\211AG\300U\203@ \3008\211\204 \301A@\302BB\207\211\242\303=\203> \211A@\211\262<\203> \211G\304U\203> \305\306A@\303@DE\303DE\207\207\207" [2 progn (nil) quote 1 and eq] 7 (#$ . 22542)])#@59 Merge adjacent constant arguments to `concat'.

(fn FORM)
(defalias 'byte-optimize-concat #[257 "\211A\300\203h \300\211\203? \301@!\203? \302@!\262\211;\2043 \211<\204* \303!\203? \300\304\305\">\204? \211B\262A\262\202	 \203U \306\307\237\"\211G\310U\204T \211B\262\210\266\203 @B\262A\262\202 \211GAGU\203s \207\307\237B\207" [nil macroexp-const-p eval vectorp mapcar characterp apply concat 0] 9 (#$ . 22792)])#@13 

(fn FORM)
(defalias 'byte-optimize-string-greaterp #[257 "\211A\211:\203+ \211\242\243\211:\203) \211\242\243\211\204' \300\301!\302DC\303EE\207\207\207\207" [make-symbol "arg1" let string-lessp] 12 (#$ . 23239)])
(byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\307#\210\300\311\302\312#\210\300\313\302\312#\210\300\314\302\315#\210\300\316\302\315#\210\300\317\302\320#\210\300\321\302\322#\210\300\323\302\324#\210\300\325\302\326#\210\300\327\302\330#\210\300\331\302\330#\210\300\332\302\333#\210\300\334\302\335#\210\300\336\302\337#\210\300\340\302\337#\210\300\341\302\333#\210\300\342\302\333#\210\300\343\302\344#\210\300\345\302\344#\210\300\346\302\347#\210\300\350\302\351#\207" [put identity byte-optimizer byte-optimize-identity memq byte-optimize-memq memql byte-optimize-member member assoc byte-optimize-assoc rassoc assq byte-optimize-assq rassq + byte-optimize-plus * byte-optimize-multiply - byte-optimize-minus / byte-optimize-divide max byte-optimize-min-max min = byte-optimize-binary-predicate eq byte-optimize-eq eql byte-optimize-equal equal string= string-equal string-greaterp byte-optimize-string-greaterp string> concat byte-optimize-concat quote byte-optimize-quote] 4)#@13 

(fn FORM)
(defalias 'byte-optimize-quote #[257 "\211A@:\204E \211A@9\203F \211A@\301\302>\206@ \303!\206@ \211\205@ >\206@ \304!\205@ \3051> \211JL\210\3010\266\202\202B \210\306\266\202\204F \207\211A@\207" [byte-compile-const-variables nil (nil t) keywordp boundp (setting-constant) t] 5 (#$ . 24498)])#@13 

(fn FORM)
(defalias 'byte-optimize-and #[257 "\300\211\211A\211\203n \211@\203. \211B\262A\203 \301!\204* \302\237BB\262\300\262\303\202b A\203B \301!\203B \211B\262\303\202b \211\203U \304!\204U \211B\262\303\202b \303\262\211\203a \211B\262\300\262\203n \211A\262\202 \237\262A\232\203 \300\262\202\205 @B\262:\203\374 \242\243\211:\203\351 \211\242\211:\203\322 \211\242\211\302=\203\275 \243\243\302\305\306!\307!@BBC\"B\266\202\202\315 \243\211\204\307 \202\313 \310\n!\262\262\202\342 \243\211\204\334 \202\340 \310	!\262\262\266\202\202\377 \211\204\363 \266\303\202\377 \310!\266\202\202\377 \310!\203	\302\311BB\207\207" [nil byte-compile-trueconstp progn t byte-compile-nilconstp append butlast last byte-optimize-constant-args (nil)] 17 (#$ . 24816)])#@13 

(fn FORM)
(defalias 'byte-optimize-or #[257 "\300\211\301\300A\"\211\203Y \211@\2030 \211B\262A\203! \302!\204, \303\237BB\262\300\262\304\202M A\203D \302!\203D \211B\262\304\202M \211B\262\305!?\262\203Y \211A\262\202 \237\262A\232\204j @B\262:\203\305 \242\243\211:\203\270 \211\242\211:\203\253 \211\242\211\303=\203\236 \243\243\303\306\307!\310!@BBC\"B\207\243\211\204\246 \207\311	!\207\243\211\204\263 \207\311!\207\211\204\300 \266\300\207\311!\207\311!\207" [nil remq byte-compile-nilconstp progn t byte-compile-trueconstp append butlast last byte-optimize-constant-args] 16 (#$ . 25647)])#@13 

(fn FORM)
(defalias 'byte-optimize-cond #[257 "\300\300A\236\211\262\203 \301\"\262\202 \301\300\"\262\262\211A\211\262\203j \302@\242!\203T \211A=\203= \303@B\262\202N \211A\203N \304!\262\211@>\300\241\210\300\262\202 \211@:\203 \305@@!\203 \211@\300\241\210\202 \210\211\242\306=\203\224 \211A\211@:\203\216 \211@A\204\216 \307@@\310@AAB!E\207\211\205\223 \207\207" [nil remq byte-compile-trueconstp progn copy-sequence byte-compile-nilconstp cond or byte-optimize-cond] 7 (#$ . 26303)])#@70 Negate FORM, avoiding double negation if already negated.

(fn FORM)
(defalias 'byte-opt--negate #[257 "\211:\203 \211@\300>\203 \211A@\207\301D\207" [(not null) not] 3 (#$ . 26830)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put byte-opt--negate speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@13 

(fn FORM)
(defalias 'byte-optimize-if #[257 "\211A@\3008\301\233\242\302=\203% \303!\304@\305!@AABB!C\244\207\306!\2030 \302E\207\307!\203B \211\203@ \302BB\207\207\204P \211\310=\203P \311D\207\312=\203} \211\203` \211\313=\203} \311\211:\203v \211@\314>\203v \211A@\262\202{ \311D\262D\2079\203\231 =\203\231 \315A\203\225 \302B\202\227 @E\207\203\253 \211\316\232\203\251 @E\207\207\211@\204\265 \211A\203\340 @\211:\203\314 \211@\314>\203\314 \211A@\262\202\321 \311D\262A\203\334 \302B\202\336 @E\207\302\317E\207" [2 3 progn butlast byte-optimize-if last byte-compile-trueconstp byte-compile-nilconstp (t) not t (nil) (not null) or (nil) nil] 9 (#$ . 27164)])#@13 

(fn FORM)
(defalias 'byte-optimize-while #[257 "\211A@\300!\203\n \207\207" [byte-compile-nilconstp] 4 (#$ . 27881)])#@13 

(fn FORM)
(defalias 'byte-optimize-not #[257 "\211G\300U\205; \211A@\211\204 \301\2029 \302!\203 \303\2029 \304!\203* \305\306BB\2029 \307!\2038 \305\310BB\2029 \262\207" [2 t macroexp-const-p nil byte-compile-nilconstp progn (t) byte-compile-trueconstp (nil)] 5 (#$ . 28008)])
(byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\316\302\315#\210\300\317\302\320#\210\300\321\302\320#\210\300\322\302\320#\207" [put and byte-optimizer byte-optimize-and or byte-optimize-or cond byte-optimize-cond if byte-optimize-if while byte-optimize-while not byte-optimize-not null /= byte-compile-negation-optimizer atom nlistp] 4)#@13 

(fn FORM)
(defalias 'byte-optimize-funcall #[257 "\211A@\211\242\300>\203 \211A@AAB\207\207" ['function] 4 (#$ . 28736)])#@13 

(fn FORM)
(defalias 'byte-optimize-apply #[257 "\211G\211\300Y\203T A@S8\211\203 \211\242\301=\203< \211A@\211<\2034 \302\303\304AA!\305\306\"\"BB\207\307\310#\210\311\207\211\242\312=\203R \302\303\304AA!A\"BB\207\207\207" [2 quote funcall append butlast mapcar #[257 "\300D\207" [quote] 3 "\n\n(fn X)"] byte-compile-warn-x "last arg to apply can't be a literal atom: `%s'" nil list] 12 (#$ . 28868)])
(byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\307#\207" [put funcall byte-optimizer byte-optimize-funcall apply byte-optimize-apply let byte-optimize-letX let*] 4)#@13 

(fn FORM)
(defalias 'byte-optimize-letX #[257 "\300:\203\234 \242\243\211:\203\232 \211\242\211\204 \243\301B\207\243\211\204' \302#\207\211:\203\230 \211\242\303!\203E \243\211\204B #\207\207\302\304!@@\262\305\"\204W \2079\204_ \207\306!\203h \207\307!\204\225 \243\211\204\222 \310=\203\203 \301\311\312\"B\207\313!\304!@A@E\207\207\207\207\207\207" [#[771 "\300=\203 \301\302\303\304\"C\"B\207\305!\306!@A@F\207" [let progn append mapcar cadr butlast last] 8 "\n\n(fn HEAD BINDINGS CONST)"] progn nil macroexp-const-p last eql keywordp booleanp let mapcar cadr butlast] 13 (#$ . 29502)])
(put 'nth 'byte-optimizer 'byte-optimize-nth)#@13 

(fn FORM)
(defalias 'byte-optimize-nth #[257 "\300!\301U\203' \211A@\302>\203& \303A@\304U\203 \3058\202$ \306\3058DD\207\207\207" [safe-length 3 (0 1) car 0 2 cdr] 5 (#$ . 30206)])
(put 'nthcdr 'byte-optimizer 'byte-optimize-nthcdr)#@13 

(fn FORM)
(defalias 'byte-optimize-nthcdr #[257 "\300!\301U\203- \211A@\302>\203, \211A@\3038\262\211S\211\262\304Y\203* \305D\262\202 \207\207\207" [safe-length 3 (0 1 2) 2 0 cdr] 4 (#$ . 30452)])
(put 'cons 'byte-optimizer 'byte-optimize-cons)#@13 

(fn FORM)
(defalias 'byte-optimize-cons #[257 "\3008\211\204 \301A@D\207\211:\203# \211@\301=\203# \211@A@ABB\207\207" [2 list] 5 (#$ . 30713)])
(put 'list 'byte-optimizer 'byte-optimize-list)#@13 

(fn FORM)
(defalias 'byte-optimize-list #[257 "\211A\205 \211\207" [] 2 (#$ . 30919)])
(put 'append 'byte-optimizer 'byte-optimize-append)#@13 

(fn FORM)
(defalias 'byte-optimize-append #[257 "\211A\205\203\211A\300\211@@:\203, @\301=\203, \301AA\"\262\262\266\202	 :\203_ @\302=\203_ \203_ \211:\203_ \211@\302=\203_ \211@\301AA\"BAB\262A\262\266\202	 A\203\346 \303!\203\260 \304!\211G\305U\203 A\262\262\306\202\251 \203\237 \303!\203\237 A\262\307\301\304!\300#DAB\262\306\202\251 A\262B\262\306\262\266\204\202{:\203\330 @\302=\203\330 \300\310\303A\">\204\330 \307\304!DAB\262\262\266\202	 A\262B\262\266\202	 \204\360 \266\205\202~\204\203A\204\211:\203\211@\302=\203\211\266\205\202~\203^A\204^\211:\203^\211@\307=\2034\211A@:\203^\211A@G\311U\202@\211@\302=\203^\211AG\311U\203^\312@\307=\203T\313A@@!\202WA@E\266\205\202~\301B\237B\211	\232\203s\262\300\202w\211\262\300\262\266\204\204	 \211\262\266\202\207" [nil append list macroexp-const-p eval 0 :recurse quote mapcar 1 cons macroexp-quote] 14 (#$ . 31066)])
(put 'set 'byte-optimizer 'byte-optimize-set)#@13 

(fn FORM)
(defalias 'byte-optimize-set #[257 "\211A\211:\203\345 \211\242\211:\203\343 \211\242\211\302\267\202\341 \243\211:\203\204 \211\242\2119\203\202 \211\303\304>\206T \305!\206T \211\205T >\206T \306!\205T \3071R \211JL\210\3030\266\202\202V \210\310\266\202\204\202 \211	\236\204\202 \243\211\204 \243\211:\203| \211\242\243\211\204y \311E\207	\207\207\207\207\207\243\211:\203\337 \211\242\211:\203\335 \211\242\211\312=\203\332 \243\211:\203\327 \211\243\211\204\324 \243\211\204\321 \243\211:\203\316 \211\242\243\211\204\313 \313@\nEE\207\f\207\n\207	\207\207\207\207\207\207\207\207\207" [byte-compile-const-variables byte-optimize--lexvars #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 22 make-local-variable 134)) nil (nil t) keywordp boundp (setting-constant) t setq quote progn] 18 (#$ . 32106)])
(byte-code "\300\301\203 \302@\303\304#\210A\262\202 \211\203& \302@\303\305#\210\211A\262\202 \266\306\211\203; \302@\307\304#\210\211A\262\202) \207" [(% * + - / /= 1+ 1- < <= = > >= abs acos append aref ash asin atan assq base64-decode-string base64-encode-string base64url-encode-string bool-vector-count-consecutive bool-vector-count-population bool-vector-subsetp boundp buffer-file-name buffer-local-variables buffer-modified-p buffer-substring byte-code-function-p capitalize car-less-than-car car cdr ceiling char-after char-before char-equal char-to-string char-width compare-strings window-configuration-equal-p concat coordinates-in-window-p copy-alist copy-sequence copy-marker copysign cos count-lines current-time-string current-time-zone decode-char decode-time default-boundp default-value documentation downcase elt encode-char exp expt encode-time error-message-string fboundp fceiling featurep ffloor file-directory-p file-exists-p file-locked-p file-name-absolute-p file-name-concat file-newer-than-file-p file-readable-p file-symlink-p file-writable-p float float-time floor format format-time-string frame-first-window frame-root-window frame-selected-window frame-visible-p fround ftruncate get gethash get-buffer get-buffer-window getenv get-file-buffer hash-table-count int-to-string intern-soft isnan keymap-parent lax-plist-get ldexp length length< length> length= line-beginning-position line-end-position pos-bol pos-eol local-variable-if-set-p local-variable-p locale-info log log10 logand logb logcount logior lognot logxor lsh make-byte-code make-list make-string make-symbol mark marker-buffer max match-beginning match-end member memq memql min minibuffer-selected-window minibuffer-window mod multibyte-char-to-unibyte next-window nth nthcdr number-to-string parse-colon-path prefix-numeric-value previous-window prin1-to-string propertize degrees-to-radians radians-to-degrees rassq rassoc read-from-string regexp-opt regexp-quote region-beginning region-end reverse round sin sqrt string string< string= string-equal string-lessp string> string-greaterp string-empty-p string-blank-p string-search string-to-char string-to-number string-to-syntax substring sxhash sxhash-equal sxhash-eq sxhash-eql symbol-function symbol-name symbol-plist symbol-value string-make-unibyte string-make-multibyte string-as-multibyte string-as-unibyte string-to-multibyte take tan time-convert truncate unibyte-char-to-multibyte upcase user-full-name user-login-name user-original-login-name custom-variable-p vconcat window-absolute-pixel-edges window-at window-body-height window-body-width window-buffer window-dedicated-p window-display-table window-combination-limit window-edges window-frame window-fringes window-height window-hscroll window-inside-edges window-inside-absolute-pixel-edges window-inside-pixel-edges window-left-child window-left-column window-margins window-minibuffer-p window-next-buffers window-next-sibling window-new-normal window-new-total window-normal-size window-parameter window-parameters window-parent window-pixel-edges window-point window-prev-buffers window-prev-sibling window-scroll-bars window-start window-text-height window-top-child window-top-line window-total-height window-total-width window-use-time window-vscroll window-width zerop) (always arrayp atom bignump bobp bolp bool-vector-p buffer-end buffer-list buffer-size buffer-string bufferp car-safe case-table-p cdr-safe char-or-string-p characterp charsetp commandp cons consp current-buffer current-global-map current-indentation current-local-map current-minor-mode-maps current-time eobp eolp eq equal eventp fixnump floatp following-char framep get-largest-window get-lru-window hash-table-p identity integerp integer-or-marker-p interactive-p invocation-directory invocation-name keymapp keywordp list listp make-marker mark-marker markerp max-char memory-limit mouse-movement-p natnump nlistp not null number-or-marker-p numberp one-window-p overlayp point point-marker point-min point-max preceding-char primary-charset processp proper-list-p recent-keys recursion-depth safe-length selected-frame selected-window sequencep standard-case-table standard-syntax-table stringp subrp symbolp syntax-table syntax-table-p this-command-keys this-command-keys-vector this-single-command-keys this-single-command-raw-keys type-of user-real-login-name user-real-uid user-uid vector vectorp visible-frame-list wholenump window-configuration-p window-live-p window-valid-p windowp) put side-effect-free t error-free (concat regexp-opt regexp-quote string-to-char string-to-syntax symbol-name eq eql = /= < <= >= > min max + - * / % mod abs ash 1+ 1- sqrt logand logior lognot logxor logcount copysign isnan ldexp float logb floor ceiling round truncate ffloor fceiling fround ftruncate string= string-equal string< string-lessp string> string-greaterp string-empty-p string-blank-p string-search consp atom listp nlistp proper-list-p sequencep arrayp vectorp stringp bool-vector-p hash-table-p null not numberp integerp floatp natnump characterp integer-or-marker-p number-or-marker-p char-or-string-p symbolp keywordp type-of identity ignore car cdr car-safe cdr-safe nth nthcdr last take equal length safe-length memq memql member assq rassq rassoc lax-plist-get aref elt base64-decode-string base64-encode-string base64url-encode-string bool-vector-subsetp bool-vector-count-population bool-vector-count-consecutive) pure] 6)
(defconst byte-constref-ops '(byte-constant byte-constant2 byte-varref byte-varset byte-varbind))#@30 Don't call this!

(fn BYTES)
(defalias 'disassemble-offset #[257 "	W\203, \306\307\"\306\310\"\211\311\267\207\nT\nH\207\nT\nH\nT\312\nH\313\"\\\207\207Y\2038 Z\207\fY\203D X\204J \314>\203[ \nT\211\nH\nT\312\nH\313\"\\\207Y\205o X\205o \nT\211\nH\207" [bytedecomp-op byte-pophandler bytedecomp-ptr byte-constant byte-constant2 byte-goto-if-not-nil-else-pop logand 7 248 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (6 19 7 26)) ash 8 (179 50 49) byte-listN byte-discardN] 6 (#$ . 38576)])#@73 Turn BYTECODE into lapcode, referring to CONSTVEC.

(fn BYTES CONSTVEC)
(defalias 'byte-decompile-bytecode #[514 "\303\211\304\305\"+\207" [byte-compile-tag-number byte-compile-variables byte-compile-constants nil 0 byte-decompile-bytecode-1] 5 (#$ . 39141)])#@49 

(fn BYTES CONSTVEC &optional MAKE-SPLICEABLE)
(defalias 'byte-decompile-bytecode-1 #[770 "G\306\307\211C\307\211\211\211\211C\211	U\204	\204\" 	B\262	H	\262\310\f!\262\nH\211\204; \311\312!\210\211>\203` \242\236\206Z \313 B\242B\240\210\211\262A\262\202j\314=\203k \315\202q \f>\203\337 GY\203 \316D\202\203 \nH\262\315=\203\304 ;\203\262 \307\211\203\253 \211@\317@\"\203\244 \211\262A\266\202\202\222 \210\211\262\202\267 \320\321#\206\326 CB\211@\202\326 &\236\206\326 C\211&B&\211\262\262\211\240\210\202j\322=\203\352 \323\202j\324=\203 \325Y\203 \326\325Z\262\202j\327=\203j\330\242!\204\311\331\332\307\211$\210\211\242\333\242!\240\210\334\335\336\n#\242\"\210\307\211:\203h@<\203]@A@\315=\203]\337@8=\203]@AA\211\242\240\266\307\262\307\211\262\202^\340\203hA\262\202+\266\206r\306BBB\262	T\211\202 \211\203\266\211@\247\204\257\211@@\242\236\211\262\203\257\211\307ABAB\241\210\341	\242\"\240\210\211A\262\211A\262\202\200\210\242\203\303\342\343\242\"\210\344\345\237\"*\207" [bytedecomp-op bytedecomp-ptr byte-code-vector byte-goto-ops byte-constref-ops byte-compile-constants 0 nil disassemble-offset cl--assertion-failed opcode byte-compile-make-tag byte-constant2 byte-constant out-of-range equal-including-properties assoc eql byte-stack-set2 byte-stack-set byte-discardN 128 byte-discardN-preserve-tos byte-switch hash-table-p (hash-table-p last-constant) "byte-switch used without preceding hash table" copy-hash-table maphash make-closure #[514 "\211\301\242\236\302\203 A\202 \303 \301B\301\242B\240\210\211\262\300\242#\207" [V0 V1 puthash byte-compile-make-tag] 9 "\n\n(fn VALUE OFFSET)"] 2 t delq error "Optimizer error: missed tags %s" mapcar #[257 "\211\247\203 \207\211A\207" [] 2 "\n\n(fn ELT)"] byte-compile-variables] 20 (#$ . 39411)])
(defconst byte-tagref-ops (cons 'TAG byte-goto-ops))
(defconst byte-conditional-ops '(byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop))#@46 Byte-codes that can be moved past an unbind.
(defconst byte-after-unbind-ops '(byte-constant byte-dup byte-stack-ref byte-stack-set byte-discard byte-symbolp byte-consp byte-stringp byte-listp byte-numberp byte-integerp byte-eq byte-not byte-cons byte-list1 byte-list2 byte-list3 byte-list4 byte-listN byte-interactive-p) (#$ . 41515))
(defconst byte-compile-side-effect-and-error-free-ops '(byte-constant byte-dup byte-symbolp byte-consp byte-stringp byte-listp byte-integerp byte-numberp byte-eq byte-equal byte-not byte-car-safe byte-cdr-safe byte-cons byte-list1 byte-list2 byte-list3 byte-list4 byte-listN byte-point byte-point-max byte-point-min byte-following-char byte-preceding-char byte-current-column byte-eolp byte-eobp byte-bolp byte-bobp byte-current-buffer byte-stack-ref))
(defconst byte-compile-side-effect-free-ops (append '(byte-varref byte-nth byte-memq byte-car byte-cdr byte-length byte-aref byte-symbol-value byte-get byte-concat2 byte-concat3 byte-sub1 byte-add1 byte-eqlsign byte-gtr byte-lss byte-leq byte-geq byte-diff byte-negate byte-plus byte-max byte-min byte-mult byte-char-after byte-char-syntax byte-buffer-substring byte-string= byte-string< byte-nthcdr byte-elt byte-member byte-assq byte-quo byte-rem byte-substring) byte-compile-side-effect-and-error-free-ops))#@173 Simple peephole optimizer.  LAP is both modified and returned.
If FOR-EFFECT is non-nil, the return value is assumed to be of no importance.

(fn LAP &optional FOR-EFFECT)
(defalias 'byte-optimize-lapcode #[513 "\306C\306C\306\307\310\306\211\211\211\203 	\202 \n\203\350\307=\204* \311>\203* \312\313!\210\262\306\262\203 	@\240\210A@\240\210\3148\262\242@\315=\203\311 	\242@>\203\311 \316\262\f\n\242@JH\262A\262\317\267\202\302 \311>\203| \312\320\242\"\210\321\n\242\321\242\"\"\262\f\202\336\311>\203\232 \312\322\242\"\210\321\n\242\"\262\f\202\336\311>\203\263 \312\323\242\"\210	\242\315\240\210	\242\310\241\210\202\336\324\325!\210\202\336	\242@>\203T	\242A	\242=\203T	\242@\326=\203\365 \321\n\242\"\262\f\327\262\202	\242@@>\203	\242\315\211\262\240\210	\242\310\241\210\202\324\330\314\f\2428\"\210\331>\203NA\203N\332>\203N\316\333\211BCD\334\335\336\242A@\f\242A@\337	!\242A@%!+\210\316\262\202\336@\340=\203G\242AA=\203G\242@\341>\203GA@E>\211\262\203\206	\242@\342=\203\336\316\262	\242@\343>\203\203\320	\242A@\306\344>\206\313\345!\206\313\211\205\313F>\206\313\346!\205\313\3471\311\211JL\210\3060\266\202\202\315\210\316\266\202\203\327	\242A\202\351\350\316G\351#\206\351\316CGB\211G@\262\311>\203\312\352\242\242\242\242\242@B&\210\n\242@\240\210\241\210\202\336\311>\203-\312\353\n\242\n\f\242$\210	\242@\240\210\242\354\240\210\242\310\241\210\355\262\202\336	\242@\354=\203\233@\315=\203\233\242@\356>\203\233\311>\203q\312\357\n\242\242#\210\316\262A\262\242@\360=\203\213\242\211AS\241\266\321\n\242\321\n\"\"\262\f\202\336	\242@\361=\203\357\242@\362>\203\357\311>\203\315\312\363\n\242\242@\364=\203\305\365\202\306\364\f\242AB#\210\242	\242@\364=\203\335\365\202\336\364\240\210\321\n\242\"\262\f\316\262\202\336	\242@\366>\203J\242@\326=\203J	\242A=\203J	\242@\364=\203\365\202\364\311>\2034\312\367\f\242\f\242\f\242AB&\210\321\242\"\262	\242\240\210\316\262\210\202\336	\242@\342=\203\331\242@H>\203\331	\242A:\203\331\242@\370>\203v	\242A@\202|	\242A@?\203\244\311>\203\217\312\371\242\242#\210A\262\321\n\242\321\242\"\"\262\f\202\323\311>\203\272\312\372\242\242\326\242AB$\210\242@@>\203\315\321\n\242\"\262\f\242\326\240\210\316\262\202\336	\242@\373>\203oA\262\310\262@@\354=\203\374T\262A\262\202\351	\242@\374=\203T\n\242A\\\202	\242A@A=\203o	\242@@@=\203o\375>\203\\\376A\262=\204BA\262\211\377P\262\2020\311>\203[\312\201N \f\242\242\242&\210\210\316\262@\354\240\210@\310\241\210\262\202\336	\242@\201O =\203\242@\201O =\203\201P >\203\264A\203\264\332>\203\264\316\333\211BCD\334\335\201Q \242A@\242A@#!+\210\262\201R \n\242\"\211\262\203\325	\242\241\210>A\262\202\270\321\n\242\"\262\f\316\262I\211\203\211@\201S \201T \201U $\"\210A\266\202\202\343\210\202\336	\242@\201O =\203\244\201R \n\242\"\204\244I\306\316\306:\203\\@\262\242\306C\201S \201T \201V \"\"\210\211\242\266\202\235\203Q\306\262\306\211\262\202R\316\203\\A\262\202\"\203e\266\202k\211\266\204\203\244\201W >\203\225A\203\225\332>\203\225\316\333\211BCD\334\335\201X \f\242A@\"!+\210\321\n\242\"\262\f\316\262\202\336	\242@\201Y >\203v\242@\201Z >\204vI\204v\262\310\201[ >\306\211A\211\262	\203\367@@\201O =\204\367\203\312@B\262\201\\ P\262T\262\202\312\203i@@\201O =\203\201] \201^ 	@A@\"\202@\206\376\201_ W\203C\201` \312\201a \201b Q\242\237\242E\244$\266\202i\311>\203h\312\201c \242\211\355U\203\\\376\202_\201d \242&\210\210\241\266\316\262\202\336\242@\201e =\203\266	\242@J>\203\266\311>\203\243\312\201f \242\242\f\242\242%\210	\242\240\210A\n\242\240\210\316\262\202\336\242@\201e =\203X	\242@\201g >\203X\310	\242AW\203X\242	\242AS\241\310U\203\353\321	\242\"\210	\242@\201h =\203\377\315\310B\240\210\202\321\n\242\"\262\f\311>\203R\312\201f \242\242@\f\242ATB\242@\201h =\2030@\2024A@\242A\310U\204O\242@\201h =\203O	A@\202P\376%\210\316\262\202\336	\242@>\203\300	\242A\f>A@\211\262@\201i >\203\300	\242@\326=\204\205@\326=\203\336A\n\242A=\204\336\311>\203\242\312\201j \242@\211$\210@\201k =\203\263	\242\201k \240\210	\242A\241\210\316\262\202\336	\242@\201l >\203a	\242A\f>A\211\262@@\201m >\203a	\242@=\204a@\262	\242@\201n \236\262@>\203\"	\242@\240\210	\242A\241\210\311>\203[\312\201o \242@\242$\210\202[A@@\201O =\2047\201p  AB\241\210\311>\203K\312\201q \242@A@$\210	\242A@\240\210	\242A@\241\210\316\262\202\336	\242@\342=\203,	\242@\326=\203,	\242A\f>A\211\262@@\201r >\203,	\242@=\204,	@\262	\242A:\203\341@\n\242A@\204\254\201s \202\257\201t >\203\341\311>\203\310\312\201u \242\242%\210\242@\240\210\242A\241\210\306B\262\316\262\202\336	\242A:\204\360@\315=\203\336\311>\203 	\312\201v \242#\210A@@\201O =\204	\201p  AB\241\210\242A@\241\210\321\n\242\"\262\f\316\262\202\336\242@\201w =\203\276	@\326=\203\276	A>\204\276	A\f>A\211\262@@\340=\203\276	@A	\242A=\203\276	\242A@E>\204\276	\201p  \311>\203\237	\312\201x \nAA@@\242\211AA@@A@\354\242\326\fB&\210\354\310BAB\241\210	\241AB\241\266\355\262\316\262\202\336	\242@\326=\203h\n\242@\201O =\203h\n\242\n\242A>A\211\262@A=\203h\n@@\201y >\203h\n\201p  \311>\203\"\n\312\201z \f\242\f\242A@\242AA@	@\n@@\201{ \236ABA@&\210\242\241AB\241\210@@\201| =\203S\n\342\350\306G\351#\206L\n\306CGB\211G@BAB\241\210\n\242@@\201} >A@\240\266\316\262\202\336	\242@\360=\203\362\n\242@\201~ >\203\362\nA\262	\242AS\262\310\262@@\201 >\203\256\n@@\315=\203\241\n\355\202\244\n@A\\\262A\262\202\212\nY\203\362\n\321\n\242\"\262\f\242U\203\314\n\201\200 \202\317\n\201\201 \240\210\242T\241\210A\241\210\311>\203\336\312\201\202 \242\242#\210\202\336\242@\201k =\203<	\242@\201\203 >\204	\242@\360=\203<	\242A\355U\203<\316\262\321\n\242\"\262\f\311>\203\336\312\372\242\242\f\242$\210\202\336	\242@\326=\203\235	\242A\f>A\211\262\203\235@@\201\204 >\203\235\311>\203n\312\201\205 @@#\210\316\262\201p  @@@AB\242@BAB\241\210\240\210	AB\241\266\202\336	\242@\342=\203\336\242@\201\200 =\203\336\316\262\201\201 	\242AB\311>\203\322\312\201f \f\242\f\242\242%\210\240\210A\242\240\266A\262\2021 \202 \306\211GK\262\311>\203\376\312\201\206 !\210\203$	@\240\210A@\240\210	\242@L>\203M\f	\242@\201\207 >\203:\f	\242AG>\204M\f	\242AGBG\202M\f	\242AK>\204M\f	\242AKBK	\242@\342=\203\256\f\3148@\342=\203\256\f	\242A\3148A=\203\256\f\242@\201\210 >\203\256\f\311>\203\223\f\312\201\211 \242\242\242\242\242&\210AA	\242@\n\242AB\240\210A\354\310B\240\210\355\262\202	\242@\201\212 >\203	\262\306\262A\211\262@@\354=\204\277\f	\242A@A=\203\355\f	\242@@@=\203\355\f\354\310B\240\210\316\262\202\277\f\203\311>\203\312\201\213 \242\f\242\242$\210\202	\242@\201e =\203V\242@\201e =\203V\311>\203<\312\372\242\242\201e \242A\242A\\B$\210\321\n\242\"\262\f\242	\242A\242A\\\241\210\202	\242@\201\214 >\203\335\242@\201\215 >\203\335\321\n\242\"\262\f\311>\203\252\312\201\216 \242\242\242@\315=\203\222\355\202\226\242A\242@\315=\203\243\355\202\247\242A\\$\210\242\n\242@\315=\203\272\355\202\276\n\242A\n\242@\315=\203\313\355\202\317\n\242A\\\241\210\242\201\201 \240\210\202	\242@\201\200 =\203\242@\201\200 =\203\321\n\242\"\262\f\242\n\242A\n\242A\\\241\210\311>\203\312\372\242\242@$\210A\262\202\376M\\M\266\n\207" [byte-compile-delete-errors byte-compile-side-effect-free-ops byte-compile-side-effect-and-error-free-ops byte-optimize-log byte-stack+-info byte-goto-ops nil first-time 0 (t byte) byte-compile-log-lap-1 "  ---- next pass" 2 byte-discard t #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 111 0 141 -1 166)) "  %s discard	-->	<deleted>" delq "  %s discard	-->	<deleted> discard" "  %s discard	-->	discard discard" error "Optimizer error: too much on the stack" byte-goto "<deleted>" "Depth conflict at tag %d" (t byte) (t source) 4 byte-compile-log-1 format-message "  (goto %s) %s:	-->	%s %s:" prin1-to-string byte-varref (byte-varset byte-varbind) byte-constant (byte-constant byte-dup) (nil t) keywordp boundp (setting-constant) assoc eql "  %s %s %s	-->	%s %s %s" "  %s %s	-->	dup %s" byte-dup 1 (byte-varset byte-varbind byte-stack-set) "  dup %s discard	-->	%s" byte-stack-set byte-not (byte-goto-if-nil byte-goto-if-not-nil) "  not %s	-->	%s" byte-goto-if-nil byte-goto-if-not-nil (byte-goto-if-nil byte-goto-if-not-nil) "  %s %s %s:	-->	%s %s:" (byte-goto-if-nil byte-goto-if-nil-else-pop) "  %s %s	-->	<deleted>" "  %s %s	-->	%s" (byte-varref byte-stack-ref) byte-stack-ref (t byte) "" " dup" byte-goto-always-pop-ops byte-optimize print-length print-level print-escape-newlines byte-boolean-vars byte-compile-const-variables byte-compile-constants byte-conditional-ops byte-compile-jump-tables byte-after-unbind-ops byte-compile-variables byte-constref-ops byte-compile-maxdepth "  %s%s %s	-->	%s%s dup" TAG (t byte) "  adjacent tags %d and %d merged" rassq maphash make-closure #[514 "\211\302\242\232\205 \303\301\242\300#\207" [V0 V1 V2 puthash] 6 "\n\n(fn VALUE TAG)"] #[514 "\300\300\242B\240\207" [V0] 5 "\n\n(fn _ V)"] (t byte) "  unused tag %d removed" (byte-goto byte-return) (TAG nil) (t lap) " %s" format "%d:" 6 apply "  %s" " %s	-->	%s <deleted> %s" "  %s <%d unreachable op%s> %s	-->	%s <deleted> %s" "s" byte-unbind "  %s %s	-->	%s %s" (byte-varbind byte-save-excursion byte-save-restriction byte-save-current-buffer) byte-varbind (byte-goto byte-return) "  %s [%s]	-->	%s" byte-return (byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop) (byte-discard . #1=(byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop)) ((byte-goto-if-nil-else-pop byte-goto-if-nil) (byte-goto-if-not-nil-else-pop byte-goto-if-not-nil)) "  %s-else-pop [%s]	-->	%s" byte-compile-make-tag "  %s [%s]	-->	%s <skip>" (byte-discard . #1#) (byte-goto-if-nil byte-goto-if-nil-else-pop) (byte-goto-if-not-nil byte-goto-if-not-nil-else-pop) "  %s goto [%s]	-->	%s %s" "  %s goto [%s]	-->	<deleted> goto <skip>" byte-varset "  %s: %s ... %s %s	-->	%s: %s %s: ... %s %s %s" (byte-goto byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop) "%s %s: ... %s: %s	-->	%s ... %s:" ((byte-goto-if-nil . byte-goto-if-not-nil) (byte-goto-if-not-nil . byte-goto-if-nil) (byte-goto-if-nil-else-pop . byte-goto-if-not-nil-else-pop) (byte-goto-if-not-nil-else-pop . byte-goto-if-nil-else-pop)) byte-goto-if-nil-else-pop (byte-goto-if-nil-else-pop byte-goto-if-not-nil byte-goto-if-nil byte-goto-if-not-nil byte-goto byte-goto) (byte-discard byte-discardN) (byte-discard byte-discardN) byte-discardN-preserve-tos byte-discardN "  %s [discard/discardN]...	-->	%s" (byte-discardN-preserve-tos byte-dup) (byte-discard byte-discardN byte-discardN-preserve-tos) "  goto-X .. X: 	-->	%s goto-X.. X: %s Y:" "  ---- final pass" (byte-constant byte-constant2) (byte-varbind byte-varset) "  %s %s %s	-->	%s dup %s" (byte-constant byte-varref) "  %s [dup/%s]...	-->	%s dup..." (byte-discard byte-discardN byte-discardN-preserve-tos) (byte-discard byte-discardN) "  %s %s	-->	(discardN %s)"] 27 (#$ . 42821)])
(provide 'byte-opt)
