+
    AžÀjø  ã                  óÌ   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHt ]P                  '       d   ^ RIHt ^RIHt  ! R R4      tR	 R
 lt ! R R]4      tR# )é    )ÚannotationsN)Údate)Ú	http_date)ÚResponse)ÚAppc                  ón   € ] tR t^tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltRtR# )ÚJSONProvidera™  A standard set of JSON operations for an application. Subclasses
of this can be used to customize JSON behavior or use different
JSON libraries.

To implement a provider for a specific library, subclass this base
class and implement at least :meth:`dumps` and :meth:`loads`. All
other methods have default implementations.

To use a different provider, either subclass ``Flask`` and set
:attr:`~flask.Flask.json_provider_class` to a provider class, or set
:attr:`app.json <flask.Flask.json>` to an instance of the class.

:param app: An application instance. This will be stored as a
    :class:`weakref.proxy` on the :attr:`_app` attribute.

.. versionadded:: 2.2
c               ó    € V ^8„  d   QhRRRR/# )é   Úappr   ÚreturnÚNone© )Úformats   "Úg/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/flask/json/provider.pyÚ__annotate__ÚJSONProvider.__annotate__&   s   € ÷ ,ñ ,˜Cð , Dñ ,ó    c                	ó<   € \         P                  ! V4      V n        R # )N)ÚweakrefÚproxyÚ_app)Úselfr   s   &&r   Ú__init__ÚJSONProvider.__init__&   s   € Ü Ÿš sÓ+ˆŽ	r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úobjút.AnyÚkwargsr   Ústrr   )r   s   "r   r   r   )   s!   € ÷ "ñ "˜ð "¨%ð "°Cñ "r   c                ó   € \         h)zySerialize data as JSON.

:param obj: The data to serialize.
:param kwargs: May be passed to the underlying JSON library.
©ÚNotImplementedError©r   r   r    s   &&,r   ÚdumpsÚJSONProvider.dumps)   ó
   € ô "Ð!r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   Úfpz	t.IO[str]r    r   r   r   )r   s   "r   r   r   1   s(   € ÷ ,ñ ,˜ð , 9ð ,¸ð ,À$ñ ,r   c                óJ   € VP                  V P                  ! V3/ VB 4       R# )zìSerialize data as JSON and write to a file.

:param obj: The data to serialize.
:param fp: A file opened for writing text. Should use the UTF-8
    encoding to be valid JSON.
:param kwargs: May be passed to the underlying JSON library.
N)Úwriter&   )r   r   r*   r    s   &&&,r   ÚdumpÚJSONProvider.dump1   s   € ð 	�‰�—’˜CÑ* 6Ñ*Ö+r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úszstr | bytesr    r   r   r   )r   s   "r   r   r   ;   s!   € ÷ "ñ "�{ð "¨eð "¸ñ "r   c                ó   € \         h)zwDeserialize data as JSON.

:param s: Text or UTF-8 bytes.
:param kwargs: May be passed to the underlying JSON library.
r#   ©r   r1   r    s   &&,r   ÚloadsÚJSONProvider.loads;   r(   r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r*   zt.IO[t.AnyStr]r    r   r   r   )r   s   "r   r   r   C   s!   € ÷ /ñ /�~ð /°ð /¸5ñ /r   c                óD   € V P                   ! VP                  4       3/ VB # )z£Deserialize data as JSON read from a file.

