proc PushWin
	filen	gpxlib.icn
	local	0,001000,a
	local	1,000040,type
	local	2,000000,proc
	local	3,000000,push
	con	0,010000,4,164,171,160,145
	con	1,002000,1,0
	con	2,002000,1,1
	con	3,010000,6,167,151,156,144,157,167
	declend
	line	69
	colm	11
	init	L1
	mark	L1
	pnull
	var	1
	var	2
	str	0
	int	1
	line	72
	colm	24
	invoke	2
	line	72
	colm	17
	asgn
	unmark
lab L1
	mark	L2
	mark0
	mark	L3
	pnull
	var	1
	pnull
	var	0
	int	2
	line	74
	colm	18
	subsc
	line	74
	colm	16
	invoke	1
	str	3
	line	74
	colm	23
	lexeq
	unmark
	efail
lab L3
	pnull
	unmark
	var	3
	var	0
	line	75
	colm	15
	keywd	window
	line	75
	colm	11
	invoke	2
	unmark
lab L2
	mark	L4
	mark	L5
	var	0
	line	76
	colm	4
	pret
lab L5
	pfail
	unmark
lab L4
	pnull
	line	77
	colm	1
	pfail
	end
proc Distance
	local	0,001000,x1
	local	1,001000,y1
	local	2,001000,x2
	local	3,001000,y2
	local	4,000000,sqrt
	declend
	line	82
	colm	11
	mark	L1
	pnull
	var	0
	dup
	var	2
	line	83
	colm	7
	minus
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	1
	dup
	var	3
	line	84
	colm	7
	minus
	asgn
	unmark
lab L2
	mark	L3
	mark	L4
	var	4
	pnull
	pnull
	var	0
	var	0
	line	85
	colm	19
	mult
	pnull
	var	1
	var	1
	line	85
	colm	29
	mult
	line	85
	colm	24
	plus
	line	85
	colm	15
	invoke	1
	line	85
	colm	4
	pret
lab L4
	pfail
	unmark
lab L3
	pnull
	line	86
	colm	1
	pfail
	end
proc InBounds
	local	0,001000,x
	local	1,001000,y
	local	2,001000,w
	local	3,001000,h
	con	0,002000,1,0
	declend
	line	91
	colm	11
	mark	L1
	mark0
	pnull
	var	2
	int	0
	line	92
	colm	9
	numlt
	unmark
	pnull
	var	0
	dup
	pnull
	var	2
	pnull
	var	2
	line	93
	colm	19
	neg
	line	93
	colm	16
	asgn
	line	93
	colm	9
	minus
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	3
	int	0
	line	94
	colm	9
	numlt
	unmark
	pnull
	var	1
	dup
	pnull
	var	3
	pnull
	var	3
	line	95
	colm	19
	neg
	line	95
	colm	16
	asgn
	line	95
	colm	9
	minus
	asgn
	unmark
lab L2
	mark	L3
	mark	L4
	pnull
	pnull
	var	0
	line	96
	colm	17
	keywd	x
	line	96
	colm	14
	numle
	pnull
	var	0
	var	2
	line	96
	colm	25
	plus
	line	96
	colm	20
	numle
	pop
	pnull
	pnull
	var	1
	line	96
	colm	38
	keywd	y
	line	96
	colm	35
	numle
	pnull
	var	1
	var	3
	line	96
	colm	46
	plus
	line	96
	colm	41
	numle
	pop
	line	96
	colm	53
	keywd	null
	line	96
	colm	4
	pret
lab L4
	pfail
	unmark
lab L3
	pnull
	line	97
	colm	1
	pfail
	end
