version	U12.1.00
uid	multiparthandler.u1-1788086060-0
record	mail__MultipartHandler__state,3
	0,__s
	1,__m
	2,reason
record	mail__MultipartHandler__methods,8
	0,can_handle
	1,convert_to_object
	2,convert_from_object
	3,generate_boundary
	4,error
	5,get_reason
	6,mail__TypeHandler
	7,util__Error
impl	local
link	/pobj/unicon-13.3beta1/unicon-0b8f99c2affe981f87639fc2577d2a68d05739ba/uni/lib/typehandler.u
link	/pobj/unicon-13.3beta1/unicon-0b8f99c2affe981f87639fc2577d2a68d05739ba/uni/lib/error.u
global	11
	0,000005,mail__MultipartHandler_can_handle,2
	1,000005,mail__MultipartHandler_convert_to_object,3
	2,000005,mail__MultipartHandler_convert_from_object,3
	3,000005,mail__MultipartHandler_generate_boundary,2
	4,000011,mail__MultipartHandler__state,3
	5,000011,mail__MultipartHandler__methods,8
	6,000001,mail__MultipartHandler__oprec,0
	7,000001,mail__TypeHandler__oprec,0
	8,000001,util__Error__oprec,0
	9,000005,mail__MultipartHandler,1
	10,000005,mail__MultipartHandlerinitialize,0

proc mail__MultipartHandler_can_handle
	local	0,001000,self
	local	1,001000,ct
	local	2,000000,map
	con	0,010000,9,155,165,154,164,151,160,141,162,164
	declend
	filen	multiparthandler.icn
	line	8
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	2
	pnull
	var	1
	line	9
	colm	22
	synt	any
	field	get_type
	line	9
	colm	31
	synt	any
	invoke	0
	line	9
	colm	19
	synt	any
	invoke	1
	str	0
	line	9
	colm	35
	synt	any
	lexeq
	line	9
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	10
	colm	1
	synt	any
	pfail
	end
proc mail__MultipartHandler_convert_to_object
	local	0,001000,self
	local	1,001000,m
	local	2,001000,data
	local	3,000020,s
	local	4,000020,res
	local	5,000020,b
	local	6,000020,ct
	local	7,000020,sm
	local	8,000000,mail__Multipart
	local	9,000000,tab
	local	10,000000,find
	local	11,000000,mail__Message
	con	0,010000,4,015,012,055,055
	con	1,010000,8,142,157,165,156,144,141,162,171
	con	2,010000,26,115,151,163,163,151,156,147,040,142,157,165,156,144,141,162,171,040,160,141,162,141,155,145,164,145,162
	con	3,010000,16,115,151,163,163,151,156,147,040,142,157,165,156,144,141,162,171
	con	4,010000,4,055,055,015,012
	con	5,010000,2,015,012
	con	6,010000,30,125,156,145,170,160,145,143,164,145,144,040,143,150,141,162,040,141,146,164,145,162,040,142,157,165,156,144,141,162,171
	con	7,010000,18,102,157,165,156,144,141,162,171,040,156,157,164,040,146,157,165,156,144
	con	8,002000,1,0
	declend
	line	12
	colm	11
	synt	any
	mark	L1
	pnull
	var	4
	var	8
	line	15
	colm	29
	synt	any
	invoke	0
	line	15
	colm	11
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	6
	pnull
	var	1
	line	17
	colm	14
	synt	any
	field	get_content_type
	line	17
	colm	31
	synt	any
	invoke	0
	line	17
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	5
	pnull
	str	0
	pnull
	var	6
	line	19
	colm	26
	synt	any
	field	get_unquoted_parameter
	str	1
	line	19
	colm	49
	synt	any
	invoke	1
	line	19
	colm	21
	synt	any
	cat
	line	19
	colm	9
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	line	20
	colm	7
	synt	if
	mark0
	pnull
	var	5
	line	20
	colm	10
	synt	any
	null
	unmark
	mark	L5
	pnull
	var	0
	line	21
	colm	21
	synt	any
	field	error
	str	2
	line	21
	colm	27
	synt	any
	invoke	1
	line	21
	colm	10
	synt	any
	pret
