MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/pickle.cpython-36.opt-1.pyc

3


 \@sdZddlmZddlmZddlmZmZmZddlm	Z	ddl
mZddlZddlm
Z
dd	lmZmZddlZddlZddlZddlZd
ddd
dddddg	ZeefZdZdddddddgZdZdZGdd
d
eZGdddeZGdddeZ Gdd d eZ!ydd!l"m#Z#Wne$k
r2dZ#YnXd"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,d*Z-d+Z.d,Z/d-Z0d.Z1d/Z2d0Z3d1Z4d2Z5d3Z6d4Z7d5Z8d6Z9d7Z:d8Z;d9Z<d:Z=d;Z>d<Z?d=Z@d>ZAd?ZBd@ZCdAZDdBZEdCZFdDZGdEZHdFZIdGZJdHZKdIZLdJZMdKZNdLZOdMZPdNZQdOZRdPZSdQZTdRZUdSZVdTZWdUZXdVZYdWZZdXZ[eKeUeVeWgZ\dYZ]dZZ^d[Z_d\Z`d]Zad^Zbd_Zcd`ZddaZedbZfdcZgddZhejidedfejDGdgdhdhZkGdidjdjZldkdlZmdmdnZndodpZodqdrZpGdsdtdtZqGdudvdvZrddwdxdydzZsddwdxd{d|Ztdwd}d~dddZudwd}d~dddZvy0ddlwmZmZm Z mxZxmyZymzZzm{Z{m|Z|m}Z}Wn4e$k
rbeqerZxZyeseteuevf\ZzZ{Z|Z}YnXddZ~edkrddlZejddZejdejddddejdddddejddddejZejre~n>ejsejn,ddlZx"ejD]Ze|eZejeqWdS)aCreate portable serialized representations of Python objects.

See module copyreg for a mechanism for registering custom picklers.
See module pickletools source for extensive comments.

Classes:

    Pickler
    Unpickler

Functions:

    dump(object, file)
    dumps(object) -> string
    load(file) -> object
    loads(string) -> object

Misc variables:

    __version__
    format_version
    compatible_formats

)FunctionType)dispatch_table)_extension_registry_inverted_registry_extension_cache)islice)partialN)maxsize)packunpackPickleError
PicklingErrorUnpicklingErrorPickler	Unpicklerdumpdumpsloadloadsz4.0z1.0z1.1z1.2z1.3z2.0z3.0c@seZdZdZdS)rz6A common base class for the other pickling exceptions.N)__name__
__module____qualname____doc__rr/usr/lib64/python3.6/pickle.pyr@sc@seZdZdZdS)r
z]This exception is raised when an unpicklable object is passed to the
    dump() method.

    N)rrrrrrrrr
Dsc@seZdZdZdS)raThis exception is raised when there is a problem unpickling an object,
    such as a security violation.

    Note that other exceptions may also be raised during unpickling, including
    (but not necessarily limited to) AttributeError, EOFError, ImportError,
    and IndexError.

    N)rrrrrrrrrKsc@seZdZddZdS)_StopcCs
||_dS)N)value)selfrrrr__init__Ysz_Stop.__init__N)rrrr rrrrrXsr)PyStringMap(.012FIJKLMNPQRSTUVXabcd}eghijl]opqrst)uGsI01
sI00
BCcCsg|]}tjd|r|qS)z[A-Z][A-Z0-9_]+$)rematch).0xrrr
<listcomp>srgc@s:eZdZdZddZddZddZdd
dZdd
ZdS)_Framer@icCs||_d|_dS)N)
file_write
current_frame)rrjrrrr sz_Framer.__init__cCstj|_dS)N)ioBytesIOrk)rrrr
start_framingsz_Framer.start_framingcCs*|jr&|jjdkr&|jddd|_dS)NrT)force)rktellcommit_frame)rrrrend_framingsz_Framer.end_framingFcCst|jrp|j}|j|jks|rp|j2}t|}|j}|t|td|||WdQRX|jd|j	dS)Nz<Qr)
rkrp_FRAME_SIZE_TARGET	getbufferlenrjFRAMEr
seektruncate)rrofdatanwriterrrrqs

z_Framer.commit_framecCs |jr|jj|S|j|SdS)N)rkr|rj)rrzrrrr|sz
_Framer.writeNi)F)	rrrrsr rnrrrqr|rrrrrhs

