§
    ‚Štjs  ã                   óü   — d dl mZ d dlmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZ  e
d	¬
¦  «        e G d„ dee¦  «        ¦   «         ¦   «         Z e
d	¬
¦  «        e G d„ de¦  «        ¦   «         ¦   «         ZddgZdS )é    )ÚSequence)Ústricté   )ÚBackboneConfigMixinÚ%consolidate_backbone_kwargs_to_config)ÚPreTrainedConfig)Úauto_docstringé   )Ú
AutoConfigzPaddlePaddle/UVDoc_safetensors)Ú
checkpointc                   óL  ‡ — e Zd ZU dZdZdZee         dz  ed<   dZ	ee
         dz  ed<   dZeee
         ee
df         z           ed<   d	Zeeee
e
e
ef         ee
ez           z                    ed
<   dZeeee
df         ee
         z                    ed<   dZe
ed<   ˆ fd„Zˆ xZS )ÚUVDocBackboneConfiga˜  
    resnet_head (`Sequence[list[int] | tuple[int, ...]]`, *optional*, defaults to `((3, 32), (32, 32))`):
        Configuration for the ResNet head layers in format [in_channels, out_channels].
    resnet_configs (`Sequence[Sequence[tuple[int, int, int, bool] | list[int | bool]]]`, *optional*, defaults to `(((32, 32, 1, False),
        (32, 32, 3, False), (32, 32, 3, False)), ((32, 64, 1, True), (64, 64, 3, False), (64, 64, 3, False), (64, 64, 3, False)), ((64, 128, 1, True),
        (128, 128, 3, False), (128, 128, 3, False), (128, 128, 3, False), (128, 128, 3, False), (128, 128, 3, False)))`):
        Configuration for the ResNet stages in format [in_channels, out_channels, dilation_value, downsample].
    stage_configs (Sequence[Sequence[tuple[int, ...] | list[int]]], *optional*, defaults to `(((128, 1),), ((128, 2),),
        ((128, 5),), ((128, 8),(128, 3),(128, 2),), ((128, 12), (128, 7), (128, 4),), ((128, 18), (128, 12), (128, 6),),)`):
        Configuration for the bridge module stages in format [in_channels, dilation_value].
        Each inner sequence corresponds to a single bridge block, and the outer sequence groups blocks by bridge stage.
    Úuvdoc_backboneNÚ_out_featuresÚ_out_indices))r   é    )r   r   .Úresnet_head)))r   r   é   F©r   r   r   Fr   ))r   é@   r   T©r   r   r   Fr   r   ))r   é€   r   T©r   r   r   Fr   r   r   r   Úresnet_configs)))r   r   )©r   r
   ))r   é   ))r   é   )r   r   r   )©r   é   )r   é   )r   é   ))r   é   r   )r   é   Ústage_configsr   Úkernel_sizec                 óT  •— d„ | j         D ¦   «         | _        dgd„ t          dt          | j         ¦  «        dz   ¦  «        D ¦   «         z   | _        |                      |                     dd ¦  «        |                     dd ¦  «        ¬¦  «          t          ¦   «         j        di |¤Ž d S )	Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS © )Úlen)Ú.0Ústagess     úk/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/uvdoc/configuration_uvdoc.pyú
<listcomp>z5UVDocBackboneConfig.__post_init__.<locals>.<listcomp>h   s   € ÐDÐDÐD v•s˜6‘{”{ÐDÐDÐDó    Ústemc                 ó   — g | ]}d |› �‘ŒS )Ústager(   )r*   Úidxs     r,   r-   z5UVDocBackboneConfig.__post_init__.<locals>.<listcomp>i   s   € Ð&fÐ&fÐ&f¸ }¨s } }Ð&fÐ&fÐ&fr.   r   Úout_indicesÚout_features)r3   r4   r(   )	r$   ÚdepthsÚranger)   Ústage_namesÚ"set_output_features_output_indicesÚpopÚsuperÚ__post_init__©ÚselfÚkwargsÚ	__class__s     €r,   r;   z!UVDocBackboneConfig.__post_init__g   s¹   ø€ ØDÐD°Ô1CÐDÑDÔDˆŒØ"˜8Ð&fÐ&fÅÀaÍÈTÔM_ÑI`ÔI`ÐcdÑIdÑ@eÔ@eÐ&fÑ&fÔ&fÑfˆÔØ×/Ò/ØŸ
š
 =°$Ñ7Ô7ÀfÇjÂjÐQ_ÐaeÑFfÔFfð 	0ñ 	
