gdZgdZiZddZdZdZeeeedZeee e zedZ dZ ee jZd Zd Zd Zd ZiZiZiZd ZdZdZy)zHelper to provide extensibility for pickle. This is only useful to add pickle support for extension types defined in C, not for instances of user-defined classes. )pickle constructor add_extensionremove_extensionclear_extension_cacheNc^t|s td|t|<| t|yy)Nz$reduction functions must be callable)callable TypeErrordispatch_tabler)ob_typepickle_functionconstructor_obs ./opt/alt/python312/lib64/python3.12/copyreg.pyrr s5 O $>??-N7!N#"c0t|s tdy)Nzconstructors must be callable)rr )objects rrrs F 788 rc>t|j|jffSN)complexrealimag)cs rpickle_complexrs QVVQVV$ $$rcZddl}ddl}|j|j|jffS)N) functoolsoperatorreduceor___args__)objrrs r pickle_unionr!!s#   hllCLL9 99rc|turtj|}|S|j||}|jtjk7r|j|||Sr)r__new____init__)clsbasestater s r_reconstructorr()sS v~nnS! Jll3& ==FOO + MM#u % Jric|dksJ|j}|jD]P}t|dr|jtzsn5|j }t |tsA|j|usPnt}|turd}n%||urtd|jd||}|||f} |j}t|jtjurt|ddr td|}|r t"||fSt"|fS#t$rKt|ddrtd|jd|d |j }n#t$rd}YnwxYwYfwxYw)N __flags__zcannot pickle z object __slots__zNa class that defines __slots__ without defining __getstate__ cannot be pickledzf object: a class that defines __slots__ without defining __getstate__ cannot be pickled with protocol ) __class____mro__hasattrr+ _HEAPTYPEr# isinstance _new_type__self__rr __name__ __getstate__typegetattrAttributeError__dict__r() selfprotor%r&newr'argsgetstatedicts r _reduce_exr@7s 199 ..C  4 %dnny.H ll c9 %#,,$*>   v~ 3;nS\\,ris  I$9 %w(:tC#I %    '$V#- 1x#$ #r