| module @main { | 
 |   util.global private @tokens_list : !util.list<?> | 
 |   func.func private @detokenizer.accumtokens(tensor<?xi32>, !util.list<?>) -> i32 | 
 |   func.func private @detokenizer.jointokens(!util.list<?>) -> !util.buffer | 
 |   func.func private @detokenizer.reset() | 
 |  | 
 |   util.initializer { | 
 |     %capacity = arith.constant 25 : index | 
 |     %0 = util.list.create %capacity : !util.list<?> | 
 |     util.global.store %0, @tokens_list : !util.list<?> | 
 |     util.return | 
 |   } | 
 |  | 
 |   func.func public @add_tokens(%ids : tensor<?xi32>) -> i32 { | 
 |     %lst = util.global.load @tokens_list : !util.list<?> | 
 |     %count = call @detokenizer.accumtokens(%ids, %lst) : (tensor<?xi32>, !util.list<?>) -> (i32) | 
 |     return %count : i32 | 
 |   } | 
 |  | 
 |   func.func public @reset() { | 
 |     %zero = arith.constant 0 : index | 
 |     %lst = util.global.load @tokens_list : !util.list<?> | 
 |     util.list.resize %lst, %zero : !util.list<?> | 
 |     call @detokenizer.reset() : () -> () | 
 |     return | 
 |   } | 
 |  | 
 |   func.func public @get_results() -> !util.buffer { | 
 |     %lst = util.global.load @tokens_list : !util.list<?> | 
 |     %buffer = call @detokenizer.jointokens(%lst) : (!util.list<?>) -> (!util.buffer) | 
 |     return %buffer : !util.buffer | 
 |   } | 
 | } |