§
    «˜ºhq  ã                   ó®  — d 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 ddlmZ dd	lmZmZmZmZ dd
lmZmZmZ ddlmZmZ  ej        e¦  «        Z	 ddlmZ ddlm Z  dZ!n# e"$ r dZ!Y nw xY w G d„ de	¦  «        Z# G d„ d¦  «        Z$ G d„ de$¦  «        Z% G d„ de$¦  «        Z& G d„ de$¦  «        Z' G d„ de$¦  «        Z( G d„ de$¦  «        Z)dS ) aD  Contains commands to authenticate to the Hugging Face Hub and interact with your repositories.

Usage:
    # login and save token locally.
    huggingface-cli login --token=hf_*** --add-to-git-credential

    # switch between tokens
    huggingface-cli auth switch

    # list all tokens
    huggingface-cli auth list

    # logout from a specific token, if no token-name is provided, all tokens will be deleted from your machine.
    huggingface-cli logout --token-name=your_token_name

    # find out which huggingface.co account you are logged in as
    huggingface-cli whoami
é    )Ú_SubParsersAction)ÚListÚOptional)Ú	HTTPError)ÚBaseHuggingfaceCLICommand)ÚENDPOINT)ÚHfApié   )Ú	auth_listÚauth_switchÚloginÚlogout)Úget_stored_tokensÚ	get_tokenÚloggingé   )ÚANSIÚshow_deprecation_warning)Úinquirer©ÚChoiceTFc                   ó*   — e Zd Zedefd„¦   «         ZdS )ÚUserCommandsÚparserc                 ó:  — |                       dd¬¦  «        }|                     dt          d¬¦  «         |                     ddd	¬
¦  «         |                     d„ ¬¦  «         |                       dd¬¦  «        }|                     d„ ¬¦  «         |                       dd¬¦  «        }|                     dt          d¬¦  «         |                     d„ ¬¦  «         |                       dd¬¦  «        }|                     d¬¦  «        }|                      dd¬¦  «        }|                     dt          d¬¦  «         |                     ddd	¬
¦  «         |                     d„ ¬¦  «         |                      dd¬¦  «        }|                     d„ ¬¦  «         d S )Nr   z8Log in using a token from huggingface.co/settings/tokens)Úhelpz--tokenz;Token generated from https://huggingface.co/settings/tokens)Útyper   z--add-to-git-credentialÚ
store_truez.Optional: Save token to git credential helper.)Úactionr   c                 ó    — t          | ¦  «        S ©N)ÚLoginCommand©Úargss    úe/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/huggingface_hub/commands/user.pyú<lambda>z2UserCommands.register_subcommand.<locals>.<lambda>H   s   € µLÀÑ4FÔ4F€ ó    )ÚfuncÚwhoamiz;Find out which huggingface.co account you are logged in as.c                 ó    — t          | ¦  «        S r!   )ÚWhoamiCommandr#   s    r%   r&   z2UserCommands.register_subcommand.<locals>.<lambda>J   ó   € µ]À4Ñ5HÔ5H€ r'   r   zLog outz--token-namez3Optional: Name of the access token to log out from.c                 ó    — t          | ¦  «        S r!   )ÚLogoutCommandr#   s    r%   r&   z2UserCommands.register_subcommand.<locals>.<lambda>R   r,   r'   Úauthz%Other authentication related commandszAuthentication subcommandsÚswitchzSwitch between access tokensz0Optional: Name of the access token to switch to.c                 ó    — t          | ¦  «        S r!   )ÚAuthSwitchCommandr#   s    r%   r&   z2UserCommands.register_subcommand.<locals>.<lambda>a   s   € Õ:KÈDÑ:QÔ:Q€ r'   ÚlistzList all stored access tokensc                 ó    — t          | ¦  «        S r!   )ÚAuthListCommandr#   s    r%   r&   z2UserCommands.register_subcommand.<locals>.<lambda>c   s   € ½ÈÑ8MÔ8M€ r'   )Ú
add_parserÚadd_argumentÚstrÚset_defaultsÚadd_subparsers)r   Úlogin_parserÚwhoami_parserÚlogout_parserÚauth_parserÚauth_subparsersÚauth_switch_parserÚauth_list_parsers           r%   Úregister_subcommandz UserCommands.register_subcommand;   s  € à×(Ò(¨Ð7qÐ(ÑrÔrˆØ×!Ò!ØÝØNð 	"ñ 	
ô 	
ð 	
ð
 	×!Ò!Ø%ØØAð 	"ñ 	
ô 	
ð 	
ð
 	×!Ò!Ð'FÐ'FÐ!ÑGÔGÐGØ×)Ò)¨(Ð9vÐ)ÑwÔwˆØ×"Ò"Ð(HÐ(HÐ"ÑIÔIÐIà×)Ò)¨(¸Ð)ÑCÔCˆØ×"Ò"ØÝØFð 	#ñ 	
ô 	
ð 	
ð
 	×"Ò"Ð(HÐ(HÐ"ÑIÔIÐIà×'Ò'¨Ð5\Ð'Ñ]Ô]ˆØ%×4Ò4Ð:VÐ4ÑWÔWˆØ,×7Ò7¸ÐGeÐ7ÑfÔfÐØ×'Ò'ØÝØCð 	(ñ 	
ô 	
ð 	
ð
 	×'Ò'Ø%ØØAð 	(ñ 	
ô 	
ð 	
ð
 	×'Ò'Ð-QÐ-QÐ'ÑRÔRÐRØ*×5Ò5°fÐCbÐ5ÑcÔcÐØ×%Ò%Ð+MÐ+MÐ%ÑNÔNÐNÐNÐNr'   N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   rB   © r'   r%   r   r   :   sA   € € € € € Øð'OÐ$5ð 'Oð 'Oð 'Oñ „\ð'Oð 'Oð 'Or'   r   c                   ó   — e Zd Zd„ ZdS )ÚBaseUserCommandc                 ó:   — || _         t          ¦   «         | _        d S r!   )r$   r	   Ú_api)Úselfr$   s     r%   Ú__init__zBaseUserCommand.__init__g   s   € ØˆŒ	Ý‘G”GˆŒ	ˆ	ˆ	r'   N)rC   rD   rE   rM   rG   r'   r%   rI   rI   f   s#   € € € € € ðð ð ð ð r'   rI   c                   ó   — e Zd Zd„ ZdS )r"   c                 ó–   — t          dd¦  «         t          j        ¦   «          t          | j        j        | j        j        ¬¦  «         d S )Nzhuggingface-cli loginzhf auth login)ÚtokenÚadd_to_git_credential)r   r   Úset_verbosity_infor   r$   rP   rQ   ©rL   s    r%   ÚrunzLoginCommand.runm   sR   € Ý Ð!8¸/ÑJÔJÐJåÔ"Ñ$Ô$Ð$ÝØ”)”/Ø"&¤)Ô"Að	
ñ 	
ô 	
ð 	
ð 	
ð 	
r'   N©rC   rD   rE   rT   rG   r'   r%   r"   r"   l   s#   € € € € € ð
ð 
ð 
ð 
ð 
r'   r"   c                   ó   — e Zd Zd„ ZdS )r.   c                 ó€   — t          dd¦  «         t          j        ¦   «          t          | j        j        ¬¦  «         d S )Nzhuggingface-cli logoutzhf auth logout)Ú
token_name)r   r   rR   r   r$   rX   rS   s    r%   rT   zLogoutCommand.runx   s?   € Ý Ð!9Ð;KÑLÔLÐLåÔ"Ñ$Ô$Ð$Ý˜$œ)Ô.Ð/Ñ/Ô/Ð/Ð/Ð/r'   NrU   rG   r'   r%   r.   r.   w   s#   € € € € € ð0ð 0ð 0ð 0ð 0r'   r.   c                   óT   — e Zd Zd„ Zdee         fd„Zdee         dee         fd„ZdS )r2   c                 ó  — t          dd¦  «         t          j        ¦   «          | j        j        }|€|                      ¦   «         }|€t          d¦  «         t          ¦   «          t          || j        j	        ¬¦  «         d S )Nzhuggingface-cli auth switchzhf auth switchz!No token name provided. Aborting.)rQ   )
r   r   rR   r$   rX   Ú_select_token_nameÚprintÚexitr   rQ   )rL   rX   s     r%   rT   zAuthSwitchCommand.run€   s€   € Ý Ð!>Ð@PÑQÔQÐQåÔ"Ñ$Ô$Ð$Ø”YÔ)ˆ
ØÐØ×0Ò0Ñ2Ô2ˆJàÐÝÐ5Ñ6Ô6Ð6Ý‰FŒFˆFÝ�J°d´iÔ6UÐVÑVÔVÐVÐVÐVr'   Úreturnc                 óf  — t          t          ¦   «                              ¦   «         ¦  «        }|st                               d¦  «         d S t
          r|                      |¦  «        S t          d¦  «         t          |d¦  «        D ]\  }}t          |› d|› �¦  «         Œ	 	 t          d¦  «        }| 
                    ¦   «         dk    rd S t          |¦  «        dz
  }d|cxk    rt          |¦  «        k     rn n||         S t          d	¦  «         n# t          $ r t          d
