
    g                        U d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	 d dl
Z
d dlZd dlmZ  ej                         Zi Zded<   daded<   ej&                  dd	       Zdd
ZddZddZy)    )annotationsN)AnyCallableSequence)Encodingzdict[str, Encoding]	ENCODINGSz.dict[str, Callable[[], dict[str, Any]]] | NoneENCODING_CONSTRUCTORSc                     g } t        j                  t        j                  t        j                  dz         }|D ]  \  }}}| j                  |        | S )N.)pkgutiliter_modulestiktoken_ext__path____name__append)modsplugin_mods_mod_names       g/var/www/python.lazyprojects.co.uk/rdoDiscordBot/venv/lib/python3.12/site-packages/tiktoken/registry.py_available_plugin_modulesr      sN     D&&|'<'<l>S>SVY>YZK%8QH &K    c            	        t         5  t        
	 d d d        y i a	 t               D ]^  } t        j                  |       }	 |j                  }|j                         D ]'  \  }}|t        v rt        d| d|        |t        |<   ) ` 	 d d d        y # t
        $ r}t        d|  d      |d }~ww xY w# t        $ r d a w xY w# 1 sw Y   y xY w)Nztiktoken plugin z& does not define ENCODING_CONSTRUCTORSzDuplicate encoding name z in tiktoken plugin )	_lockr	   r   	importlibimport_moduleAttributeError
ValueErroritems	Exception)r   modconstructorseenc_nameconstructors         r   _find_constructorsr&   !   s    	 , 
 !#	57--h7#&#<#<L
 .:-?-?-A)Hk#88(6xj@TU]T^_  7B)(3 .B 8 
 & $*8*4Z[  	$(!	) 
sD   CC"B1B
<B1	B.B))B..B11B>>CC
c           
        t        | t              st        dt        |              | t        v r	t        |    S t
        5  | t        v rt        |    cd d d        S t        t                t        J | t        vr+t        d|  dt                dt        j                   d      t        |    }t        di  |       }|t        | <   |cd d d        S # 1 sw Y   y xY w)Nz'Expected a string in get_encoding, got zUnknown encoding z.
Plugins found: z
tiktoken version: z (are you on latest?) )
isinstancestrr   typer   r   r	   r&   r   tiktoken__version__r   )encoding_namer%   encs      r   get_encodingr0   ?   s    mS)B4CVBWXYY	!''	I%]+ 
 !( (444 55#M? 3"";"=!> ?%%-%9%9$::OQ  ,M:''#&	- % 
s   CA.CCc                     t         5  t        t                t        J t        t              cd d d        S # 1 sw Y   y xY w)N)r   r	   r&   listr(   r   r   list_encoding_namesr3   [   s0    	 ( (444)*	 
s	   '8A)returnzSequence[str])r4   None)r.   r*   r4   r   )r4   z	list[str])
__future__r   	functoolsr   r   	threadingtypingr   r   r   r   r,   tiktoken.corer   RLockr   r   __annotations__r	   	lru_cacher   r&   r0   r3   r(   r   r   <module>r>      sq    "     * *   "	!#	 #HL E L 
 
<8+r   