rhc@s.eZdZd
ddZddZddZdd	ZdS)	_UnframerNcCs||_||_d|_dS)N)	file_read
file_readlinerk)rr~rZ	file_tellrrrr sz_Unframer.__init__cCsV|jrH|jj|}|r0|dkr0d|_|j|St||krDtd|S|j|SdS)Nrz$pickle exhausted before end of frame)rkreadr~rur)rr{rzrrrrs
z_Unframer.readcCsF|jr:|jj}|s"d|_|jS|ddkr6td|S|jSdS)N
rz$pickle exhausted before end of frame
)rkreadlinerr)rrzrrrrs
z_Unframer.readlinecCs2|jr|jjdkrtdtj|j||_dS)Nz4beginning of a new frame before end of current frame)rkrrrlrmr~)r
frame_sizerrr
load_framesz_Unframer.load_frame)N)rrrr rrrrrrrr}s


r}cCslxb|jdD]T}|dkr(tdj||y|}t||}Wqtk
r^tdj||YqXqW||fS)N.z<locals>z&Can't get local attribute {!r} on {!r}z Can't get attribute {!r} on {!r})splitAttributeErrorformatgetattr)objnameZsubpathparentrrr
_getattributes
rcCszt|dd}|dk	r|Sx\ttjjD]J\}}|dks(|dkrBq(yt||d|krZ|SWq(tk
rpYq(Xq(WdS)z$Find the module an object belong to.rN__main__r)rlistsysmodulesitemsrr)rrmodule_namemodulerrrwhichmodules
rcCsh|dkrdS|jd?d}|j|ddd}|dkrd|dkrd|ddkrd|d
d
@dkrd|dd}|S)aEncode a long to a two's complement little-endian binary string.
    Note that 0 is a special case, returning an empty string, to save a
    byte in the LONG1 pickling context.

    >>> encode_long(0)
    b''
    >>> encode_long(255)
    b'\xff\x00'
    >>> encode_long(32767)
    b'\xff\x7f'
    >>> encode_long(-256)
    b'\x00\xff'
    >>> encode_long(-32768)
    b'\x00\x80'
    >>> encode_long(-128)
    b'\x80'
    >>> encode_long(127)
    b'\x7f'
    >>>
    rrrrlittleT)	byteordersignedNrr)
bit_lengthto_bytes)rfnbytesresultrrrencode_long$srcCstj|dddS)a\Decode a long from a two's complement little-endian binary string.

    >>> decode_long(b'')
    0
    >>> decode_long(b"\xff\x00")
    255
    >>> decode_long(b"\xff\x7f")
    32767
    >>> decode_long(b"\x00\xff")
    -256
    >>> decode_long(b"\x00\x80")
    -32768
    >>> decode_long(b"\x80")
    -128
    >>> decode_long(b"\x7f")
    127
    rT)rr)int
from_bytes)rzrrrdecode_longBsrc@sheZdZd7ddddZddZdd	Zd
dZdd
ZddZd8ddZ	ddZ
ddZd9ddZiZ
ddZee
ed<ddZee
e<ddZee
e<ddZee
e<d d!Zee
e<d"d#Zee
e<d$d%Zee
e<d&d'Zee
e<d(Zd)d*Zd+d,Z e e
e!<e"dk	re e
e"<d-d.Z#d/d0Z$e$e
e%<d1d2Z&e&e
e'<d:d3d4Z(d5d6Z)e(e
e*<e)e
e<dS);_PicklerNT)fix_importscCs|dkrt}|dkrt}n$d|ko,tkns>tdty|j|_Wntk
rftdYnXt|j|_|jj|_i|_	t
||_|dk|_d|_
|o|dk|_dS)aThis takes a binary file for writing a pickle data stream.

        The optional *protocol* argument tells the pickler to use the
        given protocol; supported protocols are 0, 1, 2, 3 and 4.  The
        default protocol is 3; a backward-incompatible protocol designed
        for Python 3.

        Specifying a negative protocol version selects the highest
        protocol version supported.  The higher the protocol used, the
        more recent the version of Python needed to read the pickle
        produced.

        The *file* argument must have a write() method that accepts a
        single bytes argument. It can thus be a file object opened for
        binary writing, an io.BytesIO instance, or any other custom
        object that meets this interface.

        If *fix_imports* is True and *protocol* is less than 3, pickle
        will try to map the new Python 3 names to the old module names
        used in Python 2, so that the pickle data stream is readable
        with Python 2.
        Nrzpickle protocol must be <= %dz"file must have a 'write' attributerr)DEFAULT_PROTOCOLHIGHEST_PROTOCOL
