version	U12.1.00
uid	fcn_util.u1-1787877412-0
record	lang__Closure__state,3
	0,__s
	1,__m
	2,fcn
record	lang__Closure__methods,22
	0,call
	1,doInvocation
	2,initially
	3,clone
	4,to_string
	5,equals
	6,hash_code
	7,get_class_name
	8,get_id
	9,get_class
	10,is_instance
	11,Type
	12,instanceOf
	13,className
	14,invoke
	15,getField
	16,setField
	17,hasField
	18,fieldNames
	19,genMethods
	20,hasMethod
	21,lang__Object
record	lang__Arg,0
impl	local
link	/local/pobj/unicon-13.3beta1/unicon-0b8f99c2affe981f87639fc2577d2a68d05739ba/uni/lib/object.u
invocable	0
global	15
	0,000005,lang__compose,-1
	1,000005,lang__closure,-2
	2,000005,lang__Closure_call,-2
	3,000005,lang__Closure_doInvocation,3
	4,000005,lang__Closure_initially,-3
	5,000011,lang__Closure__state,3
	6,000011,lang__Closure__methods,22
	7,000001,lang__Closure__oprec,0
	8,000001,lang__Object__oprec,0
	9,000005,lang__Closure,-2
	10,000005,lang__Closureinitialize,0
	11,000005,lang__makeProc,1
	12,000005,lang__invoke,-2
	13,000005,lang__invokeFcn,-2
	14,000011,lang__Arg,0

proc lang__compose
	local	0,001000,fL
	local	1,000000,reverse
	local	2,000000,lang__makeProc
	local	3,000000,saveSource
	local	4,000000,x
	local	5,000000,f
	con	0,002000,1,1
	declend
	filen	fcn_util.icn
	line	47
	colm	12
	synt	any
	mark	L1
	pnull
	var	0
	var	1
	var	0
	line	48
	colm	19
	synt	any
	invoke	1
	line	48
	colm	7
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	var	2
	pnull
	goto	L6
lab L4
	pop
	mark	L5
	mark	L7
	pnull
	var	3
	line	49
	colm	39
	synt	any
	keywd	source
	line	49
	colm	37
	synt	any
	asgn
	unmark
lab L7
lab L8
	line	50
	colm	24
	synt	repeat
	mark	L8
	mark	L11
	pnull
	var	4
	pnull
	var	4
	var	3
	line	51
	colm	35
	synt	any
	coact
	int	0
	line	51
	colm	47
	synt	any
	subsc
	line	51
	colm	30
	synt	any
	asgn
	unmark
lab L11
	mark	L12
	pnull
	var	3
	line	52
	colm	42
	synt	any
	keywd	source
	line	52
	colm	39
	synt	any
	asgn
	unmark
lab L12
	line	53
	colm	28
	synt	every
	mark0
	pnull
	var	5
	pnull
	var	0
	line	53
	colm	39
	synt	any
	bang
	line	53
	colm	36
	synt	any
	asgn
	pop
	mark0
	pnull
	var	4
	var	5
	var	4
	line	53
	colm	52
	synt	any
	invoke	1
	line	53
	colm	48
	synt	any
	asgn
	unmark
lab L13
	efail
lab L14
	line	53
	colm	28
	synt	endevery
lab L9
	unmark
	goto	L8
lab L10
	line	50
	colm	24
	synt	endrepeat
	line	49
	colm	46
	synt	any
	coret
	efail
lab L5
	cofail
	goto	L5
lab L6
	create	L4
	line	49
	colm	25
	synt	any
	llist	1
	synt	any
	invoke	1
	line	49
	colm	4
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	57
	colm	1
	synt	any
	pfail
	end
proc lang__closure
	local	0,001000,f
	local	1,001000,paramList
	local	2,000000,lang__makeProc
	local	3,000000,saveSource
	local	4,000000,x
	local	5,000000,argList
	local	6,000000,arg
	local	7,000000,lang__Arg
	local	8,000000,put
	local	9,000000,get
	declend
	line	79
	colm	12
	synt	any
	mark	L1
	mark	L2
	var	2
	pnull
	goto	L5
lab L3
	pop
	mark	L4
	mark	L6
	pnull
	var	3
	line	82
	colm	24
	synt	any
	keywd	source
	line	82
	colm	21
	synt	any
	asgn
	unmark
