
    tni
                         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
                    ee          Z e j        ee j        e j        z            Z G d de          ZddZdS )    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d            ZdS )GnuBacktraceIntegrationgnu_backtracereturnNc                  (    t           dd            } d S )Neventr	   hintdict[str, Any]r   c                 r    t                      5  t          | |          cd d d            S # 1 swxY w Y   d S )N)r   _process_gnu_backtrace)r   r   s     b/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/sentry_sdk/integrations/gnu_backtrace.pyprocess_gnu_backtracezAGnuBacktraceIntegration.setup_once.<locals>.process_gnu_backtrace"   s    ,.. ; ;-eT::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s   ,00r   r	   r   r   r   r	   r   )r   s    r   
setup_oncez"GnuBacktraceIntegration.setup_once    s+    	#	; 	; 	; 
$	#	; 	; 	;    )r   N)__name__
__module____qualname__
identifierstaticmethodr    r   r   r   r      s7         J; ; ; \; ; ;r   r   r   r	   r   r   r   c           	         t          j                                        t                    | S |                    dd           }|| S |                     dd           }|| S |                    dd           }|| S |D ]^}|                    di                               dg           }|s0|                    dd           }|sIg }g }|                                D ]}	t                              |	          }
|
rf|                    t          |

                    d                    |

                    d          pd |

                    d	          pd d
df           |                    |	           |ra|                    d            |D ]\  }}|                    |           |                    d           d                    |          |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>Y   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liner8   _frames                r   r   r   (   s   ../FGGOxx
D))H		+t,,I]]8T**F~ #4 #4	|R0044XrBB 	mmGT** 	NN$$ 	% 	%DNN4((E %!((EKK0011',{{9'='='E(-J(?(?(G4(0 	 	 	 	 t$$$$ 	4"""777- % %5e$$$$NNWXXX!%7!3!3IgLr   r   )rer2   sentry_sdk.integrationsr   sentry_sdk.scoper   sentry_sdk.utilsr   typingr   r   sentry_sdk._typesr	   r
   r   formatr7   compile	MULTILINEVERBOSEr   r   r    r   r   <module>rN      s$   				     / / / / / / 7 7 7 7 7 7 8 8 8 8 8 8             ('''''' &
F    	 2:hrz 9::; ; ; ; ;k ; ; ;8 8 8 8 8 8r   