Ë
    £2Úió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 d dl	m
Z
 d dl	mZ d dlmZ ddlmZ ej                  rd d	lmZ d d
lmZ d dlmZ  ej(                  d«      Z ej(                  dej,                  dej.                  f   ¬«      Zdd„Z G d„ d«      Z G d„ dej6                  e   «      Z G d„ d«      Z G d„ d«      Z G d„ de«      Zd d„Z d!d„Z! G d„ dej6                  e   «      Z"y)"é    )ÚannotationsN)Ú
ContextVar©Úpartial)Úupdate_wrapper)Ú
attrgetteré   )ÚClosingIterator)ÚStartResponse)ÚWSGIApplication)ÚWSGIEnvironmentÚTÚF.)Úboundc                ó$   — | j                  «        y)zûRelease the data for the current context in a :class:`Local` or
    :class:`LocalStack` without using a :class:`LocalManager`.

    This should not be needed for modern use cases, and may be removed
    in the future.

    .. versionadded:: 0.6.1
    N)Ú__release_local__)Úlocals    úE/var/www/html/acx/venv/lib/python3.12/site-packages/werkzeug/local.pyÚrelease_localr      s   € ð 
×ÑÕó    c                  óT   — e Zd ZdZdZddd„Zdd„Zddœdd„Zdd„Zdd	„Z	dd
„Z
dd„Zy)ÚLocalaq  Create a namespace of context-local data. This wraps a
    :class:`ContextVar` containing a :class:`dict` value.

    This may incur a performance penalty compared to using individual
    context vars, as it has to copy data to avoid mutating the dict
    between nested contexts.

    :param context_var: The :class:`~contextvars.ContextVar` to use as
        storage for this local. If not given, one will be created.
        Context vars not created at the global scope may interfere with
        garbage collection.

    .. versionchanged:: 2.0
        Uses ``ContextVar`` instead of a custom storage implementation.
    )Ú	__storageNc                óf   — |€t        dt        | «      › d�«      }t        j                  | d|«       y )Nzwerkzeug.Local<ú	>.storageÚ_Local__storage)r   ÚidÚobjectÚ__setattr__©ÚselfÚcontext_vars     r   Ú__init__zLocal.__init__6   s4   € ØÐô
 % ´r¸$³x°jÀ	Ð%JÓKˆKä×Ñ˜4Ð!2°KÕ@r   c                óf   — t        | j                  j                  i «      j                  «       «      S ©N)Úiterr   ÚgetÚitems©r!   s    r   Ú__iter__zLocal.__iter__@   s%   € Ü�D—N‘N×&Ñ& rÓ*×0Ñ0Ó2Ó3Ð3r   ©Úunbound_messagec               ó   — t        | ||¬«      S )zþCreate a :class:`LocalProxy` that access an attribute on this
        local namespace.

        :param name: Proxy this attribute.
        :param unbound_message: The error message that the proxy will
            show if the attribute isn't set.
        r+   ©Ú