ValueErrorr|_file_writer	TypeErrorrhframermemorprotobinfastr)rfileprotocolrrrrr [s"


z_Pickler.__init__cCs|jjdS)aClears the pickler's "memo".

        The memo is the data structure that remembers which objects the
        pickler has already seen, so that shared or recursive objects
        are pickled by reference and not by value.  This method is
        useful when re-using picklers.
        N)rclear)rrrr
clear_memosz_Pickler.clear_memocCsrt|dstd|jjf|jdkr<|jttd|j|jdkrP|jj	|j
||jt|jjdS)z7Write a pickled representation of obj to the open file.rz2Pickler.__init__() was not called by %s.__init__()rz<BrN)
hasattrr
	__class__rrr|PROTOr
rrnsaveSTOPrr)rrrrrrs





z
_Pickler.dumpcCs:|jr
dSt|j}|j|j|||f|jt|<dS)zStore an object in the memo.N)rrurr|putid)rridxrrrmemoizes

z_Pickler.memoizecCsT|jdkrtS|jr:|dkr*ttd|Sttd|Sntt|jddSdS)Nrz<Bz<Iasciir)	rMEMOIZErBINPUTr
LONG_BINPUTPUTreprencode)rrrrrrs
z_Pickler.putcCs@|jr*|dkrttd|Sttd|Stt|jddS)Nrz<Bz<Irr)rBINGETr
LONG_BINGETGETrr)rirrrgets
z_Pickler.getcCs|jj|j|}|dk	r.|r.|j|dS|jjt|}|dk	r^|j|j|ddSt|}|j	j|}|dk	r|||dSt
|dtj|}|dk	r||}nyt|t}	Wnt
k
rd}	YnX|	r|j|dSt
|dd}|dk	r||j}n0t
|dd}|dk	r&|}ntd|j|ft|trT|j||dSt|tsltd|t|}
d|
kod	knstd
||j|d|idS)NrrF
__reduce_ex__
__reduce__zCan't pickle %r object: %rz%s must return string or tuplerz3Tuple returned by %s must have two to five elementsr)rrq
persistent_id	save_persrrrr|typedispatchrr
issubclassrsave_globalrr
r
isinstancestrtuplerusave_reduce)rrsave_persistent_idpidrftryreducervZissclrrrrsT








z
_Pickler.savecCsdS)Nr)rrrrrrsz_Pickler.persistent_idcCsb|jr |j|dd|jtn>y |jtt|jddWntk
r\tdYnXdS)NF)rrrz2persistent IDs in protocol 0 must be ASCII strings)	rrr|	BINPERSIDPERSIDrrUnicodeEncodeErrorr
)rrrrrrs z_Pickler.save_perscCst|tstdt|s"td|j}|j}t|dd}	|jdkr|	dkr|\}
}}t|
dsntdj	|	|dk	r|
|j
k	rtd	j	|	|jd
kr||
|||||tn,t|
j
|
f||}|||f|tn|jdko|	dkr\|d}
t|
dstd
|dk	r6|
|j
k	r6td|dd}||
|||tn|||||t|dk	rt||jkr|t|j|jt|dn
|j||dk	r|j||dk	r|j||dk	r|||tdS)Nz'args from save_reduce() must be a tuplez(func from save_reduce() must be callablerr
__newobj_ex____new__z#args[0] from {} args has no __new__z(args[0] from {} args has the wrong classr
__newobj__rz+args[0] from __newobj__ args has no __new__z0args[0] from __newobj__ args has the wrong classr)rrr
callablerr|rrrrr	NEWOBJ_EXrrREDUCENEWOBJrrPOPrr_batch_appends_batch_setitemsBUILD)rfuncargsstateZ	listitemsZ	dictitemsrrr|Z	func_nameclskwargsrrrrsd







"





