
    wdf                     (   d Z ddlZej        d         dk    Zd Z	 eZeefZe	e
fZn# e$ r eZefZe	fZY nw xY wes"d Zd Zd ZddlmZ dd	lmZ ddlmZ dd
ZeZn'd Zd Zd ZddlmZ dd	lmZ ddlZ ed           d Zd ZdZ eed          rK G d de           Z!	 	  e!            5   e"            # 1 swxY w Y   n#   xY wn# e#$ r dZY n
e"$ r Y nw xY w	 ddl$m%Z% n# e&$ r d Z%Y nw xY w G d de           Z' e'ddd          Z(dS )z
    flask._compat
    ~~~~~~~~~~~~~

    Some py2/py3 compatibility support based on a stripped down
    version of six so we don't have to depend on a specific version
    of it.

    :copyright: 2010 Pallets
    :license: BSD-3-Clause
    N   c                     | S N xs    R/var/www/book.euthymeo.com/html/venv/lib/python3.11/site-packages/flask/_compat.py<lambda>r
      s    a     c                 D    t          |                                           S r   )iterkeysds    r	   r
   r
      s    affhh r   c                 D    t          |                                           S r   )r   valuesr   s    r	   r
   r
      s    4

++ r   c                 D    t          |                                           S r   )r   itemsr   s    r	   r
   r
      s    $qwwyy// r   )getfullargspec)StringIOc                 B    |j         |ur|                    |          |r   )__traceback__with_traceback)tpvaluetbs      r	   reraiser   $   s)    b((&&r***r   c                 *    |                                  S r   )iterkeysr   s    r	   r
   r
   ,   s     r   c                 *    |                                  S r   )
itervaluesr   s    r	   r
   r
   -   s    1<<>> r   c                 *    |                                  S r   )	iteritemsr   s    r	   r
   r
   .   s    !++-- r   )
getargspecz5def reraise(tp, value, tb=None):
 raise tp, value, tbc                 .    | j         | _        d | _         | S )Nc                 P    |                                                      d          S )Nzutf-8)__unicode__encoder   s    r	   r
   z&implements_to_string.<locals>.<lambda>8   s     6 6w ? ? r   )__str__r'   )clss    r	   implements_to_stringr+   6   s    +??
r   c                 l      G  fddt                     }t                               |ddi           S )z%Create a base class with a metaclass.c                       e Zd Z fdZdS )!with_metaclass.<locals>.metaclassc                      ||          S r   r   )metaclsname
this_basesr   basesmetas       r	   __new__z)with_metaclass.<locals>.metaclass.__new__B   s    4eQ'''r   N)__name__
__module____qualname__r5   )r3   r4   s   r	   	metaclassr.   A   s3        	( 	( 	( 	( 	( 	( 	( 	(r   r9   temporary_classr   )typer5   )r4   r3   r9   s   `` r	   with_metaclassr<   <   sX    
( ( ( ( ( ( ( (D ( ( ( <<	#4b"===r   Fpypy_version_infoc                       e Zd Zd Zd ZdS )_Mgrc                     | S r   r   selfs    r	   	__enter__z_Mgr.__enter__W   s    Kr   c                 Z    t          t          d          rt          j                     d S d S )N	exc_clear)hasattrsysrE   )rB   argss     r	   __exit__z_Mgr.__exit__Z   s-    sK((     r   N)r6   r7   r8   rC   rI   r   r   r	   r?   r?   V   s2        	 	 		  	  	  	  	 r   r?   T)fspathc                 N    t          | d          r|                                 n| S )N
__fspath__)rF   rL   )paths    r	   rJ   rJ   r   s&    $+D,$?$?It   TIr   c                   0    e Zd Zd Zd Zd Zd Zd ZeZdS )_DeprecatedBoolc                 J    d                     ||          | _        || _        d S )Nz5'{}' is deprecated and will be removed in version {}.)formatmessager   )rB   r1   versionr   s       r	   __init__z_DeprecatedBool.__init__w   s+    NUU'
 
 


r   c                 R    dd l }|                    | j        t          d           d S )Nr   r   )
stacklevel)warningswarnrR   DeprecationWarning)rB   rW   s     r	   _warnz_DeprecatedBool._warn}   s,    dl$61EEEEEr   c                 @    |                                   || j        k    S r   rZ   r   rB   others     r	   __eq__z_DeprecatedBool.__eq__       


""r   c                 @    |                                   || j        k    S r   r\   r]   s     r	   __ne__z_DeprecatedBool.__ne__   r`   r   c                 8    |                                   | j        S r   r\   rA   s    r	   __bool__z_DeprecatedBool.__bool__   s    

zr   N)	r6   r7   r8   rT   rZ   r_   rb   rd   __nonzero__r   r   r	   rO   rO   v   sc          F F F
# # ## # #   KKKr   rO   zflask.json_availablez2.0.0r   ))__doc__rG   version_infoPY2	_identityunicode	text_typestrstring_typesintlonginteger_types	NameErrorr   r!   r#   inspectr   r$   ior   collections.abcabccollections_abcr   r+   	cStringIOcollectionsexecr<   BROKEN_PYPY_CTXMGR_EXITrF   objectr?   AssertionError	TypeErrorosrJ   ImportErrorrO   json_availabler   r   r	   <module>r      s  
 
 


	qQK	I>L$KMM   I6LFMMM
  ''H++J))I444444------   
 % &%H))J''I""""""""""""))))D	ABBB  	> 	> 	>.   
73#$$          v      	 ' '$n&&&' ' ' ' ' ' ' ' '	 '  ' ' '"&   J J J JJ J J J JJ    f   6 !!7$GGsf   
' 77&
C 0B;;B??C B?C C C

C CCC"C) )C43C4