package.path = '${test.lua_support}/?.lua;' .. package.path
event = require('ms_support')
send = 1

function mm_cb(new_state, new_substate, old_substate)
        if new_state == 19 and new_substate == 1 and send == 1 then
            send = 0
            event.send({lu_done=1})
        end
end

local cbs = {
        Mm=mm_cb
}
osmo.ms():register(cbs)
osmo.ms().start()

event.register(osmo.ms():number(), "${test.event_path}")