LocalProxy©r!   Únamer,   s      r   Ú__call__zLocal.__call__C   s   € ô ˜$ °oÔFÐFr   c                ó:   — | j                   j                  i «       y r%   )r   Úsetr)   s    r   r   zLocal.__release_local__M   s   € Ø�‰×Ñ˜2Õr   c                ó`   — | j                   j                  i «      }||v r||   S t        |«      ‚r%   )r   r'   ÚAttributeError©r!   r1   Úvaluess      r   Ú__getattr__zLocal.__getattr__P   s2   € Ø—‘×#Ñ# BÓ'ˆà�6‰>Ø˜$‘<Ðä˜TÓ"Ð"r   c                ó–   — | j                   j                  i «      j                  «       }|||<   | j                   j                  |«       y r%   )r   r'   Úcopyr4   )r!   r1   Úvaluer8   s       r   r   zLocal.__setattr__X   s:   € Ø—‘×#Ñ# BÓ'×,Ñ,Ó.ˆØˆˆt‰Ø�‰×Ñ˜6Õ"r   c                ó´   — | j                   j                  i «      }||v r/|j                  «       }||= | j                   j                  |«       y t	        |«      ‚r%   )r   r'   r;   r4   r6   r7   s      r   Ú__delattr__zLocal.__delattr__]   sL   € Ø—‘×#Ñ# BÓ'ˆà�6‰>Ø—[‘[“]ˆFØ�t�Ø�N‰N×Ñ˜vÕ&ä  Ó&Ð&r   r%   )r"   z#ContextVar[dict[str, t.Any]] | NoneÚreturnÚNone)r?   zt.Iterator[tuple[str, t.Any]])r1   Ústrr,   ú
str | Noner?   r/   ©r?   r@   )r1   rA   r?   út.Any)r1   rA   r<   rD   r?   r@   )r1   rA   r?   r@   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r#   r*   r2   r   r9   r   r>   © r   r   r   r   #   s:   „ ñð  €IôAó4ð DHõ Góó#ó#ô
'r   r   c                  ód   — e Zd ZdZdZddd„Zdd„Zdd„Zdd„Ze	dd„«       Z
	 ddd	œ	 	 	 	 	 dd
„Zy)Ú
LocalStackaŠ  Create a stack of context-local data. This wraps a
    :class:`ContextVar` containing a :class:`list` value.

    This may incur a performance penalty compared to using individual
    context vars, as it has to copy data to avoid mutating the list
    between nested contexts.

    :param context_var: The :class:`~contextvars.ContextVar` to use as
        storage for this local. If not given, one will be created.
        Context vars not created at the global scope may interfere with
        garbage collection.

    .. versionchanged:: 2.0
        Uses ``ContextVar`` instead of a custom storage implementation.

    .. versionadded:: 0.6.1
    )Ú_storageNc                óF   — |€t        dt        | «      › d�«      }|| _        y )Nzwerkzeug.LocalStack<r   )r   r   rM   r    s     r   r#   zLocalStack.__init__}   s)   € ØÐô
 %Ð';¼B¸t»H¸:ÀYÐ%OÓPˆKà#ˆ�r   c                ó:   — | j                   j                  g «       y r%   )rM   r4   r)   s    r   r   zLocalStack.__release_local__‡   s   € Ø�‰×Ñ˜"Õr   c                ó°   — | j                   j                  g «      j                  «       }|j                  |«       | j                   j	                  |«       |S )z'Add a new item to the top of the stack.)rM   r'   r;   Úappendr4   )r!   ÚobjÚstacks      r   ÚpushzLocalStack.pushŠ   sB   € à—‘×!Ñ! "Ó%×*Ñ*Ó,ˆØ�‰�SÔØ�‰×Ñ˜%Ô Øˆr   c                ó    — | j                   j                  g «      }t        |«      dk(  ry|d   }| j                   j                  |dd «       |S )zjRemove the top item from the stack and return it. If the
        stack is empty, return ``None``.
        r   Néÿÿÿÿ)rM   r'   Úlenr4   )r!   rS   Úrvs      r   ÚpopzLocalStack.pop‘   sL   € ð —‘×!Ñ! "Ó%ˆäˆu‹:˜Š?Øà�2‰YˆØ�‰×Ñ˜%  ˜*Ô%Øˆ	r   c                ó`   — | j                   j                  g «      }t        |«      dk(  ry|d   S )z[The topmost item on the stack.  If the stack is empty,
        `None` is returned.
        r   NrV   )rM   r'   rW   )r!   rS   s     r   ÚtopzLocalStack.topž   s0   € ð
 —‘×!Ñ! "Ó%ˆäˆu‹:˜Š?Øà�R‰yÐr   r+   c               ó   — t        | ||¬«      S )a@  Create a :class:`LocalProxy` that accesses the top of this
        local stack.

        :param name: If given, the proxy access this attribute of the
            top item, rather than the item itself.
        :param unbound_message: The error message that the proxy will
            show if the stack is empty.
        r+   r.   r0   s      r   r2   zLocalStack.__call__ª   s   € ô ˜$ °oÔFÐFr   r%   )r"   zContextVar[list[T]] | Noner?   r@   rC   )rR   r   r?   zlist[T])r?   zT | None)r1   rB   r,   rB   r?   r/   )rE   rF   rG   rH   rI   r#   r   rT   rY   Úpropertyr[   r2   rJ   r   r   rL   rL   h   se   „ ñð$ €Iô$óóóð ò	ó ð	ð "&ðGØHLñGØðGØ;EðGà	ôGr   rL   c                  óF   — e Zd ZdZdZ	 d		 	 	 d