lab L5
	synt	any
	pfail
	line	20
	colm	7
	synt	endif
	unmark
lab L4
	mark	L6
	var	2
	line	23
	colm	12
	synt	any
	bscan
	mark	L7
	pnull
	var	3
	mark	L8
	var	9
	var	10
	var	5
	line	24
	colm	27
	synt	any
	invoke	1
	line	24
	colm	20
	synt	any
	invoke	1
	line	24
	colm	32
	synt	any
	esusp
	goto	L9
lab L8
	mark	L10
	pnull
	var	0
	line	24
	colm	45
	synt	any
	field	error
	str	3
	line	24
	colm	51
	synt	any
	invoke	1
	line	24
	colm	34
	synt	any
	pret
lab L10
	synt	any
	pfail
lab L9
	line	24
	colm	12
	synt	any
	asgn
	unmark
lab L7
	mark	L11
	pnull
	var	4
	line	25
	colm	13
	synt	any
	field	set_preamble
	var	5
	line	25
	colm	26
	synt	any
	invoke	1
	unmark
lab L11
	mark	L12
	pnull
	var	5
	line	26
	colm	10
	synt	any
	tabmat
	unmark
lab L12
	mark	L13
lab L14
	line	27
	colm	10
	synt	repeat
	mark	L14
	mark	L17
	line	28
	colm	13
	synt	if
	mark0
	pnull
	str	4
	line	28
	colm	16
	synt	any
	tabmat
	unmark
	unmark
	unmark
	pnull
	goto	L16
	line	28
	colm	13
	synt	endif
	unmark
lab L17
	mark	L18
	mark	L19
	pnull
	str	5
	line	31
	colm	13
	synt	any
	tabmat
	line	31
	colm	21
	synt	any
	esusp
	goto	L20
lab L19
	mark	L21
	pnull
	var	0
	line	31
	colm	34
	synt	any
	field	error
	str	6
	line	31
	colm	40
	synt	any
	invoke	1
	line	31
	colm	23
	synt	any
	pret
lab L21
	synt	any
	pfail
lab L20
	unmark
lab L18
	mark	L22
	pnull
	var	2
	mark	L23
	var	9
	var	10
	var	5
	line	33
	colm	33
	synt	any
	invoke	1
	line	33
	colm	26
	synt	any
	invoke	1
	line	33
	colm	38
	synt	any
	esusp
	goto	L24
lab L23
	mark	L25
	pnull
	var	0
	line	33
	colm	51
	synt	any
	field	error
	str	7
	line	33
	colm	57
	synt	any
	invoke	1
	line	33
	colm	40
	synt	any
	pret
lab L25
	synt	any
	pfail
lab L24
	line	33
	colm	18
	synt	any
	asgn
	unmark
lab L22
	mark	L26
	pnull
	var	5
	line	34
	colm	13
	synt	any
	tabmat
	unmark
lab L26
	mark	L27
	pnull
	var	7
	var	11
	line	35
	colm	32
	synt	any
	invoke	0
	line	35
	colm	16
	synt	any
	asgn
	unmark
lab L27
	mark	L28
	mark	L29
	pnull
	var	7
	line	36
	colm	15
	synt	any
	field	parse
	var	2
	line	36
	colm	21
	synt	any
	invoke	1
	line	36
	colm	28
	synt	any
	esusp
	goto	L30
lab L29
	mark	L31
	pnull
	var	0
	line	36
	colm	41
	synt	any
	field	error
	var	7
	line	36
	colm	47
	synt	any
	invoke	1
	line	36
	colm	30
	synt	any
	pret
lab L31
	synt	any
	pfail
lab L30
	unmark
lab L28
	pnull
	var	4
	line	37
	colm	16
	synt	any
	field	add_part
	var	7
	line	37
	colm	25
	synt	any
	invoke	1
lab L15
	unmark
	goto	L14
lab L16
	line	27
	colm	10
	synt	endrepeat
	unmark
lab L13
	pnull
	var	4
	line	39
	colm	13
	synt	any
	field	set_epilogue
	var	9
	int	8
	line	39
	colm	32
	synt	any
	invoke	1
	line	39
	colm	26
	synt	any
	invoke	1
	line	23
	colm	12
	synt	any
	escan
	unmark