lab L6
lab L7
	line	83
	colm	10
	synt	repeat
	mark	L7
	mark	L10
	pnull
	var	4
	var	4
	var	3
	line	84
	colm	21
	synt	any
	coact
	line	84
	colm	16
	synt	any
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	3
	line	85
	colm	28
	synt	any
	keywd	source
	line	85
	colm	25
	synt	any
	asgn
	unmark
lab L11
	mark	L12
	pnull
	var	5
	pnull
	line	88
	colm	25
	synt	any
	llist	0
	line	88
	colm	22
	synt	any
	asgn
	unmark
lab L12
	mark	L13
	line	89
	colm	14
	synt	every
	mark0
	pnull
	var	6
	pnull
	var	1
	line	89
	colm	27
	synt	any
	bang
	line	89
	colm	24
	synt	any
	asgn
	pop
	mark0
	line	90
	colm	17
	synt	ifelse
	mark	L16
	pnull
	var	6
	var	7
	line	90
	colm	24
	synt	any
	eqv
	unmark
	var	8
	var	5
	mark	L18
	var	9
	var	4
	line	91
	colm	41
	synt	any
	invoke	1
	line	91
	colm	45
	synt	any
	esusp
	goto	L19
lab L18
	line	91
	colm	47
	synt	any
	keywd	null
lab L19
	line	91
	colm	26
	synt	any
	invoke	2
	goto	L17
lab L16
	var	8
	var	5
	var	6
	line	93
	colm	27
	synt	any
	invoke	2
lab L17
	line	90
	colm	17
	synt	endifelse
	unmark
lab L14
	efail
lab L15
	line	89
	colm	14
	synt	endevery
	unmark
lab L13
	mark	L20
	line	95
	colm	14
	synt	every
	mark0
	var	8
	var	5
	pnull
	var	4
	line	95
	colm	35
	synt	any
	bang
	line	95
	colm	25
	synt	any
	invoke	2
	pop
lab L21
	efail
lab L22
	line	95
	colm	14
	synt	endevery
	unmark
lab L20
	pnull
	var	4
	var	0
	var	5
	invoke	-1
	line	98
	colm	16
	synt	any
	asgn
lab L8
	unmark
	goto	L7
lab L9
	line	83
	colm	10
	synt	endrepeat
	line	82
	colm	31
	synt	any
	coret
	efail
lab L4
	cofail
	goto	L4
lab L5
	create	L3
	line	81
	colm	25
	synt	any
	llist	1
	synt	any
	invoke	1
	line	81
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	102
	colm	1
	synt	any
	pfail
	end
proc lang__Closure_call
	local	0,001000,self
	local	1,001000,args
	declend
	line	118
	colm	11
	synt	any
	mark	L1
	line	119
	colm	7
	synt	suspend
	mark0
	pnull
	var	0
	line	119
	colm	19
	synt	any
	field	doInvocation
	pnull
	var	0
	line	119
	colm	37
	synt	any
	field	fcn
	var	1
	line	119
	colm	32
	synt	any
	invoke	2
	line	119
	colm	7
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	119
	colm	7
	synt	endsuspend
	unmark
lab L1
	pnull
	line	120
	colm	1
	synt	any
	pfail
	end
proc lang__Closure_doInvocation
	local	0,001000,self
	local	1,001000,flist
	local	2,001000,args
	local	3,000020,i
	local	4,000000,copy
	local	5,000000,list
	local	6,000000,lang__Arg
	local	7,000000,pop
	local	8,000000,lang__invokeFcn
	con	0,002000,1,2
	declend
	line	127
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	4
	var	1
	line	130
	colm	22
	synt	any
	invoke	1
	line	130
	colm	13
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	2
	line	131
	colm	7
	synt	any
	null
	var	5
	line	131
	colm	22
	synt	any
	invoke	0
	line	131
	colm	13
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	line	132
	colm	7
	synt	every
	mark0
	pnull
	var	3
	pnull
	int	0
	pnull
	var	1
	line	132
	colm	23
	synt	any
	size
	push1
	line	132
	colm	20
	synt	any
	toby
	line	132
	colm	15
	synt	any
	asgn
	pop
	mark0
	line	133
	colm	10
	synt	if
	mark0
	pnull
	pnull
	var	1
	var	3
	line	133
	colm	18
	synt	any
	subsc
	var	6
	line	133
	colm	22
	synt	any
	eqv
	unmark
	pnull
	pnull
	var	1
	var	3
	line	134
	colm	18
	synt	any
	subsc
	mark	L6
	var	7
	var	2
	line	134
	colm	30
	synt	any
	invoke	1
	line	134
	colm	37
	synt	any
	esusp
	goto	L7
