
    |j                     `    d dl mZ g Zd Z G d d          Ze G d d                      ZdS )   )corec                      i  fd}|S )Nc                  2    vr | i |<            S N )argskargs	_instanceclss     g/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddle/utils/op_version.py
_singletonzSingleton.<locals>._singleton   s0    i S$0%00IcN~    r   )r   r   r
   s   ` @r   	Singletonr      s/    I     
 r   c                       e Zd Zd ZddZdS )OpUpdateInfoHelperc                     || _         d S r   )_info)selfinfos     r   __init__zOpUpdateInfoHelper.__init__    s    


r    c                     d}t           j        dt           j        di}|dk    rd}nQt          | j                  |v r; t          | j        |t          | j                                                 |k    rd}|S )NFnamer   T)r   
OpAttrInfoOpInputOutputInfotyper   getattr)r   r   result	key_funcss       r   verify_key_valuez#OpUpdateInfoHelper.verify_key_value#   s|    OV"F
	 2::FF$***?wtz9T$*-=-=#>??AATIIr   N)r   )__name__
__module____qualname__r   r    r   r   r   r   r      s7               r   r   c                   :    e Zd Zd Zd Zej        j        dfdZdS )OpLastCheckpointCheckerc                 l    t          j                    | _        i | _        |                                  d S r   )r   get_op_version_mapraw_version_mapcheckpoints_map_construct_map)r   s    r   r   z OpLastCheckpointChecker.__init__3   s3    #688!r   c                     | j         D ]W}| j         |                                         d         }|                                                                }|| j        |<   Xd S )N)r(   checkpointsversion_descinfosr)   )r   op_namelast_checkpointr/   s       r   r*   z&OpLastCheckpointChecker._construct_map8   si    + 	2 	2G"27;GGII"MO#002288::E,1D ))	2 	2r   r   c                 L   g }|| j         v r| j         |         D ]}|                                |k    s|t          j        j        k    r[t          |                                                              |          r'|                    |                                           |S r   )	r)   r   r   OpUpdateTypekInvalidr   r   r    append)r   r0   r   keyupdatesupdates         r   filter_updatesz&OpLastCheckpointChecker.filter_updates>   s    d***.w7 6 6KKMMT))D-666)&++--88II#NN 6v{{}}555r   N)	r!   r"   r#   r   r*   r   r3   r4   r9   r   r   r   r%   r%   1   sS          
2 2 2 ,0+<+E2 	 	 	 	 	 	r   r%   N)baser   __all__r   r   r%   r   r   r   <module>r<      s         
         $          r   