d„Zdd„Zdd„Zdd„Zdd„Z	y)ÚLocalManagera  Manage releasing the data for the current context in one or more
    :class:`Local` and :class:`LocalStack` objects.

    This should not be needed for modern use cases, and may be removed
    in the future.

    :param locals: A local or list of locals to manage.

    .. versionchanged:: 2.1
        The ``ident_func`` was removed.

    .. versionchanged:: 0.7
        The ``ident_func`` parameter was added.

    .. versionchanged:: 0.6.1
        The :func:`release_local` function can be used instead of a
        manager.
    )ÚlocalsNc                ój   — |€g | _         y t        |t        «      r	|g| _         y t        |«      | _         y r%   )r`   Ú
isinstancer   Úlist)r!   r`   s     r   r#   zLocalManager.__init__Î   s.   € ð ˆ>ØˆD�KÜ˜¤Ô&Ø!˜(ˆD�Kä˜v›,ˆD�Kr   c                ó<   — | j                   D ]  }t        |«       Œ y)z†Release the data in the locals for this context. Call this at
        the end of each request or use :meth:`make_middleware`.
        N)r`   r   )r!   r   s     r   ÚcleanupzLocalManager.cleanupÙ   s   € ð —[‘[ò 	!ˆEÜ˜%Õ ñ	!r   c                ó$   ‡ ‡— 	 	 	 	 	 	 dˆˆ fd„}|S )z…Wrap a WSGI application so that local data is released
        automatically after the response has been sent for a request.
        c                ó>   •— t         ‰| |«      ‰j                  «      S r%   )r
   re   )ÚenvironÚstart_responseÚappr!   s     €€r   Úapplicationz1LocalManager.make_middleware.<locals>.applicationå   s   ø€ ô #¡3 w°Ó#?ÀÇÁÓNÐNr   )rh   r   ri   r   r?   zt.Iterable[bytes]rJ   )r!   rj   rk   s   `` r   Úmake_middlewarezLocalManager.make_middlewareà   s,   ù€ ð
	OØ$ð	OØ6Cð	Oàö	Oð
 Ðr   c                ó8   — t        | j                  |«      |«      S )zòLike :meth:`make_middleware` but used as a decorator on the
        WSGI application function.

        .. code-block:: python

            @manager.middleware
            def application(environ, start_response):
                ...
        )r   rl   )r!   Úfuncs     r   Ú
middlewarezLocalManager.middlewareì   s   € ô ˜d×2Ñ2°4Ó8¸$Ó?Ð?r   c                ó`   — dt        | «      j                  › dt        | j                  «      › d�S )Nú<z storages: ú>)ÚtyperE   rW   r`   r)   s    r   Ú__repr__zLocalManager.__repr__ø   s,   € Ø”4˜“:×&Ñ&Ð' {´3°t·{±{Ó3CÐ2DÀAÐFÐFr   r%   )r`   z<None | (Local | LocalStack | t.Iterable[Local | LocalStack])r?   r@   rC   )rj   r   r?   r   )rn   r   r?   r   ©r?   rA   )
rE   rF   rG   rH   rI   r#   re   rl   ro   rt   rJ   r   r   r_   r_   ¸   sB   „ ñð& €Ið PTð	'àLð	'ð 
ó	'ó!ó
ó
@ôGr   r_   c                  óZ   — e Zd ZdZdZ	 	 	 	 d		 	 	 	 	 	 	 	 	 d
d„Zdd„Zddd„Zdd„Zdd„Z	y)Ú_ProxyLookupa”  Descriptor that handles proxied attribute lookup for
    :class:`LocalProxy`.

    :param f: The built-in function this attribute is accessed through.
        Instead of looking up the special method, the function call
        is redone on the object.
    :param fallback: Return this function if the proxy is unbound
        instead of raising a :exc:`RuntimeError`.
    :param is_attr: This proxied name is an attribute, not a function.
        Call the fallback immediately to get the value.
    :param class_value: Value to return when accessed from the
        ``LocalProxy`` class directly. Used for ``__doc__`` so building
        docs still works.
    )Úbind_fÚfallbackÚis_attrÚclass_valuer1   Nc                óz   ‡— t        ‰d«      rdˆfd„}n‰�dˆfd„}nd }|| _        || _        || _        || _        y )NÚ__get__c                ó:   •— ‰j                  |t        |«      «      S r%   ©r}   rs   ©ÚinstancerR   Úfs     €r   rx   z%_ProxyLookup.__init__.<locals>.bind_f  s   ø€ Ø—y‘y ¤d¨3£iÓ0Ð0r   c                ó   •— t        ‰|«      S r%   r   r€   s     €r   rx   z%_ProxyLookup.__init__.<locals>.bind_f   s   ø€ Ü˜q #“Ð&r   ©r�   r/   rR   rD   r?   z
