§
    «˜ºh€  ã                   óª  — 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  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 ) a�  Contains commands to authenticate to the Hugging Face Hub and interact with your repositories.

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

    # switch between tokens
    hf auth switch

    # list all tokens
    hf auth list

    # logout from all tokens
    hf auth logout

    # check which account you are logged in as
    hf auth whoami
é    )Ú_SubParsersAction)ÚListÚOptional)Ú	HTTPError)ÚBaseHuggingfaceCLICommand)ÚENDPOINT)ÚHfApié   )Ú	auth_listÚauth_switchÚloginÚlogout)Úget_stored_tokensÚ	get_tokenÚloggingé   )ÚANSI)Úinquirer©ÚChoiceTFc                   ó*   — e Zd Zedefd„¦   «         ZdS )ÚAuthCommandsÚparserc                 ón  ‡— |                       dd¬¦  «        Š‰                     d¬¦  «        }‰                     ˆfd„¬¦  «         |                      dd¬¦  «        }|                     d	t          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 ) NÚauthz,Manage authentication (login, logout, etc.).)ÚhelpzAuthentication subcommandsc                 ó,   •— ‰                      ¦   «         S ©N)Ú
print_help)ÚargsÚauth_parsers    €ú`/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/huggingface_hub/cli/auth.pyú<lambda>z2AuthCommands.register_subcommand.<locals>.<lambda>B   s   ø€ °;×3IÒ3IÑ3KÔ3K€ ó    )Úfuncr   z8Log in using a token from huggingface.co/settings/tokensz--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 r   )Ú	AuthLogin©r    s    r"   r#   z2AuthCommands.register_subcommand.<locals>.<lambda>R   s   € µI¸d±O´O€ r$   r   zLog outz--token-namez3Optional: Name of the access token to log out from.c                 ó    — t          | ¦  «        S r   )Ú
AuthLogoutr+   s    r"   r#   z2AuthCommands.register_subcommand.<locals>.<lambda>[   ó   € µZÀÑ5EÔ5E€ r$   Úwhoamiz;Find out which huggingface.co account you are logged in as.c                 ó    — t          | ¦  «        S r   )Ú
AuthWhoamir+   s    r"   r#   z2AuthCommands.register_subcommand.<locals>.<lambda>a   r.   r$   ÚswitchzSwitch between access tokensz0Optional: Name of the access token to switch to.c                 ó    — t          | ¦  «        S r   )Ú
AuthSwitchr+   s    r"   r#   z2AuthCommands.register_subcommand.<locals>.<lambda>o   s   € ½*ÀTÑ:JÔ:J€ r$   ÚlistzList all stored access tokensc                 ó    — t          | ¦  «        S r   )ÚAuthListr+   s    r"   r#   z2AuthCommands.register_subcommand.<locals>.<lambda>r   s   € ½À¹¼€ r$   )Ú
add_parserÚadd_subparsersÚset_defaultsÚadd_argumentÚstr)r   Úauth_subparsersÚlogin_parserÚlogout_parserÚwhoami_parserÚauth_switch_parserÚauth_list_parserr!   s          @r"   Úregister_subcommandz AuthCommands.register_subcommand;   sE  ø€ ð ×'Ò'¨Ð5cÐ'ÑdÔdˆØ%×4Ò4Ð:VÐ4ÑWÔWˆð 	× Ò Ð&KÐ&KÐ&KÐ&KÐ ÑLÔLÐLð '×1Ò1ØÐTð 2ñ 
ô 
ˆð 	×!Ò!ØÝØNð 	"ñ 	
ô 	
ð 	
ð
 	×!Ò!Ø%ØØAð 	"ñ 	
ô 	
ð 	
ð
 	×!Ò!Ð'CÐ'CÐ!ÑDÔDÐDð (×2Ò2°8À)Ð2ÑLÔLˆØ×"Ò"ØÝØFð 	#ñ 	
ô 	
ð 	
ð
 	×"Ò"Ð(EÐ(EÐ"ÑFÔFÐFð (×2Ò2ØÐXð 3ñ 
ô 
ˆð 	×"Ò"Ð(EÐ(EÐ"ÑFÔFÐFð -×7Ò7¸ÐGeÐ7ÑfÔfÐØ×'Ò'ØÝØCð 	(ñ 	
ô 	
ð 	
ð
 	×'Ò'Ø%ØØAð 	(ñ 	
ô 	
ð 	
ð
 	×'Ò'Ð-JÐ-JÐ'ÑKÔKÐKà*×5Ò5°fÐCbÐ5ÑcÔcÐØ×%Ò%Ð+FÐ+FÐ%ÑGÔGÐGÐGÐGr$   N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   rC   © r$   r"   r   r   :   sA   € € € € € Øð6HÐ$5ð 6Hð 6Hð 6Hñ „\ð6Hð 6Hð 6Hr$   r   c                   ó   — e Zd Zd„ ZdS )ÚBaseAuthCommandc                 ó:   — || _         t          ¦   «         | _        d S r   )r    r	   Ú_api)Úselfr    s     r"   Ú__init__zBaseAuthCommand.__init__v   s   € ØˆŒ	Ý‘G”GˆŒ	ˆ	ˆ	r$   N)rD   rE   rF   rN   rH   r$   r"   rJ   rJ   u   s#   € € € € € ðð ð ð ð r$   rJ   c                   ó   — e Zd Zd„ ZdS )r*   c                 óv   — t          j        ¦   «          t          | j        j        | j        j        ¬¦  «         d S )N)ÚtokenÚadd_to_git_credential)r   Úset_verbosity_infor   r    rQ   rR   ©rM   s    r"   ÚrunzAuthLogin.run|   sA   € ÝÔ"Ñ$Ô$Ð$ÝØ”)”/Ø"&¤)Ô"Að	
ñ 	
ô 	
ð 	
ð 	
ð 	
r$   N©rD   rE   rF   rU   rH   r$   r"   r*   r*   {   s#   € € € € € ð
ð 
ð 
ð 
ð 
r$   r*   c                   ó   — e Zd Zd„ ZdS )r-   c                 ó`   — t          j        ¦   «          t          | j        j        ¬¦  «         d S )N)Ú
token_name)r   rS   r   r    rY   rT   s    r"   rU   zAuthLogout.run…   s-   € ÝÔ"Ñ$Ô$Ð$Ý˜$œ)Ô.Ð/Ñ/Ô/Ð/Ð/Ð/r$   NrV   rH   r$   r"   r-   r-   „   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 )r4   c                 óä   — t          j        ¦   «          | j        j        }|€|                      ¦   «         }|€t          d¦  «         t          ¦   «          t          || j        j        ¬¦  «         d S )Nz!No token name provided. Aborting.)rR   )	r   rS   r    rY   Ú_select_token_nameÚprintÚexitr   rR   )rM   rY   s     r"   rU   zAuthSwitch.run‹   sn   € ÝÔ"Ñ$Ô$Ð$Ø”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.)r5   r   ÚkeysÚloggerÚerrorÚ_inquirer_py_availableÚ_select_token_name_tuir]   Ú	enumerateÚinputÚlowerÚintÚlenÚ
ValueError)rM   Útoken_namesÚirY   ÚchoiceÚindexs         r"   r\   zAuthSwitch._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/rm   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   )Ú.0rY   s     r"   ú
<listcomp>z5AuthSwitch._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ÚKeyboardInterruptrc   Úinfo)rM   rm   rx   s      r"   rf   z!AuthSwitch._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)	rD   rE   rF   rU   r   r<   r\   r   rf   rH   r$   r"   r4   r4   Š   st   € € € € € ð	Wð 	Wð 	WðN H¨S¤Mð Nð Nð Nð Nð4
°$°s´)ð 
ÀÈÄð 
ð 
ð 
ð 
ð 
ð 
r$   r4   c                   ó   — e Zd Zd„ ZdS )r7   c                 óH   — t          j        ¦   «          t          ¦   «          d S r   )r   rS   r   rT   s    r"   rU   zAuthList.run¾   s   € ÝÔ"Ñ$Ô$Ð$Ý‰Œˆˆˆr$   NrV   rH   r$   r"   r7   r7   ½   s#   € € € € € ðð ð ð ð r$   r7   c                   ó   — e Zd Zd„ ZdS )r1   c                 ó\  — t          ¦   «         }|€t          d¦  «         t          ¦   «          	 | j                             |¦  «        }t          |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Not logged inrt   c                 ó   — g | ]
}|d          ‘ŒS rs   rH   )ru   Úorgs     r"   rv   z"AuthWhoami.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^   rL   r/   r   ÚboldÚjoinr   r   ÚredÚresponseÚtext)rM   rQ   r}   r„   Úes        r"   rU   zAuthWhoami.runÄ   s$  € Ý‘”ˆØˆ=Ý�/Ñ"Ô"Ð"Ý‰FŒFˆFð	Ø”9×#Ò# EÑ*Ô*ˆDÝ�$�v”,ÑÔÐØ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C Ã
D+ÃA	D&Ä&D+NrV   rH   r$   r"   r1   r1   Ã   s#   € € € € € ðð ð ð ð r$   r1   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   Ú
get_loggerrD   rc   Ú
InquirerPyr   ÚInquirerPy.base.controlr   re   ÚImportErrorr   rJ   r*   r-   r4   r7   r1   rH   r$   r"   ú<module>rš      s}  ððð ð& 'Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à )Ð )Ð )Ð )Ð )Ð )à >Ð >Ð >Ð >Ð >Ð >Ø .Ð .Ð .Ð .Ð .Ð .Ø (Ð (Ð (Ð (Ð (Ð (à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø Ð Ð Ð Ð Ð ð 
ˆÔ	˜HÑ	%Ô	%€ð#Ø#Ð#Ð#Ð#Ð#Ð#Ø.Ð.Ð.Ð.Ð.Ð.à!ÐÐøØð #ð #ð #Ø"ÐÐÐð#øøøð8Hð 8Hð 8Hð 8Hð 8HÐ,ñ 8Hô 8Hð 8Hðvð ð ð ð ñ ô ð ð
ð 
ð 
ð 
ð 
�ñ 
ô 
ð 
ð0ð 0ð 0ð 0ð 0�ñ 0ô 0ð 0ð0ð 0ð 0ð 0ð 0�ñ 0ô 0ð 0ðfð ð ð ð ˆñ ô ð ðð ð ð ð �ñ ô ð ð ð s   ÁA% Á%A/Á.A/