upstream decoder
resolved merge conflict