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



(byte-code "\300\301\302\303!\"\207" [define-error cl-assertion-failed purecopy "Assertion failed"] 4)#@41 

(fn FORM &optional STRING SARGS ARGS)
(defalias 'cl--assertion-failed #[1025 "\203 	\302\303BBD\"\207\203 \304\302\305\"#\207\306\303B\"\207" [debug-on-error debugger error cl-assertion-failed apply append signal] 10 (#$ . 186)])#@211 Alist of supertypes.
Each element has the form (TYPE . SUPERTYPES) where TYPE is one of
the symbols returned by `type-of', and SUPERTYPES is the list of its
supertypes from the most specific to least specific.
(defconst cl--typeof-types '((integer number number-or-marker atom) (symbol-with-pos symbol atom) (symbol atom) (string array sequence atom) (cons list sequence) (marker number-or-marker atom) (overlay atom) (float number atom) (window-configuration atom) (process atom) (window atom) (subr atom) (compiled-function byte-code-function function atom) (module-function function atom) (buffer atom) (char-table array sequence atom) (bool-vector array sequence atom) (frame atom) (hash-table atom) (terminal atom) (thread atom) (mutex atom) (condvar atom) (font-spec atom) (font-entity atom) (font-object atom) (vector array sequence atom) (user-ptr atom) (tree-sitter-parser atom) (tree-sitter-node atom) (tree-sitter-compiled-query atom) (null symbol list sequence atom)) (#$ . 439))
(defconst cl--all-builtin-types (byte-code "\301\302\303\304\"!!\207" [cl--typeof-types delete-dups copy-sequence apply append] 5))#@75 Return t if NAME is a valid structure name for `cl-defstruct'.

(fn NAME)
(defalias 'cl--struct-name-p #[257 "\211\205 \2119\205 \301!?\205 \211>?\207" [cl--all-builtin-types keywordp] 3 (#$ . 1569)])
(defvar cl-struct-cl-structure-object-tags nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305M\207" [cl-structure-object cl--class put dummy cl--make-slot-desc #[1025 "\300\301%\207" [record cl-slot-descriptor] 10 "\n\n(fn NAME &optional INITFORM TYPE PROPS)"]] 4)#@13 

(fn NAME)
(defalias 'cl--struct-get-class #[257 "\2119\204	 \211\206_ \211\300N\206_ \211\301N\204 \302\303\"\207\304\305\306\"!\301N\307N\310\311\312N@\313=\205> A@?\205> \314\236?\205D @A@\304\305\315\"!\n\f\316N&	\210\300N\266\203\207" [cl--class cl-struct-type error "%S is not a struct name" intern format "cl-struct-%s" cl-struct-slots cl-struct-define nil cl-struct-include vector cl-tag-slot "cl-struct-%s-tags" cl-struct-print] 15 (#$ . 2061)])#@14 

(fn PLIST)
(defalias 'cl--plist-to-alist #[257 "\300\203 \211A\262\242\211A\262\242BB\262\202 \211\237\207" [nil] 5 (#$ . 2543)])#@19 

(fn PARENT TAG)
(defalias 'cl--struct-register-child #[514 "\301!\2054 \302\303!>\204 \304\305\306D\"\210\307H\"\210\303!>\204+ \304\305\306D\"\210\310H@\262\202  \207" [cl-struct-cl-structure-class-tags recordp add-to-list type-of signal wrong-type-argument cl-structure-class 10 3] 7 (#$ . 2689)])#@70 

(fn NAME DOCSTRING PARENT TYPE NAMED SLOTS CHILDREN-SYM TAG PRINT)
(defalias 'cl-struct-define #[2313 "\302	!\204 \303\304\302\305E\"\210\204 \306\307!\210\310=\203! \311\262\204- \203- \312\313!\210\314!\203; \315\"\210\202@ CL\210\204P @@\316=\203P A\262\205Y \317!G\320\321\322\323$\324\311\"\325\n\203o \325\202p \307	\211\203\277 \211@\326@\327\330#\210\331AA!\332\236\211\204\217 \330\202\227 \333\"\262\211A\334@A@$I\266\335@\\#\210T\262A\266\202\202r \210\266\2039?\205\313 C\310\336&\2629\204`\337!>\204\371 \303\304\336D\"\210\340HGY\204_\330G\325\211W\203O\337H!	>\204!\303\304\341HD\"\210H\307H\337H!	>\204;\303\304\341	HD\"\210H\307H=\204H\311\262\211T\262\202\266\211\262\204_\342\343#\210\210\315\344\345B\"\210\346\"\210	\330=\204\207=\204\207L\210\347M\210\326\350#\207" [cl-struct-cl-structure-class-tags cl-struct-cl-slot-descriptor-tags cl--struct-name-p signal wrong-type-argument name cl-old-struct-compat-mode 1 record nil cl--assertion-failed (or type (not named)) boundp add-to-list cl-tag-slot cl--struct-get-class make-hash-table :test eq :size make-vector 0 put slot-name t cl--plist-to-alist :type delq cl--make-slot-desc puthash cl-structure-class type-of 4 cl-slot-descriptor error "Included struct %S has changed since compilation of %S" current-load-list define-type cl--struct-register-child :quick-object-witness-check cl--class] 27 (#$ . 3008)])#@75 compiler-macro for inlining `cl--struct-class-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-p (and (memq (type-of cl-x) cl-struct-cl-structure-class-tags) t)) nil] 9 (#$ . 4537)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-p compiler-macro cl--struct-class-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'cl--struct-class-p #[257 "\301!>\205	 \302\207" [cl-struct-cl-structure-class-tags type-of t] 3 (#$ . 4962)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put cl--struct-class-p side-effect-free error-free pure t define-symbol-prop cl-structure-class cl-deftype-satisfies] 6)#@78 compiler-macro for inlining `cl--struct-class-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-name (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 1))) nil] 9 (#$ . 5306)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-name compiler-macro cl--struct-class-name--cmacro] 4)#@68 Access slot "name" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-name #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 1] 5 (#$ . 5797)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-name side-effect-free t] 4)#@83 compiler-macro for inlining `cl--struct-class-docstring'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-docstring--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-docstring (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 2))) nil] 9 (#$ . 6164)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-docstring compiler-macro cl--struct-class-docstring--cmacro] 4)#@73 Access slot "docstring" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-docstring #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 2] 5 (#$ . 6680)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-docstring side-effect-free t] 4)#@81 compiler-macro for inlining `cl--struct-class-parents'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-parents--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-parents (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 3))) nil] 9 (#$ . 7062)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-parents compiler-macro cl--struct-class-parents--cmacro] 4)#@71 Access slot "parents" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-parents #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 3] 5 (#$ . 7568)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-parents side-effect-free t] 4)#@79 compiler-macro for inlining `cl--struct-class-slots'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-slots--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-slots (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 4))) nil] 9 (#$ . 7944)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-slots compiler-macro cl--struct-class-slots--cmacro] 4)#@69 Access slot "slots" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-slots #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 4] 5 (#$ . 8440)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-slots side-effect-free t] 4)#@85 compiler-macro for inlining `cl--struct-class-index-table'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-index-table--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-index-table (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 5))) nil] 9 (#$ . 8810)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-index-table compiler-macro cl--struct-class-index-table--cmacro] 4)#@75 Access slot "index-table" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-index-table #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 5] 5 (#$ . 9336)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-index-table side-effect-free t] 4)#@77 compiler-macro for inlining `cl--struct-class-tag'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-tag--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-tag (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 6))) nil] 9 (#$ . 9724)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-tag compiler-macro cl--struct-class-tag--cmacro] 4)#@67 Access slot "tag" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-tag #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 6] 5 (#$ . 10210)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-tag side-effect-free t] 4)#@78 compiler-macro for inlining `cl--struct-class-type'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-type (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 7))) nil] 9 (#$ . 10575)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-type compiler-macro cl--struct-class-type--cmacro] 4)#@68 Access slot "type" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-type #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 7] 5 (#$ . 11067)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-type side-effect-free t] 4)#@79 compiler-macro for inlining `cl--struct-class-named'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-named--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-named (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 8))) nil] 9 (#$ . 11435)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-named compiler-macro cl--struct-class-named--cmacro] 4)#@69 Access slot "named" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-named #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 8] 5 (#$ . 11932)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-named side-effect-free t] 4)#@79 compiler-macro for inlining `cl--struct-class-print'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-print--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-print (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 9))) nil] 9 (#$ . 12303)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-print compiler-macro cl--struct-class-print--cmacro] 4)#@69 Access slot "print" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-print #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 9] 5 (#$ . 12800)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-print side-effect-free t] 4)#@86 compiler-macro for inlining `cl--struct-class-children-sym'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--struct-class-children-sym--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--struct-class-children-sym (progn (or (cl--struct-class-p cl-x) (signal 'wrong-type-argument (list 'cl-structure-class cl-x))) (aref cl-x 10))) nil] 9 (#$ . 13171)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-class-children-sym compiler-macro cl--struct-class-children-sym--cmacro] 4)#@76 Access slot "children-sym" of `cl-structure-class' struct CL-X.

(fn CL-X)
(defalias 'cl--struct-class-children-sym #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-structure-class-tags type-of signal wrong-type-argument cl-structure-class 10] 5 (#$ . 13704)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--struct-class-children-sym side-effect-free t] 4)#@147 compiler-macro for inlining `cl--struct-new-class'.

(fn CL-WHOLE-ARG NAME DOCSTRING PARENTS TYPE NAMED SLOTS INDEX-TABLE CHILDREN-SYM TAG PRINT)
(defalias 'cl--struct-new-class--cmacro #[2827 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (name docstring parents type named slots index-table children-sym tag print) (cl-block cl--struct-new-class (record 'cl-structure-class name docstring parents slots index-table tag type named print children-sym)) nil] 27 (#$ . 14098)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--struct-new-class compiler-macro cl--struct-new-class--cmacro] 4)#@136 Constructor for objects of type `cl-structure-class'.

(fn NAME DOCSTRING PARENTS TYPE NAMED SLOTS INDEX-TABLE CHILDREN-SYM TAG PRINT)
(defalias 'cl--struct-new-class #[2570 "\300\301		\n&\207" [record cl-structure-class] 22 (#$ . 14735)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&	\207" [function-put cl--struct-new-class side-effect-free t cl-struct-define cl-structure-class "The type of CL structs descriptors." cl-structure-object record nil ((cl-tag-slot) (name nil :type symbol) (docstring nil :type string) (parents nil :type (list-of cl--class)) (slots nil :type (vector cl-slot-descriptor)) (index-table nil :type hash-table) (tag nil :type symbol) (type nil :type (memq (vector list))) (named nil :type bool) (print nil :type bool) (children-sym nil :type symbol)) cl-struct-cl-structure-class-tags] 11)#@68 compiler-macro for inlining `cl-struct-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl-struct-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl-struct-p (and (memq (type-of cl-x) cl-struct-cl-structure-object-tags) t)) nil] 9 (#$ . 15602)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl-struct-p compiler-macro cl-struct-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'cl-struct-p #[257 "\301!>\205	 \302\207" [cl-struct-cl-structure-object-tags type-of t] 3 (#$ . 15994)])
(byte-code "\301\302\303\304#\301\302\305\306#\307\310\311\302#\312\310\313\310\314\315\316\317\310\306&	\210\310\315\207" [cl--struct-default-parent function-put cl-struct-p side-effect-free error-free pure t define-symbol-prop cl-structure-object cl-deftype-satisfies cl-struct-define "The root parent of all \"normal\" CL structs" record nil ((cl-tag-slot)) cl-struct-cl-structure-object-tags] 13)#@77 compiler-macro for inlining `cl-slot-descriptor-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl-slot-descriptor-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl-slot-descriptor-p (and (memq (type-of cl-x) cl-struct-cl-slot-descriptor-tags) t)) nil] 9 (#$ . 16531)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl-slot-descriptor-p compiler-macro cl-slot-descriptor-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'cl-slot-descriptor-p #[257 "\301!>\205	 \302\207" [cl-struct-cl-slot-descriptor-tags type-of t] 3 (#$ . 16967)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put cl-slot-descriptor-p side-effect-free error-free pure t define-symbol-prop cl-slot-descriptor cl-deftype-satisfies] 6)#@81 compiler-macro for inlining `cl--slot-descriptor-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--slot-descriptor-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--slot-descriptor-name (progn (or (cl-slot-descriptor-p cl-x) (signal 'wrong-type-argument (list 'cl-slot-descriptor cl-x))) (aref cl-x 1))) nil] 9 (#$ . 17316)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--slot-descriptor-name compiler-macro cl--slot-descriptor-name--cmacro] 4)#@68 Access slot "name" of `cl-slot-descriptor' struct CL-X.

(fn CL-X)
(defalias 'cl--slot-descriptor-name #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-slot-descriptor-tags type-of signal wrong-type-argument cl-slot-descriptor 1] 5 (#$ . 17825)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--slot-descriptor-name side-effect-free t] 4)#@85 compiler-macro for inlining `cl--slot-descriptor-initform'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--slot-descriptor-initform--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--slot-descriptor-initform (progn (or (cl-slot-descriptor-p cl-x) (signal 'wrong-type-argument (list 'cl-slot-descriptor cl-x))) (aref cl-x 2))) nil] 9 (#$ . 18199)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--slot-descriptor-initform compiler-macro cl--slot-descriptor-initform--cmacro] 4)#@72 Access slot "initform" of `cl-slot-descriptor' struct CL-X.

(fn CL-X)
(defalias 'cl--slot-descriptor-initform #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-slot-descriptor-tags type-of signal wrong-type-argument cl-slot-descriptor 2] 5 (#$ . 18728)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--slot-descriptor-initform side-effect-free t] 4)#@81 compiler-macro for inlining `cl--slot-descriptor-type'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--slot-descriptor-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--slot-descriptor-type (progn (or (cl-slot-descriptor-p cl-x) (signal 'wrong-type-argument (list 'cl-slot-descriptor cl-x))) (aref cl-x 3))) nil] 9 (#$ . 19114)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--slot-descriptor-type compiler-macro cl--slot-descriptor-type--cmacro] 4)#@68 Access slot "type" of `cl-slot-descriptor' struct CL-X.

(fn CL-X)
(defalias 'cl--slot-descriptor-type #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-slot-descriptor-tags type-of signal wrong-type-argument cl-slot-descriptor 3] 5 (#$ . 19623)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--slot-descriptor-type side-effect-free t] 4)#@82 compiler-macro for inlining `cl--slot-descriptor-props'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--slot-descriptor-props--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--slot-descriptor-props (progn (or (cl-slot-descriptor-p cl-x) (signal 'wrong-type-argument (list 'cl-slot-descriptor cl-x))) (aref cl-x 4))) nil] 9 (#$ . 19997)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--slot-descriptor-props compiler-macro cl--slot-descriptor-props--cmacro] 4)#@69 Access slot "props" of `cl-slot-descriptor' struct CL-X.

(fn CL-X)
(defalias 'cl--slot-descriptor-props #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl-slot-descriptor-tags type-of signal wrong-type-argument cl-slot-descriptor 4] 5 (#$ . 20511)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put cl--slot-descriptor-props side-effect-free t defalias cl--copy-slot-descriptor-1 copy-sequence] 4)#@111 compiler-macro for inlining `cl--make-slot-descriptor'.

(fn CL-WHOLE-ARG NAME &optional INITFORM TYPE PROPS)
(defalias 'cl--make-slot-descriptor--cmacro #[1282 "\300\301\302\303\211\211				&	\207" [cl--defsubst-expand (name initform type props) (cl-block cl--make-slot-descriptor (record 'cl-slot-descriptor name initform type props)) nil] 15 (#$ . 20949)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--make-slot-descriptor compiler-macro cl--make-slot-descriptor--cmacro] 4)#@96 Constructor for objects of type `cl-slot-descriptor'.

(fn NAME &optional INITFORM TYPE PROPS)
(defalias 'cl--make-slot-descriptor #[1025 "\300\301%\207" [record cl-slot-descriptor] 10 (#$ . 21453)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&	\207" [function-put cl--make-slot-descriptor side-effect-free t cl-struct-define cl-slot-descriptor "Descriptor of structure slot." cl-structure-object record nil ((cl-tag-slot) (name) (initform) (type) (props nil :type alist)) cl-struct-cl-slot-descriptor-tags] 11)#@13 

(fn SLOT)
(defalias 'cl--copy-slot-descriptor #[257 "\301!\302!>\204 \303\304\305D\"\210\211\306\307\306H!I\210\207" [cl-struct-cl-slot-descriptor-tags cl--copy-slot-descriptor-1 type-of signal wrong-type-argument cl-slot-descriptor 4 copy-alist] 7 (#$ . 22000)])#@68 compiler-macro for inlining `cl--class-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--class-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--class-p (and (memq (type-of cl-x) cl-struct-cl--class-tags) t)) nil] 9 (#$ . 22277)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--class-p compiler-macro cl--class-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'cl--class-p #[257 "\301!>\205	 \302\207" [cl-struct-cl--class-tags type-of t] 3 (#$ . 22659)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put cl--class-p side-effect-free error-free pure t define-symbol-prop cl--class cl-deftype-satisfies] 6)#@71 compiler-macro for inlining `cl--class-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--class-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--class-name (progn (or (cl--class-p cl-x) (signal 'wrong-type-argument (list 'cl--class cl-x))) (aref cl-x 1))) nil] 9 (#$ . 22972)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--class-name compiler-macro cl--class-name--cmacro] 4)#@59 Access slot "name" of `cl--class' struct CL-X.

(fn CL-X)
(defalias 'cl--class-name #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--class-tags type-of signal wrong-type-argument cl--class 1] 5 (#$ . 23413)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--class-name side-effect-free t] 4)#@76 compiler-macro for inlining `cl--class-docstring'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--class-docstring--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--class-docstring (progn (or (cl--class-p cl-x) (signal 'wrong-type-argument (list 'cl--class cl-x))) (aref cl-x 2))) nil] 9 (#$ . 23740)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--class-docstring compiler-macro cl--class-docstring--cmacro] 4)#@64 Access slot "docstring" of `cl--class' struct CL-X.

(fn CL-X)
(defalias 'cl--class-docstring #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--class-tags type-of signal wrong-type-argument cl--class 2] 5 (#$ . 24206)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--class-docstring side-effect-free t] 4)#@74 compiler-macro for inlining `cl--class-parents'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--class-parents--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--class-parents (progn (or (cl--class-p cl-x) (signal 'wrong-type-argument (list 'cl--class cl-x))) (aref cl-x 3))) nil] 9 (#$ . 24548)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--class-parents compiler-macro cl--class-parents--cmacro] 4)#@62 Access slot "parents" of `cl--class' struct CL-X.

(fn CL-X)
(defalias 'cl--class-parents #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--class-tags type-of signal wrong-type-argument cl--class 3] 5 (#$ . 25004)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--class-parents side-effect-free t] 4)#@72 compiler-macro for inlining `cl--class-slots'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--class-slots--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--class-slots (progn (or (cl--class-p cl-x) (signal 'wrong-type-argument (list 'cl--class cl-x))) (aref cl-x 4))) nil] 9 (#$ . 25340)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--class-slots compiler-macro cl--class-slots--cmacro] 4)#@60 Access slot "slots" of `cl--class' struct CL-X.

(fn CL-X)
(defalias 'cl--class-slots #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--class-tags type-of signal wrong-type-argument cl--class 4] 5 (#$ . 25786)])
(byte-code "\300\301\302\303#\300\207" [function-put cl--class-slots side-effect-free t] 4)#@78 compiler-macro for inlining `cl--class-index-table'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'cl--class-index-table--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block cl--class-index-table (progn (or (cl--class-p cl-x) (signal 'wrong-type-argument (list 'cl--class cl-x))) (aref cl-x 5))) nil] 9 (#$ . 26116)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop cl--class-index-table compiler-macro cl--class-index-table--cmacro] 4)#@66 Access slot "index-table" of `cl--class' struct CL-X.

(fn CL-X)
(defalias 'cl--class-index-table #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-cl--class-tags type-of signal wrong-type-argument cl--class 5] 5 (#$ . 26592)])
(byte-code "\304\305\306\307#\310\311\312\313\314\315\316\303\311\307&	\210\317\311N\320!>\204$ \321\322\317D\"\210\211\323H\262\311\211N\320!>\204; \321\322\317D\"\210\211\323H\262\307G\324\211W\203\204 HH\320!	>\204_ \321\322\325D\"\210\326H\320!	>\204q \321\322\325D\"\210\326H=\204{ \315\262\266\211T\262\202D \266\266\202\204\217 \327\330!\210\317\311N\320!>\204\241 \321\322\317D\"\210\211\331\311\211NCI\266\332\311\211N\317\311N\320!>\204\300 \321\322\317D\"\210\211\333H\262\"\210\317\311N\204\321 \327\334!\210\313\311N\204\333 \327\335!\210\317\311N\320!\n>\205\347 \307\262\204\360 \327\336!\210\313\311N\320!\n>\205\374 \307\262\204\327\337!\210\317\311N\320!>\205\307\262\204\327\340!\210\313\311N\320!>\205&\307\262\204/\327\341!\210\315\207" [cl-struct-cl-structure-class-tags cl-struct-cl-slot-descriptor-tags cl-struct-cl-structure-object-tags cl-struct-cl--class-tags function-put cl--class-index-table side-effect-free t cl-struct-define cl--class "Type of descriptors for any kind of structure-like data." cl-structure-object record nil ((cl-tag-slot) (name nil :type symbol) (docstring nil :type string) (parents nil :type (list-of cl--class)) (slots nil :type (vector cl-slot-descriptor)) (index-table nil :type hash-table)) cl-structure-class type-of signal wrong-type-argument 4 0 cl-slot-descriptor 1 cl--assertion-failed (let ((sc-slots (cl--struct-class-slots (cl--find-class 'cl-structure-class))) (c-slots (cl--struct-class-slots (cl--find-class 'cl--class))) (eq t)) (dotimes (i (length c-slots)) (let ((sc-slot (aref sc-slots i)) (c-slot (aref c-slots i))) (unless (eq (cl--slot-descriptor-name sc-slot) (cl--slot-descriptor-name c-slot)) (setq eq nil)))) eq) 3 cl--struct-register-child 6 (cl--find-class 'cl-structure-class) (cl--find-class 'cl-structure-object) (cl-struct-p (cl--find-class 'cl-structure-class)) (cl-struct-p (cl--find-class 'cl-structure-object)) (cl--class-p (cl--find-class 'cl-structure-class)) (cl--class-p (cl--find-class 'cl-structure-object))] 13)#@14 

(fn CLASS)
(defalias 'cl--class-allparents #[257 "\301C\211A\262\242\302!>\204 \303\304\305D\"\210\211\306H\307\"\203& \210\202, \211B\262\210\310\302!>\204= \303\304\305D\"\210\311H\"\211\262\262\204 \237\207" [cl-struct-cl--class-tags nil type-of signal wrong-type-argument cl--class 1 memql append 3] 10 (#$ . 28900)])
(byte-code "\300\301\302\"\210\303\304\305\306#\210\303\307\305\306#\210\303\310\305\306#\210\303\311\305\312#\210\313\314!\207" [autoload cl--defsubst-expand "cl-macs" put cl-defun doc-string-elt 3 cl-defmacro cl-defsubst cl-defstruct 2 provide cl-preloaded] 4)
