proc wild_match
	filen	wildcard.icn
	local	0,001000,plist
	local	1,001000,s
	local	2,001000,i1
	local	3,001000,i2
	local	4,000000,type
	local	5,000000,wild_pat
	local	6,000000,copy
	local	7,000000,wild_match1
	con	0,002000,1,1
	con	1,002000,1,0
	con	2,010000,6,163,164,162,151,156,147
	declend
	line	57
	colm	11
	mark	L1
	pnull
	pnull
	var	2
	line	64
	colm	4
	null
	mark	L2
	pnull
	pnull
	var	1
	line	64
	colm	13
	null
	line	64
	colm	19
	keywd	subject
	line	64
	colm	16
	asgn
	unmark
	line	64
	colm	33
	keywd	pos
	goto	L3
lab L2
	int	0
lab L3
	line	64
	colm	7
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	3
	line	64
	colm	47
	null
	int	1
	line	64
	colm	51
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	0
	mark	L6
	pnull
	var	4
	var	0
	line	65
	colm	21
	invoke	1
	str	2
	line	65
	colm	29
	lexeq
	unmark
	var	5
	goto	L7
lab L6
	var	6
lab L7
	var	0
	line	65
	colm	65
	invoke	1
	line	65
	colm	10
	asgn
	unmark
lab L5
	mark	L8
	mark0
	pnull
	var	1
	var	2
	var	3
	line	66
	colm	16
	sect
	line	66
	colm	21
	bscan
	var	7
	var	0
	line	66
	colm	35
	invoke	1
	pop
	pnull
	pnull
	var	2
	line	66
	colm	50
	keywd	pos
	line	66
	colm	48
	plus
	int	0
	line	66
	colm	55
	minus
	line	66
	colm	21
	escan
	line	66
	colm	4
	psusp
	pop
lab L9
	efail
lab L10
	unmark
lab L8
	pnull
	line	67
	colm	1
	pfail
	end
proc wild_find
	local	0,001000,plist
	local	1,001000,s
	local	2,001000,i1
	local	3,001000,i2
	local	4,000020,p
	local	5,000000,type
	local	6,000000,wild_pat
	local	7,000000,wild_skip
	local	8,000000,tab
	local	9,000000,wild_match
	con	0,002000,1,1
	con	1,002000,1,0
	con	2,010000,6,163,164,162,151,156,147
	declend
	line	70
	colm	11
	mark	L1
	pnull
	pnull
	var	2
	line	77
	colm	4
	null
	mark	L2
	pnull
	pnull
	var	1
	line	77
	colm	14
	null
	line	77
	colm	20
	keywd	subject
	line	77
	colm	17
	asgn
	unmark
	line	77
	colm	34
	keywd	pos
	goto	L3
lab L2
	int	0
lab L3
	line	77
	colm	8
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	3
	line	77
	colm	48
	null
	int	1
	line	77
	colm	52
	asgn
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	5
	var	0
	line	78
	colm	11
	invoke	1
	str	2
	line	78
	colm	19
	lexeq
	unmark
	pnull
	var	0
	var	6
	var	0
	line	78
	colm	53
	invoke	1
	line	78
	colm	42
	asgn
	unmark
lab L5
	mark	L6
	pnull
	var	1
	var	2
	var	3
	line	79
	colm	8
	sect
	line	79
	colm	13
	bscan
	mark0
	var	7
	var	0
	line	80
	colm	19
	invoke	1
	pop
	pnull
	var	4
	line	81
	colm	15
	keywd	pos
	line	81
	colm	12
	asgn
	pop
	int	0
	line	82
	colm	13
	limit
	var	8
	var	9
	var	0
	line	82
	colm	24
	invoke	1
	line	82
	colm	13
	invoke	1
	lsusp
	pop
	pnull
	pnull
	var	2
	var	4
	line	83
	colm	13
	plus
	int	0
	line	83
	colm	17
	minus
	line	79
	colm	15
	psusp
	pop
lab L7
	efail
lab L8
	line	79
	colm	13
	escan
	unmark
lab L6
	pnull
	line	84
	colm	1
	pfail
	end
proc wild_pat
	local	0,001000,s
	local	1,000020,c
	local	2,000020,ch
	local	3,000020,chars
	local	4,000020,complement
	local	5,000020,e
	local	6,000020,plist
	local	7,000020,special
	local	8,000000,pos
	local	9,000000,move
	local	10,000000,tab
	local	11,000000,find
	local	12,000000,upto
	local	13,000000,any
	local	14,000000,ord
	local	15,000000,type
	local	16,000000,put
	con	0,002000,1,0
	con	1,010000,1,052
	con	2,010000,1,077
	con	3,002000,1,1
	con	4,010000,1,134
	con	5,010000,1,133
	con	6,010000,1,135
	con	7,010000,2,041,135
	con	8,010000,3,041,055,135
	con	9,010000,0
	con	10,020000,4,052,077,133,134
	con	11,010000,1,041
	con	12,020000,2,055,135
	con	13,020000,0
	con	14,010000,1,055
	con	15,002000,1,2
	con	16,010000,6,163,164,162,151,156,147
	declend
	line	87
	colm	11
	mark	L1
	pnull
	var	6
	pnull
	line	105
	colm	13
	llist	0
	line	105
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	var	0
	line	106
	colm	6
	bscan