:param fp: A file opened for reading text or UTF-8 bytes.
:param kwargs: May be passed to the underlying JSON library.
)r4   Úread)r   r*   r    s   &&,r   ÚloadÚJSONProvider.loadC   s   € ð �zŠz˜"Ÿ'™'›)Ñ. vÑ.Ð.r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úargsztuple[t.Any, ...]r    zdict[str, t.Any]r   r   r   )r   s   "r   r   r   K   s$   € ÷ ñ Ø%ðØ/?ðà	ñr   c                	ó¦   € V'       d   V'       d   \        R 4      hV'       g   V'       g   R# \        V4      ^8X  d
   V^ ,          # T;'       g    T# )z9app.json.response() takes either args or kwargs, not bothN)Ú	TypeErrorÚlen)r   r<   r    s   &&&r   Ú_prepare_response_objÚ"JSONProvider._prepare_response_objK   s=   € ÷ —FÜÐWÓXÐXçŸFÙäˆt‹9˜Œ>Ø˜•7ˆNà�~ˆ~�vÐr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r<   r   r    r   r   r   )r   s   "r   r   r   Y   s&   € ÷ Vñ V˜eð V¨uð V¸ñ Vr   c                ó|   € V P                  W4      pV P                  P                  V P                  V4      RR7      # )aØ  Serialize the given arguments as JSON, and return a
:class:`~flask.Response` object with the ``application/json``
mimetype.

The :func:`~flask.json.jsonify` function calls this method for
the current application.

Either positional or keyword arguments can be given, not both.
If no arguments are given, ``None`` is serialized.

:param args: A single value to serialize, or multiple values to
    treat as a list to serialize.
:param kwargs: Treat as a dict to serialize.
úapplication/json©Úmimetype)r@   r   Úresponse_classr&   )r   r<   r    r   s   &*, r   ÚresponseÚJSONProvider.responseY   s7   € ð ×(Ñ(¨Ó6ˆØ�y‰y×'Ñ'¨¯
©
°3«ÐBTÐ'ÓUÐUr   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r&   r-   r4   r9   r@   rI   Ú__static_attributes__r   r   r   r	   r	      s1   † ñõ$,õ"õ,õ"õ/õ÷Vñ Vr   r	   c               ó    € V ^8„  d   QhRRRR/# )r   Úor   r   r   )r   s   "r   r   r   l   s   € ÷ Sñ S�ð S˜%ñ Sr   c                óÐ  € \        V \        4      '       d   \        V 4      # \        V \        P                  \
        P                  34      '       d   \        V 4      # \        '       d3   \        P                  ! V 4      '       d   \        P                  ! V 4      # \        V R 4      '       d   \        V P                  4       4      # \        R\        V 4      P                   R24      h)Ú__html__zObject of type z is not JSON serializable)Ú
isinstancer   r   ÚdecimalÚDecimalÚuuidÚUUIDr!   ÚdataclassesÚis_dataclassÚasdictÚhasattrrT   r>   ÚtyperK   )rR   s   &r   Ú_defaultr_   l   s    € Ü�!”T×ÒÜ˜‹|Ðä�!”g—o‘o¤t§y¡yÐ1×2Ò2Ü�1‹vˆçƒ{”{×/Ò/°×2Ò2Ü×!Ò! !Ó$Ð$äˆq�*×ÒÜ�1—:‘:“<Ó Ð ä
�o¤d¨1£g×&6Ñ&6Ð%7Ð7PÐQÓ
RÐRr   c                  ó~   € ] tR t^|t$ Rt]! ]4      tR]R&    Rt	 Rt
 RtR]R&    Rt R	 R
 ltR R ltR R ltRtR# )ÚDefaultJSONProvidera  Provide JSON operations using Python's built-in :mod:`json`
library. Serializes the following additional data types:

-   :class:`datetime.datetime` and :class:`datetime.date` are
    serialized to :rfc:`822` strings. This is the same as the HTTP
    date format.
-   :class:`uuid.UUID` is serialized to a string.
-   :class:`dataclasses.dataclass` is passed to
    :func:`dataclasses.asdict`.
-   :class:`~markupsafe.Markup` (or any object with a ``__html__``
    method) will call the ``__html__`` method to get a string.
zt.Callable[[t.Any], t.Any]ÚdefaultTNzbool | NoneÚcompactrE   c               ó$   € V ^8„  d   QhRRRRRR/# r   r   )r   s   "r   r   Ú DefaultJSONProvider.__annotate__¦   s!   € ÷ )ñ )˜ð )¨%ð )°Cñ )r   c                óØ   € VP                  RV P                  4       VP                  RV P                  4       VP                  RV P                  4       \        P
                  ! V3/ VB # )a  Serialize data as JSON to a string.

