gdZgdZddlZddlZddlZddlZd dZd dZ ejje_ejje _GddejZ dZ d Z ed k(re yy) zUPython interface for the 'lsprof' profiler. Compatible with the 'profile' module. )runrunctxProfileNcVtjtj|||SN) _pyprofile_Utilsrr) statementfilenamesorts //opt/alt/python312/lib64/python3.12/cProfile.pyrrs"   W % ) ))Xt DDcZtjtj|||||Sr)rr rr)r globalslocalsr r s r rrs+   W % , ,Y-5t ==rcHeZdZdZd dZdZdZdZdZdZ dZ d Z d Z y ) ra`Profile(timer=None, timeunit=None, subcalls=True, builtins=True) Builds a profiler object using the specified timer function. The default timer is a fast built-in one based on real time. For custom timer functions returning integers, timeunit can be a float specifying a scale (i.e. how long each integer unit is, in seconds). cddl}|j|jj|j yNr)pstatsStats strip_dirs sort_stats print_stats)selfr rs r rzProfile.print_stats*s. T%%'2248DDFrcddl}t|d5}|j|j|j|dddy#1swYyxYw)Nrwb)marshalopen create_statsdumpstats)rfilerfs r dump_statszProfile.dump_stats.s; $      LLQ '  s -AAcD|j|jyr)disablesnapshot_statsrs r rzProfile.create_stats4s  rc|j}i|_i}|D]x}t|j}|j}||j z }|j }|j}i} | |t|j<||||| f|j|<z|D]}|jst|j}|jD]} |t| j} | j}|| j z }| j }| j}|| vr%| |} || dz }|| dz }|| dz }|| dz }||||f| |<y#t$rYwxYw)Nr) getstatsr!labelcode callcount reccallcount inlinetime totaltimeidcallsKeyError) rentries callersdictsentryfuncncccttctcallerssubentryprevs r r'zProfile.snapshot_stats8sq--/  E$DBe(((B!!BBG+2LEJJ (!2r2w6DJJt E{{UZZ( % H!".r(--/@"A"++Bh333B!,,B!++Bw&t}d1g d1g d1g d1g $&BNGDM!, $! !sE EEcHddl}|j}|j|||Sr)__main____dict__r)rcmdrCdicts r rz Profile.run^s#  {{3d++rc|j t||||j|S#|jwxYwr)enableexecr&)rrErrs r rzProfile.runctxcs7   gv & LLN  LLNs 1Ac~|j ||i||jS#|jwxYwr)rHr&)rr:argskws r runcallzProfile.runcallls0  $$ LLNDLLNs*<c&|j|Sr)rHr(s r __enter__zProfile.__enter__ss  rc$|jyr)r&)rexc_infos r __exit__zProfile.__exit__ws  rN)) __name__ __module__ __qualname____doc__rr$rr'rrrMrOrRrr rrs6G( !3L, rrcrt|trdd|fS|j|j|jfS)N~r) isinstancestr co_filenameco_firstlinenoco_name)r/s r r.r.|s5$Q~  $"5"5t||DDrc ddl}ddl}ddl}ddl}ddlm}d}||}d|_|jdddd d |jd d d ddt|jj|jddddd|jdds!|j|jd|j\}}||jdd|j*|j j#|j|_t%|dkDr|j&rd} |j(|dd} n|d} |j j+d|j j-| t/j0| 5} t3| j5| d} dddt6j8j;dd| } | | j<| j>ddd} tA | d|j|jB|S|j|S#1swYxYw#tD$r-}d|_#|j|jHYd}~|Sd}~wwxYw)Nr) OptionParserzNcProfile.py [-o output_file_path] [-s sort] [-m module | scriptfile] [arg] ...)usageFz-oz --outfileoutfilezSave stats to )desthelpdefaultz-sz--sortr z?Sort order when printing to stdout, based on pstats.Stats classr+)rdrerfchoicesz-mmodule store_truezProfile a library module)rdactionrerfr*z(run_module(modname, run_name='__main__')) run_modulemodnamerIrC)nameloaderorigin)__spec____file__rT __package__ __cached__)%ossysrunpyroptparseraallow_interspersed_args add_optionsortedrsort_arg_dict_defaultargv print_usageexit parse_argsrcpathabspathlenrhrkinsertdirnameio open_codecompileread importlib machinery ModuleSpecrormrr BrokenPipeErrorstdouterrno)rtrurvrrarbparseroptionsrKr/globsprognamefpspecexcs r mainrs4 % \E  &F%*F" dKi &6 dH6 Nv||99:< d, '8 88AB<  '')OWdCHHQK"''//'//: 4y1} >>=D#..7E AwH HHOOArwwx8 9h'2rwwy(F;(&&11z$9A2CD! KK II#" E 4goow|| D M  M'(' CJ HHSYY   M  s$H)2#H5)H25 I+>"I&&I+rC)NrS)rW__all___lsprofimportlib.machineryrrprofilerrrProfilerrr.rrTrXrr rs '  E=nn$$ ""**[g[~E;| zFr