bg\ddlZddlmZeddedefdZdedefdZdS) N) lru_cachedcreturnc(t|}d|cxkrdkrnndS|dks.d|cxkrdks!nd|cxkrdksnd |cxkrd krnndStj|}|d krd S|d vrdStj|dvrdSdS)zDetermine how many columns are needed to display a character in a terminal. Returns -1 if the character is not printable. Returns 0, 1 or 2 for other characters. ri i i( i. i` ic Cc)MeMn)FW)ord unicodedatacategoryeast_asian_width)rors d/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/_pytest/_io/wcwidth.pywcwidthrs AA q5q V Q & Q & Q & q#A&&H4r<q#A&&*44q 1sctd}tjd|D]}t|}|dkrdS||z } |S)zDetermine how many columns are needed to display a string in a terminal. Returns -1 if the string contains non-printable characters. rNFCr )r normalizer)rwidthrwcs rwcswidthr ,sP E  "5! , , QZZ 6622   Lr)r functoolsrstrintrr rrr%s 3# s# s# # # # L        r