Keyword arguments are passed to :func:`json.dumps`. Sets some
parameter defaults from the :attr:`default`,
:attr:`ensure_ascii`, and :attr:`sort_keys` attributes.

:param obj: The data to serialize.
:param kwargs: Passed to :func:`json.dumps`.
rb   Úensure_asciiÚ	sort_keys)Ú
setdefaultrb   rg   rh   Újsonr&   r%   s   &&,r   r&   ÚDefaultJSONProvider.dumps¦   sV   € ð 	×Ñ˜) T§\¡\Ô2Ø×Ñ˜.¨$×*;Ñ*;Ô<Ø×Ñ˜+ t§~¡~Ô6Ü�zŠz˜#Ñ( Ñ(Ð(r   c               ó$   € V ^8„  d   QhRRRRRR/# r0   r   )r   s   "r   r   re   µ   s!   € ÷ 'ñ '�{ð '¨eð '¸ñ 'r   c                ó0   € \         P                  ! V3/ VB # )z~Deserialize data as JSON from a string or bytes.

:param s: Text or UTF-8 bytes.
:param kwargs: Passed to :func:`json.loads`.
)rj   r4   r3   s   &&,r   r4   ÚDefaultJSONProvider.loadsµ   s   € ô �zŠz˜!Ñ&˜vÑ&Ð&r   c               ó$   € V ^8„  d   QhRRRRRR/# rC   r   )r   s   "r   r   re   ½   s!   € ÷ 
ñ 
˜eð 
¨uð 
¸ñ 
r   c                ó\  € V P                  W4      p/ pV P                  f   V P                  P                  '       g   V P                  RJ d   VP	                  R^4       MVP	                  RR4       V P                  P                  V P                  ! V3/ VB  R2V P                  R7      # )a)  Serialize the given arguments as JSON, and return a
:class:`~flask.Response` object with it. The response mimetype
will be "application/json" and can be changed with
:attr:`mimetype`.

If :attr:`compact` is ``False`` or debug mode is enabled, the
output will be formatted to be easier to read.

Either positional or keyword arguments can be given, not both.
If no arguments are given, ``None`` is serialized.

:param args: A single value to serialize, or multiple values to
    treat as a list to serialize.
:param kwargs: Treat as a dict to serialize.
FÚindentÚ
separatorsÚ
rF   )Ú,Ú:)r@   rc   r   Údebugri   rH   r&   rG   )r   r<   r    r   Ú	dump_argss   &*,  r   rI   ÚDefaultJSONProvider.response½   s•   € ð  ×(Ñ(¨Ó6ˆØ&(ˆ	à�L‰LÒ  T§Y¡Y§_§_ _¸¿¹ÈÓ9NØ× Ñ  ¨1Õ-à× Ñ  ¨zÔ:à�y‰y×'Ñ'Ø�zŠz˜#Ñ+ Ñ+Ð,¨BÐ/¸$¿-¹-ð (ó 
ð 	
r   r   )rK   rL   rM   rN   rO   Ústaticmethodr_   rb   Ú__annotations__rg   rh   rc   rG   r&   r4   rI   rP   r   r   r   ra   ra   |   se   ‡ ññ +7°xÓ*@€GÐ'Ó@ðð
 €Lðð
 €Iðð  €Gˆ[Óðð
 "€HØ/õ)õ'÷
ñ 
r   ra   )Ú
__future__r   rZ   rV   rj   ÚtypingÚtrX   r   Údatetimer   Úwerkzeug.httpr   ÚTYPE_CHECKINGÚwerkzeug.sansio.responser   Ú
sansio.appr   r	   r_   ra   r   r   r   Ú<module>rƒ      sR   ðÝ "ã Û Û Û Û Û Ý å #à‡?‡?€?Ý1å ÷VVñ VVõrSô [
˜,ö [
r   