+
    4O|j”  ã            	      óF  € R t ^ RIHt ^ RIHtHt  ^ RItRt^ RIt]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                   ]P"                  3	tR
R R lltR#   ] d    RtR
R R	 llt R# i ; i)z&An implementation of RFC4013 SASLprep.)Úannotations)ÚAnyÚOptionalNTc               ó$   € V ^8„  d   QhRRRRRR/# ©é   Údatar   Úprohibit_unassigned_code_pointszOptional[bool]Úreturn© )Úformats   "ÚIC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pymongo/saslprep.pyÚ__annotate__r   9   s"   € ÷ ;ñ ;�sð ;¸^ð ;ÐWZñ ;ó    c                óþ  a€ \        V \        4      '       g   V # V'       d   . \        O\        P                  N5pM\        p\        P
                  p\        P                  pRP                  V  Uu. uF$  qT! V4      '       d   K  V! V4      '       d   RMTNK&  	  up4      p \        P                  P                  RV 4      p \        P                  pV! V ^ ,          4      '       d7   V! V R	,          4      '       g   \        R4      h. VO\        P                  N5pM. VOVN5pV  FN  o\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       g   KE  \        R4      h	  V # u upi )
a  An implementation of RFC4013 SASLprep.

:param data: The string to SASLprep. Unicode strings
    (:class:`str`) are supported. Byte strings
    (:class:`bytes`) are ignored.
:param prohibit_unassigned_code_points: True / False. RFC 3454
    and RFCs for various SASL mechanisms distinguish between
    `queries` (unassigned code points allowed) and
    `stored strings` (unassigned code points prohibited). Defaults
    to ``True`` (unassigned code points are prohibited).

:return: The SASLprep'ed version of `data`.
Ú Ú ÚNFKCz$SASLprep: failed bidirectional checkc              3  ó2   <"  € T F  q! S4      x € K  	  R # 5i)Nr   )Ú.0Úin_tableÚchars   & €r   Ú	<genexpr>Úsaslprep.<locals>.<genexpr>q   s   øé € Ð=±* h�8˜D—>�>³*ùs   ƒTFz+SASLprep: failed prohibited character checkéÿÿÿÿ)Ú
isinstanceÚstrÚ_PROHIBITEDÚ
stringprepÚin_table_a1Úin_table_c12Úin_table_b1ÚjoinÚunicodedataÚ	ucd_3_2_0Ú	normalizeÚin_table_d1Ú
ValueErrorÚin_table_d2Úany)r   r	   Ú
prohibitedr    r!   Úeltr&   r   s   &&     @r   Úsaslprepr,   9   sE  ø€ ô  ˜$¤×$Ò$ØˆKç*Ø?œ;Ð?¬
×(>Ñ(>Ñ?‰Jä$ˆJô "×.Ñ.ˆÜ ×,Ñ,ˆØ�w‰wÙ?CÓ\¹t¸È;ÐWZ×K[Ô3™ c×*Ò*‰X°Ò3¹tÑ\ó
ˆô ×$Ñ$×.Ñ.¨v°tÓ<ˆä ×,Ñ,ˆÙ�t˜A•w×ÒÙ˜t B�x×(Ò(ô !Ð!GÓHÐHð ?˜:Ð>¤z×'=Ñ'=Ñ>‰Jð
 4˜:Ð3 {Ñ3ˆJó ˆDß‹sÔ=±*Ó=�s�sŠsÔ=±*Ó=×=Ô=Ü Ð!NÓOÐOñ ð ˆùò9 ]s   Á1E:ÂE:ÂE:Fc               ó$   € V ^8„  d   QhRRRRRR/# r   r   )r   s   "r   r   r      s&   € ÷ 
ñ 
Øð
à)7ð
ð 
ñ
r   c                óH   € \        V \        4      '       d   \        R4      hV # )zSASLprep dummyz[The stringprep module is not available. Usernames and passwords must be instances of bytes.)r   r   Ú	TypeError)r   r	   s   &&r   r,   r,      s*   € ô
 �dœC× Ò Üð8óð ð ˆr   )T)Ú__doc__Ú
__future__r   Útypingr   r   r   ÚHAVE_STRINGPREPr#   r    Úin_table_c21_c22Úin_table_c3Úin_table_c4Úin_table_c5Úin_table_c6Úin_table_c7Úin_table_c8Úin_table_c9r   r,   ÚImportErrorr   r   r   Ú<module>r=      s¨   ðñ -Ý "ç  ð`Ûð" €OÛð 	×ÑØ×#Ñ#Ø×ÑØ×ÑØ×ÑØ×ÑØ×ÑØ×ÑØ×Ñð€K÷;ñ ;øðG ô Ø€O÷
ò 
ðús   ’B ÂB ÂB 