version	U12.1.00
uid	models.u1-1786032988-0
impl	error
global	5
	0,000005,tab,1
	1,000005,upto,4
	2,000005,map,3
	3,000005,cvpos,2
	4,000005,def_str,2

proc tab
	local	0,001000,i
	declend
	filen	models.icn
	line	24
	colm	11
	synt	any
	mark	L1
	line	26
	colm	4
	synt	suspend
	mark0
	pnull
	pnull
	line	26
	colm	13
	synt	any
	keywd	subject
	pnull
	line	26
	colm	23
	synt	any
	keywd	pos
	line	26
	colm	22
	synt	any
	value
	pnull
	line	26
	colm	30
	synt	any
	keywd	pos
	var	0
	line	26
	colm	35
	synt	any
	rasgn
	line	26
	colm	28
	synt	any
	synt	any
	sect
	line	26
	colm	12
	synt	any
	value
	line	26
	colm	4
	synt	any
	psusp
	pop
lab L2
	efail
lab L3
	line	26
	colm	4
	synt	endsuspend
	unmark
lab L1
	pnull
	line	28
	colm	1
	synt	any
	pfail
	end
proc upto
	local	0,001000,c
	local	1,001000,s
	local	2,001000,i
	local	3,001000,j
	local	4,000020,k
	local	5,000000,string
	local	6,000000,runerr
	local	7,000000,integer
	local	8,000000,cvpos
	con	0,002000,3,103
	con	1,002000,1,1
	con	2,002000,3,101
	declend
	line	30
	colm	11
	synt	any
	mark	L1
	line	33
	colm	4
	synt	ifelse
	mark	L2
	pnull
	pnull
	var	1
	line	33
	colm	7
	synt	any
	null
	line	33
	colm	13
	synt	any
	keywd	subject
	line	33
	colm	10
	synt	any
	asgn
	unmark
	pnull
	pnull
	var	2
	line	34
	colm	7
	synt	any
	null
	line	34
	colm	13
	synt	any
	keywd	pos
	line	34
	colm	10
	synt	any
	asgn
	goto	L3
lab L2
	mark	L4
	pnull
	var	1
	mark	L5
	var	5
	var	1
	line	37
	colm	18
	synt	any
	invoke	1
	line	37
	colm	22
	synt	any
	esusp
	goto	L6
lab L5
	var	6
	int	0
	var	1
	line	37
	colm	30
	synt	any
	invoke	2
lab L6
	line	37
	colm	9
	synt	any
	asgn
	unmark
lab L4
	pnull
	pnull
	var	2
	line	38
	colm	7
	synt	any
	null
	int	1
	line	38
	colm	10
	synt	any
	asgn
lab L3
	line	33
	colm	4
	synt	endifelse
	unmark
lab L1
	mark	L7
	pnull
	var	2
	mark	L8
	var	7
	var	2
	line	41
	colm	16
	synt	any
	invoke	1
	line	41
	colm	20
	synt	any
	esusp
	goto	L9
lab L8
	var	6
	int	2
	var	2
	line	41
	colm	28
	synt	any
	invoke	2
lab L9
	line	41
	colm	6
	synt	any
	asgn
	unmark
lab L7
	mark	L10
	pnull
	var	2
	mark	L11
	var	8
	var	2
	var	1
	line	42
	colm	14
	synt	any
	invoke	2
	line	42
	colm	21
	synt	any
	esusp
	goto	L12
lab L11
	line	42
	colm	23
	synt	any
	pfail
lab L12
	line	42
	colm	6
	synt	any
	asgn
	unmark
lab L10
	mark	L13
	line	44
	colm	4
	synt	if
	mark0
	mark	L14
	pnull
	pnull
	var	3
	line	44
	colm	11
	synt	any
	null
	pnull
	pnull
	var	1
	line	44
	colm	17
	synt	any
	size
	int	1
	line	44
	colm	20
	synt	any
	plus
	line	44
	colm	14
	synt	any
	asgn
	unmark
	efail
lab L14
	pnull
	unmark
	mark	L15
	pnull
	var	3
	mark	L16
	var	7
	var	3
	line	45
	colm	19
	synt	any
	invoke	1
	line	45
	colm	23
	synt	any
	esusp
	goto	L17
lab L16
	var	6
	int	2
	var	3
	line	45
	colm	31
	synt	any
	invoke	2
lab L17
	line	45
	colm	9
	synt	any
	asgn
	unmark
lab L15
	mark	L18
	pnull
	var	3
	mark	L19
	var	8
	var	3
	var	1
	line	46
	colm	17
	synt	any
	invoke	2
	line	46
	colm	24
	synt	any
	esusp
	goto	L20
lab L19
	line	46
	colm	26
	synt	any
	pfail
lab L20
	line	46
	colm	9
	synt	any
	asgn
	unmark
