Mutex::init:
		pushi	$94		; 148, init
		push0
		super	Obj, $4
		bnot
		pushi	$b1		; 177, duplicate
		push0
		lap	param[$1]
		send	$4
		bnot
		aTop	pObjects
		ret

Mutex::dispose:
		pushi	$58		; 88, 'X', delete
		push1
		pushSelf
		pushi	$348		; 840, pPendingList
		push0
		lofsa	LockMgr
		send	$4
		bnot
		send	$6
		bnot
		pushi	$58		; 88, 'X', delete
		push1
		pushSelf
		pushi	$349		; 841, pLockedList
		push0
		lofsa	LockMgr
		send	$4
		bnot
		send	$6
		bnot
		ldi	$0
		aTop	pActive
		pushi	$a6		; 166, release
		push0
		pushi	$95		; 149, dispose
		push0
		pToa	pObjects
		send	$8
		bnot
		pushi	$95		; 149, dispose
		push0
		&rest	$1
		super	Obj, $4
		bnot
		ret

Mutex::hasConflict:
		link	$2
		pushi	$5a		; 90, 'Z', size
		push0
		pToa	pObjects
		send	$4
		bnot
		sat	temp[$1]
		ldi	$0
		sat	temp[$0]
code_00ca:	lst	temp[$0]
		lat	temp[$1]
		lt?
		bnt	code_0103
		pTos	pOwner
		pushi	$343		; 835, pOwner
		push0
		lap	param[$1]
		send	$4
		bnot
		ne?
		bnt	code_00ff
		pushi	$a3		; 163, contains
		push1
		pushi	$4b		; 75, 'K', at
		push1
		lst	temp[$0]
		pToa	pObjects
		send	$6
		bnot
		push
		pushi	$344		; 836, pObjects
		push0
		lap	param[$1]
		send	$4
		bnot
		send	$6
		bnot
		bnt	code_00ff
		ldi	$1
		ret

code_00ff:	+at	temp[$0]
		jmp	code_00ca

code_0103:	ldi	$0
		ret

Mutex::hasNoConflict:
		pushi	$a0		; 160, firstTrue
		push2
		pushi	$346		; 838, hasConflict
		pushSelf
		lap	param[$1]
		send	$8
		bnot
		bnt	code_0118
		ldi	$0
		ret

code_0118:	ldi	$1
		ret

LockMgr::init:
		pushi	$94		; 148, init
		push0
		&rest	$1
		super	Obj, $4
		bnot
		pushi	$8d		; 141, new
		push0
		class	Set
		send	$4
		bnot
		aTop	pLockedList
		pushi	$8d		; 141, new
		push0
		class	Set
		send	$4
		bnot
		aTop	pPendingList
		ret

LockMgr::dispose:
		pToa	pLockedList
		bnt	code_014b
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
		ldi	$0
		aTop	pLockedList
code_014b:	pToa	pPendingList
		bnt	code_015a
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
		ldi	$0
		aTop	pPendingList
code_015a:	pushi	$95		; 149, dispose
		push0
		&rest	$1
		super	Obj, $4
		bnot
		ret

LockMgr::lock:
		link	$3
		pushi	$8d		; 141, new
		push0
		class	Set
		send	$4
		bnot
		sat	temp[$2]
		ldi	$0
		sat	temp[$0]
code_0176:	lst	temp[$0]
		lsp	param[$0]
		ldi	$2
		sub
		lt?
		bnt	code_0197
		lat	temp[$0]
		lapi	param[$2]
		bnt	code_0193
		pushi	$9f		; 159, add
		push1
		lat	temp[$0]
		lspi	param[$2]
		lat	temp[$2]
		send	$6
		bnot
code_0193:	+at	temp[$0]
		jmp	code_0176

code_0197:	pushi	$5a		; 90, 'Z', size
		push0
		lat	temp[$2]
		send	$4
		bnot
		bnt	code_01e1
		pushi	$94		; 148, init
		push1
		lst	temp[$2]
		pushi	$33f		; 831, pClient
		push1
		lat	temp[$0]
		lspi	param[$2]
		pushi	$343		; 835, pOwner
		push1
		lsp	param[$1]
		pushi	$8d		; 141, new
		push0
		class	Mutex
		send	$4
		bnot
		sat	temp[$1]
		send	$12
		bnot
		pushi	$a6		; 166, release
		push0
		pushi	$95		; 149, dispose
		push0
		lat	temp[$2]
		send	$8
		bnot
		pushi	$9f		; 159, add
		push1
		lst	temp[$1]
		pToa	pPendingList
		send	$6
		bnot
		lat	temp[$1]
		ret

		jmp	code_01ea

code_01e1:	pushi	$95		; 149, dispose
		push0
		lat	temp[$2]
		send	$4
		bnot
code_01ea:	ldi	$0
		ret

LockMgr::doit:
		link	$1
		pushi	$5a		; 90, 'Z', size
		push0
		pToa	pPendingList
		send	$4
		bnot
		bnt	code_026c
code_01f9:	pushi	$a0		; 160, firstTrue
		push2
		pushi	$347		; 839, hasNoConflict
		pTos	pLockedList
		pToa	pPendingList
		send	$8
		bnot
		sat	temp[$0]
		bnt	code_026c
		pushi	$58		; 88, 'X', delete
		push1
		push
		pToa	pPendingList
		send	$6
		bnot
		pushi	$9f		; 159, add
		push1
		lst	temp[$0]
		pToa	pLockedList
		send	$6
		bnot
		pushi	$345		; 837, pActive
		push1
		push1
		lat	temp[$0]
		send	$6
		bnot
		pushi	$33f		; 831, pClient
		push0
		lat	temp[$0]
		send	$4
		bnot
		bnt	code_01f9
		pushi	$9f		; 159, add
		push1
		pushi	$cb		; 203, cuee
		push1
		pushi	$33f		; 831, pClient
		push0
		lat	temp[$0]
		send	$4
		bnot
		push
		pushi	$9a		; 154, yourself
		push0
		pushi	$8d		; 141, new
		push0
		class	Cue
		send	$4
		bnot
		send	$a
		bnot
		push
		pushi	$ca		; 202, pCuees
		push0
		pushi	$279		; 633, pFocusedRoom
		push0
		lag	global[$30]
		send	$4
		bnot
		send	$4
		bnot
		send	$6
		bnot
		jmp	code_01f9

code_026c:	ret

