,(P^m d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl Z ddl mZmZm Z mZmZ ddlmZ ddlmZmZ ee j Zdd Z G d dej ZddZ G d d Z e j ZddZdS )z"Better tokenizing for coverage.py. )annotationsN)IterableListOptionalSetTuple)env)TLineNoTSourceTokenLinestoks TokenInfosreturnc # : K d}d}d}| D ]\ }}\ }}\ }} } ||k r|r| d rd}| d rd}n<|t j k r,d|v r(| dd d d dk rd}|rLt | d d d z }t j dd||f||d z f| V | }|t j t j fvr|}t j ||||f|| f| V |}dS )aB Return all physical tokens, even line continuations. tokenize.generate_tokens() doesn't return a token for the backslash that continues lines. This wrapper provides those tokens so that we can re-create a faithful representation of the original source. Returns the same values as generate_tokens() N z\ T\F r i ) endswithtokenSTRINGsplitlentokenize TokenInfoNEWLINENL) r last_linelast_lineno last_ttextttypettextslinenoscolelinenoecolltextinject_backslashccols g/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/coverage/phystokens.py_phys_tokensr- s $IKJAE ' '=uow'!! Y//77 $( &&t,, 1',$$el**u}}T1)=)=a)@)D)L)L ,1(# yt44R899A=D",v $'46):! I)8;777J $QVWWWWWO' ' c <