def sanitize_report_string(txt: str) -> str:
if len(txt) < <NUM_LIT:4>:<EOL><INDENT>return txt<EOL><DEDENT>txt = '<STR_LIT:U+0020>'.join(txt.split())<EOL>stid, txt = txt[:<NUM_LIT:4>], txt[<NUM_LIT:4>:]<EOL>for key, rep in STR_REPL.items():<EOL><INDENT>txt = txt.replace(key, rep)<EOL><DEDENT>for cloud in CLOUD_LIST:<EOL><INDENT>if cloud in txt and '<STR_LIT:U+0020>' + cloud not in txt:<EOL><INDENT>start, counter = <NUM_LIT:0>, <NUM_LIT:0><EOL>while txt.count(cloud) != txt.count('<STR_LIT:U+0020>' + cloud):<EOL><INDENT>cloud_index = start + txt[start:].find(cloud)<EOL>if len(txt[cloud_index:]) >= <NUM_LIT:3>:<EOL><INDENT>target = txt[cloud_index + len(cloud):cloud_index + len(cloud) + <NUM_LIT:3>]<EOL>if target.isdigit() or not target.strip('<STR_LIT:/>'):<EOL><INDENT>txt = txt[:cloud_index] + '<STR_LIT:U+0020>' + txt[cloud_index:]<EOL><DEDENT><DEDENT>start = cloud_index + len(cloud) + <NUM_LIT:1><EOL>if counter > txt.count(cloud):<EOL><INDENT>break<EOL><DEDENT>counter += <NUM_LIT:1><EOL><DEDENT><DEDENT><DEDENT>return stid + txt<EOL>
Provides sanitization for operations that work better when the report is a string

Returns the first pass sanitized report string