lab L6
	line	134
	colm	39
	synt	any
	keywd	null
lab L7
	line	134
	colm	22
	synt	any
	asgn
	line	133
	colm	10
	synt	endif
	unmark
lab L4
	efail
lab L5
	line	132
	colm	7
	synt	endevery
	unmark
lab L3
	mark	L8
	line	135
	colm	7
	synt	suspend
	mark0
	var	8
	pnull
	var	1
	var	2
	line	135
	colm	37
	synt	any
	lconcat
	invoke	-1
	line	135
	colm	7
	synt	any
	psusp
	pop
lab L9
	efail
lab L10
	line	135
	colm	7
	synt	endsuspend
	unmark
lab L8
	pnull
	line	136
	colm	1
	synt	any
	pfail
	end
proc lang__Closure_initially
	local	0,001000,self
	local	1,001000,f
	local	2,001000,args
	declend
	line	143
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	2
	line	147
	colm	4
	synt	any
	null
	pnull
	line	147
	colm	13
	synt	any
	llist	0
	line	147
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	148
	colm	8
	synt	any
	field	fcn
	pnull
	pnull
	var	1
	line	148
	colm	14
	synt	any
	llist	1
	var	2
	line	148
	colm	17
	synt	any
	lconcat
	line	148
	colm	12
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	mark	L4
	pnull
	line	149
	colm	7
	synt	any
	pret
lab L4
	synt	any
	pfail
	unmark
lab L3
	pnull
	line	150
	colm	1
	synt	any
	pfail
	end
proc lang__Closure
	local	0,001000,f
	local	1,001000,args
	local	2,000020,self
	local	3,000020,clone
	local	4,000000,lang__Closure__oprec
	local	5,000000,lang__Closureinitialize
	local	6,000000,lang__Object__oprec
	local	7,000000,lang__Objectinitialize
	local	8,000000,lang__Closure__state
	declend
	filen	__faux.icn
	line	5
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	mark	L4
	line	8
	colm	3
	synt	if
	mark0
	pnull
	var	4
	line	8
	colm	6
	synt	any
	null
	unmark
	var	5
	line	8
	colm	56
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L4
	mark	L5
	line	9
	colm	3
	synt	if
	mark0
	pnull
	var	6
	line	9
	colm	6
	synt	any
	null
	unmark
	var	7
	line	9
	colm	54
	synt	any
	invoke	0
	line	9
	colm	3
	synt	endif
	unmark
lab L5
	pnull
	pnull
	var	4
	line	10
	colm	23
	synt	any
	field	lang__Object
	var	6
	line	10
	colm	37
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L6
	pnull
	var	2
	var	8
	line	12
	colm	32
	synt	any
	keywd	null
	var	4
	line	12
	colm	31
	synt	any
	invoke	2
	line	12
	colm	8
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	var	2
	line	13
	colm	7
	synt	any
	field	__s
	var	2
	line	13
	colm	12
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	mark	L9
	pnull
	pnull
	var	2
	line	14
	colm	7
	synt	any
	field	__m
	line	14
	colm	11
	synt	any
	field	initially
	pnull
	pnull
	var	2
	var	0
	line	14
	colm	23
	synt	any
	llist	2
	var	1
	line	14
	colm	31
	synt	any
	lconcat
	invoke	-1
	line	14
	colm	40
	synt	any
	esusp
	goto	L10
lab L9
	line	14
	colm	42
	synt	any
	pfail
lab L10
	unmark
lab L8
	mark	L11
	mark	L12
	var	2
	line	15
	colm	3
	synt	any
	pret
lab L12
	synt	any
	pfail
	unmark
lab L11
	pnull
	line	16
	colm	1
	synt	any
	pfail
	end