t.Callable)Úhasattrrx   ry   r{   rz   )r!   r‚   ry   r{   rz   rx   s    `    r   r#   z_ProxyLookup.__init__  sD   ø€ ô �1�iÔ ö1ð ˆ]ö'ð
 ˆFàˆŒØ ˆŒØ&ˆÔØˆ�r   c                ó   — || _         y r%   ©r1   )r!   Úownerr1   s      r   Ú__set_name__z_ProxyLookup.__set_name__,  s	   € Øˆ�	r   c                ób  — |€| j                   �| j                   S | S 	 |j                  «       }| j                  �| j                  ||«      S t        || j                  «      S # t        $ rC | j                  €‚ | j                  j	                  ||«      }| j
                  r	 |«       cY S |cY S w xY wr%   )	r{   Ú_get_current_objectÚRuntimeErrorry   r}   rz   rx   Úgetattrr1   )r!   r�   rˆ   rR   ry   s        r   r}   z_ProxyLookup.__get__/  s°   € ØÐØ×ÑÐ+Ø×'Ñ'Ð'àˆKð	Ø×.Ñ.Ó0ˆCð �;‰;Ð"Ø—;‘;˜x¨Ó-Ð-ä�s˜DŸI™IÓ&Ð&øô! ò 	Ø�}‰}Ð$Øà—}‘}×,Ñ,¨X°uÓ=ˆHà�|Š|ñ  “zÒ!àŠOð	ús   žA" Á"AB.Â)B.Â-B.c                ó    — d| j                   › �S )Nzproxy r‡   r)   s    r   rt   z_ProxyLookup.__repr__J  s   € Ø˜Ÿ	™	�{Ð#Ð#r   c                óD   —  | j                  |t        |«      «      |i |¤ŽS )zíSupport calling unbound methods from the class. For example,
        this happens with ``copy.copy``, which does
        ``type(x).__copy__(x)``. ``type(x)`` can't be proxied, so it
        returns the proxy type and descriptor.
        r   )r!   r�   ÚargsÚkwargss       r   r2   z_ProxyLookup.__call__M  s%   € ð 6ˆt�|‰|˜H¤d¨8£nÓ5°tÐF¸vÑFÐFr   )NNNF)
r‚   út.Callable | Nonery   r’   r{   zt.Any | Nonerz   Úboolr?   r@   )rˆ   r/   r1   rA   r?   r@   r%   )r�   r/   rˆ   ztype | Noner?   rD   ru   )r�   r/   r�   rD   r‘   rD   r?   rD   )
rE   rF   rG   rH   rI   r#   r‰   r}   rt   r2   rJ   r   r   rw   rw   ü   sg   „ ñð I€Ið  $Ø&*Ø$(Øðàðð $ðð "ð	ð
 ðð 
óó<ô'ó6$ôGr   rw   c                  ó6   ‡ — e Zd ZdZdZ	 d	 	 	 	 	 dˆ fd„Zˆ xZS )Ú	_ProxyIOpz…Look up an augmented assignment method on a proxied object. The
    method is wrapped to return the proxy instead of the object.
    rJ   c                óB   •‡— t         ‰| �  ‰|«       dˆfd„}|| _        y )Nc                óJ   •‡ — dˆˆ fd„}|j                  |t        |«      «      S )Nc                ó   •—  ‰| |«       ‰S r%   rJ   )r!   Úotherr‚   r�   s     €€r   Úi_opz0_ProxyIOp.__init__.<locals>.bind_f.<locals>.i_opc  s   ø€ Ù�$˜”Ø�r   )r!   rD   r™   rD   r?   r/   r   )r�   rR   rš   r‚   s   `  €r   rx   z"_ProxyIOp.__init__.<locals>.bind_fb  s   ù€ ö ð —<‘< ¤T¨#£YÓ/Ð/r   r„   )Úsuperr#   rx   )r!   r‚   ry   rx   Ú	__class__s    `  €r   r#   z_ProxyIOp.__init__]  s"   ù€ ô 	‰Ñ˜˜HÔ%õ	0ð ˆ�r   )NN)r‚   r’   ry   r’   r?   r@   )rE   rF   rG   rH   rI   r#   Ú__classcell__)rœ   s   @r   r•   r•   V  s8   ø„ ñð €Ið JNðØ"ðØ5Fðà	÷ñ r   r•   c                óD   ‡ — dˆ fd„}t        j                  t        |«      S )z5Swap the argument order to turn an l-op into an r-op.c                ó   •—  ‰|| «      S r%   rJ   )rR   r™   Úops     €r   Úr_opz_l_to_r_op.<locals>.r_opo  s   ø€ Ù�%˜‹~Ðr   )rR   rD   r™   rD   r?   rD   )ÚtÚcastr   )r    r¡   s   ` r   Ú
