proc plural
	filen	plural.icn
	local	0,001000,word
	local	1,000020,lcword
	local	2,000040,plural_map
	local	3,000040,plural_id
	local	4,000040,plural_s
	local	5,000000,table
	local	6,000000,set
	local	7,000000,insert
	local	8,000000,map
	local	9,000000,member
	local	10,000000,tab
	local	11,000000,match
	local	12,000000,any
	local	13,000000,move
	con	0,010000,5,155,157,165,163,145
	con	1,010000,4,155,151,143,145
	con	2,010000,5,154,157,165,163,145
	con	3,010000,4,154,151,143,145
	con	4,010000,5,147,157,157,163,145
	con	5,010000,5,147,145,145,163,145
	con	6,010000,5,144,141,164,165,155
	con	7,010000,4,144,141,164,141
	con	8,010000,7,143,150,141,163,163,151,163
	con	9,010000,4,146,151,163,150
	con	10,010000,5,163,150,145,145,160
	con	11,010000,9,163,145,155,141,156,164,151,143,163
	con	12,010000,5,162,157,155,141,156
	con	13,010000,6,156,157,162,155,141,156
	con	14,010000,5,150,165,155,141,156
	con	15,010000,6,163,150,141,155,141,156
	con	16,010000,6,147,145,162,155,141,156
	con	17,010000,8,164,141,154,151,163,155,141,156
	con	18,010000,10,163,165,160,145,162,150,165,155,141,156
	con	19,010000,1,163
	con	20,002000,1,3
	con	21,010000,3,155,141,156
	con	22,010000,3,155,145,156
	con	23,010000,3,163,151,163
	con	24,010000,3,163,145,163
	con	25,002000,1,2
	con	26,010000,2,143,150
	con	27,010000,2,163,150
	con	28,010000,2,163,163
	con	29,010000,2,145,163
	con	30,010000,3,164,165,163
	con	31,010000,2,164,151
	con	32,020000,14,143,142,144,147,150,155,156,160,162,163,164,166,170,172
	con	33,010000,1,171
	con	34,010000,3,151,145,163
	con	35,002000,1,1
	con	36,020000,2,170,172
	con	37,002000,1,0
	declend
	line	22
	colm	11
	init	L1
	mark	L1
	mark	L2
	pnull
	var	2
	var	5
	line	27
	colm	26
	invoke	0
	line	27
	colm	18
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	2
	str	0
	line	28
	colm	17
	subsc
	str	1
	line	28
	colm	27
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	2
	str	2
	line	29
	colm	17
	subsc
	str	3
	line	29
	colm	27
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	2
	str	4
	line	30
	colm	17
	subsc
	str	5
	line	30
	colm	27
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	2
	str	6
	line	31
	colm	17
	subsc
	str	7
	line	31
	colm	27
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	3
	var	6
	line	33
	colm	23
	invoke	0
	line	33
	colm	17
	asgn
	unmark
lab L7
	mark	L8
	mark0
	var	7
	var	3
	mark	L11
	str	8
	esusp
	goto	L12
lab L11
	mark	L13
	str	9
	esusp
	goto	L14
lab L13
	mark	L15
	str	10
	esusp
	goto	L16
lab L15
	str	11
lab L16
lab L14
lab L12
	line	34
	colm	19
	invoke	2
	pop
lab L9
	efail
lab L10
	unmark
lab L8
	mark	L17
	pnull
	var	4
	var	6
	line	36
	colm	22
	invoke	0
	line	36
	colm	16
	asgn
	unmark
lab L17
	mark0
	var	7
	var	4
	mark	L20
	str	12
	esusp
	goto	L21
lab L20
	mark	L22
	str	13
	esusp
	goto	L23
lab L22
	mark	L24
	str	14
	esusp
	goto	L25
lab L24
	mark	L26
	str	15
	esusp
	goto	L27
lab L26
	mark	L28
	str	16
	esusp
	goto	L29
lab L28
	mark	L30
	str	17
	esusp
	goto	L31
lab L30
	str	18
lab L31
lab L29
lab L27
lab L25
lab L23
lab L21
	line	37
	colm	19
	invoke	2
	pop
lab L18
	efail
lab L19
	unmark
lab L1
	mark	L32
	pnull
	var	1
	var	8
	var	0
	line	41
	colm	17
	invoke	1
	line	41
	colm	11
	asgn
	unmark
lab L32
	mark	L33
	mark0
	var	9
	var	3
	var	1
	line	43
	colm	13
	invoke	2
	unmark
	mark	L34
	var	0
	line	43
	colm	37
	pret
