
    #j                       d dl mZ d dlmZ d dlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZ erddlmZ ddlmZ i dd	d
d	ddddddddddddddddddddddddddddddi dddddddddd d!d d"d d#d$d%d$d&d$d'd$d(d$d)d$d*d+d,d+d-d$d.d$i d/d0d1d2d3d$d4d5d6d5d7d5d8d5d9d5d:d5d;d5d<d5d=d5d>d?d@d?dAd?dBd?dCd?ZdD ZdEadF Z	 d^d_dPZd`dUZ	 	 	 dadbd]ZdES )c    )annotations)deepcopy)TYPE_CHECKING   )	ChunkConcatenate"ErnieFuseAndSplitTextVisionExpertsMergeModulelistPrefixChange	TransposeWeightConverterWeightRenamingWeightTransformPreTrainedModel)HfQuantizerminimaxmixtral
minimax_m2afmoe	qwen2_moedeepseek_v2deepseek_v3dots1ernie4_5_moeglm4_moeglm4_moe_liteglm_moe_dsa	glm4v_moelongcat_flash
solar_open	qwen3_moeqwen3_omni_moeqwen3_omni_moe_thinker
qwen3_nexthunyuan_v1_moe	flex_olmoolmoe
exaone_moe
rt_detr_v2rt_detrpp_doclayout_v2pp_doclayout_v3	paligemmallava
aya_visiongot_ocr2shieldgemma2gemma3internvlllava_next_video
llava_nextllava_onevisionvipllavamistral3
qwen2_5_vlqwen2_vlsam3_tracker_videosam3_trackerpp_chart2tablealtclip_vision_modelclip_vision_modelchinese_clip_vision_modelclipseg_vision_modelmetaclip_2_vision_modelmlcd_visionmlcdsiglip_vision_modelsiglip2_vision_modelxclip_vision_modelclipseg_text_modelclip_text_modelmetaclip_2_text_modelsiglip_text_modelsiglip2_text_modelxclip_text_modelc            %     $   i dt          dd          gdt          dd          t          dd	          t          d
d          t          dd          gdt          dd          t          dd	          t          d
d          t          dd          t          dd          gdt          d          gdt          d          gdt          dd          t          dd	          t          dd          t          dd          t          dd          gdt          dd          t          dd	          t          dd          gdt          dd          t          dd	          t          dd           t          dd          gd!t          d"d#          t          d$d	          t          d%d&          gd't          d(d)          t          d*d+          t          d,d          gd-t          d.d          t          d*d+          gd/t          d0d12          t          d3d4          gd5t          d67          gd8t          d9d:          t          d;d<          t          d=d>          t          d?d@          t          dAdB          t          dCdD          t          dEdF          t          dGdH          gdIt          dJdK          gdLt          dMdN          gdOt          dPdQ          gi dRt          dSdT          t          dUdV          gdWt          dXdY          t          dZd[          gd\t          d]d02          gd^t          d_d`          t          dadb          t          dcdd          gdet          dfdg          t          dhdi          t          djdk          gdlt          dmdn          t          dodpgdqt          drs          t	          dts          gu          t          dvgdwt          drs          gu          gdxt          dydzgd{t          drs          t	          dts          gu          t          d|d}t          drs          gu          gd~t          d{d{t          dtdd          gu          t          d}d}t          dtdd          gu          gdt          dmdn          t          dd          t          dodpgdqt          drs          t	          dts          gu          t          dvdwt          drs          gu          gdt          ddgdt          drs          t	          dts          gu          t          ddt          drs          gu          gdt          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          ddt          drdt          gu          t          ddt          drdt          gu          t          dgddgt          drs          gu          t          dgddgt          drdt          gu          t          ddgddgt          drdt          gu          gdt          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          ddæ          t          ddŦ          t          ddǦ          t          ddɦ          t          dd˦          t          ddͦ          t          ddϦ          t          ddѦ          t          ddӦ          t          ddզ          t          ddצ          gdt          dd          t          dd          t          dd          t          ddڦ          gdg t          dd          t          ddݦ          t          ddߦ          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          dd          t          ddæ          t          ddŦ          t          ddǦ          t          ddɦ          t          dd˦          t          ddͦ          t          ddϦ          t          ddѦ          t          ddӦ          t          ddզ          t          ddצ          dt          dd          t          ddݦ          t          dd          t          dd          gdt          dd          t          dd          t          dd          t          ddڦ          gdt          dd          t          dd          t          dgd t          drs          gu          t          dgdt          drs          gu          gt          ddgdt          drs          t	          dts          gu          t          ddt          drs          gu          gt          dd          t          dd	          t          d
dݦ          t          dd          t          dd          t          dVd          t          dd[          t          dd          t          dgg dt          drs          gu          g	t          dd	          t          dd          t          dg dt          drs          gu          t          ddݬ          t          dd[          t          dd          gt          dd          t          dd          t          dd          t          dd          t          dd           t          d!d"          t          d#d$          t          d%d&          t          d'd(          t          d)d*          t          d+d,          t          d-d.          t          d/d0          t          d1d2          t          d3d4          t          d5d6          t          d7d8          t          d9d:          t          d;d<          t          d=d>          t          d?d@          t          dAdB          t          dCdD          t          dEdF          t          dGdH          t          dIdJ          t          dKdL          t          dMdN          t          dOdP          t          dQdR          gt          dSdT          t          dUdV          t          dWdX          t          dYdZ          t          d[d\          t          d]gg d^t          drs          gu          t          d_gg d`t          drs          gu          t          dadb          t          dcdd          t          dedf          t          dgdh          t          didj          t          dkdl          t          dmdn          t          dodp          t          dqdr          t          dsdt          gt          dudv          t          dwdx          gdy} | dIxx         | dz                                         z  cc<   | dzxx         t          d{d|          t          d}d~          gz  cc<   | dx                                         | d<   | dxx         t          dd          gz  cc<   | dl                                         | d<   | dxx         t          dd          gz  cc<   | dx                                         | d<   | dxx         t          dd          gz  cc<   | dx                                         | d<   | dxx         t          dd          t          dd          t          dd          gz  cc<   | d\                                         | d<   | dxx         | dx                                         z  cc<   | dx                                         | d<   | dxx         t          dd          t          dd          gz  cc<   t          
                                D ]'\  }}|| v r
| |                                         | |<   (| S (  Naltclipzlayer\.zlayers.source_patternstarget_patternsr/   z^language_model.modelzmodel.language_modelz^language_model.lm_headlm_headz^vision_towerzmodel.vision_towerz^multi_modal_projectorzmodel.multi_modal_projectorr6   z^image_newlinezmodel.image_newliner@   vision_model)prefix_to_removerJ   
text_modelvideo_llavaz^image_towerzmodel.image_towerz^video_towerzmodel.video_towerfuyuz^vision_embed_tokenszmodel.vision_embed_tokensmllamaz^vision_modelzmodel.vision_modelemu3z^text_model.modelzmodel.text_modelz^text_model.lm_headz^vqmodelzmodel.vqmodelpaddleocr_vlz^mlp_ARzmodel.projectorz^visualzmodel.visualz1^model(?!(\.visual|\.projector|\.language_model))r;   z((?<!_)model(?!\.(language_model|visual))colqwen2modelvlm)rV   model_prefixz vlm(?!\.(language_model|visual))zvlm.language_modeltimm_wrapper
timm_model)prefix_to_addpi0
state_projzembed_action_time.state_projaction_in_projz embed_action_time.action_in_projaction_time_mlp_inz$embed_action_time.action_time_mlp_inaction_time_mlp_outz%embed_action_time.action_time_mlp_outz&^paligemma_with_expert.paligemma.modelz	model.vlmz)^paligemma_with_expert.gemma_expert.modelz	model.ditz+^paligemma_with_expert.gemma_expert.lm_headzmodel.dit.embed_tokensz(^paligemma_with_expert.paligemma.lm_headz%model.vlm.language_model.embed_tokensesmz9encoder.layer.*.attention.self.rotary_embeddings.inv_freqzrotary_embeddings.inv_freqdinov3_convnextz(?<!model\.)stageszmodel.stages
dinov3_vitz(?<!model\.)layer.zmodel.layer.
timesfm2_5ff0fc1ff1fc2olmo_hybridattention_layer_norminput_layernormfeedforward_layer_normpost_attention_layernormqwen3_5_textlanguage_modelr=   z'detector_model.vision_encoder.backbone.zvision_encoder.backbone.ztracker_neck.zvision_encoder.neck.ztracker_model.(.+)z\1t5gemma2_encoderz-(?<!decoder\.)(?<!text_model\.)embed_tokens\.ztext_model.embed_tokens.z5(?<!decoder\.)(?<!text_model\.)(?<!layer)(?<!_)norm\.ztext_model.norm.zA(?<!vision_model.encoder\.)(?<!decoder\.)(?<!text_model\.)layers.ztext_model.layers.r   z.block_sparse_moe.z.mlp.z.experts.*.w1.weightz.experts.*.w3.weightz.experts.gate_up_projr   )dimr   )rR   rS   
operationsz.experts.*.w2.weightz.experts.down_projr   zmlp.experts.*.gate_proj.weightzmlp.experts.*.up_proj.weightzmlp.experts.gate_up_projzmlp.experts.*.down_proj.weightzmlp.experts.down_projqwen3_vl_moe   T)
check_dimsphimoez.gate.weightz.router.weightlfm2_moez feed_forward.experts.*.w1.weightz feed_forward.experts.*.w3.weightz!feed_forward.experts.gate_up_projz feed_forward.experts.*.w2.weightzfeed_forward.experts.down_projernie4_5_vl_moevision_towerzspatial_linear.0zspatial_linear.fc1zspatial_linear.2zspatial_linear.fc2zspatial_linear.3zspatial_linear.lnztemporal_linear.0ztemporal_linear.fc1ztemporal_linear.2ztemporal_linear.fc2ztemporal_linear.3ztemporal_linear.lnz!(?<!language_model\.)embed_tokenszlanguage_model.embed_tokensz(?<!language_model\.)layerszlanguage_model.layersz(?<!_)(?<!\w)norm\.zlanguage_model.norm.zmlp.gate.weight_1zmlp.vision_moe.gate.weight)dim0dim1zmlp.gate.weightzmlp.text_moe.gate.weightz'mlp.moe_statics.e_score_correction_biasz5mlp.text_moe.gate.moe_statics.e_score_correction_biasz7mlp.vision_moe.gate.moe_statics.e_score_correction_biaszexperts.*.down_proj.weightztext_moe.experts.down_projzvision_moe.experts.down_proj)	stack_dim
concat_dimzexperts.*.gate_proj.weightzexperts.*.up_proj.weightztext_moe.experts.gate_up_projzvision_moe.experts.gate_up_projdetrzbackbone.conv_encoderbackboneout_projo_projzlayers.(\d+).fc1zlayers.\1.mlp.fc1zlayers.(\d+).fc2zlayers.\1.mlp.fc2zbbox_attention.q_linearzbbox_attention.q_projzbbox_attention.k_linearzbbox_attention.k_projzmask_head.lay1zmask_head.conv1.convzmask_head.gn1zmask_head.conv1.normzmask_head.lay2zmask_head.conv2.convzmask_head.gn2zmask_head.conv2.normzmask_head.adapter1z"mask_head.fpn_stages.0.fpn_adapterzmask_head.lay3z"mask_head.fpn_stages.0.refine.convzmask_head.gn3z"mask_head.fpn_stages.0.refine.normzmask_head.adapter2z"mask_head.fpn_stages.1.fpn_adapterzmask_head.lay4z"mask_head.fpn_stages.1.refine.convzmask_head.gn4z"mask_head.fpn_stages.1.refine.normzmask_head.adapter3z"mask_head.fpn_stages.2.fpn_adapterzmask_head.lay5z"mask_head.fpn_stages.2.refine.convzmask_head.gn5z"mask_head.fpn_stages.2.refine.normzmask_head.out_layzmask_head.output_convr+   zencoder.encoder.(\d+).layerszencoder.aifi.\1.layersconditional_detrzself_attn.out_projzself_attn.o_projzencoder_attn.out_projzencoder_attn.o_projz%decoder.layers.(\d+).sa_qcontent_projz*decoder.layers.\1.self_attn.q_content_projz!decoder.layers.(\d+).sa_qpos_projz&decoder.layers.\1.self_attn.q_pos_projz%decoder.layers.(\d+).sa_kcontent_projz*decoder.layers.\1.self_attn.k_content_projz!decoder.layers.(\d+).sa_kpos_projz&decoder.layers.\1.self_attn.k_pos_projzdecoder.layers.(\d+).sa_v_projz"decoder.layers.\1.self_attn.v_projz%decoder.layers.(\d+).ca_qcontent_projz-decoder.layers.\1.encoder_attn.q_content_projz!decoder.layers.(\d+).ca_qpos_projz)decoder.layers.\1.encoder_attn.q_pos_projz%decoder.layers.(\d+).ca_kcontent_projz-decoder.layers.\1.encoder_attn.k_content_projz!decoder.layers.(\d+).ca_kpos_projz)decoder.layers.\1.encoder_attn.k_pos_projzdecoder.layers.(\d+).ca_v_projz%decoder.layers.\1.encoder_attn.v_projz&decoder.layers.(\d+).ca_qpos_sine_projz.decoder.layers.\1.encoder_attn.q_pos_sine_projdeformable_detrd_finezlayers.\1.mlp.layers.0zlayers.\1.mlp.layers.1
nemotron_hz	backbone.zmodel.zembedding.weightzembeddings.weightzmixer.experts.*.up_proj.weightzmixer.experts.up_projz mixer.experts.*.down_proj.weightzmixer.experts.down_projz'feed_forward.experts.*.gate_proj.weightz%feed_forward.experts.*.up_proj.weightz'feed_forward.experts.*.down_proj.weightzencoder.layerslayersemb_lnzembeddings.LayerNormzattn.out_projfc11up_projfc12	gate_proj	down_projnorm1norm2post_mlp_layernormz	attn.Wqkv)zself_attn.q_projzself_attn.k_projzself_attn.v_projz
mixer.Wqkvzmixer.out_projzencoder\.pre_encode\.conv\.zencoder.subsampling.layers.zencoder\.pre_encode\.out\.zencoder.subsampling.linear.z7transf_decoder\._embedding\.position_embedding\.pos_enczdecoder.pos_emb.weightz+transf_decoder\._embedding\.token_embeddingzdecoder.embed_tokensz&transf_decoder\._embedding\.layer_normzdecoder.embedding_layernormz*transf_decoder\._decoder\.final_layer_normzdecoder.normz transf_decoder\._decoder\.layerszdecoder.layerszencoder_decoder_proj\.zdecoder.proj.z"encoder\.(.+)\.self_attn\.linear_qzencoder.\1.self_attn.q_projz"encoder\.(.+)\.self_attn\.linear_kzencoder.\1.self_attn.k_projz"encoder\.(.+)\.self_attn\.linear_vzencoder.\1.self_attn.v_projz$encoder\.(.+)\.self_attn\.linear_outzencoder.\1.self_attn.o_projz$encoder\.(.+)\.self_attn\.linear_posz$encoder.\1.self_attn.relative_k_projz$encoder\.(.+)\.self_attn\.pos_bias_uzencoder.\1.self_attn.bias_uz$encoder\.(.+)\.self_attn\.pos_bias_vzencoder.\1.self_attn.bias_vz)decoder\.(.+)\.first_sub_layer\.query_netzdecoder.\1.self_attn.q_projz'decoder\.(.+)\.first_sub_layer\.key_netzdecoder.\1.self_attn.k_projz)decoder\.(.+)\.first_sub_layer\.value_netzdecoder.\1.self_attn.v_projz.decoder\.(.+)\.first_sub_layer\.out_projectionzdecoder.\1.self_attn.o_projz\.second_sub_layer\.query_netz.encoder_attn.q_projz\.second_sub_layer\.key_netz.encoder_attn.k_projz\.second_sub_layer\.value_netz.encoder_attn.v_projz"\.second_sub_layer\.out_projectionz.encoder_attn.o_projz\.third_sub_layer\.dense_inz.mlp.fc1z\.third_sub_layer\.dense_outz.mlp.fc2z\.layer_norm_1\.z.input_layernorm.z\.layer_norm_2\.z.post_attention_layernorm.z\.layer_norm_3\.z.final_layernorm.z\.conv\.batch_normz
.conv.normzlog_softmax\.mlp\.layer0proj_outz^vision_model\.zmodel\.vision_tower\.zencoder\.layers\.zlayers\.z\.ls1z
\.lambda_1z\.ls2z
\.lambda_2z(layers\.\d+)\.attn\.proj\.z\1.attention.projection_layer.zattn.qkv.weight)zattention.q_proj.weightzattention.k_proj.weightzattention.v_proj.weightzattn.qkv.bias)zattention.q_proj.biaszattention.k_proj.biaszattention.v_proj.biasz	\.norm1\.z\.layernorm_before\.z	\.norm2\.z\.layernorm_after\.z\.embeddings\.class_embeddingz\.embeddings\.cls_tokenz \.embeddings\.position_embeddingz!\.embeddings\.position_embeddingsz\.embeddings\.patch_embedding\.z,\.embeddings\.patch_embeddings\.projection\.z^language_model\.model\.zmodel\.language_model\.z^language_model\.lm_head\.z	lm_head\.z
^mlp1\.0\.z*model\.multi_modal_projector\.layer_norm\.z
^mlp1\.1\.z(model\.multi_modal_projector\.linear_1\.z
^mlp1\.3\.z(model\.multi_modal_projector\.linear_2\.zLayerNorm.gammazLayerNorm.weightzLayerNorm.betazLayerNorm.bias)jamba
nomic_bertjina_embeddings_v3
cohere_asrqianfan_ocrlegacyr   z
.weight_g$z".parametrizations.weight.original0z
.weight_v$z".parametrizations.weight.original1r   z,mlp.gate.moe_statics.e_score_correction_biasr   z).block_sparse_moe.e_score_correction_biasz.mlp.e_score_correction_biasr)   zmlp.e_score_correction_biasz mlp.gate.e_score_correction_biashy_v3zmlp\.router\.gate\.weightzmlp\.expert_biaszmlp\.shared_mlp\.zmlp.shared_experts.qwen3_5_moe_textlagunaz#mlp.experts.e_score_correction_biaszmlp.shared_expert.)r   r   r   r
   r   r   r   r	   copy_MODEL_TO_CONVERSION_PATTERNitems)mapping