ô 	
ð 	
ð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r.   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer   ÚlistÚstrÚ__annotations__r   Úintr   r   Útupler   Úboolr$   r%   r;   Ú__classcell__©r?   s   @r,   r   r       s0  ø€ € € € € € ðð ð "€Jà&*€M�4˜”9˜tÑ#Ð*Ð*Ñ*Ø%)€L�$�s”)˜dÑ"Ð)Ð)Ñ)ð:€K�˜$˜sœ) e¨C°¨H¤oÑ5Ô6ð ð ñ ð
Y€N�H˜X e¨C°°c¸4Ð,?Ô&@À4ÈÈdÉ
ÔCSÑ&SÔTÔUð ð ñ ð,F€M�8˜H U¨3°¨8¤_°t¸C´yÑ%@ÔAÔBð ð ñ ð* €K�ÐÐÑð(ð (ð (ð (ð (ð (ð (ð (ð (r.   r   c                   óà   ‡ — e Zd ZU dZdZdeiZdZee	z  dz  e
d<   dZee
d<   dZee
d<   d	Zee
d
<   dZee         eedf         z  e
d<   dZeee         eedf         z           e
d<   ˆ fd„Zˆ xZS )ÚUVDocConfiga»  
    padding_mode (`str`, *optional*, defaults to `"reflect"`):
        Padding mode for convolutional layers. Supported modes are `"reflect"`, `"constant"`, and `"replicate"`.
    kernel_size (`int`, *optional*, defaults to 5):
        Kernel size for convolutional layers in the backbone network.
    bridge_connector (`list[int] | tuple[int, ...]`, *optional*, defaults to `(128, 128)`):
        Configuration for the bridge connector in format [in_channels, out_channels].
    out_point_positions2D (`Sequence[list[int] | tuple[int, ...]]`, *optional*, defaults to `((128, 32), (32, 2))`):
        Configuration for the output point positions 2D layer in format [in_channels, out_channels].
    ÚuvdocÚbackbone_configNÚpreluÚ
hidden_actÚreflectÚpadding_moder   r%   )r   r   .Úbridge_connector))r   r   )r   r
   Úout_point_positions2Dc                 ór   •— t          d| j        ddœ|¤Ž\  | _        } t          ¦   «         j        di |¤Ž d S )Nr   )rP   Údefault_config_typer(   )r   rP   r:   r;   r<   s     €r,   r;   zUVDocConfig.__post_init__ˆ   s\   ø€ Ý'Lð (
Ø Ô0Ø 0ð(
ð (
ð ð(
ð (
Ñ$ˆÔ˜fð
 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r.   )r@   rA   rB   rC   rD   r   Úsub_configsrP   Údictr   rG   rR   rF   rT   r%   rH   rU   rE   rI   rV   r   r;   rK   rL   s   @r,   rN   rN   p   sé   ø€ € € € € € ð	ð 	ð €JØ$ jÐ1€KØ6:€O�TÐ,Ñ,¨tÑ3Ð:Ð:Ñ:à€J�ÐÐÑØ!€L�#Ð!Ð!Ñ!Ø€K�ÐÐÑØ4>Ð�d˜3”i %¨¨S¨¤/Ñ1Ð>Ð>Ñ>ØCWÐ˜8 D¨¤I°°c¸3°h´Ñ$?Ô@ÐWÐWÑWð(ð (ð (ð (ð (ð (ð (ð (ð (r.   rN   N)Úcollections.abcr   Úhuggingface_hub.dataclassesr   Úbackbone_utilsr   r   Úconfiguration_utilsr   Úutilsr	   Úautor   r   rN   Ú__all__r(   r.   r,   ú<module>rb      s5  ðð, %Ð $Ð $Ð $Ð $Ð $à .Ð .Ð .Ð .Ð .Ð .à XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ð €Ð;Ð<Ñ<Ô<ØðK(ð K(ð K(ð K(ð K(Ð-Ð/?ñ K(ô K(ñ „ñ =Ô<ðK(ð\ €Ð;Ð<Ñ<Ô<Øð(ð (ð (ð (ð (Ð"ñ (ô (ñ „ñ =Ô<ð(ð> ! -Ð
0€€€r.   