z_Pickler.save_reducecCs|jtdS)N)r|NONE)rrrrr	save_nonesz_Pickler.save_nonecCs4|jdkr|j|rtntn|j|r*tntdS)Nr)rr|NEWTRUENEWFALSETRUEFALSE)rrrrr	save_bools
z_Pickler.save_boolcCs|jr~|dkrN|dkr.|jttd|dS|dkrN|jttd|dSd
|ko`dknr~|jttd|dS|jd	krt|}t|}|d
kr|jt	td||n|jt
td||dS|jtt|j
dddS)Nrrz<Biz<Hliz<irrrsL
i)rr|BININT1r
BININT2BININTrrruLONG1LONG4LONGrr)rrencodedr{rrr	save_longs&
z_Pickler.save_longcCs<|jr|jttd|n|jtt|jdddS)Nz>drr)rr|BINFLOATr
FLOATrr)rrrrr
save_floatsz_Pickler.save_floatcCs|jdkr@|s |jtf|dn|jtjt|ddf|ddSt|}|dkrj|jtt	d||nD|dkr|jdkr|jt
t	d||n|jtt	d	|||j|dS)
Nr)rlatin1rz<Blrz<Qz<I)
rrbytescodecsrrrur|SHORT_BINBYTESr
	BINBYTES8BINBYTESr)rrr{rrr
save_bytess
z_Pickler.save_bytescCs|jr|jdd}t|}|dkrF|jdkrF|jttd||q|dkrr|jdkrr|jttd||q|jttd||n0|j	d	d
}|j	dd}|jt
|jd
d|j|dS)Nzutf-8
surrogatepassrrz<Blz<Qz<I\z\u005c
z\u000azraw-unicode-escaper)rrrurr|SHORT_BINUNICODEr
BINUNICODE8
BINUNICODEreplaceUNICODEr)rrrr{rrrsave_strsz_Pickler.save_strcCsB|s(|jr|jtn|jttdSt|}|j}|j}|dkr|jdkrx|D]}||qTWt	||kr|j
|t	|d}|jt||n|jt||j
|dS|j}|tx|D]}||qWt	||kr,|j
|t	|d}|jr|t|n|t|d|dS|t|j
|dS)Nrrrr)rr|EMPTY_TUPLEMARKTUPLErurrrrrr_tuplesize2coderPOP_MARK)rrr{rrelementrr|rrr
save_tuples:


z_Pickler.save_tuplecCs8|jr|jtn|jtt|j||j|dS)N)rr|
EMPTY_LISTrLISTrr)rrrrr	save_lists

z_Pickler.save_listicCs|j}|j}|js4x|D]}|||tqWdSt|}xrtt||j}t|}|dkr|t	x|D]}||qlW|t
n|r||d|t||jkr>dSq>WdS)Nrr)rr|rAPPENDiterrr
_BATCHSIZErurAPPENDS)rrrr|rfittmpr{rrrrs*



z_Pickler._batch_appendscCs<|jr|jtn|jtt|j||j|jdS)N)rr|
EMPTY_DICTrDICTrrr)rrrrr	save_dict.s

z_Pickler.save_dictc	Cs|j}|j}|js@x(|D] \}}|||||tqWdSt|}xtt||j}t|}|dkr|t	x |D]\}}||||qxW|t
n(|r|d\}}|||||t||jkrJdSqJWdS)Nrr)rr|rSETITEMr#rrr$rurSETITEMS)	rrrr|kvr&r'r{rrrr;s2

z_Pickler._batch_setitemscCs|j}|j}|jdkr0|jtt|f|ddS|t|j|t|}xXtt	||j
}t|}|dkr|tx|D]}||qzW|t
||j
krLdSqLWdS)Nr)rr)rr|rrsetr	EMPTY_SETrr#rr$rurADDITEMS)rrrr|r&Zbatchr{itemrrrsave_setZs$



z_Pickler.save_setcCs|j}|j}|jdkr0|jtt|f|ddS|tx|D]}||q>Wt||jkr|t	|j
|jt|ddS|t|j|dS)Nr)rr)
rr|rr	frozensetrrrrrr	FROZENSETr)rrrr|r2rrrsave_frozensetrs

 z_Pickler.save_frozensetc
CsT|j}|j}|dkr t|dd}|dkr.|j}t||}y(t|ddtj|}t||\}}Wn,t	t
tfk
rtd|||fYnX||k	rtd|||f|j
dkrtj||f}	|	r|	dkr|ttd|	n0|	d	kr|ttd
|	n|ttd|	dS|jdd}
||kr4|
}|j
d
kr^|j||j||tn||k	rz|jt||
fn|j
dkr|tt|ddt|ddn|jrtj}tj}||f|kr|||f\}}n||kr||}y(|tt|ddt|ddWn*tk
rDtd|||j
fYnX|j|dS)Nrr)levelz(Can't pickle %r: it's not found as %s.%sz2Can't pickle %r: it's not the same object as %s.%srrz<Biz<Hz<irrrzutf-8rrz?can't pickle global identifier '%s.%s' using pickle protocol %i) r|rrrr
__import__rrrImportErrorKeyErrorrr
rrrEXT1r
EXT2EXT4
rpartitionrSTACK_GLOBALrGLOBALr	r_compat_pickleZREVERSE_NAME_MAPPINGZREVERSE_IMPORT_MAPPINGrr)
rrrr|rrrZobj2rcodeZlastnameZr_name_mappingZr_import_mappingrrrrsn







$
&z_Pickler.save_globalcCs`|tdkr|jtd|dS|ttkr:|jttf|dS|tdkrV|jtd|dS|j|S)N)r.)N).)rrNotImplementedr)rrrrr	save_typesz_Pickler.save_type)N)T)NNNN)N)+rrrr rrrrrrrrrrrrrboolrrrfloatrr	rrrrr!rr$rr*dictr!rr3r/r6r4rrDrrrrrrYsV)
	