lab L6
	mark	L32
	mark	L33
	var	4
	line	42
	colm	7
	synt	any
	pret
lab L33
	synt	any
	pfail
	unmark
lab L32
	pnull
	line	43
	colm	1
	synt	any
	pfail
	end
proc mail__MultipartHandler_convert_from_object
	local	0,001000,self
	local	1,001000,m
	local	2,001000,obj
	local	3,000020,b
	local	4,000020,s
	local	5,000020,ct
	local	6,000020,e
	con	0,010000,8,142,157,165,156,144,141,162,171
	con	1,010000,1,042
	con	2,010000,4,015,012,055,055
	con	3,010000,2,015,012
	con	4,010000,4,055,055,015,012
	declend
	line	45
	colm	11
	synt	any
	mark	L1
	pnull
	var	3
	pnull
	var	0
	line	48
	colm	16
	synt	any
	field	generate_boundary
	pnull
	var	2
	line	48
	colm	38
	synt	any
	field	get_parts
	line	48
	colm	48
	synt	any
	invoke	0
	line	48
	colm	34
	synt	any
	invoke	1
	line	48
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	5
	pnull
	var	1
	line	50
	colm	14
	synt	any
	field	get_content_type
	line	50
	colm	31
	synt	any
	invoke	0
	line	50
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	5
	line	55
	colm	9
	synt	any
	field	set_parameter
	str	0
	pnull
	pnull
	str	1
	var	3
	line	55
	colm	41
	synt	any
	cat
	str	1
	line	55
	colm	46
	synt	any
	cat
	line	55
	colm	23
	synt	any
	invoke	2
	unmark
lab L3
	mark	L4
	pnull
	var	1
	line	56
	colm	8
	synt	any
	field	set_content_type
	var	5
	line	56
	colm	25
	synt	any
	invoke	1
	unmark
lab L4
	mark	L5
	pnull
	var	4
	pnull
	var	2
	line	58
	colm	15
	synt	any
	field	get_preamble
	line	58
	colm	28
	synt	any
	invoke	0
	line	58
	colm	9
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	line	59
	colm	7
	synt	every
	mark0
	pnull
	var	6
	pnull
	pnull
	var	2
	line	59
	colm	22
	synt	any
	field	get_parts
	line	59
	colm	32
	synt	any
	invoke	0
	line	59
	colm	18
	synt	any
	bang
	line	59
	colm	15
	synt	any
	asgn
	pop
	mark0
	pnull
	var	4
	dup
	pnull
	pnull
	pnull
	str	2
	var	3
	line	60
	colm	26
	synt	any
	cat
	str	3
	line	60
	colm	31
	synt	any
	cat
	pnull
	var	6
	line	60
	colm	45
	synt	any
	field	to_rfc822
	line	60
	colm	55
	synt	any
	invoke	0
	line	60
	colm	41
	synt	any
	cat
	line	60
	colm	12
	synt	any
	cat
	asgn
	unmark
lab L7
	efail
lab L8
	line	59
	colm	7
	synt	endevery
	unmark
lab L6
	mark	L9
	pnull
	var	4
	dup
	pnull
	pnull
	pnull
	str	2
	var	3
	line	62
	colm	23
	synt	any
	cat
	str	4
	line	62
	colm	28
	synt	any
	cat
	pnull
	var	2
	line	62
	colm	46
	synt	any
	field	get_epilogue
	line	62
	colm	59
	synt	any
	invoke	0
	line	62
	colm	40
	synt	any
	cat
	line	62
	colm	9
	synt	any
	cat
	asgn
	unmark
lab L9
	mark	L10
	mark	L11
	var	4
	line	64
	colm	7
	synt	any
	pret
lab L11
	synt	any
	pfail
	unmark
lab L10
	pnull
	line	65
	colm	1
	synt	any
	pfail
	end
