Ë
    	š„jÆ  ã                   óh  — d Z ddlmZ ej                  r_ddlmZ ddlmZmZm	Z	 ddl
mZmZ ddl
Z
e
j                  Ze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 ddl m!Z!  e"«       Z#e#fd„Zg d¢Z$yddl%Z%e%j                  Ze%j                  Ze%j                  Z	e%j"                  Ze%j(                  Ze%j                  Ze%j                  Ze%j
                  Ze%j                  Ze%j.                  Ze%j4                  ZejL                  re%j:                  Ze%j>                  Zg Z$ydd
lmZ ddlmZ ddgZ$y)a‚  
A module that brings in equivalents of various modified Python 3 builtins
into Py2. Has no effect on Py3.

The builtin functions are:

- ``ascii`` (from Py2's future_builtins module)
- ``hex`` (from Py2's future_builtins module)
- ``oct`` (from Py2's future_builtins module)
- ``chr`` (equivalent to ``unichr`` on Py2)
- ``input`` (equivalent to ``raw_input`` on Py2)
- ``next`` (calls ``__next__`` if it exists, else ``next`` method)
- ``open`` (equivalent to io.open on Py2)
- ``super`` (backport of Py3's magic zero-argument super() function
- ``round`` (new "Banker's Rounding" behaviour from Py3)
- ``max`` (new default option from Py3.4)
- ``min`` (new default option from Py3.4)

``isinstance`` is also currently exported for backwards compatibility
with v0.8.2, although this has been deprecated since v0.9.


input()
-------
Like the new ``input()`` function from Python 3 (without eval()), except
that it returns bytes. Equivalent to Python 2's ``raw_input()``.

Warning: By default, importing this module *removes* the old Python 2
input() function entirely from ``__builtin__`` for safety. This is
because forgetting to import the new ``input`` from ``future`` might
otherwise lead to a security vulnerability (shell injection) on Python 2.

To restore it, you can retrieve it yourself from
``__builtin__._old_input``.

Fortunately, ``input()`` seems to be seldom used in the wild in Python
2...

é    )Úutils)Úopen)ÚasciiÚoctÚhex)ÚunichrÚpowN)Únewnext)Únewround)Únewsuper)Únewmax)Únewmin)Únewintc                 ó\  — t        | t        «      rt        | «      } t        |t        «      rt        |«      }t        |t        «      rt        |«      }	 |t        k(  rt	        | |«      S t	        | ||«      S # t
        $ r- |t        k(  rt	        | dz   |«      cY S t	        | dz   ||«      cY S w xY w)z¿
        pow(x, y[, z]) -> number

        With two arguments, equivalent to x**y.  With three arguments,
        equivalent to (x**y) % z, but may be more efficient (e.g. for ints).
        y                )Ú
isinstancer   ÚlongÚ	_SENTINELÚ_builtin_powÚ
ValueError)ÚxÚyÚzs      úK/var/www/html/GAP/venv/lib/python3.12/site-packages/future/builtins/misc.pyr	   r	   F   sŸ   € ô �aœÔ Ü�Q“ˆAÜ�aœÔ Ü�Q“ˆAÜ�aœÔ Ü�Q“ˆAð		0Ø”IŠ~Ü# A qÓ)Ð)ä# A q¨!Ó,Ð,øÜò 	0Ø”IŠ~Ü# A b¡D¨!Ó,Ò,ä# A b¡D¨!¨QÓ/Ò/ð		0ús   ÁA5 Á(A5 Á5!B+ÂB+Â*B+)r   Úchrr   Úinputr   Únextr   r   r	   ÚroundÚsuperÚmaxÚminr    r   )'Ú__doc__Úfuturer   ÚPY2Úior   Úfuture_builtinsr   r   r   Ú__builtin__r   r   r	   r   r   Ú	raw_inputr   Úfuture.builtins.newnextr
   r   Úfuture.builtins.newroundr   r   Úfuture.builtins.newsuperr   r   Úfuture.builtins.new_min_maxr   r   r   r    Úfuture.types.newintr   Úobjectr   Ú__all__ÚbuiltinsÚ	PY34_PLUS© ó    r   ú<module>r3      sû   ðñ&õP ð 	‡9‚9Ýß/Ñ/ß>Ûð ×'Ñ'€Jð €Eå7Ý:Ý:Ý9Ý9Ý*á“€Iàó 0ò<>�Gó Ø�N‰N€EØ
�,‰,€CØ
�,‰,€CØ�N‰N€EØ�=‰=€Dà×$Ñ$€JØ
�,‰,€CØ�=‰=€DØ
�,‰,€CØ�N‰N€EØ�N‰N€EØ‡‚Ø�l‰lˆØ�l‰lˆØ‰å=Ý=Ø˜%�.‰r2   