
    '}h                         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                 P   t        j                  |       s$t        | t         j                  j                        rt        | t         j                  j                        r| j
                  }| 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_untyped_storagedtypeuint8appendlenhasattr_serialized_reducesgetidr   )objr   r   	importersserialized_dtypesserialized_storagess      L/var/www/html/test/engine/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;	 	6 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_storagesrC   =   s^    . "<
#;\J 2::i+@AI /I#,>>#33F_R Mr#   c                 H    | t         vrt        |       t         | <   t         |    S )N)r5   r   )r)   s    r!   r=   r=   `   s$    &$3J$?j!$$r#   r5   r?   r   r4   )r%   r   torch.packager   r   r   r   torch.package._package_picklerr    torch.package._package_unpicklerr   torch.serializationr	   r.   rC   r=   r5   dict__annotations__r?   r   r4    r#   r!   <module>rL      sV    	  R R 9 = 30f F% t   T  r#   