<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ó
¿öYc           @@  s  d  Z  d d l m Z d d l Z d d l Z d d l m Z m Z m Z m	 Z	 m
 Z
 m Z m Z d d l m Z d d l m Z d Z d	 „  Z d e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ e rŒd e f d „  ƒ  YZ n  e j e ƒ e j e ƒ e j e ƒ e j e ƒ e j e ƒ e j e ƒ e j e ƒ e j e ƒ e j e ƒ e re j e ƒ n  d S(    s³   
raven.utils.serializer.base
~~~~~~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
i    (   t   absolute_importN(   t	   text_typet   binary_typet   string_typest	   iteritemst   class_typest   PY2t   PY3(   t
   to_unicodei   (   t   managert
   Serializerc         C@  s0   y t  |  j d ƒ ƒ SWn t k
 r+ t SXd  S(   Nt
   __sentry__(   t   callablet   __getattribute__t	   Exceptiont   False(   t   value(    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   has_sentry_metadata   s    c           B@  s8   e  Z d Z d  „  Z d „  Z d „  Z d d d „ Z RS(   c         C@  s   | |  _  d  S(   N(   R	   (   t   selfR	   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   __init__    s    c         C@  s   t  | |  j ƒ S(   s|   
        Given ``value``, return a boolean describing whether this
        serializer can operate on the given type
        (   t
   isinstancet   types(   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   can#   s    c         K@  s   | S(   s@   
        Given ``value``, coerce into a JSON-safe type.
        (    (   R   R   t   kwargs(    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt	   serialize*   s    i   i    c         K@  s°   | j  d d ƒ } | d 7} | | k r‘ y t t | ƒ ƒ |  } Wq‘ t k
 r } d d l } | j ƒ  |  j j j	 | ƒ t t
 | ƒ ƒ SXn  |  j j | d | d | | S(   s|   
        Given ``value``, recurse (using the parent serializer) to handle
        coercing of newly defined values.
        t   string_max_lengthi   i    Nt	   max_deptht   _depth(   t   gett   NoneR   t   reprR   t	   tracebackt	   print_excR	   t   loggert	   exceptiont   typet	   transform(   R   R   R   R   R   R   t   eR   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   recurse0   s    

(    (   t   __name__t
   __module__R   R   R   R   R&   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR
      s
   			t   IterableSerializerc           B@  s#   e  Z e e e e f Z d  „  Z RS(   c         @  sS   ˆ  j  d ƒ p t d ƒ ‰ t ‡  ‡ f d †  t j ‡ f d †  t | ƒ ƒ Dƒ ƒ S(   Nt   list_max_lengtht   infc         3@  s'   |  ] \ } } ˆ j  | ˆ   Vq d  S(   N(   R&   (   t   .0t   nt   o(   R   R   (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pys	   <genexpr>J   s   c         @  s   |  d ˆ  k  S(   Ni    (    (   t   x(   R*   (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   <lambda>L   t    (   R   t   floatt   tuplet	   itertoolst	   takewhilet	   enumerate(   R   R   R   (    (   R   R*   R   sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   G   s
    (   R'   R(   R3   t   listt   sett	   frozensetR   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR)   D   s   t   DictSerializerc           B@  s#   e  Z e f Z d  „  Z d „  Z RS(   c         C@  s   t  | t ƒ s t | ƒ S| S(   N(   R   R   R   (   R   t   key(    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   make_keyT   s    
c         @  sY   ˆ  j  d ƒ p t d ƒ ‰ t ‡  ‡ f d †  t j ‡ f d †  t t | ƒ ƒ ƒ Dƒ ƒ S(   NR*   R+   c         3@  sH   |  ]> \ } \ } } ˆ j  ˆ j | ˆ   ƒ ˆ j | ˆ   f Vq d  S(   N(   R<   R&   (   R,   R-   t   kt   v(   R   R   (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pys	   <genexpr>\   s   c         @  s   |  d ˆ  k  S(   Ni    (    (   R/   (   R*   (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR0   ^   R1   (   R   R2   t   dictR4   R5   R6   R   (   R   R   R   (    (   R   R*   R   sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   Y   s
    (   R'   R(   R?   R   R<   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR:   Q   s   		t   UnicodeSerializerc           B@  s   e  Z e f Z d  „  Z RS(   c         K@  s-   | j  d d  ƒ } t t d ƒ ƒ | |  f S(   NR   s   %s(   R   R   R   R   (   R   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   f   s    (   R'   R(   R   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR@   c   s   	t   StringSerializerc           B@  s   e  Z e f Z d  „  Z RS(   c         K@  sn   | j  d d  ƒ } t r& t | |  ƒ Sy& d | j d ƒ |  j d ƒ d SWn t k
 r_ n Xt | |  ƒ S(   NR   t   't   utf8(   R   R   R   R   t   decodet   encodet   UnicodeDecodeError(   R   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   r   s    &(   R'   R(   R   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRA   o   s   	t   TypeSerializerc           B@  s    e  Z e Z d  „  Z d „  Z RS(   c         C@  s#   t  t |  ƒ j | ƒ o" t | ƒ S(   N(   t   superRG   R   R   (   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   …   s    c         K@  s   |  j  | j ƒ  |  S(   N(   R&   R   (   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   ‰   s    (   R'   R(   R   R   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRG   ‚   s   	t   BooleanSerializerc           B@  s   e  Z e f Z d  „  Z RS(   c         K@  s
   t  | ƒ S(   N(   t   bool(   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR      s    (   R'   R(   RJ   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRI      s   	t   FloatSerializerc           B@  s   e  Z e f Z d  „  Z RS(   c         K@  s
   t  | ƒ S(   N(   R2   (   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   —   s    (   R'   R(   R2   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRK   ”   s   	t   IntegerSerializerc           B@  s   e  Z e f Z d  „  Z RS(   c         K@  s
   t  | ƒ S(   N(   t   int(   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   ž   s    (   R'   R(   RM   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRL   ›   s   	t   FunctionSerializerc           B@  s   e  Z e j f Z d  „  Z RS(   c         K@  s   d | j  | j t | ƒ f S(   Ns   <function %s from %s at 0x%x>(   R'   R(   t   id(   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   ¥   s    (   R'   R(   R   t   FunctionTypeR   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRN   ¢   s   t   LongSerializerc           B@  s   e  Z e f Z d  „  Z RS(   c         K@  s
   t  | ƒ S(   N(   t   long(   R   R   R   (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyR   ®   s    (   R'   R(   RR   R   R   (    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyRQ   «   s   	(   R
   (    t   __doc__t
   __future__R    R4   R   t   raven.utils.compatR   R   R   R   R   R   R   t   raven.utils.encodingR   R	   t   serialization_managert   __all__R   t   objectR
   R)   R:   R@   RA   RG   RI   RK   RL   RN   RQ   t   register(    (    (    sL   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/serializer/base.pyt   <module>   s>   4	'