lab L18
	line	47
	colm	7
	synt	if
	mark0
	pnull
	var	2
	var	3
	line	47
	colm	12
	synt	any
	numgt
	unmark
	pnull
	var	2
	var	3
	line	47
	colm	23
	synt	any
	swap
	line	47
	colm	7
	synt	endif
	line	44
	colm	4
	synt	endif
	unmark
lab L13
	mark	L21
	line	50
	colm	4
	synt	every
	mark0
	pnull
	var	4
	pnull
	var	2
	var	3
	push1
	line	50
	colm	17
	synt	any
	toby
	line	50
	colm	12
	synt	any
	asgn
	pop
	mark0
	line	51
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	0
	line	51
	colm	10
	synt	any
	bang
	pnull
	var	1
	var	4
	line	51
	colm	17
	synt	any
	subsc
	line	51
	colm	13
	synt	any
	lexeq
	unmark
	line	51
	colm	26
	synt	suspend
	mark0
	var	4
	line	51
	colm	26
	synt	any
	psusp
	pop
lab L24
	efail
lab L25
	line	51
	colm	26
	synt	endsuspend
	line	51
	colm	7
	synt	endif
	unmark
lab L22
	efail
lab L23
	line	50
	colm	4
	synt	endevery
	unmark
lab L21
	mark	L26
	line	58
	colm	4
	synt	any
	pfail
	unmark
lab L26
	pnull
	line	60
	colm	1
	synt	any
	pfail
	end
proc map
	local	0,001000,s1
	local	1,001000,s2
	local	2,001000,s3
	local	3,000020,i
	local	4,000020,result
	local	5,000040,last_s2
	local	6,000040,last_s3
	local	7,000040,map_array
	local	8,000000,list
	local	9,000000,string
	local	10,000000,runerr
	local	11,000000,def_str
	local	12,000000,char
	local	13,000000,ord
	con	0,002000,3,256
	con	1,002000,3,103
	con	2,002000,3,208
	con	3,002000,1,1
	con	4,010000,0
	declend
	line	62
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	7
	var	8
	int	0
	line	66
	colm	29
	synt	any
	invoke	1
	line	66
	colm	22
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	0
	mark	L5
	var	9
	var	0
	line	68
	colm	16
	synt	any
	invoke	1
	line	68
	colm	21
	synt	any
	esusp
	goto	L6
lab L5
	var	10
	int	1
	var	0
	line	68
	colm	29
	synt	any
	invoke	2
lab L6
	line	68
	colm	7
	synt	any
	asgn
	unmark
lab L4
	mark	L7
	pnull
	var	1
	mark	L8
	var	11
	var	1
	var	9
	line	69
	colm	29
	synt	any
	keywd	ucase
	line	69
	colm	28
	synt	any
	invoke	1
	line	69
	colm	17
	synt	any
	invoke	2
	line	69
	colm	38
	synt	any
	esusp
	goto	L9
lab L8
	var	10
	int	1
	var	1
	line	69
	colm	46
	synt	any
	invoke	2
lab L9
	line	69
	colm	7
	synt	any
	asgn
	unmark
lab L7
	mark	L10
	pnull
	var	2
	mark	L11
	var	11
	var	2
	var	9
	line	70
	colm	29
	synt	any
	keywd	lcase
	line	70
	colm	28
	synt	any
	invoke	1
	line	70
	colm	17
	synt	any
	invoke	2
	line	70
	colm	38
	synt	any
	esusp
	goto	L12
lab L11
	var	10
	int	1
	var	2
	line	70
	colm	46
	synt	any
	invoke	2
lab L12
	line	70
	colm	7
	synt	any
	asgn
	unmark
lab L10
	mark	L13
	line	71
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	1
	line	71
	colm	7
	synt	any
	size
	pnull
	var	2
	line	71
	colm	14
	synt	any
	size
	line	71
	colm	11
	synt	any
	numne
	unmark
	var	10
	int	2
	line	71
	colm	29
	synt	any
	invoke	1
	line	71
	colm	4
	synt	endif
	unmark
lab L13
	mark	L14
	line	75
	colm	4
	synt	if
	mark0
	mark	L15
	pnull
	var	1
	var	5
	line	75
	colm	11
	synt	any
	neqv
	line	75
	colm	25
	synt	any
	esusp
	goto	L16
lab L15
	pnull
	var	2
	var	6
	line	75
	colm	31
	synt	any
	neqv
lab L16
	unmark
	mark	L17
	pnull
	var	5
	var	1
	line	76
	colm	15
	synt	any
	asgn
	unmark
lab L17
	mark	L18
	pnull
	var	6
	var	2
	line	77
	colm	15
	synt	any
	asgn
	unmark
lab L18
	mark	L19
	line	79
	colm	7
	synt	every
	mark0
	pnull
	var	3
	pnull
	int	3
	int	0
	push1
	line	79
	colm	20
	synt	any
	toby
	line	79
	colm	15
	synt	any
	asgn
	pop
	mark0
	pnull
	pnull
	var	7
	var	3
	line	80
	colm	19
	synt	any
	subsc
	var	12
	pnull
	var	3
	int	3
	line	80
	colm	33
	synt	any
	minus
	line	80
	colm	30
	synt	any
	invoke	1
	line	80
	colm	23
	synt	any
	asgn
	unmark
