;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\302\303!\210\304\305\211\203 @\306\307\"\210 A\211\204\f*\310\305\211\2033 @\306\311\"\210 A\211\204$*\305\207" [sym --dolist-tail-- require eieio (json-encode json-read-from-string) nil autoload "json" (ht-empty\? ht-items ht<-alist) "ht"] 4) #@18 Alist of drivers (defvar marshal-drivers nil (#$ . 359)) (defalias 'marshal-register-driver #[(type driver) " B\211 \235\203 \202\n B\211)\207" [type driver #1=#:x marshal-drivers] 3]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\315$\207" [defalias marshal-driver-p eieio-make-class-predicate marshal-driver marshal-driver--eieio-childp eieio-make-child-predicate marshal-driver-child-p make-obsolete "use (cl-typep ... \\='marshal-driver) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((input :initarg :input) (output :initarg :output))] 6) #@53 Create a new object of class type `marshal-driver'. (defalias 'marshal-driver #[(&rest slots) "\301\302\303#\207" [slots apply make-instance marshal-driver] 4 (#$ . 1039)]) (byte-code "\300\301\302\303#\300\207" [function-put marshal-driver compiler-macro marshal-driver--anon-cmacro] 4) (defalias 'marshal-driver--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\316\302\317\302\320%\210\300\321\302\322\302\323%\210\300\324\302\325\302\326%\210\300\327\302\330\302\331%\210\300\332\302\333\302\334%\210\300\335\302\336\302\337%\210\300\340\302\341\302\342%\210\300\343\302\344\302\345%\210\300\346\302\347\302\350%\210\300\351\302\352\302\353%\210\300\354\302\355\302\356%\210\300\357\302\360\302\361%\210\300\362\302\363\302\364%\210\300\365\302\366\302\367%\210\300\370\302\371\302\372%\210\373\374\375\376!\"\210\373\377\201@\376!\"\210\373\201A\377\"\210\201B\201A\201C\201D#\210\201E\376\201F\377#\201G\376\201H\302\211$\207" [cl-generic-define-method marshal-open nil ((obj marshal-driver) &optional input) #[(obj &optional input) "\203\n\302 \303#\207\302 \304\305#\207" [input obj eieio-oset :input :output nil] 4] marshal-write ((obj marshal-driver) path value) #[(obj path value) "\301\302\"?\205 \303\304!\207" [obj slot-boundp :output error "Driver has not been opened in write mode"] 3] marshal-read ((obj marshal-driver) path) #[(obj path) "\301\302\"?\205 \303\304!\207" [obj slot-boundp :input error "Driver has not been opened in read mode"] 3] marshal-close ((obj marshal-driver)) #[(obj) "\301\302\"\205 \303\304\"\207" [obj slot-boundp :output eieio-oref output] 3] marshal-guess-type ((cls (subclass marshal-driver)) blob) #[(cls blob) "\204\301\207\302!\203\303\207;\203\304\207\247\203\305\207<\203#\306\207\307!\205*\310\207" [blob nil booleanp bool string number list hash-table-p hash] 2] marshal-preprocess ((obj marshal-driver) blob) #[(obj blob) "\207" [blob] 1] marshal-postprocess ((obj marshal-driver) blob) #[(obj blob) "\207" [blob] 1] marshal-unmarshal-null ((cls (subclass marshal-driver))) #[(cls) "\300\207" [nil] 1] marshal-marshal-null ((cls (subclass marshal-driver))) #[(cls) "\300\207" [nil] 1] marshal-unmarshal-string ((cls (subclass marshal-driver)) s) #[(cls s) "\301\302\"\207" [s format "%s"] 3] marshal-marshal-string ((cls (subclass marshal-driver)) s) #[(cls s) "\207" [s] 1] marshal-unmarshal-number ((cls (subclass marshal-driver)) i) #[(cls i) "\207" [i] 1] marshal-marshal-number ((cls (subclass marshal-driver)) i) #[(cls i) "\207" [i] 1] marshal-unmarshal-bool ((cls (subclass marshal-driver)) b) #[(cls b) "\301=\207" [b t] 2] marshal-marshal-bool ((cls (subclass marshal-driver)) b) #[(cls b) "\301=\207" [b t] 2] marshal-unmarshal-list ((cls (subclass marshal-driver)) l l-type) #[(cls l l-type) "\303:\205 A@ @\n#\303 A\n#B\207" [l-type l cls unmarshal-internal] 5] marshal-marshal-list ((cls (subclass marshal-driver)) l) #[(cls l) "\205\302@ \"\302A \"B\207" [l cls marshal-internal] 4] marshal-unmarshal-hash ((cls (subclass marshal-driver)) h h-type) #[(cls h h-type) ":\205A@:\205\3048\305\306\307 \"!*\207" [h-type v-type k-type h 2 ht<-alist mapcar #[(item) "\304 @\n#\304 A\n#B\207" [k-type item cls v-type unmarshal-internal] 5]] 4] marshal-marshal-hash ((cls (subclass marshal-driver)) h) #[(cls h) "\301!?\205 \302\303\304!\"\207" [h ht-empty\? mapcar #[(item) "\302@ \"\302A@ \"B\207" [item cls marshal-internal] 4] ht-items] 4] defalias marshal-driver-alist-p eieio-make-class-predicate marshal-driver-alist marshal-driver-alist--eieio-childp eieio-make-child-predicate marshal-driver-alist-child-p make-obsolete "use (cl-typep ... \\='marshal-driver-alist) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (marshal-driver)] 6) #@59 Create a new object of class type `marshal-driver-alist'. (defalias 'marshal-driver-alist #[(&rest slots) "\301\302\303#\207" [slots apply make-instance marshal-driver-alist] 4 (#$ . 5123)]) (byte-code "\300\301\302\303#\300\207" [function-put marshal-driver-alist compiler-macro marshal-driver-alist--anon-cmacro] 4) (defalias 'marshal-driver-alist--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\304\310%\210\311\312\313\314!\"\210\311\315\316\314!\"\210\311\317\315\"\210\320\317\321\322#\210\323\314\324\315#\325\314\326\302\211$\207" [cl-generic-define-method marshal-write nil ((obj marshal-driver-alist) path value) t #[(#1=#:cl--cnm obj path value) " \210\304 \305\n B#\207" [#1# obj path value object-add-to-list :output] 5] marshal-read ((obj marshal-driver-alist) path) #[(#2=#:cl--cnm obj path) " \210\303 \304\n\305\"\"A\207" [#2# path obj assoc eieio-oref input] 5] defalias marshal-driver-json-p eieio-make-class-predicate marshal-driver-json marshal-driver-json--eieio-childp eieio-make-child-predicate marshal-driver-json-child-p make-obsolete "use (cl-typep ... \\='marshal-driver-json) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (marshal-driver-alist)] 6) #@58 Create a new object of class type `marshal-driver-json'. (defalias 'marshal-driver-json #[(&rest slots) "\301\302\303#\207" [slots apply make-instance marshal-driver-json] 4 (#$ . 6542)]) (byte-code "\300\301\302\303#\300\207" [function-put marshal-driver-json compiler-macro marshal-driver-json--anon-cmacro] 4) (defalias 'marshal-driver-json--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\304\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\317\320\321\322!\"\210\317\323\324\322!\"\210\317\325\323\"\210\326\325\327\330#\210\331\322\332\323#\333\322\334\302\211$\207" [cl-generic-define-method marshal-preprocess nil ((obj marshal-driver-json) blob) t #[(#1=#:cl--cnm obj blob) "\304\305\306\307 !+\207" [json-false json-object-type json-array-type #1# list alist :json-false json-read-from-string] 3] marshal-postprocess ((obj marshal-driver-json) blob) #[(#2=#:cl--cnm obj blob) "\301 !\207" [#2# json-encode] 2] marshal-unmarshal-bool ((cls (subclass marshal-driver-json)) b) #[(cls b) "\301=?\207" [b :json-false] 2] marshal-marshal-bool ((cls (subclass marshal-driver-json)) b) #[(cls b) "\206\301\207" [b :json-false] 1] defalias marshal-driver-plist-p eieio-make-class-predicate marshal-driver-plist marshal-driver-plist--eieio-childp eieio-make-child-predicate marshal-driver-plist-child-p make-obsolete "use (cl-typep ... \\='marshal-driver-plist) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (marshal-driver)] 6) #@59 Create a new object of class type `marshal-driver-plist'. (defalias 'marshal-driver-plist #[(&rest slots) "\301\302\303#\207" [slots apply make-instance marshal-driver-plist] 4 (#$ . 8237)]) (byte-code "\300\301\302\303#\300\207" [function-put marshal-driver-plist compiler-macro marshal-driver-plist--anon-cmacro] 4) (defalias 'marshal-driver-plist--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\304\310%\207" [cl-generic-define-method marshal-write nil ((obj marshal-driver-plist) path value) t #[(#1=#:cl--cnm obj path value) " \210\304 \305\306\307 \310\"\n ##\207" [#1# obj path value eieio-oset :output plist-put eieio-oref output] 7] marshal-read ((obj marshal-driver-plist) path) #[(#2=#:cl--cnm obj path) " \210\303\304 \305\"\n\"\207" [#2# obj path plist-get eieio-oref input] 4]] 6) (defalias 'marshal--alist-add #[(alist key value &optional append) "\305 \"\211\204 B B\202\"\n\f\203\304\nA \"\202 \241\210 )\207" [key alist existing value append assoc] 5]) (defalias 'marshal--alist-merge #[(alist1 alist2 &optional append) "\n\203\n@\211@ A\306\307\f $\nA\"+\202)\207" [alist1 res alist2 pair x y marshal--alist-merge marshal--alist-add append] 7]) (defalias 'marshal--transpose-alist2 #[(l) "\306 \203U @\211@ A\211\203M @\211@ A\n\307 \n\"\2068 C\211 \nB\211 )\211\f\f\nB\fAB\241\210, A\211\204+ A\211\204\n*\207" [l rows res row x cols nil assoc col y z p target] 4]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\315$\207" [defalias marshal-base-p eieio-make-class-predicate marshal-base marshal-base--eieio-childp eieio-make-child-predicate marshal-base-child-p make-obsolete "use (cl-typep ... \\='marshal-base) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((-marshal-info :allocation :class :initform nil :protection :protected) (-type-info :allocation :class :initform nil :protection :protected))] 6) #@51 Create a new object of class type `marshal-base'. (defalias 'marshal-base #[(&rest slots) "\301\302\303#\207" [slots apply make-instance marshal-base] 4 (#$ . 10446)]) (byte-code "\300\301\302\303#\300\207" [function-put marshal-base compiler-macro marshal-base--anon-cmacro] 4) (defalias 'marshal-base--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\207" [cl-generic-define-method marshal-get-marshal-info nil ((cls (subclass marshal-base))) #[(cls) "\301N\207" [cls :marshal-info] 2] marshal-get-type-info ((cls (subclass marshal-base))) #[(cls) "\301N\207" [cls :type-info] 2] marshal-get-class-slot ((cls (subclass marshal-base))) #[(cls) "\301N\207" [cls :marshal-class-slot] 2]] 6) (defalias 'marshal-get-driver #[(type) "\303!\203\n\206\304 \"A\206\305\306\n!)\207" [type marshal-drivers cls class-p assoc marshal-driver make-instance] 3]) (byte-code "\300\301\302\303\302\304%\210\300\301\302\305\302\306%\207" [cl-generic-define-method marshal-internal nil ((obj marshal-base) type &optional hint) #[(obj type &optional hint) "\306!\203\307 \"@\206\310!\311\312\313 !!\"A\314\n!\210\f\203\211 \203< \313 !=\204<\315\n\316 !\313 !#\210\317\320\321\313 !!\"\322\211\203\210@\311\f\"A\211\203~\323 \"\203~\315\n\324\325 \"\311\326\313 !!\"A##\210)A\211\204M*\327\n!+\207" [type marshal-drivers driver obj marshal-info hint class-p rassoc marshal-get-driver assoc marshal-get-marshal-info eieio-object-class marshal-open marshal-write marshal-get-class-slot mapcar #[(x) "\301!\207" [x eieio-slot-descriptor-name] 2] eieio-class-slots nil slot-boundp marshal-internal eieio-oref marshal-get-type-info marshal-close s --dolist-tail-- path] 12] ((obj t) type &optional hint) #[(obj type &optional hint) "\304\305!!\n\204 \204\306 !\202Y \307=\204$ \204+\n\310=\203+\311 \"\202Y ;\2037\312 \"\202Y \247\203C\313 \"\202Y <\203O\314 \"\202Y\315 !\205Y\316 \")\207" [type driver hint obj eieio-object-class marshal-get-driver marshal-marshal-null t bool marshal-marshal-bool marshal-marshal-string marshal-marshal-number marshal-marshal-list hash-table-p marshal-marshal-hash] 3]] 6) (defalias 'marshal #[(obj type) "\303!\304 \305\n\"\")\207" [type driver obj marshal-get-driver marshal-postprocess marshal-internal] 5]) (cl-generic-define-method 'unmarshal--obj nil '((obj marshal-base) blob type) nil #[(obj blob type) "\306!\307\310\311 !!\"A\312 \f\"\210\n\203[\f\203[\313\314\315\311 !!\"\316\211\203Z@\307 \n\"A\211\203P\317 \320\307 \321\311 !!\"A\322 \"##\210)A\211\204+*\323 !\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info eieio-object-class marshal-open mapcar #[(x) "\301!\207" [x eieio-slot-descriptor-name] 2] eieio-class-slots nil eieio-oset unmarshal-internal marshal-get-type-info marshal-read marshal-close --dolist-tail-- path] 10]) (defalias 'unmarshal-internal #[(obj blob type) "\305!\203.\306 ! \203%\306 !\307\n \"\210\310\n\311!\"\312\n!\210)\206&\313\f!*\202/\314 #)\207" [obj type driver blob cls class-p marshal-get-driver marshal-open marshal-read marshal-get-class-slot marshal-close make-instance unmarshal--internal] 4]) (byte-code "\300\301\302\303\302\304%\210\300\301\302\305\302\306%\207" [cl-generic-define-method unmarshal--internal nil ((obj t) blob type) #[(obj blob type) "\304\305!!\n\206\306 \"\211\203 \204\307 !\202i\n\310\267\2028\311 \"\202i\312 \"\202i\313 \"\202i\n\314=\204J\n:\203R\n@\314=\203R\315 \n#\202i\n\316=\204d\n:\205i\n@\316=\205i\317 \n#*\207" [type driver obj blob eieio-object-class marshal-get-driver marshal-guess-type marshal-unmarshal-null #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (bool 35 string 42 number 49 integer 49)) marshal-unmarshal-bool marshal-unmarshal-string marshal-unmarshal-number list marshal-unmarshal-list hash marshal-unmarshal-hash] 5] ((obj marshal-base) blob type) #[(obj blob type) "\304!\203\305 \"@\206\306\n #)\207" [type marshal-drivers obj blob class-p rassoc unmarshal--obj] 4]] 6) (defalias 'unmarshal #[(obj blob type) "\304!\305\n\306 \"#)\207" [type driver obj blob marshal-get-driver unmarshal-internal marshal-preprocess] 5]) (defalias 'marshal-defclass '(macro . #[(name superclass slots &rest options-and-doc) "@;\203 A\202\f\306 \307\"\206\310\306 \311\"\206\312\306 \313\"\206'\314\315\316\317\320\321 \"\"!\"\316\317\320\322 \"\"#\323\324$\325% C\" BBBB\326\327$D\313\327\fDF\326\327$D\330\327\"DF\331\332\327%DD\326\327$D\330\333\334\327$D\335BB\336BBFE\326\327$D\337\327#DF\331\332\327%DD\326\327$D\337\333\334\327$D\340BB\341BBFE$\257.\207" [options-and-doc options default-spec-func base-cls cls-slot slots plist-get :marshal-default-spec ignore :marshal-base-cls marshal-base :marshal-class-slot :-cls marshal--transpose-alist2 remove nil mapcar #[(s) "@\304A\305\"\206\n !\211\205 \306\307 \"B*\207" [s name default-spec-func marshal plist-get :marshal mapcar #[(p) ":\203\207 B\207" [p name] 2]] 5] #[(s) "@\303A\304\"\206\303A\305\"\211\205 \nB*\207" [s name type plist-get :marshal-type :type] 4] progn defclass append put quote :marshal-info dolist cls marshal--alist-merge get (:marshal-info) ((marshal-get-marshal-info cls) t) :type-info (:type-info) ((marshal-get-type-info cls) t) marshal-info type-info name superclass] 15])) (byte-code "\300\301\302\303#\210\304\301\305\306#\307\310\311\"\210\307\312\313\"\210\307\314\315\"\210\316\317!\207" [put marshal-defclass edebug-form-spec t function-put lisp-indent-function 2 marshal-register-driver alist marshal-driver-alist plist marshal-driver-plist json marshal-driver-json provide marshal] 4)