lab L3
	mark	L4
	var	8
	int	0
	line	107
	colm	16
	invoke	1
	unmark
	efail
lab L4
	mark	L3
	mark	L7
	pnull
	var	1
	line	108
	colm	15
	keywd	null
	line	108
	colm	12
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	5
	mark	L9
	pnull
	str	1
	line	112
	colm	16
	tabmat
	pop
	int	0
	esusp
	goto	L10
lab L9
	mark	L11
	pnull
	str	2
	line	112
	colm	29
	tabmat
	pop
	int	3
	esusp
	goto	L12
lab L11
	mark	L13
	pnull
	str	4
	line	112
	colm	42
	tabmat
	pop
	var	9
	int	3
	line	112
	colm	54
	invoke	1
	esusp
	goto	L14
lab L13
	mark	L15
	pnull
	str	5
	line	113
	colm	17
	tabmat
	pop
	pnull
	var	1
	pnull
	pnull
	mark	L17
	str	6
	esusp
	goto	L18
lab L17
	mark	L19
	str	7
	esusp
	goto	L20
lab L19
	mark	L21
	str	8
	esusp
	goto	L22
lab L21
	str	9
lab L22
lab L20
lab L18
	line	113
	colm	30
	tabmat
	var	10
	var	11
	str	6
	line	113
	colm	68
	invoke	1
	line	113
	colm	63
	invoke	1
	line	113
	colm	57
	cat
	line	113
	colm	26
	asgn
	pop
	var	9
	int	3
	line	114
	colm	26
	invoke	1
	esusp
	goto	L16
lab L15
	pnull
	var	9
	int	3
	line	115
	colm	20
	invoke	1
	var	10
	mark	L23
	var	12
	cset	10
	line	115
	colm	35
	invoke	1
	esusp
	goto	L24
lab L23
	int	0
lab L24
	line	115
	colm	30
	invoke	1
	line	115
	colm	24
	cat
lab L16
lab L14
lab L12
lab L10
	line	112
	colm	12
	asgn
	unmark
lab L8
	mark	L25
	pnull
	var	1
	line	123
	colm	10
	nonnull
	line	123
	colm	13
	bscan
	mark	L26
	pnull
	var	4
	mark	L27
	pnull
	str	11
	line	124
	colm	27
	tabmat
	esusp
	goto	L28
lab L27
	line	124
	colm	34
	keywd	null
lab L28
	line	124
	colm	24
	asgn
	unmark
lab L26
	mark	L29
	pnull
	var	7
	cset	12
	line	125
	colm	21
	asgn
	unmark
lab L29
	mark	L30
	pnull
	var	5
	cset	13
	line	126
	colm	15
	asgn
	unmark
lab L30
	mark	L31
lab L32
	mark0
	pnull
	var	2
	var	10
	var	13
	var	7
	line	127
	colm	32
	invoke	1
	line	127
	colm	28
	invoke	1
	line	127
	colm	22
	asgn
	unmark
	mark	L32
	mark	L35
	pnull
	var	5
	dup
	var	2
	line	128
	colm	18
	unions
	asgn
	unmark
lab L35
	pnull
	var	7
	dup
	var	2
	line	129
	colm	24
	diff
	asgn
lab L33
	unmark
	goto	L32
lab L34
	unmark
lab L31
	mark	L36
lab L37
	mark0
	pnull
	var	3
	var	10
	var	11
	str	14
	line	131
	colm	36
	invoke	1
	line	131
	colm	31
	invoke	1
	line	131
	colm	25
	asgn
	unmark
	mark	L37
	mark	L40
	var	9
	int	3
	line	132
	colm	20
	invoke	1
	unmark
lab L40
	pnull
	var	5
	dup
	pnull
	pnull
	var	3
	int	3
	pnull
	int	3
	line	133
	colm	31
	neg
	line	133
	colm	30
	sect
	pnull
	line	134
	colm	22
	keywd	cset
	pnull
	var	14
	pnull
	var	3
	pnull
	int	3
	line	134
	colm	38
	neg
	line	134
	colm	37
	subsc
	line	134
	colm	31
	invoke	1
	int	3
	line	134
	colm	43
	plus
	pnull
	var	14
	var	9
	int	3
	line	134
	colm	55
	invoke	1
	line	134
	colm	50
	invoke	1
	int	15
	line	134
	colm	60
	plus
	line	134
	colm	46
	sect
	line	133
	colm	35
	unions
	line	133
	colm	18
	unions
	asgn
lab L38
	unmark
	goto	L37
lab L39
	unmark
lab L36
	mark	L41
	pnull
	var	5
	dup
	var	10
	int	0
	line	136
	colm	23
	invoke	1
	line	136
	colm	15
	unions
	asgn
	unmark