lab L20
	efail
lab L21
	line	79
	colm	7
	synt	endevery
	unmark
lab L19
	line	82
	colm	7
	synt	every
	mark0
	pnull
	var	3
	pnull
	int	3
	pnull
	var	1
	line	82
	colm	23
	synt	any
	size
	push1
	line	82
	colm	20
	synt	any
	toby
	line	82
	colm	15
	synt	any
	asgn
	pop
	mark0
	pnull
	pnull
	var	7
	pnull
	var	13
	pnull
	var	1
	var	3
	line	83
	colm	26
	synt	any
	subsc
	line	83
	colm	23
	synt	any
	invoke	1
	int	3
	line	83
	colm	31
	synt	any
	plus
	line	83
	colm	19
	synt	any
	subsc
	pnull
	var	2
	var	3
	line	83
	colm	41
	synt	any
	subsc
	line	83
	colm	36
	synt	any
	asgn
	unmark
lab L22
	efail
lab L23
	line	82
	colm	7
	synt	endevery
	line	75
	colm	4
	synt	endif
	unmark
lab L14
	mark	L24
	pnull
	var	4
	str	4
	line	86
	colm	11
	synt	any
	asgn
	unmark
lab L24
	mark	L25
	line	90
	colm	4
	synt	every
	mark0
	pnull
	var	3
	pnull
	int	3
	pnull
	var	0
	line	90
	colm	20
	synt	any
	size
	push1
	line	90
	colm	17
	synt	any
	toby
	line	90
	colm	12
	synt	any
	asgn
	pop
	mark0
	pnull
	var	4
	dup
	pnull
	var	7
	pnull
	var	13
	pnull
	var	0
	var	3
	line	91
	colm	35
	synt	any
	subsc
	line	91
	colm	32
	synt	any
	invoke	1
	int	3
	line	91
	colm	40
	synt	any
	plus
	line	91
	colm	28
	synt	any
	subsc
	line	91
	colm	14
	synt	any
	cat
	asgn
	unmark
lab L26
	efail
lab L27
	line	90
	colm	4
	synt	endevery
	unmark
lab L25
	mark	L28
	mark	L29
	var	4
	line	93
	colm	4
	synt	any
	pret
lab L29
	synt	any
	pfail
	unmark
lab L28
	pnull
	line	95
	colm	1
	synt	any
	pfail
	end
proc cvpos
	local	0,001000,i
	local	1,001000,s
	con	0,002000,1,0
	con	1,002000,1,1
	declend
	line	101
	colm	11
	synt	any
	mark	L1
	line	103
	colm	4
	synt	if
	mark0
	pnull
	var	0
	int	0
	line	103
	colm	9
	synt	any
	numle
	unmark
	pnull
	var	0
	dup
	pnull
	pnull
	var	1
	line	103
	colm	25
	synt	any
	size
	int	1
	line	103
	colm	28
	synt	any
	plus
	line	103
	colm	21
	synt	any
	plus
	asgn
	line	103
	colm	4
	synt	endif
	unmark
lab L1
	mark	L2
	line	104
	colm	4
	synt	ifelse
	mark	L3
	pnull
	pnull
	var	0
	var	0
	line	104
	colm	9
	synt	any
	numle
	pnull
	pnull
	var	1
	line	104
	colm	17
	synt	any
	size
	int	1
	line	104
	colm	20
	synt	any
	plus
	line	104
	colm	14
	synt	any
	numle
	unmark
	mark	L5
	var	0
	line	104
	colm	29
	synt	any
	pret
lab L5
	synt	any
	pfail
	goto	L4
lab L3
	line	105
	colm	9
	synt	any
	pfail
lab L4
	line	104
	colm	4
	synt	endifelse
	unmark
lab L2
	pnull
	line	107
	colm	1
	synt	any
	pfail
	end
proc def_str
	local	0,001000,s1
	local	1,001000,s2
	local	2,000000,string
	declend
	line	111
	colm	11
	synt	any
	mark	L1
	line	113
	colm	4
	synt	ifelse
	mark	L2
	pnull
	var	0
	line	113
	colm	7
	synt	any
	null
	unmark
	mark	L4
	var	1
	line	113
	colm	16
	synt	any
	pret
lab L4
	synt	any
	pfail
	goto	L3
lab L2
	mark	L5
	var	2
	var	0
	line	114
	colm	22
	synt	any
	invoke	1
	line	114
	colm	9
	synt	any
	pret
lab L5
	synt	any
	pfail
lab L3
	line	113
	colm	4
	synt	endifelse
	unmark
lab L1
	pnull
	line	116
	colm	1
	synt	any
	pfail
	end