lab L34
	pfail
	unmark
lab L33
	mark	L35
	mark0
	var	9
	var	4
	var	1
	line	45
	colm	13
	invoke	2
	unmark
	mark	L36
	pnull
	var	0
	str	19
	line	45
	colm	48
	cat
	line	45
	colm	36
	pret
lab L36
	pfail
	unmark
lab L35
	mark	L37
	mark	L38
	pnull
	var	1
	pnull
	pnull
	var	2
	var	1
	line	47
	colm	26
	subsc
	line	47
	colm	15
	nonnull
	line	47
	colm	12
	asgn
	esusp
	goto	L39
lab L38
	pnull
	var	1
	sdup
	line	48
	colm	14
	bscan
	mark	L40
	pnull
	var	10
	pnull
	int	20
	line	49
	colm	15
	neg
	line	49
	colm	14
	invoke	1
	var	11
	str	21
	line	49
	colm	28
	invoke	1
	pop
	str	22
	line	49
	colm	19
	cat
	esusp
	goto	L41
lab L40
	mark	L42
	pnull
	var	10
	pnull
	int	20
	line	50
	colm	15
	neg
	line	50
	colm	14
	invoke	1
	var	11
	str	23
	line	50
	colm	28
	invoke	1
	pop
	str	24
	line	50
	colm	19
	cat
	esusp
	goto	L43
lab L42
	mark	L44
	pnull
	pnull
	var	10
	pnull
	int	25
	line	51
	colm	15
	neg
	line	51
	colm	14
	invoke	1
	pnull
	mark	L46
	str	26
	esusp
	goto	L47
lab L46
	mark	L48
	str	27
	esusp
	goto	L49
lab L48
	str	28
lab L49
lab L47
	line	51
	colm	22
	tabmat
	line	51
	colm	19
	cat
	str	29
	line	51
	colm	44
	cat
	esusp
	goto	L45
lab L44
	mark	L50
	pnull
	var	10
	pnull
	int	20
	line	52
	colm	15
	neg
	line	52
	colm	14
	invoke	1
	pnull
	str	30
	line	52
	colm	23
	tabmat
	pop
	str	31
	line	52
	colm	19
	cat
	esusp
	goto	L51
lab L50
	mark	L52
	pnull
	pnull
	var	10
	pnull
	int	25
	line	53
	colm	15
	neg
	line	53
	colm	14
	invoke	1
	var	10
	var	12
	cset	32
	line	53
	colm	29
	invoke	1
	line	53
	colm	25
	invoke	1
	line	53
	colm	19
	cat
	var	11
	str	33
	line	53
	colm	58
	invoke	1
	pop
	str	34
	line	53
	colm	49
	cat
	esusp
	goto	L53
lab L52
	mark	L54
	pnull
	pnull
	var	10
	pnull
	int	35
	line	54
	colm	15
	neg
	line	54
	colm	14
	invoke	1
	var	10
	var	12
	cset	36
	line	54
	colm	29
	invoke	1
	line	54
	colm	25
	invoke	1
	line	54
	colm	19
	cat
	str	29
	line	54
	colm	37
	cat
	esusp
	goto	L55
lab L54
	pnull
	var	10
	int	37
	line	55
	colm	14
	invoke	1
	str	19
	line	55
	colm	18
	cat
lab L55
lab L53
lab L51
lab L45
lab L43
lab L41
	line	48
	colm	14
	escan
	asgn
lab L39
	unmark
lab L37
	mark	L56
	mark0
	var	0
	line	59
	colm	12
	bscan
	var	12
	line	59
	colm	18
	keywd	ucase
	line	59
	colm	17
	invoke	1
	line	59
	colm	12
	escan
	unmark
	pnull
	var	1
	sdup
	line	59
	colm	38
	bscan
	pnull
	var	8
	var	13
	int	35
	line	60
	colm	15
	invoke	1
	line	60
	colm	19
	keywd	lcase
	line	60
	colm	26
	keywd	ucase
	line	60
	colm	10
	invoke	3
	var	10
	int	37
	line	60
	colm	40
	invoke	1
	line	60
	colm	34
	cat
	line	59
	colm	38
	escan
	asgn
	unmark
lab L56
	mark	L57
	mark	L58
	var	1
	line	63
	colm	4
	pret
lab L58
	pfail
	unmark
lab L57
	pnull
	line	65
	colm	1
	pfail
	end