proc lang__Closureinitialize
	local	0,000000,lang__Closure__oprec
	local	1,000000,lang__Closure__methods
	local	2,000000,lang__Closure_call
	local	3,000000,lang__Closure_doInvocation
	local	4,000000,lang__Closure_initially
	local	5,000000,lang__Object_clone
	local	6,000000,lang__Object_to_string
	local	7,000000,lang__Object_equals
	local	8,000000,lang__Object_hash_code
	local	9,000000,lang__Object_get_class_name
	local	10,000000,lang__Object_get_id
	local	11,000000,lang__Object_get_class
	local	12,000000,lang__Object_is_instance
	local	13,000000,lang__Object_Type
	local	14,000000,lang__Object_instanceOf
	local	15,000000,lang__Object_className
	local	16,000000,lang__Object_invoke
	local	17,000000,lang__Object_getField
	local	18,000000,lang__Object_setField
	local	19,000000,lang__Object_hasField
	local	20,000000,lang__Object_fieldNames
	local	21,000000,lang__Object_genMethods
	local	22,000000,lang__Object_hasMethod
	declend
	line	18
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	0
	var	1
	var	2
	var	3
	var	4
	var	5
	var	6
	var	7
	var	8
	var	9
	var	10
	var	11
	var	12
	var	13
	var	14
	var	15
	var	16
	var	17
	var	18
	var	19
	var	20
	var	21
	var	22
	line	19
	colm	57
	synt	any
	invoke	21
	line	19
	colm	32
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	20
	colm	1
	synt	any
	pfail
	end
proc lang__makeProc
	local	0,001000,A
	local	1,000000,type
	con	0,010000,13,143,157,055,145,170,160,162,145,163,163,151,157,156
	con	1,002000,1,1
	declend
	line	31
	colm	12
	synt	any
	mark	L1
	line	32
	colm	4
	synt	if
	mark0
	pnull
	var	1
	var	0
	line	32
	colm	13
	synt	any
	invoke	1
	str	0
	line	32
	colm	17
	synt	any
	lexeq
	unmark
	mark	L2
	pushn1
	pnull
	var	0
	line	32
	colm	49
	synt	any
	coact
	var	0
	line	32
	colm	48
	synt	any
	invoke	2
	line	32
	colm	41
	synt	any
	pret
lab L2
	synt	any
	pfail
	line	32
	colm	4
	synt	endif
	unmark
lab L1
	mark	L3
	mark	L4
	pushn1
	pnull
	pnull
	var	0
	int	1
	line	33
	colm	14
	synt	any
	subsc
	line	33
	colm	12
	synt	any
	coact
	pnull
	var	0
	int	1
	line	33
	colm	20
	synt	any
	subsc
	line	33
	colm	11
	synt	any
	invoke	2
	line	33
	colm	4
	synt	any
	pret
lab L4
	synt	any
	pfail
	unmark
lab L3
	pnull
	line	34
	colm	1
	synt	any
	pfail
	end
proc lang__invoke
	local	0,001000,fcn
	local	1,001000,args
	local	2,000000,lang__invokeFcn
	declend
	line	44
	colm	12
	synt	any
	mark	L1
	line	45
	colm	4
	synt	suspend
	mark0
	var	2
	var	0
	var	1
	line	45
	colm	27
	synt	any
	invoke	2
	line	45
	colm	4
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	45
	colm	4
	synt	endsuspend
	unmark
lab L1
	pnull
	line	46
	colm	1
	synt	any
	pfail
	end
proc lang__invokeFcn
	local	0,001000,fcn
	local	1,001000,args
	local	2,000020,i
	local	3,000000,list
	local	4,000000,type
	local	5,000000,copy
	local	6,000000,f
	local	7,000000,pull
	local	8,000000,lang__Arg
	local	9,000000,pop
	local	10,000000,isClass
	con	0,010000,9,160,162,157,143,145,144,165,162,145
	con	1,010000,7,151,156,164,145,147,145,162
	con	2,010000,6,163,164,162,151,156,147
	con	3,010000,4,154,151,163,164
	con	4,002000,1,1
	con	5,010000,13,143,157,055,145,170,160,162,145,163,163,151,157,156
	con	6,010000,13,154,141,156,147,072,072,103,154,157,163,165,162,145
	declend
	line	69
	colm	12
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	71
	colm	4
	synt	any
	null
	var	3
	line	71
	colm	19
	synt	any
	invoke	0
	line	71
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	72
	colm	4
	synt	case
	mark0
	var	4
	var	0
	line	72
	colm	15
	synt	any
	invoke	1
	eret
	mark	L4
	ccase
	mark	L5
	str	0
	line	73
	colm	19
	synt	any
	esusp
	goto	L6
