
    ¯wg1                     Z   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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BinaryIOUnion)
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       \/home/mcse/projects/flask/flask-venv/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   r:   r;   s     r   r5   zFakeClass.fake_new;   s    $++tyy$qr(;;r   N)r.   r/   r0   r   r   r<   r5   r2   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   r7   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%   strrO   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/   r0   r   rF   rJ   dictpickle
_UnpicklerdispatchrZ   
BINUNICODEclassmethodrb   __classcell__)rD   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%   rS   stderrr!   openr	   rb   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   )rS   rd   rP   r]   rs   rv   typingr   r   r   r   __all__r   r   re   r	   r
   r.   r-   PrettyPrinter	_dispatchr   exitrx   r2   r   r   <module>r      s          + +
>- -D< < )F%% )X"[J z >H>R>R&&z':':;CHHT#((^ r   