proc ScratchCanvas
	local	0,001000,win
	local	1,001000,w
	local	2,001000,h
	local	3,001000,id
	local	4,000020,d
	local	5,000020,s
	local	6,000040,dpytab
	local	7,000040,type
	local	8,000000,table
	local	9,000000,proc
	local	10,000000,WAttrib
	local	11,000000,image
	local	12,000000,WOpen
	con	0,010000,4,164,171,160,145
	con	1,002000,1,0
	con	2,010000,6,167,151,156,144,157,167
	con	3,010000,5,167,151,144,164,150
	con	4,010000,6,150,145,151,147,150,164
	con	5,002000,3,100
	con	6,010000,7,144,151,163,160,154,141,171
	con	7,010000,1,054
	con	8,010000,6,167,151,144,164,150,075
	con	9,010000,7,150,145,151,147,150,164,075
	con	10,010000,13,143,141,156,166,141,163,075,150,151,144,144,145,156
	con	11,010000,8,144,151,163,160,154,141,171,075
	declend
	line	102
	colm	11
	init	L1
	mark	L1
	mark	L2
	pnull
	var	6
	var	8
	line	107
	colm	22
	invoke	0
	line	107
	colm	14
	asgn
	unmark
lab L2
	pnull
	var	7
	var	9
	str	0
	int	1
	line	108
	colm	19
	invoke	2
	line	108
	colm	12
	asgn
	unmark
lab L1
	mark	L3
	mark0
	pnull
	var	7
	var	0
	line	111
	colm	11
	invoke	1
	str	2
	line	111
	colm	17
	lexne
	unmark
	mark	L4
	pnull
	var	0
	pnull
	var	1
	pnull
	var	2
	var	3
	line	112
	colm	23
	swap
	line	112
	colm	17
	swap
	line	112
	colm	11
	swap
	unmark
lab L4
	pnull
	var	0
	line	113
	colm	14
	keywd	window
	line	113
	colm	11
	asgn
	unmark
lab L3
	mark	L5
	pnull
	pnull
	var	1
	line	115
	colm	4
	null
	var	10
	var	0
	str	3
	line	115
	colm	17
	invoke	2
	line	115
	colm	7
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	2
	line	116
	colm	4
	null
	var	10
	var	0
	str	4
	line	116
	colm	17
	invoke	2
	line	116
	colm	7
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	1
	dup
	int	5
	line	117
	colm	6
	numlt
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	2
	dup
	int	5
	line	118
	colm	6
	numlt
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	4
	var	10
	var	0
	str	6
	line	120
	colm	16
	invoke	2
	line	120
	colm	6
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	5
	pnull
	pnull
	var	4
	str	7
	line	121
	colm	11
	cat
	var	11
	var	3
	line	121
	colm	26
	invoke	1
	line	121
	colm	18
	cat
	line	121
	colm	6
	asgn
	unmark
lab L10
	mark	L11
	pnull
	pnull
	pnull
	var	6
	var	5
	line	122
	colm	11
	subsc
	line	122
	colm	4
	null
	var	12
	pnull
	str	8
	var	1
	line	122
	colm	33
	cat
	pnull
	str	9
	var	2
	line	122
	colm	49
	cat
	str	10
	pnull
	str	11
	var	4
	line	123
	colm	18
	cat
	line	122
	colm	23
	invoke	4
	line	122
	colm	15
	asgn
	unmark
lab L11
	mark	L12
	pnull
	var	0
	pnull
	var	6
	var	5
	line	124
	colm	17
	subsc
	line	124
	colm	8
	asgn
	unmark
lab L12
	mark	L13
	mark0
	pnull
	var	0
	line	125
	colm	7
	null
	unmark
	line	126
	colm	7
	pfail
	unmark
lab L13
	mark	L14
	mark0
	mark	L15
	pnull
	var	10
	var	0
	str	3
	line	127
	colm	14
	invoke	2
	var	1
	line	127
	colm	29
	numlt
	esusp
	goto	L16
lab L15
	pnull
	var	10
	var	0
	str	4
	line	127
	colm	42
	invoke	2
	var	2
	line	127
	colm	58
	numlt
lab L16
	unmark
	var	10
	var	0
	pnull
	str	8
	var	1
	line	128
	colm	29
	cat
	pnull
	str	9
	var	2
	line	128
	colm	45
	cat
	line	128
	colm	14
	invoke	3
	unmark
lab L14
	mark	L17
	mark	L18
	var	0
	line	129
	colm	4
	pret
lab L18
	pfail
	unmark
lab L17
	pnull
	line	130
	colm	1
	pfail
	end
