
    Pg                         U d dl Z d dlZd dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ d Zd Zd Zi Zeed	<   i Zeed
<   i Zeed<   i Zeed<   y)    N)ImporterOrderedImporterPackageImportersys_importer)create_pickler)PackageUnpickler)_maybe_decode_asciic                 Z   g g t        | t        j                  j                        r| nd } | t	        | t
              nt
        fd}t        j                         }t        |      }||_	        |j                  |       |j                         }|| r| j                  fS d fS )Nc                 4   t        j                  |       s$t        | t         j                  j                        rst        | t         j                  j                        r| j
                  }nt         j                  }j                  |        j                  |       dt              dz
  fS t        | d      r_t        j                  t        |             /dt        |       g| j                        t        t        |       <   t        t        |          S y )Nstorage   __reduce_deploy__reduce_deploy)torch
is_storage
isinstancer   TypedStoragedtypeuint8appendlenhasattr_serialized_reducesgetidr   )objr   	importersserialized_dtypesserialized_storagess     T/var/www/html/suriana-translation/venv/lib/python3.12/site-packages/torch/_deploy.pypersistent_idz%_save_storages.<locals>.persistent_id   s    C JsEMM4N4N$O#u}}99: 		&&s+$$U+s#67!;<<3+,"&&r#w/7#sG0 **950#BsG,
 'r#w//    )r   r   packager   r   r   ioBytesIOr   r!   dumpgetvalue
zip_reader)	importerr   r!   data_bufpickler
data_valuer   r   r   s	         @@@r    _save_storagesr-      s    %h0M0MNxTXH#Hl;	 	2 zz|HXy1G)GLL""$J'	  .2	 r"   c                     fd}t        t              t              }nt        }t        |t	        j
                  |            }||_        |j                         x}t        | <   |S )Nc                 >   t        | t              sJ t        | d         }| dd  }|dk(  r?	|d      }|d      }t        j                  j                  |j                         |      S |dk(  r.|\  }}}|t        vr |t        
   g| t        |<   t        |   S y )Nr   r   r   )wrap_storager   r   )	r   tupler	   r   r   r   untyped_loaded_reduces_raw_packages)saved_idtypenamedatar   r   	reduce_idfuncargsr   r   r(   s           r    persistent_loadz'_load_storages.<locals>.persistent_load=   s    (E***&x{3|y  *$q'2G%d1g.E==--$__.e .   &$(!ItT/-1-
2K-Sd-S	*"9--r"   )	r   _get_packager   r   r$   r%   r;   load_deploy_objects)	r   r(   	obj_bytesr   r   r;   r)   	unpicklerresults	    ` ``    r    _load_storagesrB   <   s^    . "<
#;\J 2::i+@AI /I#,>>#33F_R Mr"   c                 H    | t         vrt        |       t         | <   t         |    S )N)r4   r   )r(   s    r    r<   r<   _   s$    &$3J$?j!$$r"   r4   r>   r   r3   )r$   r   torch.packager   r   r   r   torch.package._package_picklerr    torch.package._package_unpicklerr   torch.serializationr	   r-   rB   r<   r4   dict__annotations__r>   r   r3    r"   r    <module>rK      sV    	  R R 9 = 3.b F% t   T  r"   