lab L5
	mark	L7
	str	1
	line	73
	colm	31
	synt	any
	esusp
	goto	L8
lab L7
	str	2
lab L8
lab L6
	line	73
	colm	42
	synt	any
	eqv
	unmark
	pop
	line	74
	colm	10
	synt	suspend
	mark0
	var	0
	var	1
	invoke	-1
	line	74
	colm	10
	synt	any
	psusp
	pop
lab L9
	efail
lab L10
	line	74
	colm	10
	synt	endsuspend
	goto	L3
lab L4
	mark	L11
	ccase
	str	3
	line	76
	colm	14
	synt	any
	eqv
	unmark
	pop
	mark	L12
	pnull
	var	0
	var	5
	var	0
	line	77
	colm	23
	synt	any
	invoke	1
	line	77
	colm	14
	synt	any
	asgn
	unmark
lab L12
	mark	L13
	pnull
	var	6
	var	7
	var	0
	line	78
	colm	21
	synt	any
	invoke	1
	line	78
	colm	12
	synt	any
	asgn
	unmark
lab L13
	mark	L14
	line	79
	colm	10
	synt	every
	mark0
	pnull
	var	2
	pnull
	int	4
	pnull
	var	0
	line	79
	colm	26
	synt	any
	size
	push1
	line	79
	colm	23
	synt	any
	toby
	line	79
	colm	18
	synt	any
	asgn
	pop
	mark0
	line	80
	colm	13
	synt	if
	mark0
	pnull
	pnull
	var	0
	var	2
	line	80
	colm	19
	synt	any
	subsc
	var	8
	line	80
	colm	23
	synt	any
	eqv
	unmark
	pnull
	pnull
	var	0
	var	2
	line	81
	colm	19
	synt	any
	subsc
	mark	L17
	var	9
	var	1
	line	81
	colm	31
	synt	any
	invoke	1
	line	81
	colm	38
	synt	any
	esusp
	goto	L18
lab L17
	line	81
	colm	40
	synt	any
	keywd	null
lab L18
	line	81
	colm	23
	synt	any
	asgn
	line	80
	colm	13
	synt	endif
	unmark
lab L15
	efail
lab L16
	line	79
	colm	10
	synt	endevery
	unmark
lab L14
	line	84
	colm	10
	synt	suspend
	mark0
	var	6
	pnull
	var	0
	var	1
	line	84
	colm	25
	synt	any
	lconcat
	invoke	-1
	line	84
	colm	10
	synt	any
	psusp
	pop
lab L19
	efail
lab L20
	line	84
	colm	10
	synt	endsuspend
	goto	L3
lab L11
	mark	L21
	ccase
	str	5
	line	86
	colm	23
	synt	any
	eqv
	unmark
	pop
lab L22
	line	87
	colm	10
	synt	while
	mark0
	line	87
	colm	16
	synt	suspend
	mark0
	var	1
	var	0
	line	87
	colm	28
	synt	any
	coact
	line	87
	colm	16
	synt	any
	psusp
	pop
lab L25
	efail
lab L26
	line	87
	colm	16
	synt	endsuspend
lab L23
	unmark
	goto	L22
lab L24
	line	87
	colm	10
	synt	endwhile
	goto	L3
lab L21
	pop
	line	90
	colm	10
	synt	ifelse
	mark	L27
	var	10
	var	0
	line	90
	colm	20
	synt	any
	invoke	1
	pop
	pnull
	var	0
	line	90
	colm	31
	synt	any
	field	instanceOf
	str	6
	line	90
	colm	42
	synt	any
	invoke	1
	unmark
	line	91
	colm	13
	synt	suspend
	mark0
	pnull
	var	0
	line	91
	colm	24
	synt	any
	field	call
	var	1
	invoke	-1
	line	91
	colm	13
	synt	any
	psusp
	pop
lab L29
	efail
lab L30
	line	91
	colm	13
	synt	endsuspend
	goto	L28
lab L27
	line	94
	colm	13
	synt	suspend
	mark0
	var	0
	var	1
	invoke	-1
	line	94
	colm	13
	synt	any
	psusp
	pop
lab L31
	efail
lab L32
	line	94
	colm	13
	synt	endsuspend
lab L28
	line	90
	colm	10
	synt	endifelse
lab L3
	line	72
	colm	4
	synt	endcase
	unmark
lab L2
	pnull
	line	98
	colm	1
	synt	any
	pfail
	end
