def get_remarks(txt: str) -> ([str], str):  
txt = txt.replace('<STR_LIT:?>', '<STR_LIT>').strip()<EOL>alt_index = len(txt) + <NUM_LIT:1><EOL>for item in ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>index = txt.find(item)<EOL>if len(txt) - <NUM_LIT:6> > index > -<NUM_LIT:1> and txt[index + <NUM_LIT:2>:index + <NUM_LIT:6>].isdigit():<EOL><INDENT>alt_index = index<EOL><DEDENT><DEDENT>sig_index = find_first_in_list(txt, METAR_RMK)<EOL>if sig_index == -<NUM_LIT:1>:<EOL><INDENT>sig_index = len(txt) + <NUM_LIT:1><EOL><DEDENT>if sig_index > alt_index > -<NUM_LIT:1>:<EOL><INDENT>return txt[:alt_index + <NUM_LIT:6>].strip().split('<STR_LIT:U+0020>'), txt[alt_index + <NUM_LIT:7>:]<EOL><DEDENT>if alt_index > sig_index > -<NUM_LIT:1>:<EOL><INDENT>return txt[:sig_index].strip().split('<STR_LIT:U+0020>'), txt[sig_index + <NUM_LIT:1>:]<EOL><DEDENT>return txt.strip().split('<STR_LIT:U+0020>'), '<STR_LIT>'<EOL>
Returns the report split into components and the remarks string

Remarks can include items like RMK and on, NOSIG and on, and BECMG and on