proc mail__MultipartHandler_generate_boundary
	local	0,001000,self
	local	1,001000,l
	local	2,000020,b
	local	3,000040,id
	local	4,000000,find
	con	0,002000,1,1
	con	1,010000,8,142,157,165,156,144,141,162,171
	declend
	line	68
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	3
	int	0
	line	71
	colm	18
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
lab L5
	line	73
	colm	7
	synt	repeat
	mark	L5
	mark	L8
	pnull
	var	2
	pnull
	str	1
	var	3
	line	74
	colm	26
	synt	any
	cat
	line	74
	colm	12
	synt	any
	asgn
	unmark
lab L8
	line	75
	colm	10
	synt	ifelse
	mark	L9
	var	4
	var	2
	pnull
	pnull
	var	1
	line	75
	colm	24
	synt	any
	bang
	line	75
	colm	27
	synt	any
	field	get_content
	line	75
	colm	39
	synt	any
	invoke	0
	line	75
	colm	19
	synt	any
	invoke	2
	unmark
	pnull
	var	3
	dup
	int	0
	line	76
	colm	16
	synt	any
	plus
	asgn
	goto	L10
lab L9
	mark	L11
	var	2
	line	78
	colm	13
	synt	any
	pret
lab L11
	synt	any
	pfail
lab L10
	line	75
	colm	10
	synt	endifelse
lab L6
	unmark
	goto	L5
lab L7
	line	73
	colm	7
	synt	endrepeat
	unmark
lab L4
	pnull
	line	80
	colm	1
	synt	any
	pfail
	end
proc mail__MultipartHandler
	local	0,001000,reason
	local	1,000020,self
	local	2,000020,clone
	local	3,000000,mail__MultipartHandler__oprec
	local	4,000000,mail__MultipartHandlerinitialize
	local	5,000000,mail__TypeHandler__oprec
	local	6,000000,mail__TypeHandlerinitialize
	local	7,000000,util__Error__oprec
	local	8,000000,util__Errorinitialize
	local	9,000000,mail__MultipartHandler__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	3
	line	8
	colm	6
	synt	any
	null
	unmark
	var	4
	line	8
	colm	74
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L4
	mark	L5
	line	9
	colm	3
	synt	if
	mark0
	pnull
	var	5
	line	9
	colm	6
	synt	any
	null
	unmark
	var	6
	line	9
	colm	64
	synt	any
	invoke	0
	line	9
	colm	3
	synt	endif
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	3
	line	10
	colm	32
	synt	any
	field	mail__TypeHandler
	var	5
	line	10
	colm	51
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	line	11
	colm	3
	synt	if
	mark0
	pnull
	var	7
	line	11
	colm	6
	synt	any
	null
	unmark
	var	8
	line	11
	colm	52
	synt	any
	invoke	0
	line	11
	colm	3
	synt	endif
	unmark
lab L7
	pnull
	pnull
	var	3
	line	12
	colm	32
	synt	any
	field	util__Error
	var	7
	line	12
	colm	45
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	mark	L8
	pnull
	var	1
	var	9
	line	14
	colm	41
	synt	any
	keywd	null
	var	3
	var	0
	line	14
	colm	40
	synt	any
	invoke	3
	line	14
	colm	8
	synt	any
	asgn
	unmark
lab L8
	mark	L9
	pnull
	pnull
	var	1
	line	15
	colm	7
	synt	any
	field	__s
	var	1
	line	15
	colm	12
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	mark	L11
	var	1
	line	16
	colm	3
	synt	any
	pret
lab L11
	synt	any
	pfail
	unmark
lab L10
	pnull
	line	17
	colm	1
	synt	any
	pfail
	end
proc mail__MultipartHandlerinitialize
	local	0,000000,mail__MultipartHandler__oprec
	local	1,000000,mail__MultipartHandler__methods
	local	2,000000,mail__MultipartHandler_can_handle
	local	3,000000,mail__MultipartHandler_convert_to_object
	local	4,000000,mail__MultipartHandler_convert_from_object
	local	5,000000,mail__MultipartHandler_generate_boundary
	local	6,000000,util__Error_error
	local	7,000000,util__Error_get_reason
	declend
	line	19
	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
	line	20
	colm	75
	synt	any
	invoke	6
	line	20
	colm	41
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	21
	colm	1
	synt	any
	pfail
	end