lab L41
	mark0
	pnull
	var	4
	line	137
	colm	16
	nonnull
	unmark
	pnull
	var	5
	pnull
	var	5
	line	137
	colm	38
	compl
	line	137
	colm	35
	asgn
	line	123
	colm	13
	escan
	unmark
lab L25
	mark	L42
	pnull
	pnull
	var	15
	var	5
	line	139
	colm	17
	invoke	1
	str	16
	line	139
	colm	21
	lexeq
	var	15
	pnull
	var	6
	pnull
	int	3
	line	139
	colm	47
	neg
	line	139
	colm	46
	subsc
	line	139
	colm	40
	invoke	1
	line	139
	colm	33
	lexeq
	unmark
	pnull
	pnull
	var	6
	pnull
	int	3
	line	139
	colm	63
	neg
	line	139
	colm	62
	subsc
	dup
	var	5
	line	139
	colm	67
	cat
	asgn
	goto	L43
lab L42
	var	16
	var	6
	var	5
	line	140
	colm	18
	invoke	2
lab L43
lab L5
	unmark
	goto	L3
lab L6
	line	106
	colm	6
	escan
	unmark
lab L2
	mark	L44
	mark	L45
	var	6
	line	143
	colm	4
	pret
lab L45
	pfail
	unmark
lab L44
	pnull
	line	144
	colm	1
	pfail
	end
proc wild_skip
	local	0,001000,plist
	local	1,000020,x
	local	2,000020,t
	local	3,000000,tab
	local	4,000000,type
	local	5,000000,find
	local	6,000000,upto
	con	0,002000,1,1
	con	1,010000,6,163,164,162,151,156,147
	con	2,010000,4,143,163,145,164
	declend
	line	147
	colm	11
	mark	L1
	pnull
	var	1
	pnull
	var	0
	int	0
	line	157
	colm	14
	subsc
	line	157
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	mark0
	var	3
	mark0
	var	4
	var	1
	line	159
	colm	16
	invoke	1
	eret
	mark	L6
	ccase
	str	1
	line	160
	colm	18
	eqv
	unmark
	pop
	var	5
	var	1
	line	160
	colm	24
	invoke	1
	goto	L5
lab L6
	mark	L7
	ccase
	str	2
	line	161
	colm	16
	eqv
	unmark
	pop
	var	6
	var	1
	line	161
	colm	22
	invoke	1
	goto	L5
lab L7
	pop
	pnull
	line	162
	colm	19
	keywd	pos
	pnull
	pnull
	line	162
	colm	28
	keywd	subject
	line	162
	colm	27
	size
	int	0
	line	162
	colm	37
	plus
	push1
	line	162
	colm	24
	toby
lab L5
	line	158
	colm	15
	invoke	1
	line	158
	colm	4
	psusp
	pop
lab L3
	efail
lab L4
	unmark
lab L2
	pnull
	line	165
	colm	1
	pfail
	end
proc wild_match1
	local	0,001000,plist
	local	1,001000,v
	local	2,000020,c
	local	3,000000,pop
	local	4,000000,wild_match1
	local	5,000000,wild_skip
	local	6,000000,move
	local	7,000000,type
	local	8,000000,tab
	local	9,000000,any
	local	10,000000,push
	con	0,002000,1,0
	con	1,002000,1,1
	con	2,010000,4,143,163,145,164
	declend
	line	168
	colm	11
	mark	L1
	mark	L2
	pnull
	var	2
	var	3
	var	0
	line	174
	colm	15
	invoke	1
	line	174
	colm	9
	asgn
	unmark
	mark	L4
	mark0
	var	4
	var	0
	mark0
	var	2
	eret
	mark	L8
	ccase
	int	0
	line	176
	colm	11
	eqv
	unmark
	pop
	var	5
	var	0
	line	176
	colm	22
	invoke	1
	goto	L7
lab L8
	mark	L9
	ccase
	int	1
	line	177
	colm	11
	eqv
	unmark
	pop
	var	6
	int	1
	line	177
	colm	17
	invoke	1
	goto	L7
lab L9
	pop
	mark0
	var	7
	var	2
	line	178
	colm	28
	invoke	1
	eret
	mark	L11
	ccase
	str	2
	line	179
	colm	22
	eqv
	unmark
	pop
	var	8
	var	9
	var	2
	line	179
	colm	31
	invoke	1
	line	179
	colm	27
	invoke	1
	goto	L10
lab L11
	pop
	pnull
	var	2
	line	180
	colm	25
	tabmat
lab L10
lab L7
	line	175
	colm	26
	invoke	2
	line	175
	colm	7
	psusp
	pop
lab L5
	efail
lab L6
	unmark
lab L4
	var	10
	var	0
	var	2
	line	183
	colm	11
	invoke	2
	goto	L3
lab L2
	mark	L12
	var	1
	line	185
	colm	9
	pret
lab L12
	pfail
lab L3
	unmark
lab L1
	pnull
	line	186
	colm	1
	pfail
	end