_l_to_r_opr¤   l  s   ø€ õô �6‰6”!�T‹?Ðr   c                ó   — | S r%   rJ   )Úos    r   Ú	_identityr§   u  s   € Ø€Hr   c                  ó`  — e Zd ZU dZdZded<   	 	 dddœ	 	 	 	 	 	 	 dd„Z eed„ d	¬
«      Z ed„ d	¬«      Z ee	d„ ¬«      Z
 ee«      Z ee«      Z e«       Z eej"                  «      Z eej&                  «      Z eej*                  «      Z eej.                  «      Z eej2                  «      Z eej6                  «      Z ee«      Z eed„ ¬«      Z  ee!«      Z" ee#«      Z$ ee%«      Z& ee'd„ ¬«      Z( ed„ d	¬«      Z) ed„ «      Z* ed„ «      Z+ ed„ «      Z, ee-«      Z. eej^                  «      Z0 eejb                  «      Z2 eejf                  «      Z4 eejj                  «      Z6 ee7«      Z8 ee9«      Z: ee;«      Z< eejz                  «      Z> eej~                  «      Z@ eej‚                  «      ZB eej†                  «      ZD eejŠ                  «      ZF eejŽ                  «      ZH eej’                  «      ZJ eej–                  «      ZL eeM«      ZN eeO«      ZP eej¢                  «      ZR eej¦                  «      ZT eejª                  «      ZV eej®                  «      ZX eej²                  «      ZZ e e[ej~                  «      «      Z\ e e[ej‚                  «      «      Z] e e[ej†                  «      «      Z^ e e[ejŠ                  «      «      Z_ e e[ejŽ                  «      «      Z` e e[ej’                  «      «      Za e e[ej–                  «      «      Zb e e[eM«      «      Zc e e[eO«      «      Zd e e[ej¢                  «      «      Ze e e[ej¦                  «      «      Zf e e[ejª                  «      «      Zg e e[ej®                  «      «      Zh e e[ej²                  «      «      Zi ejejÖ                  «      Zl ejejÚ                  «      Zn ejejÞ                  «      Zp ejejâ                  «      Zr ejejæ                  «      Zt ejejê                  «      Zv ejejî                  «      Zx ejejò                  «      Zz ejejö                  «      Z| ejejú                  «      Z~ ejejþ                  «      Z€ eje�j                  «      Z‚ eje�j                  «      Z„ ee�j
                  «      Z† ee�j                  «      Zˆ ee‰«      ZŠ ee�j                  «      ZŒ ee�«      ZŽ ee�«      Z� ee‘«      Z’ ee�j&                  «      Z” ee•«      Z– ee—�j0                  «      Z™ ee—�j4                  «      Z› ee—�j8                  «      Z� e«       Zž e«       ZŸ e«       Z  e«       Z¡ e«       Z¢ e«       Z£ e«       Z¤ ee¥�jJ                  «      Z¦ ee¥�jN                  «      Z¨y)r/   as	  A proxy to the object bound to a context-local object. All
    operations on the proxy are forwarded to the bound object. If no
    object is bound, a ``RuntimeError`` is raised.

    :param local: The context-local object that provides the proxied
        object.
    :param name: Proxy this attribute from the proxied object.
    :param unbound_message: The error message to show if the
        context-local object is unbound.

    Proxy a :class:`~contextvars.ContextVar` to make it easier to
    access. Pass a name to proxy that attribute.

    .. code-block:: python

        _request_var = ContextVar("request")
        request = LocalProxy(_request_var)
        session = LocalProxy(_request_var, "session")

    Proxy an attribute on a :class:`Local` namespace by calling the
    local with the attribute name:

    .. code-block:: python

        data = Local()
        user = data("user")

    Proxy the top item on a :class:`LocalStack` by calling the local.
    Pass a name to proxy that attribute.

    .. code-block::

        app_stack = LocalStack()
        current_app = app_stack()
        g = app_stack("g")

    Pass a function to proxy the return value from that function. This
    was previously used to access attributes of local objects before
    that was supported directly.

    .. code-block:: python

        session = LocalProxy(lambda: request.session)

    ``__repr__`` and ``__class__`` are proxied, so ``repr(x)`` and
    ``isinstance(x, cls)`` will look like the proxied object. Use
    ``issubclass(type(x), LocalProxy)`` to check if an object is a
    proxy.

    .. code-block:: python

        repr(user)  # <User admin>
        isinstance(user, User)  # True
        issubclass(type(user), LocalProxy)  # True

    .. versionchanged:: 2.2.2
        ``__wrapped__`` is set when wrapping an object, not only when
        wrapping a function, to prevent doctest from failing.

    .. versionchanged:: 2.2
        Can proxy a ``ContextVar`` or ``LocalStack`` directly.

    .. versionchanged:: 2.2
        The ``name`` parameter can be used with any proxied object, not
        only ``Local``.

    .. versionchanged:: 2.2
        Added the ``unbound_message`` parameter.

    .. versionchanged:: 2.0
        Updated proxied attributes and methods to reflect the current
        data model.

    .. versionchanged:: 0.6.1
        The class can be instantiated with a callable.
    )Ú	__wrappedr‹   zt.Callable[[], T]r‹   Nr+   c               óœ  ‡‡‡— |€t         Šnt        |«      Š‰€dŠt        ‰t        «      r|€t	        d«      ‚dˆˆˆfd„}n]t        ‰t
        «      r	dˆˆˆfd„}nDt        ‰t        «      r	dˆˆˆfd„}n+t        ‰«      rdˆˆfd„}nt	        dt        ‰«      › d�«      ‚t        j                  | d	‰«       t        j                  | d
|«       y )Nzobject is not boundz2'name' is required when proxying a 'Local' object.c                 óH   •— 	  ‰ ‰«      S # t         $ r t        ‰«      d ‚w xY wr%   )r6   rŒ   )Úget_namer   r,   s   €€€r   r‹   z0LocalProxy.__init__.<locals>._get_current_objectæ  s1   ø€ ðBÙ# E›?Ð*øÜ%ò BÜ& Ó7¸TÐAðBús   ƒ ‹!c                 óF   •— ‰j                   } | €t        ‰«      ‚ ‰| «      S r%   )r[   rŒ   ©rR   r¬   r   r,   s    €€€r   r‹   z0LocalProxy.__init__.<locals>._get_current_objectî  s&   ø€ Ø—i‘i�à�;Ü& Ó7Ð7á “}Ð$r   c                 óh   •— 	 ‰j                  «       }  ‰| «      S # t        $ r t        ‰«      d ‚w xY wr%   )r'   ÚLookupErrorrŒ   r®   s    €€€r   r‹   z0LocalProxy.__init__.<locals>._get_current_objectø  s@   ø€ ðBØŸ)™)›+�Cñ   “}Ð$øô #ò BÜ& Ó7¸TÐAðBús   ƒ ›1c                 ó   •—  ‰  ‰«       «      S r%   rJ   )r¬   r   s   €€r   r‹   z0LocalProxy.__init__.<locals>._get_current_object  s   ø€ Ù¡£Ó(Ð(r   zDon't know how to proxy 'z'.Ú_LocalProxy__wrappedr‹   )r?   r   )r§   r   rb   r   Ú	TypeErrorrL   r   Úcallablers   r   r   )r!   r   r1   r,   r‹   r¬   s    ` ` @r   r#   zLocalProxy.__init__Ó  sÇ   ú€ ð ˆ<Ü ‰Hä! $Ó'ˆHàÐ"Ø3ˆOä�eœUÔ#Øˆ|ÜÐ TÓUÐU÷Bð Bô ˜œzÔ*÷%ð %ô ˜œzÔ*÷%ð %ô �eŒ_÷)ô Ð7¼¸U»°}ÀBÐGÓHÐHä×Ñ˜4Ð!7¸Ô?Ü×Ñ˜4Ð!6Ð8KÕLr   c                ó,   — t        | «      j                  S r%   )rs   rH   r)   s    r   ú<lambda>zLocalProxy.<lambda>  s   € ´4¸³:×3EÑ3E€ r   T)r{   ry   rz   c                ó   — | j                   S r%   )r²   r)   s    r   r¶   zLocalProxy.<lambda>  s   € ˜d×7Ñ7€ r   )ry   rz   c                ó4   — dt        | «      j                  › d�S )Nrq   z	 unbound>)rs   rE   r)   s    r   r¶   zLocalProxy.<lambda>  s   €  a¬¨T«
×(;Ñ(;Ð'<¸IÐ$F€ r   )ry   c                 ó   — y)NFrJ   r)   s    r   r¶   zLocalProxy.<lambda>  s   � r   c                ó   — g S r%   rJ   r)   s    r   r¶   zLocalProxy.<lambda>$  s   € °b€ r   c                ó   — t        | «      S r%   )rs   r)   s    r   r¶   zLocalProxy.<lambda>0  s
   € œd 4›j€ r   c                ó   — t        || «      S r%   )rb   ©r!   r™   s     r   r¶   zLocalProxy.<lambda>2  ó   € ¼ÀEÈ4Ó9P€ r   c                ó   — t        || «      S r%   )Ú
issubclassr½   s     r   r¶   zLocalProxy.<lambda>3  r¾   r   c                ó   —  | |i |¤ŽS r%   rJ   )r!   r�   r‘   s      r   r¶   zLocalProxy.<lambda>5  s   € ¹$ÀÐ:OÈÑ:O€ r   r%   )r   z9ContextVar[T] | Local | LocalStack[T] | t.Callable[[], T]r1   rB   r,   rB   r?   r@   )©rE   rF   rG   rH   rI   Ú__annotations__r#   rw   Ú__wrapped__Úreprrt   rA   Ú__str__ÚbytesÚ	__bytes__Ú
__format__ÚoperatorÚltÚ__lt__ÚleÚ__le__ÚeqÚ__eq__ÚneÚ__ne__ÚgtÚ__gt__ÚgeÚ__ge__ÚhashÚ__hash__r“   Ú__bool__r�   r9   Úsetattrr   Údelattrr>   ÚdirÚ__dir__rœ   Ú__instancecheck__Ú__subclasscheck__r2   rW   Ú__len__Úlength_hintÚ__length_hint__ÚgetitemÚ__getitem__ÚsetitemÚ__setitem__ÚdelitemÚ__delitem__r&   r*   ÚnextÚ__next__ÚreversedÚ__reversed__ÚcontainsÚ__contains__ÚaddÚ__add__ÚsubÚ__sub__ÚmulÚ__mul__ÚmatmulÚ
__matmul__ÚtruedivÚ__truediv__ÚfloordivÚ__floordiv__ÚmodÚ__mod__ÚdivmodÚ
__divmod__ÚpowÚ__pow__ÚlshiftÚ
__lshift__ÚrshiftÚ
__rshift__Úand_Ú__and__ÚxorÚ__xor__Úor_Ú__or__r¤   Ú__radd__Ú__rsub__Ú__rmul__Ú__rmatmul__Ú__rtruediv__Ú__rfloordiv__Ú__rmod__Ú__rdivmod__Ú__rpow__Ú__rlshift__Ú__rrshift__Ú__rand__Ú__rxor__Ú__ror__r•   ÚiaddÚ__iadd__ÚisubÚ__isub__ÚimulÚ__imul__ÚimatmulÚ__imatmul__ÚitruedivÚ__itruediv__Ú	ifloordivÚ__ifloordiv__ÚimodÚ__imod__ÚipowÚ__ipow__ÚilshiftÚ__ilshift__ÚirshiftÚ__irshift__ÚiandÚ__iand__ÚixorÚ__ixor__ÚiorÚ__ior__ÚnegÚ__neg__ÚposÚ__pos__ÚabsÚ__abs__ÚinvertÚ
__invert__ÚcomplexÚ__complex__ÚintÚ__int__ÚfloatÚ	__float__ÚindexÚ	__index__ÚroundÚ	__round__ÚmathÚtruncÚ	__trunc__ÚfloorÚ	__floor__ÚceilÚ__ceil__Ú	__enter__Ú__exit__Ú	__await__Ú	__aiter__Ú	__anext__Ú
__aenter__Ú	__aexit__r;   Ú__copy__ÚdeepcopyÚ__deepcopy__rJ   r   r   r/   r/   y  sY  … ñKðZ 5€Ià*Ó*ðð  ð6Mð
 '+ñ6MàHð6Mð ð6Mð
 $ð6Mð 