B
c1		

B	rc@sneZdZddddddZddZd	d
ZddZiZd
dZeee	d<ddZ
e
eed<ddZeee
d<ddZeeed<ddZeeed<ddZeeed<ddZeeed<ddZeeed<ddZeeed<d d!Zeeed<d"d#Zeeed<d$d%Zeeed<d&d'Z e ee!d<d(d)Z"e"ee#d<d*d+Z$e$ee%d<d,d-Z&e&ee'd<d.d/Z(d0d1Z)e)ee*d<d2d3Z+e+ee,d<d4d5Z-e-ee.d<d6d7Z/e/ee0d<d8d9Z1e1ee2d<d:d;Z3e3ee4d<d<d=Z5e5ee6d<d>d?Z7e7ee8d<d@dAZ9e9ee:d<dBdCZ;e;ee<d<dDdEZ=e=ee>d<dFdGZ?e?ee@d<dHdIZAeAeeBd<dJdKZCeCeeDd<dLdMZEeEeeFd<dNdOZGeGeeHd<dPdQZIeIeeJd<dRdSZKeKeeLd<dTdUZMeMeeNd<dVdWZOeOeePd<dXdYZQeQeeRd<dZd[ZSd\d]ZTeTeeUd<d^d_ZVeVeeWd<d`daZXeXeeYd<dbdcZZeZee[d<dddeZ\e\ee]d<dfdgZ^e^ee_d<dhdiZ`e`eead<djdkZbebeecd<dldmZdedeeed<dndoZfdpdqZgdrdsZheheeid<dtduZjejeekd<dvdwZleleemd<dxdyZneneeod<dzd{Zpepeeqd<d|d}Zrereesd<d~dZteteeud<ddZveveewd<ddZxexeeyd<ddZzezee{d<ddZ|e|ee}d<ddZ~e~eed<ddZeeed<ddZeeed<ddZeeed<ddZeeed<ddZeeed<ddZeeed<ddZeeed<dS)
_UnpicklerTASCIIstrict)rencodingerrorscCs2|j|_|j|_i|_||_||_d|_||_dS)aThis takes a binary file for reading a pickle data stream.

        The protocol version of the pickle is detected automatically, so
        no proto argument is needed.

        The argument *file* must have two methods, a read() method that
        takes an integer argument, and a readline() method that requires
        no arguments.  Both methods should return bytes.  Thus *file*
        can be a binary file object opened for reading, an io.BytesIO
        object, or any other custom object that meets this interface.

        The file-like object must have two methods, a read() method
        that takes an integer argument, and a readline() method that
        requires no arguments.  Both methods should return bytes.
        Thus file-like object can be a binary file object opened for
        reading, a BytesIO object, or any other custom object that
        meets this interface.

        Optional keyword arguments are *fix_imports*, *encoding* and
        *errors*, which are used to control compatibility support for
        pickle stream generated by Python 2.  If *fix_imports* is True,
        pickle will try to map the old Python 2 names to the new names
        used in Python 3.  The *encoding* and *errors* tell pickle how
        to decode 8-bit string instances pickled by Python 2; these
        default to 'ASCII' and 'strict', respectively. *encoding* can be
        'bytes' to read theses 8-bit string instances as bytes objects.
        rN)	r_file_readliner