model_typebase_patterns      i/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/transformers/conversion_mapping.py$_build_checkpoint_conversion_mappingr   _   s*   X:yQQQ
X 	+CUklll+EW`aaa+;Mabbb+DVsttt	
	X 	+CUklll+EW`aaa+;Mabbb+DVsttt+<Ncddd
X" 	lNKKKL#X$ 	L,GGGH%X& 	+CUklll+EW`aaa?L_```?L_```+DVsttt
'X4 	+CUklll+EW`aaa+BToppp
5X> 	+CUklll+EW`aaa+;Mabbb+DVsttt	
?XJ 	+?Qcddd+AS\]]];XXX
KXT 	:GXYYY:~VVV T 6  
UXd 	 K]s   :~VVV	
eXp 	'FFF+N`tuuu
qXx 	LAAAByXz 	=Jhiii+<Npqqq 5Gm    6Ho   +Tfqrrr+Wituuu N 8    K G  !
{Xd 	K, 
eXp 	N+@/RRSqXr 	~&;_MMNsX Xt 	5%((5%((
uX| 	13DEE35OPP
}XD 	7GV]^^^_EXF 	 J\v   +;Mcddd+@RWXXX
GXV 	KMghhSUghh_auvv
WX` 	/99**! !8#    A&&&	   *! !5#  
 
 

aXV 	42! !;+222KA4F4F4FG    @ 7+2223  
WXt 	 : :%at<<<=  
  7 7%at<<<=  
uXL 	/99>+;<<**! !8+222KA4F4F4FG    6 4+2223  
MXn 	66! !D+222KA4F4F4FG    B @+2223  
oXL 	>>::-/CDD-/CDD-/BCC.0EFF.0EFF.0DEE?A^__9;RSS13IJJ 3 <%115556  
  1 :%115556  
 !J KKM! "aLLL>   != >02! ?WXYYYZ   0.!
 45! ?WXYYYZ
 
 
Q3
MXt 	2J??:x00.0DEE.0DEE46MNN46MNN+-CDD?,BCC+-CDD?,BCC/1UVV+-QRR?,PQQ/1UVV+-QRR?,PQQ/1UVV+-QRR?,PQQ.0GHH-
uXd 	:x00.0DEE.0DEE:<UVV	
eXp 	 '
2J??'
/1CDD'
 24IJJ'
 .0DEE	'

 .0DEE'
 CErss'
 ?Ajkk'
 CErss'
 ?Ajkk'
 <>cdd'
 CEuvv'
 ?Amnn'
 CEuvv'
  ?Amnn!'
" <>fgg#'
$ 9;l %'
, 46MNN-'
. 46MNN/'
2 +-CDD3'
4 ?,BCC5'
6 +-CDD7'
8 ?,BCC9'
: /1UVV;'
< +-QRR='
> ?,PQQ?'
@ /1UVVA'
B +-QRRC'
D ?,PQQE'
F /1UVVG'
H +-QRRI'
J ?,PQQK'
L .0GHHM'
qX@
 	2J??/1CDD.0DEE.0DEE	
A
XL
 	:x00.0IJJ.0IJJ:<UVV	
M
XX
 	;11-/BCC4! !8+2223   6! !:+2223  
Y
X X~
 =;! !D+222KA4F4F4FG    I @+2223  
  ,i889&=>>+-@AA7J//7L116<008%@AA%  !,! ! !
 "aLLL>  
. 8E[\\\+;XVVV ,! ! !
 "aLLL>   +;M_```7D^___7DXYYY
" 9;YZZ8:XYYUWpqqIKbccDFdeeH/ZZ>@QRR46FGG@B`aa@B`aa@B`aaBDbccBDkllBDbccBDbccGIghhEGeffGIghhLNlmm;=TUU9;RSS;=TUU@BYZZ9;GG:KHH.0DEE.0MNN.0DEE0-@@6DD=
B -/GHH/==8]338]339;\]]!2 3 q q q!aLLL>  
 !0 1 k k k!aLLL>  
 <)@AA<)?@@;=WXX>@dee=?noo68RSS8,GG=*WXX=*UVV=*UVV3