¦  «         Y nw xY wŒ‘)Nz+No stored tokens found. Please login first.zAvailable stored tokens:r   z. Tz=Enter the number of the token to switch to (or 'q' to quit): Úqr   z$Invalid selection. Please try again.z4Invalid input. Please enter a number or 'q' to quit.)r3   r   ÚkeysÚloggerÚerrorÚ_inquirer_py_availableÚ_select_token_name_tuir\   Ú	enumerateÚinputÚlowerÚintÚlenÚ
ValueError)rL   Útoken_namesÚirX   ÚchoiceÚindexs         r%   r[   z$AuthSwitchCommand._select_token_name�   sk  € ÝÕ,Ñ.Ô.×3Ò3Ñ5Ô5Ñ6Ô6ˆàð 	Ý�LŠLÐFÑGÔGÐGØ�4å!ð 	<Ø×.Ò.¨{Ñ;Ô;Ð;åÐ(Ñ)Ô)Ð)Ý& {°AÑ6Ô6ð 	(ð 	(‰MˆAˆzÝ�QÐ&Ð&˜*Ð&Ð&Ñ'Ô'Ð'Ð'ð	Nð
NÝÐ^Ñ_Ô_�Ø—<’<‘>”> SÒ(Ð(Ø˜4Ý˜F™œ a™�Ø˜Ð0Ð0Ò0Ð0¥ KÑ 0Ô 0Ò0Ð0Ð0Ð0Ð0Ø& uÔ-Ð-åÐ@ÑAÔAÐAÐAøÝð Nð Nð NÝÐLÑMÔMÐMÐMÐMðNøøøð	Ns   Â#'D Ã6D ÄD ÄD/Ä.D/rl   c                 óÄ   — d„ |D ¦   «         }	 t          j        d|d ¬¦  «                             ¦   «         S # t          $ r t                               d¦  «         Y d S w xY w)Nc                 ó0   — g | ]}t          ||¬ ¦  «        ‘ŒS )©Únamer   )Ú.0rX   s     r%   ú
<listcomp>z<AuthSwitchCommand._select_token_name_tui.<locals>.<listcomp>¨   s%   € ÐUÐUÐU¸:•6˜*¨:Ð6Ñ6Ô6ÐUÐUÐUr'   zSelect a token to switch to:)ÚmessageÚchoicesÚdefaultzToken selection cancelled.)r   ÚselectÚexecuteÚKeyboardInterruptrb   Úinfo)rL   rl   rw   s      r%   re   z(AuthSwitchCommand._select_token_name_tui§   s~   € ØUÐUÈÐUÑUÔUˆð	Ý”?Ø6ØØðñ ô ÷ Šg‰iŒið	øõ
 !ð 	ð 	ð 	Ý�KŠKÐ4Ñ5Ô5Ð5Ø�4�4ð	øøøs   Ž(7 ·$AÁAN)	rC   rD   rE   rT   r   r8   r[   r   re   rG   r'   r%   r2   r2      st   € € € € € ðWð Wð WðN H¨S¤Mð Nð Nð Nð Nð4
°$°s´)ð 
ÀÈÄð 
ð 
ð 
ð 
ð 
ð 
r'   r2   c                   ó   — e Zd Zd„ ZdS )r5   c                 óh   — t          dd¦  «         t          j        ¦   «          t          ¦   «          d S )Nzhuggingface-cli auth listzhf auth list)r   r   rR   r   rS   s    r%   rT   zAuthListCommand.runµ   s/   € Ý Ð!<¸nÑMÔMÐMåÔ"Ñ$Ô$Ð$Ý‰Œˆˆˆr'   NrU   rG   r'   r%   r5   r5   ´   s#   € € € € € ðð ð ð ð r'   r5   c                   ó   — e Zd Zd„ ZdS )r+   c                 ó¢  — t          dd¦  «         t          ¦   «         }|€t          d¦  «         t          ¦   «          	 | j                             |¦  «        }t          t          j        d¦  «        |d         ¦  «         d„ |d         D ¦   «         }|r5t          t          j        d¦  «        d	                     |¦  «        ¦  «         t          d
k    rt          dt          › �¦  «         d S d S # t          $ rT}t          |¦  «         t          t          j        |j        j        ¦  «        ¦  «         t          d¦  «         Y d }~d S d }~ww xY w)Nzhuggingface-cli whoamizhf auth whoamizNot logged inzuser: rs   c                 ó   — g | ]
}|d          ‘ŒS rr   rG   )rt   Úorgs     r%   ru   z%WhoamiCommand.run.<locals>.<listcomp>Ç   s   € Ð8Ð8Ð8 C�C˜”KÐ8Ð8Ð8r'   Úorgszorgs: ú,zhttps://huggingface.coz(Authenticated through private endpoint: r   )r   r   r\   r]   rK   r)   r   ÚboldÚjoinr   r   ÚredÚresponseÚtext)rL   rP   r|   rƒ   Úes        r%   rT   zWhoamiCommand.run½   sB  € Ý Ð!9Ð;KÑLÔLÐLå‘”ˆØˆ=Ý�/Ñ"Ô"Ð"Ý‰FŒFˆFð	Ø”9×#Ò# EÑ*Ô*ˆDÝ•$”)˜HÑ%Ô% t¨F¤|Ñ4Ô4Ð4Ø8Ð8¨4°¬<Ð8Ñ8Ô8ˆDØð ;Ý•d”i Ñ)Ô)¨3¯8ª8°D©>¬>Ñ:Ô:Ð:åÐ3Ò3Ð3ÝÐKÅÐKÐKÑLÔLÐLÐLÐLð 4Ð3øåð 	ð 	ð 	Ý�!‰HŒHˆHÝ•$”(˜1œ:œ?Ñ+Ô+Ñ,Ô,Ð,Ý�‰GŒGˆGˆGˆGˆGˆGˆGˆGøøøøð	øøøs   ¿B-C0 Ã0
EÃ:A	E	Å	ENrU   rG   r'   r%   r+   r+   ¼   s#   € € € € € ðð ð ð ð r'   r+   N)*Ú__doc__Úargparser   Útypingr   r   Úrequests.exceptionsr   Úhuggingface_hub.commandsr   Úhuggingface_hub.constantsr   Úhuggingface_hub.hf_apir	   Ú_loginr   r   r   r   Úutilsr   r   r   Ú
_cli_utilsr   r   Ú
get_loggerrC   rb   Ú
InquirerPyr   ÚInquirerPy.base.controlr   rd   ÚImportErrorr   rI   r"   r.   r2   r5   r+   rG   r'   r%   ú<module>r™      sƒ  ððð ð& 'Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à )Ð )Ð )Ð )Ð )Ð )à >Ð >Ð >Ð >Ð >Ð >Ø .Ð .Ð .Ð .Ð .Ð .Ø (Ð (Ð (Ð (Ð (Ð (à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ð 
ˆÔ	˜HÑ	%Ô	%€ð#Ø#Ð#Ð#Ð#Ð#Ð#Ø.Ð.Ð.Ð.Ð.Ð.à!ÐÐøØð #ð #ð #Ø"ÐÐÐð#øøøð)Oð )Oð )Oð )Oð )OÐ,ñ )Oô )Oð )OðXð ð ð ð ñ ô ð ð
ð 
ð 
ð 
ð 
�?ñ 
ô 
ð 
ð0ð 0ð 0ð 0ð 0�Oñ 0ô 0ð 0ð2ð 2ð 2ð 2ð 2˜ñ 2ô 2ð 2ðjð ð ð ð �oñ ô ð ðð ð ð ð �Oñ ô ð ð ð s   ÁA' Á'A1Á0A1