_file_readrrKrLrr)rrrrKrLrrrr sz_Unpickler.__init__cCst|dstd|jjft|j|j|_|jj|_|jj	|_	g|_
g|_|jj|_d|_
|j}|j}y*x$|d}|s|t||d|qlWWn"tk
r}z|jSd}~XnXdS)zRead a pickled object representation from the open file.

        Return the reconstituted object hierarchy specified in the file.
        rNz4Unpickler.__init__() was not called by %s.__init__()rrN)rrrrr}rNrM	_unframerrr	metastackstackappendrrEOFErrorrr)rrrkeyZstopinstrrrrs(



z_Unpickler.loadcCs |j}|jj|_|jj|_|S)N)rQrPpoprR)rrrrrpop_marks
z_Unpickler.pop_markcCstddS)Nz%unsupported persistent id encountered)r)rrrrrpersistent_load%sz_Unpickler.persistent_loadcCs<|jdd}d|ko tkns2td|||_dS)Nrrzunsupported pickle protocol: %d)rrrr)rrrrr
load_proto*sz_Unpickler.load_protorcCs8td|jd\}|tjkr(td||jj|dS)Nz<Qzframe size > sys.maxsize: %d)rrrr	rrOr)rrrrrr1s
z_Unpickler.load_framecCsLy|jddjd}Wntk
r6tdYnX|j|j|dS)Nrrz2persistent IDs in protocol 0 must be ASCII stringsr)rdecodeUnicodeDecodeErrorrrRrW)rrrrrload_persid8sz_Unpickler.load_persidcCs|jj}|j|j|dS)N)rQrUrRrW)rrrrrload_binpersidAs
z_Unpickler.load_binpersidcCs|jddS)N)rR)rrrr	load_noneFsz_Unpickler.load_nonecCs|jddS)NF)rR)rrrr
load_falseJsz_Unpickler.load_falsecCs|jddS)NT)rR)rrrr	load_trueNsz_Unpickler.load_truecCsL|j}|tddkrd}n |tddkr4d}n
t|d}|j|dS)NrFTr)rrrrrR)rrzvalrrrload_intRs
z_Unpickler.load_intcCs|jtd|jdddS)Nz<irr)rRrr)rrrrload_binint]sz_Unpickler.load_binintcCs|j|jdddS)Nrr)rRr)rrrrload_binint1asz_Unpickler.load_binint1cCs|jtd|jdddS)Nz<Hrr)rRrr)rrrrload_binint2esz_Unpickler.load_binint2cCs@|jdd}|r,|ddkr,|dd}|jt|ddS)Nrr+rrrLr)rrRr)rrarrr	load_longisz_Unpickler.load_longcCs*|jdd}|j|}|jt|dS)Nrr)rrRr)rr{rzrrr
load_long1ps
z_Unpickler.load_long1cCs>td|jd\}|dkr"td|j|}|jt|dS)Nz<irrz#LONG pickle has negative byte count)rrrrRr)rr{rzrrr
load_long4vs

z_Unpickler.load_long4cCs|jt|jdddS)Nrr)rRrFr)rrrr
load_floatsz_Unpickler.load_floatcCs|jtd|jdddS)Nz>drYr)rRrr)rrrr
load_binfloatsz_Unpickler.load_binfloatcCs"|jdkr|S|j|j|jSdS)Nr	)rKrZrL)rrrrr_decode_strings
z_Unpickler._decode_stringcCsl|jdd}t|dkrF|d|dkrF|ddkrF|dd}ntd|j|jtj|ddS)	Nrrrs"'z)the STRING opcode argument must be quotedrrr)rrurrRrlr

escape_decode)rrzrrrload_strings
(z_Unpickler.load_stringcCs@td|jd\}|dkr"td|j|}|j|j|dS)Nz<irrz(BINSTRING pickle has negative byte count)rrrrRrl)rrurzrrrload_binstrings

