
    lh
                         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	 e	rd dlm
Z
 d dlmZ dZd	Zd
j                  ee      Z e j"                  ee j$                  e j&                  z        Z G d de      Zd Zy)    N)Integrationadd_global_event_processor)capture_internal_exceptions)TYPE_CHECKING)Any)Eventz[^@]+?z\s+@\s+0x[0-9a-fA-F]+z[
^(?P<index>\d+)\.\s+(?P<function>{FUNCTION_RE}){HEX_ADDRESS}(?:\s+in\s+(?P<package>.+))?$
)FUNCTION_REHEX_ADDRESSc                        e Zd ZdZed        Zy)GnuBacktraceIntegrationgnu_backtracec                      t         d        } y )Nc                 Z    t               5  t        | |      cd d d        S # 1 sw Y   y xY w)N)r   _process_gnu_backtrace)eventhints     w/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/sentry_sdk/integrations/gnu_backtrace.pyprocess_gnu_backtracezAGnuBacktraceIntegration.setup_once.<locals>.process_gnu_backtrace#   s)     -. ;-eT:; ; ;s   !*r   )r   s    r   
setup_oncez"GnuBacktraceIntegration.setup_once    s     
$	; 
$	;    N)__name__
__module____qualname__
identifierstaticmethodr    r   r   r   r      s     J; ;r   r   c           	      <   t        j                         j                  t              | S |j	                  dd       }|| S | j	                  dd       }|| S |j	                  dd       }|| S |D ]*  }|j	                  di       j	                  dg       }|s)|j	                  dd       }|s>g }g }|j                         D ]  }	t        j                  |	      }
|
rV|j                  t        |
j                  d            |
j                  d      xs d |
j                  d	      xs d d
df       p|j                  |	        |s|j                  d        |D ]  \  }}|j                  |        |j                  d       dj                  |      |d<   - | S )Nexc_info	exceptionvalues
stacktraceframesvalueindexpackagefunctionnative)r&   r'   platformc                     | d    S )Nr   r   )xs    r   <lambda>z(_process_gnu_backtrace.<locals>.<lambda>\   s    !A$ r   )keyz:<stacktrace parsed and removed by GnuBacktraceIntegration>
)
sentry_sdk
get_clientget_integrationr   get
splitlinesFRAME_REmatchappendintgroupsortjoin)r   r   r   r    r!   r#   msgadditional_framesnew_msgliner5   _frames                r   r   r   *   s   ../FGOxx
D)H		+t,I]]8T*F~ #4	|R044XrBmmGT*NN$ 	%DNN4(E!((EKK01',{{9'='E(-J(?(G4(0	 t$	%" """7- %5e$% NNWX!%7!3IgG#4J Lr   )rer/   sentry_sdk.integrationsr   sentry_sdk.scoper   sentry_sdk.utilsr   typingr   r   sentry_sdk._typesr	   r
   r   formatr4   compile	MULTILINEVERBOSEr   r   r   r   r   <module>rK      s}    	  / 7 8  ' &
F   	 2::hrzz 9:
;k 
;9r   