U o‰^ã@s dZddlZdd„Zdd„ZdS)z4 OOXML has non-standard escaping for characters <  éNcCst d¡}dd„}| ||¡S)zB Convert ASCII < 31 to OOXML: \n == _x + hex(ord(\n)) + _ z [\001-\031]cSsd t| d¡ƒ¡S)z* Callback to escape chars z _x{:0>4x}_r)ÚformatÚordÚgroup©Úmatch©rúo/private/var/folders/sd/whlwsn6x1_qgglc0mjv25_695qk2gl/T/pip-install-4zq3fp6i/openpyxl/openpyxl/utils/escape.pyÚ_subszescape.._sub©ÚreÚcompileÚsub)ÚvalueZ CHAR_REGEXr rrrÚescape s rcCs*t d¡}dd„}d|kr&| ||¡}|S)z: Convert escaped strings to ASCIII: _x000a_ == \n z_x([0-9A-Fa-f]{4})_cSstt| d¡dƒƒS)z, Callback to unescape chars éé)ÚchrÚintrrrrrr "szunescape.._subÚ_xr )rZ ESCAPED_REGEXr rrrÚunescapes   r)Ú__doc__r rrrrrrÚs