z_Unpickler.load_binstringcCs:td|jd\}|tkr&tdt|j|j|dS)Nz<Irz2BINBYTES exceeds system's maximum size of %d bytes)rrr	rrR)rrurrr
load_binbytess
z_Unpickler.load_binbytescCs |jt|jddddS)Nrzraw-unicode-escaper)rRrr)rrrrload_unicodesz_Unpickler.load_unicodecCsBtd|jd\}|tkr&tdt|jt|j|dddS)Nz<Irz4BINUNICODE exceeds system's maximum size of %d byteszutf-8r)rrr	rrRr)rrurrrload_binunicodes
z_Unpickler.load_binunicodecCsBtd|jd\}|tkr&tdt|jt|j|dddS)Nz<QrYz5BINUNICODE8 exceeds system's maximum size of %d byteszutf-8r)rrr	rrRr)rrurrrload_binunicode8s
z_Unpickler.load_binunicode8cCs:td|jd\}|tkr&tdt|j|j|dS)Nz<QrYz3BINBYTES8 exceeds system's maximum size of %d bytes)rrr	rrR)rrurrrload_binbytes8s
z_Unpickler.load_binbytes8cCs,|jdd}|j|}|j|j|dS)Nrr)rrRrl)rrurzrrrload_short_binstrings
z_Unpickler.load_short_binstringcCs"|jdd}|j|j|dS)Nrr)rrR)rrurrrload_short_binbytessz_Unpickler.load_short_binbytescCs*|jdd}|jt|j|dddS)Nrrzutf-8r)rrRr)rrurrrload_short_binunicodesz _Unpickler.load_short_binunicodecCs|j}|jt|dS)N)rVrRr)rrrrr
load_tuplesz_Unpickler.load_tuplecCs|jfdS)N)rR)rrrrload_empty_tuplesz_Unpickler.load_empty_tuplecCs|jdf|jd<dS)Nrrr)rQ)rrrrload_tuple1sz_Unpickler.load_tuple1cCs$|jd|jdfg|jdd<dS)Nrrrrr)rQ)rrrrload_tuple2sz_Unpickler.load_tuple2cCs,|jd|jd|jdfg|jdd<dS)Nrrrrrr|)rQ)rrrrload_tuple3sz_Unpickler.load_tuple3cCs|jgdS)N)rR)rrrrload_empty_listsz_Unpickler.load_empty_listcCs|jidS)N)rR)rrrrload_empty_dictionarysz _Unpickler.load_empty_dictionarycCs|jtdS)N)rRr/)rrrrload_empty_setsz_Unpickler.load_empty_setcCs|j}|jt|dS)N)rVrRr4)rrrrrload_frozensetsz_Unpickler.load_frozensetcCs|j}|j|dS)N)rVrR)rrrrr	load_listsz_Unpickler.load_listcs4|jfddtdtdD}|j|dS)Ncsi|]}|d|qS)rr)rer)rrr
<dictcomp>sz(_Unpickler.load_dict.<locals>.<dictcomp>rr)rVrangerurR)rdr)rr	load_dicts
z_Unpickler.load_dictcCs|st|tst|drly||}Wqvtk
rh}z&td|jt|ftjdWYdd}~XqvXn
|j|}|j	|dS)NZ__getinitargs__zin constructor for %s: %sr)
rrrrrrrexc_inforrR)rklassrrerrrrr_instantiates
0
z_Unpickler._instantiatecCsL|jddjd}|jddjd}|j||}|j||jdS)Nrrrr)rrZ
find_classrrV)rrrrrrr	load_instsz_Unpickler.load_instcCs"|j}|jd}|j||dS)Nr)rVrUr)rrrrrrload_obj!s
z_Unpickler.load_objcCs2|jj}|jj}|j|f|}|j|dS)N)rQrUrrR)rrrrrrrload_newobj(s

z_Unpickler.load_newobjcCs>|jj}|jj}|jj}|j|f||}|j|dS)N)rQrUrrR)rrrrrrrrload_newobj_ex/s



z_Unpickler.load_newobj_excCsF|jddjd}|jddjd}|j||}|j|dS)Nrzutf-8rr)rrZrrR)rrrrrrrload_global7sz_Unpickler.load_globalcCsJ|jj}|jj}t|tk	s,t|tk	r4td|j|j||dS)NzSTACK_GLOBAL requires str)rQrUrrrrRr)rrrrrrload_stack_global>s


z_Unpickler.load_stack_globalcCs|jdd}|j|dS)Nrr)r
get_extension)rrBrrr	load_ext1Fsz_Unpickler.load_ext1cCs td|jd\}|j|dS)Nz<Hr)rrr)rrBrrr	load_ext2Ksz_Unpickler.load_ext2cCs td|jd\}|j|dS)Nz<ir)rrr)rrBrrr	load_ext4Psz_Unpickler.load_ext4cCspg}tj||}||k	r&|j|dStj|}|sP|dkrDtdtd||j|}|t|<|j|dS)NrzEXT specifies code <= 0zunregistered extension code %d)rrrRrrrr)rrBZnilrrTrrrrUs


z_Unpickler.get_extensioncCs|jdkrF|jrF||ftjkr2tj||f\}}n|tjkrFtj|}t|dd|jdkrpttj||dSt	tj||SdS)Nrr)r7r)
rrrAZNAME_MAPPINGZIMPORT_MAPPINGr8rrrr)rrrrrrres


