
    Vh                     R   d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ g dZ	 G d d      Z
 G d d      Z G d d	ej                        Zdd
Zedk(  rQ	 e
j                   ej"                  j$                  e
j&                  <    e j(                   ee j*                               yy)    N)AnyIO)
FakeObject	FakeClassDumpUnpicklermainc                   .    e Zd Zd Zd Zd Zed        Zy)r   c                 <    || _         || _        || _        d | _        y N)modulenameargsstate)selfr   r   r   s       G/home/dcms/DCMS/lib/python3.12/site-packages/torch/utils/show_pickle.py__init__zFakeObject.__init__   s    		
    c                     | j                   dnd| j                   d}| j                   d| j                   | j                  | S )N z(state=).)r   r   r   r   )r   	state_strs     r   __repr__zFakeObject.__repr__   sD    **,BGDJJ>2K	++a		{499-	{CCr   c                     || _         y r   )r   )r   r   s     r   __setstate__zFakeObject.__setstate__   s	    
r   c           	      \   |j                   s'|j                  |j                  t        |             y |j                  Q|j                  |j                   d|j
                          | j                  |j                   ||dz   |dz   ||       y |j                   s|j                  |j                   d|j
                   d       || j                  z  }|j                  d|z         | j                  |j                  |||dz   ||dz          |j                  d       y t        d      )Nr      z
()(state=
 r   zNeed to implement)	r   r   writereprr   r   _format_indent_per_level	Exception)printerobjstreamindent	allowancecontextlevels          r   	pp_formatzFakeObject.pp_format   s    xxCII-LLc#99LLCJJ<q
34OOCHHffqj)a-RWXxxLLCJJ<q
+>?g///FLLv&OOCIIvvy1}guWXyYLL+,,r   N)__name__
__module____qualname__r   r   r   staticmethodr+    r   r   r   r      s&    D - -r   r   c                   $    e Zd Zd Zd Zd Zd Zy)r   c                 B    || _         || _        | j                  | _        y r   )r   r   fake_new__new__r   r   r   s      r   r   zFakeClass.__init__0   s    	}}r   c                 8    | j                    d| j                   S )Nr   )r   r   )r   s    r   r   zFakeClass.__repr__5   s    ++a		{++r   c                 D    t        | j                  | j                  |      S r   r   r   r   r   r   s     r   __call__zFakeClass.__call__8   s    $++tyy$77r   c                 J    t        | j                  | j                  |dd        S )Nr   r8   r9   s     r   r3   zFakeClass.fake_new;   s    $++tyy$qr(;;r   N)r,   r-   r.   r   r   r:   r3   r0   r   r   r   r   /   s    %
,8<r   r   c                        e Zd Zdd fd
Zd Zd Z eej                  j                        Z	d Z
e
e	ej                  d   <   ed        Z xZS )	r   F)catch_invalid_utf8c                4    t        |   |fi | || _        y r   )superr   r=   )r   filer=   kwargs	__class__s       r   r   zDumpUnpickler.__init__@   s     	(("4r   c                     t        ||      S r   )r   r5   s      r   
find_classzDumpUnpickler.find_classI   s    &&r   c                     t        dd|f      S )Npersr%   )r   )r   pids     r   persistent_loadzDumpUnpickler.persistent_loadL   s    &%#00r   c                 b   t        j                  d| j                  d            \  }|t        j                  kD  rt        d      | j                  |      }	 t        |dd      }| j                  |       y # t        $ r.}| j                  s t        ddt        |      f      }Y d }~Dd }~ww xY w)Nz<I   zString too long.zutf-8surrogatepassbuiltinUnicodeDecodeError)structunpackreadsysmaxsizer#   strrM   r=   r   append)r   strlen	str_bytesr%   exns        r   load_binunicodezDumpUnpickler.load_binunicodeU   s    --diil3CKK.//IIf%		Ki/:C
 	C	 " 	K**Y(<s3xkJC	Ks   A7 7	B. $B))B.r   c                 `     | |      j                         }t        j                  ||       |S )N)r&   )loadpprint)cls	in_stream
out_streamvalues       r   dumpzDumpUnpickler.dumpd   s'    I##%eJ/r   )r,   r-   r.   r   rD   rH   dictpickle
_UnpicklerdispatchrX   
BINUNICODEclassmethodr`   __classcell__)rB   s   @r   r   r   ?   s]    
  %	5'1 F%%../H &5HVq!" r   r   c                    t        |       dk7  r|t        d      t        j                  j	                  d       t        j                  j	                  d       t        j                  j	                  d       t        j                  j	                  d       t        j                  j	                  d       t        j                  j	                  d       t        j                  j	                  d	       y| d
   }d|vr,t        |d      5 }t        j                  ||       d d d        y |j                  dd
      \  }}t        j                  |      5 }d|vr1|j                  |      5 }t        j                  ||       d d d        n~d}|j                         D ]V  }t        j                  |j                  |      s$|j                  |      5 }t        j                  ||       d d d        d} n |st        d| d|       d d d        y # 1 sw Y   y xY w# 1 sw Y   xY w# 1 sw Y   BxY w# 1 sw Y   y xY w)N   zPass argv of length 2.zusage: show_pickle PICKLE_FILE
z  PICKLE_FILE can be any of:
z    path to a pickle file
z    file.zip@member.pkl
z    file.zip@*/pattern.*
z'      (shell glob pattern for members)
z'      (only first match will be shown)
r   @rb*FTzCould not find member matching z in )lenr#   rQ   stderrr   openr   r`   splitzipfileZipFileinfolistfnmatchfilename)	argvoutput_streamfnamehandlezfnamemnamezffoundinfos	            r   r   r   k   s   
4yA~$455

;<

9:

67

45

56

CD

CDGE
%% 	6&v}5	6 	6 C+__V$ 	[%WWU^ >v!&&v}=> > KKM Dt}}e<WWT] Ff)..v}EF $ #&EeWDQWPX$YZZ	[ 	[		6 	6> >F F	[ 	[sN   HH6+H>H6H6H*) H6HH'	#H6*H3/H66H?__main__r   )rQ   rb   rN   r[   rq   rt   typingr   r   __all__r   r   rc   r   r   r,   r+   PrettyPrinter	_dispatchr   exitrv   r0   r   r   <module>r      s          
>- -D< < )F%% )X"[J z >H>R>R&&z':':;CHHT#((^ r   