ó6Mñp ØÑ&EÈtô€Gñ Ù7Àô€Kñ ØÑFô€Hñ ˜3Ó€GÙ˜UÓ#€IÙ“€JÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜DÓ!€HÙ˜DÑ+=Ô>€HÙ˜wÓ'€Ká˜wÓ'€KÙ˜wÓ'€KÙ˜3©Ô9€Gñ Ù(°$ô€Iñ %Ñ%PÓQÐÙ$Ñ%PÓQÐáÑOÓP€HÙ˜3Ó€GÙ" 8×#7Ñ#7Ó8€OÙ˜x×/Ñ/Ó0€KÙ˜x×/Ñ/Ó0€KÙ˜x×/Ñ/Ó0€Ká˜DÓ!€HÙ˜DÓ!€HÙ Ó)€LÙ × 1Ñ 1Ó2€LÙ˜8Ÿ<™<Ó(€GÙ˜8Ÿ<™<Ó(€GÙ˜8Ÿ<™<Ó(€GÙ˜hŸo™oÓ.€JÙ˜x×/Ñ/Ó0€KÙ × 1Ñ 1Ó2€LÙ˜8Ÿ<™<Ó(€GÙ˜fÓ%€JÙ˜3Ó€GÙ˜hŸo™oÓ.€JÙ˜hŸo™oÓ.€JÙ˜8Ÿ=™=Ó)€GÙ˜8Ÿ<™<Ó(€GÙ˜(Ÿ,™,Ó'€FÙ™J x§|¡|Ó4Ó5€HÙ™J x§|¡|Ó4Ó5€HÙ™J x§|¡|Ó4Ó5€HÙ™z¨(¯/©/Ó:Ó;€KÙ¡
¨8×+;Ñ+;Ó <Ó=€LÙ ¡¨H×,=Ñ,=Ó!>Ó?€MÙ™J x§|¡|Ó4Ó5€HÙ™z¨&Ó1Ó2€KÙ™J s›OÓ,€HÙ™z¨(¯/©/Ó:Ó;€KÙ™z¨(¯/©/Ó:Ó;€KÙ™J x§}¡}Ó5Ó6€HÙ™J x§|¡|Ó4Ó5€HÙ™: h§l¡lÓ3Ó4€GÙ˜Ÿ™Ó'€HÙ˜Ÿ™Ó'€HÙ˜Ÿ™Ó'€HÙ˜H×,Ñ,Ó-€KÙ˜X×.Ñ.Ó/€LÙ˜h×0Ñ0Ó1€MÙ˜Ÿ™Ó'€HÙ˜Ÿ™Ó'€HÙ˜H×,Ñ,Ó-€KÙ˜H×,Ñ,Ó-€KÙ˜Ÿ™Ó'€HÙ˜ŸšÓ'€HÙ˜ŸšÓ%€GÙ˜8Ÿ<š<Ó(€GÙ˜8Ÿ<š<Ó(€GÙ˜3Ó€GÙ˜hŸošoÓ.€JÙ˜wÓ'€KÙ˜3Ó€GÙ˜UÓ#€IÙ˜XŸ^š^Ó,€IÙ˜UÓ#€IÙ˜TŸZšZÓ(€IÙ˜TŸZšZÓ(€IÙ˜DŸIšIÓ&€HÙ“€IÙ‹~€HÙ“€IÙ“€IÙ“€IÙ“€JÙ“€IÙ˜DŸIšIÓ&€HÙ §¢Ó.�Lr   r/   )r   zLocal | LocalStackr?   r@   )r    r   r?   r   )r¦   r   r?   r   )#Ú
__future__r   r;   rD  rÉ   Útypingr¢   Úcontextvarsr   Ú	functoolsr   r   r   Úwsgir
   ÚTYPE_CHECKINGÚ_typeshed.wsgir   r   r   ÚTypeVarr   ÚCallableÚAnyr   r   r   ÚGenericrL   r_   rw   r•   r¤   r§   r/   rJ   r   r   ú<module>r`     sÚ   ðÝ "ã Û Û Û Ý "Ý Ý $Ý å !à‡?‚?Ý,Ý.Ý.à€A‡I�IˆcƒN€Ø€A‡I�Iˆc˜Ÿ™ C¨¯© JÑ/Ô0€ó	÷B'ñ B'ôJMG�—‘˜1‘ô MG÷`AGñ AG÷HWGñ WGôt�ô ó,óôD/�—‘˜1‘õ D/r   