z_Unpickler.find_classcCs&|j}|j}|d}|||d<dS)Nrrr)rQrU)rrQrrrrrload_reducersz_Unpickler.load_reducecCs|jr|jd=n|jdS)Nrr)rQrV)rrrrload_popys
z_Unpickler.load_popcCs|jdS)N)rV)rrrr
load_pop_marksz_Unpickler.load_pop_markcCs|j|jddS)Nrr)rRrQ)rrrrload_dupsz_Unpickler.load_dupcCs(t|jdd}|j|j|dS)Nrr)rrrRr)rrrrrload_getsz_Unpickler.load_getcCs"|jdd}|j|j|dS)Nrr)rrRr)rrrrrload_bingetsz_Unpickler.load_bingetcCs&td|jd\}|j|j|dS)Nz<Ir)rrrRr)rrrrrload_long_bingetsz_Unpickler.load_long_bingetcCs8t|jdd}|dkr$td|jd|j|<dS)Nrrznegative PUT argumentrr)rrrrQr)rrrrrload_putsz_Unpickler.load_putcCs2|jdd}|dkrtd|jd|j|<dS)Nrrznegative BINPUT argumentr)rrrQr)rrrrrload_binputsz_Unpickler.load_binputcCs6td|jd\}|tkr"td|jd|j|<dS)Nz<Irznegative LONG_BINPUT argumentrr)rrr	rrQr)rrrrrload_long_binputsz_Unpickler.load_long_binputcCs|j}|jd|t|<dS)Nrr)rrQru)rrrrrload_memoizesz_Unpickler.load_memoizecCs$|j}|j}|d}|j|dS)Nrr)rQrUrR)rrQrrrrrload_appendsz_Unpickler.load_appendcCsH|j}|jd}t|tr(|j|n|j}x|D]}||q4WdS)Nrr)rVrQrrextendrR)rrZlist_objrRr2rrrload_appendss


z_Unpickler.load_appendscCs*|j}|j}|j}|d}|||<dS)Nrr)rQrU)rrQrrTrGrrrload_setitems
z_Unpickler.load_setitemcCsD|j}|jd}x,tdt|dD]}||d|||<q$WdS)Nrrrr)rVrQrru)rrrGrrrr
load_setitemss
z_Unpickler.load_setitemscCsH|j}|jd}t|tr(|j|n|j}x|D]}||q4WdS)Nrr)rVrQrr/updateadd)rrZset_objrr2rrr
load_additemss


z_Unpickler.load_additemsc
Cs|j}|j}|d}t|dd}|dk	r6||dSd}t|trXt|dkrX|\}}|r|j}tj}x6|j	D]*\}}	t
|tkr|	|||<qr|	||<qrW|rx |j	D]\}}	t|||	qWdS)Nr__setstate__rr)
rQrUrrrru__dict__rinternrrrsetattr)
rrQrZinstsetstateZ	slotstateZ	inst_dictrr-r.rrr
load_builds(z_Unpickler.load_buildcCs"|jj|jg|_|jj|_dS)N)rPrRrQ)rrrr	load_marksz_Unpickler.load_markcCs|jj}t|dS)N)rQrUr)rrrrr	load_stops
z_Unpickler.load_stopN)rrrr rrVrWrrXrrrvr\rr]rr^rr_rr`rrbINTrcrrdrrerrgrrhrrirrjrrkrrlrnSTRINGro	BINSTRINGrpr
rqrrrrrsrrtrruSHORT_BINSTRINGrvrrwrrxrryrrzTUPLE1r{TUPLE2r}TUPLE3r~rrr(rr0rr5rr rr)rrINSTrOBJrrrrrr@rr?rr;rr<rr=rrrrrrrrrDUPrrrrrrrrrrrrrrrr"rr%rr+rr,rr1rrrrrrrrrrrHs$		
		rHT)rcCst|||dj|dS)N)r)rr)rrrrrrr_dumpsrcCs(tj}t|||dj||j}|S)N)r)rlrmrrgetvalue)rrrryresrrr_dumpssrrIrJ)rrKrLcCst||||djS)N)rrKrL)rHr)rrrKrLrrr_load
srcCs0t|trtdtj|}t||||djS)Nz%Can't load pickle from unicode string)rrKrL)rrrrlrmrHr)srrKrLrrrr_loadss


r)	rr
rrrrrrrcCsddl}|jS)Nr)doctestZtestmod)rrrr_test*srrz$display contents of the pickle files)Zdescriptionpickle_filebr*zthe pickle file)rnargshelpz-tz--test
store_truezrun self-test suite)actionrz-vz)run verbosely; only affects self-test run)N)N)rtypesrcopyregrrrr	itertoolsr	functoolsrrr	Zstructr
rrcrlr
rA__all__r		bytearrayZbytes_typesZformat_versionZcompatible_formatsrr	Exceptionrr
rrZorg.python.corer!r9rrrrrrrrrrrrrrrrrrrrr"rr@r)r(r%rrrrr rrrrrr+rrr,rrrrrr;r<r=rrrrrrrrr
rrrrr0r1r5rr?rrvrdirrhr}rrrrrrHrrrr_picklerrrrrrrrargparseArgumentParserparseradd_argumentZFileType
parse_argsrZtestrZ
print_helppprintryrrrrr<module>s.

$*
-0






OHA YOOOO