8  1 2    0 0  	
]X X XGt ENNNgh',,...NNNH(@	
 	
 	
 	(@	
 	
 	
	 	 &k27799GNN@Bpqq   $I.3355GLLBDbcc  $K05577GLLn-JLnoopp {+0022GGG'CUfggg':Lijjj';Mbccc 
 #*."9">">"@"@G7;#7#<#<#>#>>,1133GHH<>`aa+-BCC 
 %A$F$F$H$H ; ; 
L  %l388::
N    Nc                z    t           t                      a t          t                               |                     S )N)$_checkpoint_conversion_mapping_cacher   r   get)r   s    r   !get_checkpoint_conversion_mappingr   n  s1    +3/S/U/U,8<<ZHHIIIr   Fr   strr   &list[WeightConverter | WeightRenaming]	overwriteboolreturnNonec                    t           t                      a | t           v r|st          d|  d          |t           | <   d S )NzModel type z5 already exists in the checkpoint conversion mapping.)r   r   
ValueError)r   r   r   s      r   &register_checkpoint_conversion_mappingr   u  sR     ,3/S/U/U,999)9hzhhhiii7>(444r   r^   r   r`   list[WeightTransform] | Nonec                    t          | j        dd           }|[t          |          }|H|dk    rBt          |          D ]2\  }}t	          |t
                    r|                    |          ||<   3|S d S )Nr    )getattrconfigr   	enumerate
isinstancer   with_submodel_prefix)r^   r`   r   model_specific_conversionsi
conversions         r   $extract_weight_conversions_for_modelr     s    |T::J%Fz%R%R"%1lb6H6H!*+E!F!F b b:j,77 b4>4S4ST`4a4a.q1))4r   Tkey_mappingdict[str, str] | Nonehf_quantizerHfQuantizer | None
add_legacylist[WeightTransform]c                   ddl m} g }|d |                                D             }t                      }|                                 D ]i\  }}t          ||          rT|j        j        |vrFt          ||          }	|	4|	                    |	           |
                    |j        j                   j|r"|	                    t          d                     |'|	                    |                                           |S )z
    For a given `model`, obtain the weight conversion mapping if any are registered either as a simple renaming
    `_checkpoint_conversion_mapping` class argument, or in the general WeightConverter mapping.
    r   r   Nc                6    g | ]\  }}t          ||           S )rQ   )r   ).0kvs      r   
<listcomp>z0get_model_conversion_mapping.<locals>.<listcomp>  s-    sssW[WXZ[nQPQRRRsssr   r   )modeling_utilsr   r   setnamed_modulesr   r   r   r   extendaddr   get_weight_conversions)
r^   r   r   r   r   weight_conversionsseen_model_typesname	submoduleconversionss
             r   get_model_conversion_mappingr     s0    0/////  ss_j_p_p_r_rsss uu ..00 B Bii11 	Bi6F6QYi6i6i>y$OOK&"))+666 $$Y%5%@AAA O!!"CH"M"MNNN !!,"E"E"G"GHHHr   )F)r   r   r   r   r   r   r   r   )r^   r   r`   r   r   r   )NNT)
r^   r   r   r   r   r   r   r   r   r   )
__future__r   r   r   typingr   core_model_loadingr   r   r	   r
   r   r   r   r   r   r   r   
quantizersr   r   r   r   r   r   r   r    r   r   <module>r      s   # " " " " "                  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  (//////''''''6 y6  )6 
 [6  ;6  ;6  [6  K6  6  [6  ;6  6  [6  +6   !6 " k#6 $ k%6 & +'6  6 ( k)6 * +6 , [-6 . +/6 0 )16 2 y36 4 y56 6 76 8 '96 : ;6 < G=6 > g?6 @ A6 B C6 D |E6 F G6 H I6  6  6 J *K6 L .M6 N gO6 P /Q6 R  !4S6 T /U6 V 2W6 X &Y6 Z [6 \ .]6 ^ /_6 ` -a6 b +c6 d .e6 f *g6 h +i6 j )k6  6  rI I IX (, $J J J 
? 
? 
? 
? 
?     *.'+	& & & & & & &r   