/*===========================================================================*/
/*   (Llib/unicode.scm)                                                      */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -srfi enable-gmp -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -rm -copt -w -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Llib/unicode.scm -indent -o objs/obj_u/Llib/unicode.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___UNICODE_TYPE_DEFINITIONS
#define BGL___UNICODE_TYPE_DEFINITIONS
#endif													// BGL___UNICODE_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2downcasez00zz__unicodez00(obj_t);
	static obj_t BGl__utf8zd2stringzf3z21zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2upcasez12z12zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL int BGl_ucs2zd2stringzd2lengthz00zz__unicodez00(obj_t);
	static obj_t BGl_z62asciizd2stringzf3z43zz__unicodez00(obj_t, obj_t);
	extern obj_t c_ucs2_string_copy(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_subucs2zd2stringzd2urz00zz__unicodez00(obj_t, int,
		int);
	static obj_t BGl_z62utf8zd2stringzd2appendza2zc0zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_isozd2latinzd2ze3utf8ze3zz__unicodez00(obj_t);
	static obj_t BGl_symbol3704z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2encodez00zz__unicodez00(obj_t,
		bool_t, long, long);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2appendz00zz__unicodez00(obj_t);
	static obj_t BGl_z62isozd2latinzd2ze3utf8z81zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(obj_t);
	static obj_t BGl__makezd2ucs2zd2stringz00zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2ze3utf8zd2stringz31zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2cizc3zd3zf3z81zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL long BGl_utf8zd2stringzd2lengthz00zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2cizc3zf3z52zz__unicodez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_8bitszd2invzd2latinzd215zd2zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t
		BGl_utf8zd2stringzd2leftzd2replacementzf3z21zz__unicodez00(obj_t, long,
		long);
	BGL_EXPORTED_DECL ucs2_t BGl_ucs2zd2stringzd2refzd2urzd2zz__unicodez00(obj_t,
		int);
	static obj_t BGl_makezd2tablezd2entryze70ze7zz__unicodez00(obj_t, long);
	static obj_t BGl_z62ucs2zd2stringze3zd3zf3z73zz__unicodez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_list3600z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3601z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3602z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3603z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3604z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3605z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3606z00zz__unicodez00 = BUNSPEC;
	static long BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(obj_t, long, obj_t);
	static long BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(obj_t, long);
	static obj_t BGl_list3607z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3608z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3609z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2appendz00zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2lengthz62zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2fillz12z12zz__unicodez00(obj_t,
		ucs2_t);
	extern obj_t ucs2_string_append(obj_t, obj_t);
	extern bool_t ucs2_string_cige(obj_t, obj_t);
	extern obj_t string_for_read(obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__unicodez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_z62ucs2zd2stringzd2cizd3zf3z42zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzc3zf3ze2zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2charzd2siza7ezc5zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2setz12z70zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_list3610z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3611z00zz__unicodez00 = BUNSPEC;
	extern obj_t ucs2_string_to_utf8_string(obj_t);
	extern bool_t ucs2_string_cigt(obj_t, obj_t);
	static obj_t BGl_list3612z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_utf8zd2collapsez12zc0zz__unicodez00(obj_t, long, obj_t,
		obj_t);
	static obj_t BGl_list3613z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62utf8zd2ze3isozd2latinz12z93zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_list3614z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3615z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3616z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62ucs2zd2stringzd2appendz62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_list3617z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3618z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3619z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62subucs2zd2stringzb0zz__unicodez00(obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2ze3ucs2zd2stringz31zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzc3zd3zf3z31zz__unicodez00(obj_t,
		obj_t);
	extern obj_t BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2cize3zf3z72zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd3zf3zf2zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2lengthz62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z628bitszd2ze3utf8z53zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze38bitsz53zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2refzd2urzb0zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_inversezd2utf8zd2tablez00zz__unicodez00(obj_t);
	static obj_t BGl_list3620z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3622z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t BGl_utf8zd2stringzf3z21zz__unicodez00(obj_t, bool_t);
	static obj_t BGl_toplevelzd2initzd2zz__unicodez00(void);
	static obj_t BGl_list3707z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_symbol3659z00zz__unicodez00 = BUNSPEC;
	extern obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long,
		long);
	BGL_EXPORTED_DECL obj_t BGl_cp1252zd2ze3utf8z12z23zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3cp1252z12z23zz__unicodez00(obj_t);
	static obj_t BGl_z62utf8zd2stringzd2appendz62zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2ze3isozd2latinzd215z12z23zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringze3zf3zc2zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3isozd2latinze3zz__unicodez00(obj_t);
	static obj_t BGl_symbol3741z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_symbol3662z00zz__unicodez00 = BUNSPEC;
	extern obj_t utf8_string_to_ucs2_string(obj_t);
	static obj_t BGl_z62utf8zd2ze3isozd2latinz81zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t,
		bool_t, long, long);
	static obj_t BGl_symbol3745z00zz__unicodez00 = BUNSPEC;
	extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	static obj_t BGl_symbol3747z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_addzd2tablezd2entryze70ze7zz__unicodez00(obj_t, obj_t, long);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2substringzd2zz__unicodez00(obj_t, int,
		int);
	extern bool_t ucs2_strcmp(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2copyz62zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2setzd2urz12zc0zz__unicodez00(obj_t, int, ucs2_t);
	BGL_EXPORTED_DECL bool_t
		BGl_ucs2zd2stringzd2cizc3zd3zf3ze3zz__unicodez00(obj_t, obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__unicodez00(void);
	static obj_t BGl_z62ucs2zd2stringzd2cize3zd3zf3za1zz__unicodez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_genericzd2initzd2zz__unicodez00(void);
	extern obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	extern long bgl_list_length(obj_t);
	static obj_t
		BGl_z62utf8zd2stringzd2leftzd2replacementzf3z43zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62inversezd2utf8zd2tablez62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zz__unicodez00(void);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t);
	extern ucs2_t ucs2_tolower(ucs2_t);
	static obj_t BGl_gczd2rootszd2initz00zz__unicodez00(void);
	static obj_t BGl_objectzd2initzd2zz__unicodez00(void);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzc3zf3z80zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl__utf8zd2stringzd2encodez00zz__unicodez00(obj_t, obj_t);
	extern bool_t ucs2_string_ge(obj_t, obj_t);
	extern obj_t c_subucs2_string(obj_t, int, int);
	extern bool_t ucs2_strcicmp(obj_t, obj_t);
	BGL_EXPORTED_DECL long
		BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexze3zz__unicodez00(obj_t, long);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringze3zd3zf3z11zz__unicodez00(obj_t,
		obj_t);
	extern bool_t ucs2_string_gt(obj_t, obj_t);
	static obj_t
		BGl_z62stringzd2indexzd2ze3utf8zd2stringzd2indexz81zz__unicodez00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2ze3utf8zd2stringz53zz__unicodez00(obj_t,
		obj_t);
	extern obj_t bgl_reverse_bang(obj_t);
	extern bool_t ucs2_string_cile(obj_t, obj_t);
	extern obj_t string_append_3(obj_t, obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd3zf3z90zz__unicodez00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2downcasez12z12zz__unicodez00(obj_t);
	static obj_t BGl__utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL long
		BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t, long, obj_t,
		obj_t);
	extern bool_t ucs2_string_cilt(obj_t, obj_t);
	static obj_t BGl_symbol3695z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3582z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3583z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3584z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3585z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3586z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3587z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3588z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl__utf8zd2substringzd2zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_list3589z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62cp1252zd2ze3utf8z12z41zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze3cp1252z12z41zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2upcasez12z70zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_cp1252zd2invzd2zz__unicodez00 = BUNSPEC;
	static obj_t
		BGl_z62utf8zd2stringzd2rightzd2replacementzf3z43zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2appendza2za2zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL long BGl_utf8zd2charzd2siza7eza7zz__unicodez00(unsigned
		char);
	BGL_EXPORTED_DECL obj_t BGl_isozd2latinzd2ze3utf8z12zf1zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringze3zf3za0zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2substringzd2urz62zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl__utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62stringzd2minimalzd2charsetz62zz__unicodez00(obj_t, obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_tablezd2ze38bitsze70zd6zz__unicodez00(obj_t, obj_t, obj_t,
		int, obj_t, obj_t, long, long);
	BGL_EXPORTED_DECL obj_t BGl_subucs2zd2stringzd2zz__unicodez00(obj_t, int,
		int);
	BGL_EXPORTED_DECL obj_t BGl_makezd2ucs2zd2stringz00zz__unicodez00(int,
		ucs2_t);
	static obj_t BGl_list3590z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3591z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3592z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3593z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3594z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00(obj_t, obj_t,
		long, obj_t);
	static obj_t BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00(obj_t, obj_t, int,
		obj_t);
	static obj_t BGl_list3595z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3596z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3597z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t
		BGl_ucs2zd2stringzd2cize3zd3zf3zc3zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_list3598z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2ze3isozd2latinzd215z31zz__unicodez00(obj_t);
	static obj_t BGl_list3599z00zz__unicodez00 = BUNSPEC;
	extern ucs2_t ucs2_toupper(ucs2_t);
	static obj_t BGl_z62utf8zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2ze3ucs2zd2stringz53zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_vector3621z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_vector3706z00zz__unicodez00 = BUNSPEC;
	extern obj_t c_substring(obj_t, long, long);
	BGL_EXPORTED_DECL ucs2_t BGl_ucs2zd2stringzd2refz00zz__unicodez00(obj_t, int);
	static obj_t BGl_z62ucs2zd2stringzd2ze3listz81zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2refz62zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_errorzd2toozd2shortze70ze7zz__unicodez00(obj_t, int, obj_t);
	extern obj_t make_ucs2_string(int, ucs2_t);
	static obj_t BGl_methodzd2initzd2zz__unicodez00(void);
	static obj_t BGl_8bitszd2invzd2zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2upcasez00zz__unicodez00(obj_t);
	extern obj_t blit_string(obj_t, long, obj_t, long, long);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd2cizc3zf3z30zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2ze3isozd2latinzd215z53zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_8bitszd2ze3utf8z31zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze38bitsz31zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z628bitszd2ze3utf8z12z41zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze38bitsz12z41zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_loopze70ze7zz__unicodez00(long, bool_t, long, obj_t, obj_t,
		long, long);
	static obj_t BGl_loopze71ze7zz__unicodez00(long, long, obj_t, long);
	static obj_t BGl_z62ucs2zd2stringzd2downcasez12z70zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_loopze72ze7zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_loopze73ze7zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_asciizd2stringzf3z21zz__unicodez00(obj_t);
	extern bool_t ucs2_string_le(obj_t, obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd2cizd3zf3z20zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL long
		BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexze3zz__unicodez00(obj_t, long);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2setz12z12zz__unicodez00(obj_t,
		int, ucs2_t);
	static obj_t BGl_z62utf8zd2ze3isozd2latinzd215z12z41zz__unicodez00(obj_t,
		obj_t);
	static obj_t
		BGl_z62utf8zd2stringzd2indexzd2ze3stringzd2indexz81zz__unicodez00(obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2substringzd2urz00zz__unicodez00(obj_t, int,
		int);
	extern bool_t ucs2_string_lt(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3isozd2latinz12zf1zz__unicodez00(obj_t);
	static obj_t BGl_z62subucs2zd2stringzd2urz62zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzf3z43zz__unicodez00(obj_t, obj_t);
	extern obj_t make_string(long, unsigned char);
	static obj_t BGl_z62listzd2ze3ucs2zd2stringz81zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62cp1252zd2ze3utf8z53zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze3cp1252z53zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2upcasez62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2setzd2urz12za2zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2refz00zz__unicodez00(obj_t, long);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd2cize3zf3z10zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2refz62zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_cp1252z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_8bitszd2ze3utf8z12z23zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze38bitsz12z23zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzc3zd3zf3z53zz__unicodez00(obj_t, obj_t,
		obj_t);
	extern obj_t string_append(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2downcasez62zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2ze3listze3zz__unicodez00(obj_t);
	extern obj_t make_string_sans_fill(long);
	static obj_t BGl_z62ucs2zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t
		BGl_utf8zd2stringzd2rightzd2replacementzf3z21zz__unicodez00(obj_t, long,
		long);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2substringzd2zz__unicodez00(obj_t, long,
		long);
	static obj_t BGl_z62ucs2zd2stringzd2fillz12z70zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzf3z21zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_stringzd2minimalzd2charsetz00zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzb0zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62isozd2latinzd2ze3utf8z12z93zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2copyz00zz__unicodez00(obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_cp1252zd2ze3utf8z31zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3cp1252z31zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2substringzb0zz__unicodez00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_listzd2ze3ucs2zd2stringzd2envz31zz__unicodez00,
		BgL_bgl_za762listza7d2za7e3ucs3751za7,
		BGl_z62listzd2ze3ucs2zd2stringz81zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2substringzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2substr3752z00,
		BGl_z62ucs2zd2substringzb0zz__unicodez00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string3730z00zz__unicodez00,
		BgL_bgl_string3730za700za7za7_3753za7, "&utf8->iso-latin!", 17);
	      DEFINE_STRING(BGl_string3731z00zz__unicodez00,
		BgL_bgl_string3731za700za7za7_3754za7, "&utf8->iso-latin-15", 19);
	      DEFINE_STRING(BGl_string3650z00zz__unicodez00,
		BgL_bgl_string3650za700za7za7_3755za7, "Ÿ", 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2setzd2urz12zd2envz12zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3756z00,
		BGl_z62ucs2zd2stringzd2setzd2urz12za2zz__unicodez00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string3732z00zz__unicodez00,
		BgL_bgl_string3732za700za7za7_3757za7, "&utf8->iso-latin-15!", 20);
	      DEFINE_STRING(BGl_string3651z00zz__unicodez00,
		BgL_bgl_string3651za700za7za7_3758za7,
		"/tmp/bigloo/runtime/Llib/unicode.scm", 36);
	      DEFINE_STRING(BGl_string3733z00zz__unicodez00,
		BgL_bgl_string3733za700za7za7_3759za7, "&utf8->cp1252", 13);
	      DEFINE_STRING(BGl_string3652z00zz__unicodez00,
		BgL_bgl_string3652za700za7za7_3760za7, "_make-ucs2-string", 17);
	      DEFINE_STRING(BGl_string3734z00zz__unicodez00,
		BgL_bgl_string3734za700za7za7_3761za7, "&utf8->cp1252!", 14);
	      DEFINE_STRING(BGl_string3653z00zz__unicodez00,
		BgL_bgl_string3653za700za7za7_3762za7, "bint", 4);
	      DEFINE_STRING(BGl_string3735z00zz__unicodez00,
		BgL_bgl_string3735za700za7za7_3763za7, "&8bits->utf8", 12);
	      DEFINE_STRING(BGl_string3654z00zz__unicodez00,
		BgL_bgl_string3654za700za7za7_3764za7, "bucs2", 5);
	      DEFINE_STRING(BGl_string3736z00zz__unicodez00,
		BgL_bgl_string3736za700za7za7_3765za7, "&8bits->utf8!", 13);
	      DEFINE_STRING(BGl_string3655z00zz__unicodez00,
		BgL_bgl_string3655za700za7za7_3766za7, "&ucs2-string-length", 19);
	      DEFINE_STRING(BGl_string3737z00zz__unicodez00,
		BgL_bgl_string3737za700za7za7_3767za7, "&iso-latin->utf8", 16);
	      DEFINE_STRING(BGl_string3656z00zz__unicodez00,
		BgL_bgl_string3656za700za7za7_3768za7, "ucs2string", 10);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2stringzd2refzd2envzd2zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3769z00,
		BGl_z62utf8zd2stringzd2refz62zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string3738z00zz__unicodez00,
		BgL_bgl_string3738za700za7za7_3770za7, "&iso-latin->utf8!", 17);
	      DEFINE_STRING(BGl_string3657z00zz__unicodez00,
		BgL_bgl_string3657za700za7za7_3771za7, "index out of range [0..", 23);
	      DEFINE_STRING(BGl_string3739z00zz__unicodez00,
		BgL_bgl_string3739za700za7za7_3772za7, "&cp1252->utf8", 13);
	      DEFINE_STRING(BGl_string3658z00zz__unicodez00,
		BgL_bgl_string3658za700za7za7_3773za7, "]", 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_8bitszd2ze3utf8z12zd2envzf1zz__unicodez00,
		BgL_bgl_za7628bitsza7d2za7e3ut3774za7,
		BGl_z628bitszd2ze3utf8z12z41zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze38bitsz12zd2envzf1zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e38bi3775za7,
		BGl_z62utf8zd2ze38bitsz12z41zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string3740z00zz__unicodez00,
		BgL_bgl_string3740za700za7za7_3776za7, "&cp1252->utf8!", 14);
	      DEFINE_STRING(BGl_string3660z00zz__unicodez00,
		BgL_bgl_string3660za700za7za7_3777za7, "ucs2-string-ref", 15);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2appendzd2envzd2zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3778z00,
		BGl_z62utf8zd2stringzd2appendz62zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string3742z00zz__unicodez00,
		BgL_bgl_string3742za700za7za7_3779za7, "latin1", 6);
	      DEFINE_STRING(BGl_string3661z00zz__unicodez00,
		BgL_bgl_string3661za700za7za7_3780za7, "&ucs2-string-ref", 16);
	      DEFINE_STRING(BGl_string3743z00zz__unicodez00,
		BgL_bgl_string3743za700za7za7_3781za7, "&string-minimal-charset", 23);
	      DEFINE_STRING(BGl_string3744z00zz__unicodez00,
		BgL_bgl_string3744za700za7za7_3782za7, "&utf8-string-minimal-charset", 28);
	      DEFINE_STRING(BGl_string3663z00zz__unicodez00,
		BgL_bgl_string3663za700za7za7_3783za7, "ucs2-string-set!", 16);
	      DEFINE_STRING(BGl_string3664z00zz__unicodez00,
		BgL_bgl_string3664za700za7za7_3784za7, "&ucs2-string-set!", 17);
	      DEFINE_STRING(BGl_string3746z00zz__unicodez00,
		BgL_bgl_string3746za700za7za7_3785za7, "ucs2", 4);
	      DEFINE_STRING(BGl_string3665z00zz__unicodez00,
		BgL_bgl_string3665za700za7za7_3786za7, "&ucs2-string-ref-ur", 19);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2substringzd2envz00zz__unicodez00,
		BgL_bgl__utf8za7d2substrin3787za7, opt_generic_entry,
		BGl__utf8zd2substringzd2zz__unicodez00, BFALSE, -1);
	      DEFINE_STRING(BGl_string3666z00zz__unicodez00,
		BgL_bgl_string3666za700za7za7_3788za7, "&ucs2-string-set-ur!", 20);
	      DEFINE_STRING(BGl_string3748z00zz__unicodez00,
		BgL_bgl_string3748za700za7za7_3789za7, "utf16", 5);
	      DEFINE_STRING(BGl_string3667z00zz__unicodez00,
		BgL_bgl_string3667za700za7za7_3790za7, "&ucs2-string=?", 14);
	      DEFINE_STRING(BGl_string3749z00zz__unicodez00,
		BgL_bgl_string3749za700za7za7_3791za7, "&ucs2-string-minimal-charset", 28);
	      DEFINE_STRING(BGl_string3668z00zz__unicodez00,
		BgL_bgl_string3668za700za7za7_3792za7, "&ucs2-string-ci=?", 17);
	      DEFINE_STRING(BGl_string3669z00zz__unicodez00,
		BgL_bgl_string3669za700za7za7_3793za7, "&ucs2-string<?", 14);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzc3zf3zd2envz30zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3794z00,
		BGl_z62ucs2zd2stringzc3zf3z80zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd2copyzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3795z00,
		BGl_z62ucs2zd2stringzd2copyz62zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string3750z00zz__unicodez00,
		BgL_bgl_string3750za700za7za7_3796za7, "__unicode", 9);
	      DEFINE_STRING(BGl_string3670z00zz__unicodez00,
		BgL_bgl_string3670za700za7za7_3797za7, "&ucs2-string>?", 14);
	      DEFINE_STRING(BGl_string3671z00zz__unicodez00,
		BgL_bgl_string3671za700za7za7_3798za7, "&ucs2-string<=?", 15);
	      DEFINE_STRING(BGl_string3672z00zz__unicodez00,
		BgL_bgl_string3672za700za7za7_3799za7, "&ucs2-string>=?", 15);
	      DEFINE_STRING(BGl_string3673z00zz__unicodez00,
		BgL_bgl_string3673za700za7za7_3800za7, "&ucs2-string-ci<?", 17);
	      DEFINE_STRING(BGl_string3674z00zz__unicodez00,
		BgL_bgl_string3674za700za7za7_3801za7, "&ucs2-string-ci>?", 17);
	      DEFINE_STRING(BGl_string3675z00zz__unicodez00,
		BgL_bgl_string3675za700za7za7_3802za7, "&ucs2-string-ci<=?", 18);
	      DEFINE_STRING(BGl_string3676z00zz__unicodez00,
		BgL_bgl_string3676za700za7za7_3803za7, "&ucs2-string-ci>=?", 18);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexzd2envz31zz__unicodez00,
		BgL_bgl_za762stringza7d2inde3804z00,
		BGl_z62stringzd2indexzd2ze3utf8zd2stringzd2indexz81zz__unicodez00, 0L,
		BUNSPEC, 2);
	      DEFINE_STRING(BGl_string3677z00zz__unicodez00,
		BgL_bgl_string3677za700za7za7_3805za7, "subucs2-string", 14);
	      DEFINE_STRING(BGl_string3678z00zz__unicodez00,
		BgL_bgl_string3678za700za7za7_3806za7, "Illegal index", 13);
	      DEFINE_STRING(BGl_string3679z00zz__unicodez00,
		BgL_bgl_string3679za700za7za7_3807za7, "&subucs2-string", 15);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringze3zd3zf3zd2envzc3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3808z00,
		BGl_z62ucs2zd2stringze3zd3zf3z73zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2downcasez12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3809z00,
		BGl_z62ucs2zd2stringzd2downcasez12z70zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_cp1252zd2ze3utf8z12zd2envzf1zz__unicodez00,
		BgL_bgl_za762cp1252za7d2za7e3u3810za7,
		BGl_z62cp1252zd2ze3utf8z12z41zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze3cp1252z12zd2envzf1zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3cp13811za7,
		BGl_z62utf8zd2ze3cp1252z12z41zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string3680z00zz__unicodez00,
		BgL_bgl_string3680za700za7za7_3812za7, "&subucs2-string-ur", 18);
	      DEFINE_STRING(BGl_string3681z00zz__unicodez00,
		BgL_bgl_string3681za700za7za7_3813za7, "&ucs2-substring", 15);
	      DEFINE_STRING(BGl_string3682z00zz__unicodez00,
		BgL_bgl_string3682za700za7za7_3814za7, "&ucs2-substring-ur", 18);
	      DEFINE_STRING(BGl_string3683z00zz__unicodez00,
		BgL_bgl_string3683za700za7za7_3815za7, "&ucs2-string->list", 18);
	      DEFINE_STRING(BGl_string3684z00zz__unicodez00,
		BgL_bgl_string3684za700za7za7_3816za7, "&ucs2-string-copy", 17);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cizd3zf3zd2envzf2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3817z00,
		BGl_z62ucs2zd2stringzd2cizd3zf3z42zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string3685z00zz__unicodez00,
		BgL_bgl_string3685za700za7za7_3818za7, "&ucs2-string-fill!", 18);
	      DEFINE_STRING(BGl_string3686z00zz__unicodez00,
		BgL_bgl_string3686za700za7za7_3819za7, "&ucs2-string-upcase", 19);
	      DEFINE_STRING(BGl_string3687z00zz__unicodez00,
		BgL_bgl_string3687za700za7za7_3820za7, "&ucs2-string-downcase", 21);
	      DEFINE_STRING(BGl_string3688z00zz__unicodez00,
		BgL_bgl_string3688za700za7za7_3821za7, "&ucs2-string-upcase!", 20);
	      DEFINE_STRING(BGl_string3689z00zz__unicodez00,
		BgL_bgl_string3689za700za7za7_3822za7, "&ucs2-string-downcase!", 22);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_isozd2latinzd2ze3utf8z12zd2envz23zz__unicodez00,
		BgL_bgl_za762isoza7d2latinza7d3823za7,
		BGl_z62isozd2latinzd2ze3utf8z12z93zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2normaliza7ezd2utf16zd2envz75zz__unicodez00,
		BgL_bgl__utf8za7d2normaliza73824z00, opt_generic_entry,
		BGl__utf8zd2normaliza7ezd2utf16za7zz__unicodez00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_subucs2zd2stringzd2envz00zz__unicodez00,
		BgL_bgl_za762subucs2za7d2str3825z00,
		BGl_z62subucs2zd2stringzb0zz__unicodez00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string3690z00zz__unicodez00,
		BgL_bgl_string3690za700za7za7_3826za7, "&ucs2-string->utf8-string", 25);
	      DEFINE_STRING(BGl_string3691z00zz__unicodez00,
		BgL_bgl_string3691za700za7za7_3827za7, "&inverse-utf8-table", 19);
	      DEFINE_STRING(BGl_string3692z00zz__unicodez00,
		BgL_bgl_string3692za700za7za7_3828za7, "vector", 6);
	      DEFINE_STRING(BGl_string3693z00zz__unicodez00,
		BgL_bgl_string3693za700za7za7_3829za7, "&utf8-string->ucs2-string", 25);
	      DEFINE_STRING(BGl_string3694z00zz__unicodez00,
		BgL_bgl_string3694za700za7za7_3830za7, "bstring", 7);
	      DEFINE_STRING(BGl_string3696z00zz__unicodez00,
		BgL_bgl_string3696za700za7za7_3831za7, "ascii", 5);
	      DEFINE_STRING(BGl_string3697z00zz__unicodez00,
		BgL_bgl_string3697za700za7za7_3832za7, "&ascii-string?", 14);
	      DEFINE_STRING(BGl_string3698z00zz__unicodez00,
		BgL_bgl_string3698za700za7za7_3833za7, "_utf8-string?", 13);
	      DEFINE_STRING(BGl_string3699z00zz__unicodez00,
		BgL_bgl_string3699za700za7za7_3834za7, "_utf8-string-encode", 19);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd2refzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3835z00,
		BGl_z62ucs2zd2stringzd2refz62zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2minimalzd2charsetzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3836z00,
		BGl_z62ucs2zd2stringzd2minimalzd2charsetzb0zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2rightzd2replacementzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3837z00,
		BGl_z62utf8zd2stringzd2rightzd2replacementzf3z43zz__unicodez00, 0L, BUNSPEC,
		3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_stringzd2minimalzd2charsetzd2envzd2zz__unicodez00,
		BgL_bgl_za762stringza7d2mini3838z00,
		BGl_z62stringzd2minimalzd2charsetz62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2upcasezd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3839z00,
		BGl_z62ucs2zd2stringzd2upcasez62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzc3zd3zf3zd2envze3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3840z00,
		BGl_z62ucs2zd2stringzc3zd3zf3z53zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd3zf3zd2envz20zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3841z00,
		BGl_z62ucs2zd2stringzd3zf3z90zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2downcasezd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3842z00,
		BGl_z62ucs2zd2stringzd2downcasez62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_inversezd2utf8zd2tablezd2envzd2zz__unicodez00,
		BgL_bgl_za762inverseza7d2utf3843z00,
		BGl_z62inversezd2utf8zd2tablez62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexzd2envz31zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3844z00,
		BGl_z62utf8zd2stringzd2indexzd2ze3stringzd2indexz81zz__unicodez00, 0L,
		BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2setz12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3845z00,
		BGl_z62ucs2zd2stringzd2setz12z70zz__unicodez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2substringzd2urzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2substr3846z00,
		BGl_z62ucs2zd2substringzd2urz62zz__unicodez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_isozd2latinzd2ze3utf8zd2envz31zz__unicodez00,
		BgL_bgl_za762isoza7d2latinza7d3847za7,
		BGl_z62isozd2latinzd2ze3utf8z81zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinz12zd2envz23zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3848za7,
		BGl_z62utf8zd2ze3isozd2latinz12z93zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2encodezd2envzd2zz__unicodez00,
		BgL_bgl__utf8za7d2stringza7d3849z00, opt_generic_entry,
		BGl__utf8zd2stringzd2encodez00zz__unicodez00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2appendzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3850z00, va_generic_entry,
		BGl_z62ucs2zd2stringzd2appendz62zz__unicodez00, BUNSPEC, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_makezd2ucs2zd2stringzd2envzd2zz__unicodez00,
		BgL_bgl__makeza7d2ucs2za7d2s3851z00, opt_generic_entry,
		BGl__makezd2ucs2zd2stringz00zz__unicodez00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cize3zd3zf3zd2envz11zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3852z00,
		BGl_z62ucs2zd2stringzd2cize3zd3zf3za1zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2minimalzd2charsetzd2envz00zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3853z00,
		BGl_z62utf8zd2stringzd2minimalzd2charsetzb0zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cize3zf3zd2envzc2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3854z00,
		BGl_z62ucs2zd2stringzd2cize3zf3z72zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2lengthzd2envzd2zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3855z00,
		BGl_z62utf8zd2stringzd2lengthz62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2fillz12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3856z00,
		BGl_z62ucs2zd2stringzd2fillz12z70zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3857z00, va_generic_entry,
		BGl_z62ucs2zd2stringzb0zz__unicodez00, BUNSPEC, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_cp1252zd2ze3utf8zd2envze3zz__unicodez00,
		BgL_bgl_za762cp1252za7d2za7e3u3858za7,
		BGl_z62cp1252zd2ze3utf8z53zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze3cp1252zd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3cp13859za7,
		BGl_z62utf8zd2ze3cp1252z53zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_8bitszd2ze3utf8zd2envze3zz__unicodez00,
		BgL_bgl_za7628bitsza7d2za7e3ut3860za7,
		BGl_z628bitszd2ze3utf8z53zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze38bitszd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e38bi3861za7,
		BGl_z62utf8zd2ze38bitsz53zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2appendzd2fillz12zd2envz12zz__unicodez00,
		BgL_bgl__utf8za7d2stringza7d3862z00, opt_generic_entry,
		BGl__utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2stringzf3zd2envzf3zz__unicodez00,
		BgL_bgl__utf8za7d2stringza7f3863z00, opt_generic_entry,
		BGl__utf8zd2stringzf3z21zz__unicodez00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_asciizd2stringzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762asciiza7d2strin3864z00,
		BGl_z62asciizd2stringzf3z43zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinzd215z12zd2envzf1zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3865za7,
		BGl_z62utf8zd2ze3isozd2latinzd215z12z41zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringze3zf3zd2envz10zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3866z00,
		BGl_z62ucs2zd2stringze3zf3za0zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_subucs2zd2stringzd2urzd2envzd2zz__unicodez00,
		BgL_bgl_za762subucs2za7d2str3867z00,
		BGl_z62subucs2zd2stringzd2urz62zz__unicodez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinzd2envz31zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3868za7,
		BGl_z62utf8zd2ze3isozd2latinz81zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cizc3zd3zf3zd2envz31zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3869z00,
		BGl_z62ucs2zd2stringzd2cizc3zd3zf3z81zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinzd215zd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3870za7,
		BGl_z62utf8zd2ze3isozd2latinzd215z53zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2ze3utf8zd2stringzd2envze3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3871z00,
		BGl_z62ucs2zd2stringzd2ze3utf8zd2stringz53zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2leftzd2replacementzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3872z00,
		BGl_z62utf8zd2stringzd2leftzd2replacementzf3z43zz__unicodez00, 0L, BUNSPEC,
		3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2refzd2urzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3873z00,
		BGl_z62ucs2zd2stringzd2refzd2urzb0zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2ze3listzd2envz31zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3874z00,
		BGl_z62ucs2zd2stringzd2ze3listz81zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string3700z00zz__unicodez00,
		BgL_bgl_string3700za700za7za7_3875za7, "utf8-string-encode", 18);
	      DEFINE_STRING(BGl_string3701z00zz__unicodez00,
		BgL_bgl_string3701za700za7za7_3876za7, "Illegal indexes", 15);
	      DEFINE_STRING(BGl_string3702z00zz__unicodez00,
		BgL_bgl_string3702za700za7za7_3877za7, "_utf8-normalize-utf16", 21);
	      DEFINE_STRING(BGl_string3703z00zz__unicodez00,
		BgL_bgl_string3703za700za7za7_3878za7, "utf8-normalize-utf16", 20);
	      DEFINE_STRING(BGl_string3623z00zz__unicodez00,
		BgL_bgl_string3623za700za7za7_3879za7, "€", 3);
	      DEFINE_STRING(BGl_string3705z00zz__unicodez00,
		BgL_bgl_string3705za700za7za7_3880za7, "utf8", 4);
	      DEFINE_STRING(BGl_string3624z00zz__unicodez00,
		BgL_bgl_string3624za700za7za7_3881za7, "", 0);
	      DEFINE_STRING(BGl_string3625z00zz__unicodez00,
		BgL_bgl_string3625za700za7za7_3882za7, "‚", 3);
	      DEFINE_STRING(BGl_string3626z00zz__unicodez00,
		BgL_bgl_string3626za700za7za7_3883za7, "ƒ", 2);
	      DEFINE_STRING(BGl_string3708z00zz__unicodez00,
		BgL_bgl_string3708za700za7za7_3884za7, "&utf8-char-size", 15);
	      DEFINE_STRING(BGl_string3627z00zz__unicodez00,
		BgL_bgl_string3627za700za7za7_3885za7, "„", 3);
	      DEFINE_STRING(BGl_string3709z00zz__unicodez00,
		BgL_bgl_string3709za700za7za7_3886za7, "bchar", 5);
	      DEFINE_STRING(BGl_string3628z00zz__unicodez00,
		BgL_bgl_string3628za700za7za7_3887za7, "…", 3);
	      DEFINE_STRING(BGl_string3629z00zz__unicodez00,
		BgL_bgl_string3629za700za7za7_3888za7, "†", 3);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3889z00,
		BGl_z62ucs2zd2stringzf3z43zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string3710z00zz__unicodez00,
		BgL_bgl_string3710za700za7za7_3890za7, "&utf8-string-length", 19);
	      DEFINE_STRING(BGl_string3711z00zz__unicodez00,
		BgL_bgl_string3711za700za7za7_3891za7, "&utf8-string-ref", 16);
	      DEFINE_STRING(BGl_string3630z00zz__unicodez00,
		BgL_bgl_string3630za700za7za7_3892za7, "‡", 3);
	      DEFINE_STRING(BGl_string3712z00zz__unicodez00,
		BgL_bgl_string3712za700za7za7_3893za7, "&utf8-string-index->string-index",
		32);
	      DEFINE_STRING(BGl_string3631z00zz__unicodez00,
		BgL_bgl_string3631za700za7za7_3894za7, "ˆ", 2);
	      DEFINE_STRING(BGl_string3713z00zz__unicodez00,
		BgL_bgl_string3713za700za7za7_3895za7, "&string-index->utf8-string-index",
		32);
	      DEFINE_STRING(BGl_string3632z00zz__unicodez00,
		BgL_bgl_string3632za700za7za7_3896za7, "‰", 3);
	      DEFINE_STRING(BGl_string3714z00zz__unicodez00,
		BgL_bgl_string3714za700za7za7_3897za7, "&utf8-string-left-replacement?",
		30);
	      DEFINE_STRING(BGl_string3633z00zz__unicodez00,
		BgL_bgl_string3633za700za7za7_3898za7, "Š", 2);
	      DEFINE_STRING(BGl_string3715z00zz__unicodez00,
		BgL_bgl_string3715za700za7za7_3899za7, "&utf8-string-right-replacement?",
		31);
	      DEFINE_STRING(BGl_string3634z00zz__unicodez00,
		BgL_bgl_string3634za700za7za7_3900za7, "‹", 3);
	      DEFINE_STRING(BGl_string3716z00zz__unicodez00,
		BgL_bgl_string3716za700za7za7_3901za7, "_utf8-string-append-fill!", 25);
	      DEFINE_STRING(BGl_string3635z00zz__unicodez00,
		BgL_bgl_string3635za700za7za7_3902za7, "Œ", 2);
	      DEFINE_STRING(BGl_string3717z00zz__unicodez00,
		BgL_bgl_string3717za700za7za7_3903za7, "&utf8-string-append", 19);
	      DEFINE_STRING(BGl_string3636z00zz__unicodez00,
		BgL_bgl_string3636za700za7za7_3904za7, "Ž", 2);
	      DEFINE_STRING(BGl_string3718z00zz__unicodez00,
		BgL_bgl_string3718za700za7za7_3905za7, "_utf8-substring", 15);
	      DEFINE_STRING(BGl_string3637z00zz__unicodez00,
		BgL_bgl_string3637za700za7za7_3906za7, "‘", 3);
	      DEFINE_STRING(BGl_string3719z00zz__unicodez00,
		BgL_bgl_string3719za700za7za7_3907za7, "utf8-substring", 14);
	      DEFINE_STRING(BGl_string3638z00zz__unicodez00,
		BgL_bgl_string3638za700za7za7_3908za7, "’", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cizc3zf3zd2envze2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3909z00,
		BGl_z62ucs2zd2stringzd2cizc3zf3z52zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string3639z00zz__unicodez00,
		BgL_bgl_string3639za700za7za7_3910za7, "“", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2ze3ucs2zd2stringzd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3911z00,
		BGl_z62utf8zd2stringzd2ze3ucs2zd2stringz53zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string3720z00zz__unicodez00,
		BgL_bgl_string3720za700za7za7_3912za7, "Illegal start index \"", 21);
	      DEFINE_STRING(BGl_string3721z00zz__unicodez00,
		BgL_bgl_string3721za700za7za7_3913za7, "\"", 1);
	      DEFINE_STRING(BGl_string3640z00zz__unicodez00,
		BgL_bgl_string3640za700za7za7_3914za7, "”", 3);
	      DEFINE_STRING(BGl_string3722z00zz__unicodez00,
		BgL_bgl_string3722za700za7za7_3915za7, "Illegal end index \"", 19);
	      DEFINE_STRING(BGl_string3641z00zz__unicodez00,
		BgL_bgl_string3641za700za7za7_3916za7, "•", 3);
	      DEFINE_STRING(BGl_string3723z00zz__unicodez00,
		BgL_bgl_string3723za700za7za7_3917za7,
		"Illegal character \"~x\" at index ~a", 34);
	      DEFINE_STRING(BGl_string3642z00zz__unicodez00,
		BgL_bgl_string3642za700za7za7_3918za7, "–", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2upcasez12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3919z00,
		BGl_z62ucs2zd2stringzd2upcasez12z70zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2lengthzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3920z00,
		BGl_z62ucs2zd2stringzd2lengthz62zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string3724z00zz__unicodez00,
		BgL_bgl_string3724za700za7za7_3921za7, "utf8->8bits", 11);
	      DEFINE_STRING(BGl_string3643z00zz__unicodez00,
		BgL_bgl_string3643za700za7za7_3922za7, "—", 3);
	      DEFINE_STRING(BGl_string3725z00zz__unicodez00,
		BgL_bgl_string3725za700za7za7_3923za7, "String too short", 16);
	      DEFINE_STRING(BGl_string3644z00zz__unicodez00,
		BgL_bgl_string3644za700za7za7_3924za7, "˜", 2);
	      DEFINE_STRING(BGl_string3726z00zz__unicodez00,
		BgL_bgl_string3726za700za7za7_3925za7, "Cannot encode at index ", 23);
	      DEFINE_STRING(BGl_string3645z00zz__unicodez00,
		BgL_bgl_string3645za700za7za7_3926za7, "™", 3);
	      DEFINE_STRING(BGl_string3727z00zz__unicodez00,
		BgL_bgl_string3727za700za7za7_3927za7, "&utf8->8bits", 12);
	      DEFINE_STRING(BGl_string3646z00zz__unicodez00,
		BgL_bgl_string3646za700za7za7_3928za7, "š", 2);
	      DEFINE_STRING(BGl_string3728z00zz__unicodez00,
		BgL_bgl_string3728za700za7za7_3929za7, "&utf8->8bits!", 13);
	      DEFINE_STRING(BGl_string3647z00zz__unicodez00,
		BgL_bgl_string3647za700za7za7_3930za7, "›", 3);
	      DEFINE_STRING(BGl_string3729z00zz__unicodez00,
		BgL_bgl_string3729za700za7za7_3931za7, "&utf8->iso-latin", 16);
	      DEFINE_STRING(BGl_string3648z00zz__unicodez00,
		BgL_bgl_string3648za700za7za7_3932za7, "œ", 2);
	      DEFINE_STRING(BGl_string3649z00zz__unicodez00,
		BgL_bgl_string3649za700za7za7_3933za7, "ž", 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2appendza2zd2envz70zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3934z00, va_generic_entry,
		BGl_z62utf8zd2stringzd2appendza2zc0zz__unicodez00, BUNSPEC, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2charzd2siza7ezd2envz75zz__unicodez00,
		BgL_bgl_za762utf8za7d2charza7d3935za7,
		BGl_z62utf8zd2charzd2siza7ezc5zz__unicodez00, 0L, BUNSPEC, 1);

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;
		     ADD_ROOT((void *) (&BGl_symbol3704z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_8bitszd2invzd2latinzd215zd2zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3600z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3601z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3602z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3603z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3604z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3605z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3606z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3607z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3608z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3609z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3610z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3611z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3612z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3613z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3614z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3615z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3616z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3617z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3618z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3619z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3620z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3622z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3707z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_symbol3659z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_symbol3741z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_symbol3662z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_symbol3745z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_symbol3747z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_symbol3695z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3582z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3583z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3584z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3585z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3586z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3587z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3588z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3589z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_cp1252zd2invzd2zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3590z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3591z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3592z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3593z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3594z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3595z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3596z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3597z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3598z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_list3599z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_vector3621z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_vector3706z00zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_8bitszd2invzd2zz__unicodez00));
		     ADD_ROOT((void *) (&BGl_cp1252z00zz__unicodez00));
#undef ADD_ROOT
		if   (roots_max > 0)
			     GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		     return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__unicodez00(long
		BgL_checksumz00_7257, char *BgL_fromz00_7258)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__unicodez00))
				{
					BGl_requirezd2initializa7ationz75zz__unicodez00 = BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zz__unicodez00();
					BGl_cnstzd2initzd2zz__unicodez00();
					BGl_importedzd2moduleszd2initz00zz__unicodez00();
					return BGl_toplevelzd2initzd2zz__unicodez00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			BGl_list3585z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(144L), BCHAR(((unsigned char) '-')));
			BGl_list3586z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(145L), BCHAR(((unsigned char) '-')));
			BGl_list3587z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(146L), BCHAR(((unsigned char) '-')));
			BGl_list3588z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(147L), BCHAR(((unsigned char) '-')));
			BGl_list3589z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(148L), BCHAR(((unsigned char) '-')));
			BGl_list3590z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(149L), BCHAR(((unsigned char) '-')));
			BGl_list3591z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(152L), BCHAR(((unsigned char) '`')));
			BGl_list3592z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(153L), BCHAR(((unsigned char) '\'')));
			BGl_list3593z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(154L), BCHAR(((unsigned char) ',')));
			BGl_list3594z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(155L), BCHAR(((unsigned char) '`')));
			BGl_list3595z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(164L), BCHAR(((unsigned char) '.')));
			BGl_list3596z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(167L), BCHAR(((unsigned char) '.')));
			BGl_list3597z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(178L), BCHAR(((unsigned char) '\'')));
			BGl_list3598z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(179L), BCHAR(((unsigned char) '"')));
			BGl_list3599z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(181L), BCHAR(((unsigned char) '`')));
			BGl_list3600z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(187L), BCHAR(((unsigned char) '"')));
			BGl_list3601z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(184L), BCHAR(((unsigned char) '^')));
			BGl_list3602z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(185L), BCHAR(((unsigned char) '<')));
			BGl_list3603z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(186L), BCHAR(((unsigned char) '>')));
			BGl_list3584z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(128L),
				MAKE_YOUNG_PAIR(BGl_list3585z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3586z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3587z00zz__unicodez00,
							MAKE_YOUNG_PAIR(BGl_list3588z00zz__unicodez00,
								MAKE_YOUNG_PAIR(BGl_list3589z00zz__unicodez00,
									MAKE_YOUNG_PAIR(BGl_list3590z00zz__unicodez00,
										MAKE_YOUNG_PAIR(BGl_list3591z00zz__unicodez00,
											MAKE_YOUNG_PAIR(BGl_list3592z00zz__unicodez00,
												MAKE_YOUNG_PAIR(BGl_list3593z00zz__unicodez00,
													MAKE_YOUNG_PAIR(BGl_list3594z00zz__unicodez00,
														MAKE_YOUNG_PAIR(BGl_list3595z00zz__unicodez00,
															MAKE_YOUNG_PAIR(BGl_list3596z00zz__unicodez00,
																MAKE_YOUNG_PAIR(BGl_list3597z00zz__unicodez00,
																	MAKE_YOUNG_PAIR(BGl_list3598z00zz__unicodez00,
																		MAKE_YOUNG_PAIR
																		(BGl_list3599z00zz__unicodez00,
																			MAKE_YOUNG_PAIR
																			(BGl_list3600z00zz__unicodez00,
																				MAKE_YOUNG_PAIR
																				(BGl_list3601z00zz__unicodez00,
																					MAKE_YOUNG_PAIR
																					(BGl_list3602z00zz__unicodez00,
																						MAKE_YOUNG_PAIR
																						(BGl_list3603z00zz__unicodez00,
																							BNIL))))))))))))))))))));
			BGl_list3605z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(131L), BCHAR(((unsigned char) '*')));
			BGl_list3604z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(129L),
				MAKE_YOUNG_PAIR(BGl_list3605z00zz__unicodez00, BNIL));
			BGl_list3607z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(141L), BCHAR(((unsigned char) '(')));
			BGl_list3608z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(142L), BCHAR(((unsigned char) ')')));
			BGl_list3606z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(130L),
				MAKE_YOUNG_PAIR(BGl_list3607z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3608z00zz__unicodez00, BNIL)));
			BGl_list3583z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(226L),
				MAKE_YOUNG_PAIR(BGl_list3584z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3604z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3606z00zz__unicodez00, BNIL))));
			BGl_list3582z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BGl_list3583z00zz__unicodez00, BNIL);
			BGl_list3612z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(172L), BCHAR(((unsigned char) 164)));
			BGl_list3611z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(130L),
				MAKE_YOUNG_PAIR(BGl_list3607z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3608z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3612z00zz__unicodez00, BNIL))));
			BGl_list3610z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(226L),
				MAKE_YOUNG_PAIR(BGl_list3584z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3604z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3611z00zz__unicodez00, BNIL))));
			BGl_list3614z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(147L), BCHAR(((unsigned char) 189)));
			BGl_list3615z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(146L), BCHAR(((unsigned char) 188)));
			BGl_list3616z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(184L), BCHAR(((unsigned char) 190)));
			BGl_list3617z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(161L), BCHAR(((unsigned char) 168)));
			BGl_list3618z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(160L), BCHAR(((unsigned char) 166)));
			BGl_list3619z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(190L), BCHAR(((unsigned char) 184)));
			BGl_list3620z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(189L), BCHAR(((unsigned char) 180)));
			BGl_list3613z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(197L),
				MAKE_YOUNG_PAIR(BGl_list3614z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3615z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3616z00zz__unicodez00,
							MAKE_YOUNG_PAIR(BGl_list3617z00zz__unicodez00,
								MAKE_YOUNG_PAIR(BGl_list3618z00zz__unicodez00,
									MAKE_YOUNG_PAIR(BGl_list3619z00zz__unicodez00,
										MAKE_YOUNG_PAIR(BGl_list3620z00zz__unicodez00, BNIL))))))));
			BGl_list3609z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BGl_list3610z00zz__unicodez00,
				MAKE_YOUNG_PAIR(BGl_list3613z00zz__unicodez00, BNIL));
			BGl_list3622z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BGl_string3623z00zz__unicodez00,
				MAKE_YOUNG_PAIR(BGl_string3624z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_string3625z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_string3626z00zz__unicodez00,
							MAKE_YOUNG_PAIR(BGl_string3627z00zz__unicodez00,
								MAKE_YOUNG_PAIR(BGl_string3628z00zz__unicodez00,
									MAKE_YOUNG_PAIR(BGl_string3629z00zz__unicodez00,
										MAKE_YOUNG_PAIR(BGl_string3630z00zz__unicodez00,
											MAKE_YOUNG_PAIR(BGl_string3631z00zz__unicodez00,
												MAKE_YOUNG_PAIR(BGl_string3632z00zz__unicodez00,
													MAKE_YOUNG_PAIR(BGl_string3633z00zz__unicodez00,
														MAKE_YOUNG_PAIR(BGl_string3634z00zz__unicodez00,
															MAKE_YOUNG_PAIR(BGl_string3635z00zz__unicodez00,
																MAKE_YOUNG_PAIR(BGl_string3624z00zz__unicodez00,
																	MAKE_YOUNG_PAIR
																	(BGl_string3636z00zz__unicodez00,
																		MAKE_YOUNG_PAIR
																		(BGl_string3624z00zz__unicodez00,
																			MAKE_YOUNG_PAIR
																			(BGl_string3624z00zz__unicodez00,
																				MAKE_YOUNG_PAIR
																				(BGl_string3637z00zz__unicodez00,
																					MAKE_YOUNG_PAIR
																					(BGl_string3638z00zz__unicodez00,
																						MAKE_YOUNG_PAIR
																						(BGl_string3639z00zz__unicodez00,
																							MAKE_YOUNG_PAIR
																							(BGl_string3640z00zz__unicodez00,
																								MAKE_YOUNG_PAIR
																								(BGl_string3641z00zz__unicodez00,
																									MAKE_YOUNG_PAIR
																									(BGl_string3642z00zz__unicodez00,
																										MAKE_YOUNG_PAIR
																										(BGl_string3643z00zz__unicodez00,
																											MAKE_YOUNG_PAIR
																											(BGl_string3644z00zz__unicodez00,
																												MAKE_YOUNG_PAIR
																												(BGl_string3645z00zz__unicodez00,
																													MAKE_YOUNG_PAIR
																													(BGl_string3646z00zz__unicodez00,
																														MAKE_YOUNG_PAIR
																														(BGl_string3647z00zz__unicodez00,
																															MAKE_YOUNG_PAIR
																															(BGl_string3648z00zz__unicodez00,
																																MAKE_YOUNG_PAIR
																																(BGl_string3624z00zz__unicodez00,
																																	MAKE_YOUNG_PAIR
																																	(BGl_string3649z00zz__unicodez00,
																																		MAKE_YOUNG_PAIR
																																		(BGl_string3650z00zz__unicodez00,
																																			BNIL))))))))))))))))))))))))))))))));
			BGl_vector3621z00zz__unicodez00 =
				BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00
				(BGl_list3622z00zz__unicodez00);
			BGl_symbol3659z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3660z00zz__unicodez00);
			BGl_symbol3662z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3663z00zz__unicodez00);
			BGl_symbol3695z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3696z00zz__unicodez00);
			BGl_symbol3704z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3705z00zz__unicodez00);
			BGl_list3707z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
					MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
							MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
									MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
											MAKE_YOUNG_PAIR(BINT(2L), MAKE_YOUNG_PAIR(BINT(2L),
													MAKE_YOUNG_PAIR(BINT(2L), MAKE_YOUNG_PAIR(BINT(2L),
															MAKE_YOUNG_PAIR(BINT(2L),
																MAKE_YOUNG_PAIR(BINT(2L),
																	MAKE_YOUNG_PAIR(BINT(3L),
																		MAKE_YOUNG_PAIR(BINT(4L),
																			BNIL))))))))))))))));
			BGl_vector3706z00zz__unicodez00 =
				BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00
				(BGl_list3707z00zz__unicodez00);
			BGl_symbol3741z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3742z00zz__unicodez00);
			BGl_symbol3745z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3746z00zz__unicodez00);
			return (BGl_symbol3747z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3748z00zz__unicodez00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			BGl_8bitszd2invzd2zz__unicodez00 = BGl_list3582z00zz__unicodez00;
			BGl_8bitszd2invzd2latinzd215zd2zz__unicodez00 =
				BGl_list3609z00zz__unicodez00;
			BGl_cp1252z00zz__unicodez00 = BGl_vector3621z00zz__unicodez00;
			return (BGl_cp1252zd2invzd2zz__unicodez00 = BFALSE, BUNSPEC);
		}

	}



/* ucs2-string? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzf3z21zz__unicodez00(obj_t
		BgL_objz00_3)
	{
		{	/* Llib/unicode.scm 225 */
			return UCS2_STRINGP(BgL_objz00_3);
		}

	}



/* &ucs2-string? */
	obj_t BGl_z62ucs2zd2stringzf3z43zz__unicodez00(obj_t BgL_envz00_6852,
		obj_t BgL_objz00_6853)
	{
		{	/* Llib/unicode.scm 225 */
			return BBOOL(BGl_ucs2zd2stringzf3z21zz__unicodez00(BgL_objz00_6853));
		}

	}



/* _make-ucs2-string */
	obj_t BGl__makezd2ucs2zd2stringz00zz__unicodez00(obj_t BgL_env1124z00_7,
		obj_t BgL_opt1123z00_6)
	{
		{	/* Llib/unicode.scm 231 */
			{	/* Llib/unicode.scm 231 */
				obj_t BgL_g1125z00_7243;

				BgL_g1125z00_7243 = VECTOR_REF(BgL_opt1123z00_6, 0L);
				switch (VECTOR_LENGTH(BgL_opt1123z00_6))
					{
					case 1L:

						{	/* Llib/unicode.scm 232 */
							ucs2_t BgL_fillerz00_7244;

							{	/* Llib/unicode.scm 232 */
								int BgL_tmpz00_7489;

								BgL_tmpz00_7489 =
									(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
								BgL_fillerz00_7244 = BGL_INT_TO_UCS2(BgL_tmpz00_7489);
							}
							{	/* Llib/unicode.scm 231 */

								{	/* Llib/unicode.scm 231 */
									int BgL_kz00_7245;

									{	/* Llib/unicode.scm 231 */
										obj_t BgL_tmpz00_7495;

										if (INTEGERP(BgL_g1125z00_7243))
											{	/* Llib/unicode.scm 231 */
												BgL_tmpz00_7495 = BgL_g1125z00_7243;
											}
										else
											{
												obj_t BgL_auxz00_7498;

												BgL_auxz00_7498 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(10346L),
													BGl_string3652z00zz__unicodez00,
													BGl_string3653z00zz__unicodez00, BgL_g1125z00_7243);
												FAILURE(BgL_auxz00_7498, BFALSE, BFALSE);
											}
										BgL_kz00_7245 = CINT(BgL_tmpz00_7495);
									}
									return make_ucs2_string(BgL_kz00_7245, BgL_fillerz00_7244);
								}
							}
						}
						break;
					case 2L:

						{	/* Llib/unicode.scm 231 */
							obj_t BgL_fillerz00_7246;

							BgL_fillerz00_7246 = VECTOR_REF(BgL_opt1123z00_6, 1L);
							{	/* Llib/unicode.scm 231 */

								{	/* Llib/unicode.scm 231 */
									int BgL_kz00_7247;
									ucs2_t BgL_fillerz00_7248;

									{	/* Llib/unicode.scm 231 */
										obj_t BgL_tmpz00_7505;

										if (INTEGERP(BgL_g1125z00_7243))
											{	/* Llib/unicode.scm 231 */
												BgL_tmpz00_7505 = BgL_g1125z00_7243;
											}
										else
											{
												obj_t BgL_auxz00_7508;

												BgL_auxz00_7508 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(10346L),
													BGl_string3652z00zz__unicodez00,
													BGl_string3653z00zz__unicodez00, BgL_g1125z00_7243);
												FAILURE(BgL_auxz00_7508, BFALSE, BFALSE);
											}
										BgL_kz00_7247 = CINT(BgL_tmpz00_7505);
									}
									{	/* Llib/unicode.scm 231 */
										obj_t BgL_tmpz00_7513;

										if (UCS2P(BgL_fillerz00_7246))
											{	/* Llib/unicode.scm 231 */
												BgL_tmpz00_7513 = BgL_fillerz00_7246;
											}
										else
											{
												obj_t BgL_auxz00_7516;

												BgL_auxz00_7516 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(10346L),
													BGl_string3652z00zz__unicodez00,
													BGl_string3654z00zz__unicodez00, BgL_fillerz00_7246);
												FAILURE(BgL_auxz00_7516, BFALSE, BFALSE);
											}
										BgL_fillerz00_7248 = CUCS2(BgL_tmpz00_7513);
									}
									return make_ucs2_string(BgL_kz00_7247, BgL_fillerz00_7248);
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* make-ucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_makezd2ucs2zd2stringz00zz__unicodez00(int
		BgL_kz00_4, ucs2_t BgL_fillerz00_5)
	{
		{	/* Llib/unicode.scm 231 */
			BGL_TAIL return make_ucs2_string(BgL_kz00_4, BgL_fillerz00_5);
		}

	}



/* ucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2zz__unicodez00(obj_t
		BgL_ucs2sz00_8)
	{
		{	/* Llib/unicode.scm 238 */
			BGL_TAIL return
				BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(BgL_ucs2sz00_8);
		}

	}



/* &ucs2-string */
	obj_t BGl_z62ucs2zd2stringzb0zz__unicodez00(obj_t BgL_envz00_6854,
		obj_t BgL_ucs2sz00_6855)
	{
		{	/* Llib/unicode.scm 238 */
			return BGl_ucs2zd2stringzd2zz__unicodez00(BgL_ucs2sz00_6855);
		}

	}



/* ucs2-string-length */
	BGL_EXPORTED_DEF int BGl_ucs2zd2stringzd2lengthz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_9)
	{
		{	/* Llib/unicode.scm 244 */
			return UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_9);
		}

	}



/* &ucs2-string-length */
	obj_t BGl_z62ucs2zd2stringzd2lengthz62zz__unicodez00(obj_t BgL_envz00_6856,
		obj_t BgL_ucs2zd2stringzd2_6857)
	{
		{	/* Llib/unicode.scm 244 */
			{	/* Llib/unicode.scm 245 */
				int BgL_tmpz00_7528;

				{	/* Llib/unicode.scm 245 */
					obj_t BgL_auxz00_7529;

					if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6857))
						{	/* Llib/unicode.scm 245 */
							BgL_auxz00_7529 = BgL_ucs2zd2stringzd2_6857;
						}
					else
						{
							obj_t BgL_auxz00_7532;

							BgL_auxz00_7532 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(11033L), BGl_string3655z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6857);
							FAILURE(BgL_auxz00_7532, BFALSE, BFALSE);
						}
					BgL_tmpz00_7528 =
						BGl_ucs2zd2stringzd2lengthz00zz__unicodez00(BgL_auxz00_7529);
				}
				return BINT(BgL_tmpz00_7528);
			}
		}

	}



/* ucs2-string-ref */
	BGL_EXPORTED_DEF ucs2_t BGl_ucs2zd2stringzd2refz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_10, int BgL_kz00_11)
	{
		{	/* Llib/unicode.scm 250 */
			{	/* Llib/unicode.scm 251 */
				bool_t BgL_test3941z00_7538;

				{	/* Llib/unicode.scm 251 */
					long BgL_auxz00_7541;
					long BgL_tmpz00_7539;

					BgL_auxz00_7541 =
						(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_10));
					BgL_tmpz00_7539 = (long) (BgL_kz00_11);
					BgL_test3941z00_7538 = BOUND_CHECK(BgL_tmpz00_7539, BgL_auxz00_7541);
				}
				if (BgL_test3941z00_7538)
					{	/* Llib/unicode.scm 251 */
						return UCS2_STRING_REF(BgL_ucs2zd2stringzd2_10, BgL_kz00_11);
					}
				else
					{	/* Llib/unicode.scm 256 */
						obj_t BgL_arg1224z00_7249;

						{	/* Llib/unicode.scm 256 */
							obj_t BgL_arg1225z00_7250;

							{	/* Llib/unicode.scm 256 */

								BgL_arg1225z00_7250 =
									BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_10)) - 1L),
									10L);
							}
							BgL_arg1224z00_7249 =
								string_append_3(BGl_string3657z00zz__unicodez00,
								BgL_arg1225z00_7250, BGl_string3658z00zz__unicodez00);
						}
						return
							CUCS2(BGl_errorz00zz__errorz00(BGl_symbol3659z00zz__unicodez00,
								BgL_arg1224z00_7249, BINT(BgL_kz00_11)));
					}
			}
		}

	}



/* &ucs2-string-ref */
	obj_t BGl_z62ucs2zd2stringzd2refz62zz__unicodez00(obj_t BgL_envz00_6858,
		obj_t BgL_ucs2zd2stringzd2_6859, obj_t BgL_kz00_6860)
	{
		{	/* Llib/unicode.scm 250 */
			{	/* Llib/unicode.scm 251 */
				ucs2_t BgL_tmpz00_7554;

				{	/* Llib/unicode.scm 251 */
					int BgL_auxz00_7562;
					obj_t BgL_auxz00_7555;

					{	/* Llib/unicode.scm 251 */
						obj_t BgL_tmpz00_7563;

						if (INTEGERP(BgL_kz00_6860))
							{	/* Llib/unicode.scm 251 */
								BgL_tmpz00_7563 = BgL_kz00_6860;
							}
						else
							{
								obj_t BgL_auxz00_7566;

								BgL_auxz00_7566 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(11342L),
									BGl_string3661z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_kz00_6860);
								FAILURE(BgL_auxz00_7566, BFALSE, BFALSE);
							}
						BgL_auxz00_7562 = CINT(BgL_tmpz00_7563);
					}
					if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6859))
						{	/* Llib/unicode.scm 251 */
							BgL_auxz00_7555 = BgL_ucs2zd2stringzd2_6859;
						}
					else
						{
							obj_t BgL_auxz00_7558;

							BgL_auxz00_7558 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(11342L), BGl_string3661z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6859);
							FAILURE(BgL_auxz00_7558, BFALSE, BFALSE);
						}
					BgL_tmpz00_7554 =
						BGl_ucs2zd2stringzd2refz00zz__unicodez00(BgL_auxz00_7555,
						BgL_auxz00_7562);
				}
				return BUCS2(BgL_tmpz00_7554);
			}
		}

	}



/* ucs2-string-set! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2setz12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_12, int BgL_kz00_13, ucs2_t BgL_ucs2z00_14)
	{
		{	/* Llib/unicode.scm 263 */
			{	/* Llib/unicode.scm 264 */
				bool_t BgL_test3944z00_7573;

				{	/* Llib/unicode.scm 264 */
					long BgL_auxz00_7576;
					long BgL_tmpz00_7574;

					BgL_auxz00_7576 =
						(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_12));
					BgL_tmpz00_7574 = (long) (BgL_kz00_13);
					BgL_test3944z00_7573 = BOUND_CHECK(BgL_tmpz00_7574, BgL_auxz00_7576);
				}
				if (BgL_test3944z00_7573)
					{	/* Llib/unicode.scm 264 */
						return
							UCS2_STRING_SET(BgL_ucs2zd2stringzd2_12, BgL_kz00_13,
							BgL_ucs2z00_14);
					}
				else
					{	/* Llib/unicode.scm 269 */
						obj_t BgL_arg1237z00_7251;

						{	/* Llib/unicode.scm 269 */
							obj_t BgL_arg1240z00_7252;

							{	/* Llib/unicode.scm 269 */

								BgL_arg1240z00_7252 =
									BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_12)) - 1L),
									10L);
							}
							BgL_arg1237z00_7251 =
								string_append_3(BGl_string3657z00zz__unicodez00,
								BgL_arg1240z00_7252, BGl_string3658z00zz__unicodez00);
						}
						return
							BGl_errorz00zz__errorz00(BGl_symbol3662z00zz__unicodez00,
							BgL_arg1237z00_7251, BINT(BgL_kz00_13));
					}
			}
		}

	}



/* &ucs2-string-set! */
	obj_t BGl_z62ucs2zd2stringzd2setz12z70zz__unicodez00(obj_t BgL_envz00_6861,
		obj_t BgL_ucs2zd2stringzd2_6862, obj_t BgL_kz00_6863,
		obj_t BgL_ucs2z00_6864)
	{
		{	/* Llib/unicode.scm 263 */
			{	/* Llib/unicode.scm 264 */
				ucs2_t BgL_auxz00_7604;
				int BgL_auxz00_7595;
				obj_t BgL_auxz00_7588;

				{	/* Llib/unicode.scm 264 */
					obj_t BgL_tmpz00_7605;

					if (UCS2P(BgL_ucs2z00_6864))
						{	/* Llib/unicode.scm 264 */
							BgL_tmpz00_7605 = BgL_ucs2z00_6864;
						}
					else
						{
							obj_t BgL_auxz00_7608;

							BgL_auxz00_7608 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(11905L), BGl_string3664z00zz__unicodez00,
								BGl_string3654z00zz__unicodez00, BgL_ucs2z00_6864);
							FAILURE(BgL_auxz00_7608, BFALSE, BFALSE);
						}
					BgL_auxz00_7604 = CUCS2(BgL_tmpz00_7605);
				}
				{	/* Llib/unicode.scm 264 */
					obj_t BgL_tmpz00_7596;

					if (INTEGERP(BgL_kz00_6863))
						{	/* Llib/unicode.scm 264 */
							BgL_tmpz00_7596 = BgL_kz00_6863;
						}
					else
						{
							obj_t BgL_auxz00_7599;

							BgL_auxz00_7599 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(11905L), BGl_string3664z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_kz00_6863);
							FAILURE(BgL_auxz00_7599, BFALSE, BFALSE);
						}
					BgL_auxz00_7595 = CINT(BgL_tmpz00_7596);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6862))
					{	/* Llib/unicode.scm 264 */
						BgL_auxz00_7588 = BgL_ucs2zd2stringzd2_6862;
					}
				else
					{
						obj_t BgL_auxz00_7591;

						BgL_auxz00_7591 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(11905L), BGl_string3664z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6862);
						FAILURE(BgL_auxz00_7591, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2setz12z12zz__unicodez00(BgL_auxz00_7588,
					BgL_auxz00_7595, BgL_auxz00_7604);
			}
		}

	}



/* ucs2-string-ref-ur */
	BGL_EXPORTED_DEF ucs2_t BGl_ucs2zd2stringzd2refzd2urzd2zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_15, int BgL_kz00_16)
	{
		{	/* Llib/unicode.scm 276 */
			return UCS2_STRING_REF(BgL_ucs2zd2stringzd2_15, BgL_kz00_16);
		}

	}



/* &ucs2-string-ref-ur */
	obj_t BGl_z62ucs2zd2stringzd2refzd2urzb0zz__unicodez00(obj_t BgL_envz00_6865,
		obj_t BgL_ucs2zd2stringzd2_6866, obj_t BgL_kz00_6867)
	{
		{	/* Llib/unicode.scm 276 */
			{	/* Llib/unicode.scm 277 */
				ucs2_t BgL_tmpz00_7615;

				{	/* Llib/unicode.scm 277 */
					int BgL_auxz00_7623;
					obj_t BgL_auxz00_7616;

					{	/* Llib/unicode.scm 277 */
						obj_t BgL_tmpz00_7624;

						if (INTEGERP(BgL_kz00_6867))
							{	/* Llib/unicode.scm 277 */
								BgL_tmpz00_7624 = BgL_kz00_6867;
							}
						else
							{
								obj_t BgL_auxz00_7627;

								BgL_auxz00_7627 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(12471L),
									BGl_string3665z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_kz00_6867);
								FAILURE(BgL_auxz00_7627, BFALSE, BFALSE);
							}
						BgL_auxz00_7623 = CINT(BgL_tmpz00_7624);
					}
					if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6866))
						{	/* Llib/unicode.scm 277 */
							BgL_auxz00_7616 = BgL_ucs2zd2stringzd2_6866;
						}
					else
						{
							obj_t BgL_auxz00_7619;

							BgL_auxz00_7619 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(12471L), BGl_string3665z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6866);
							FAILURE(BgL_auxz00_7619, BFALSE, BFALSE);
						}
					BgL_tmpz00_7615 =
						BGl_ucs2zd2stringzd2refzd2urzd2zz__unicodez00(BgL_auxz00_7616,
						BgL_auxz00_7623);
				}
				return BUCS2(BgL_tmpz00_7615);
			}
		}

	}



/* ucs2-string-set-ur! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2setzd2urz12zc0zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_17, int BgL_kz00_18, ucs2_t BgL_ucs2z00_19)
	{
		{	/* Llib/unicode.scm 282 */
			return
				UCS2_STRING_SET(BgL_ucs2zd2stringzd2_17, BgL_kz00_18, BgL_ucs2z00_19);
		}

	}



/* &ucs2-string-set-ur! */
	obj_t BGl_z62ucs2zd2stringzd2setzd2urz12za2zz__unicodez00(obj_t
		BgL_envz00_6868, obj_t BgL_ucs2zd2stringzd2_6869, obj_t BgL_kz00_6870,
		obj_t BgL_ucs2z00_6871)
	{
		{	/* Llib/unicode.scm 282 */
			{	/* Llib/unicode.scm 283 */
				ucs2_t BgL_auxz00_7651;
				int BgL_auxz00_7642;
				obj_t BgL_auxz00_7635;

				{	/* Llib/unicode.scm 283 */
					obj_t BgL_tmpz00_7652;

					if (UCS2P(BgL_ucs2z00_6871))
						{	/* Llib/unicode.scm 283 */
							BgL_tmpz00_7652 = BgL_ucs2z00_6871;
						}
					else
						{
							obj_t BgL_auxz00_7655;

							BgL_auxz00_7655 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(12789L), BGl_string3666z00zz__unicodez00,
								BGl_string3654z00zz__unicodez00, BgL_ucs2z00_6871);
							FAILURE(BgL_auxz00_7655, BFALSE, BFALSE);
						}
					BgL_auxz00_7651 = CUCS2(BgL_tmpz00_7652);
				}
				{	/* Llib/unicode.scm 283 */
					obj_t BgL_tmpz00_7643;

					if (INTEGERP(BgL_kz00_6870))
						{	/* Llib/unicode.scm 283 */
							BgL_tmpz00_7643 = BgL_kz00_6870;
						}
					else
						{
							obj_t BgL_auxz00_7646;

							BgL_auxz00_7646 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(12789L), BGl_string3666z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_kz00_6870);
							FAILURE(BgL_auxz00_7646, BFALSE, BFALSE);
						}
					BgL_auxz00_7642 = CINT(BgL_tmpz00_7643);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6869))
					{	/* Llib/unicode.scm 283 */
						BgL_auxz00_7635 = BgL_ucs2zd2stringzd2_6869;
					}
				else
					{
						obj_t BgL_auxz00_7638;

						BgL_auxz00_7638 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(12789L), BGl_string3666z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6869);
						FAILURE(BgL_auxz00_7638, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2setzd2urz12zc0zz__unicodez00(BgL_auxz00_7635,
					BgL_auxz00_7642, BgL_auxz00_7651);
			}
		}

	}



/* ucs2-string=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd3zf3zf2zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_20, obj_t BgL_ucs2zd2string2zd2_21)
	{
		{	/* Llib/unicode.scm 288 */
			BGL_TAIL return
				ucs2_strcmp(BgL_ucs2zd2string1zd2_20, BgL_ucs2zd2string2zd2_21);
		}

	}



/* &ucs2-string=? */
	obj_t BGl_z62ucs2zd2stringzd3zf3z90zz__unicodez00(obj_t BgL_envz00_6872,
		obj_t BgL_ucs2zd2string1zd2_6873, obj_t BgL_ucs2zd2string2zd2_6874)
	{
		{	/* Llib/unicode.scm 288 */
			{	/* Llib/unicode.scm 289 */
				bool_t BgL_tmpz00_7662;

				{	/* Llib/unicode.scm 289 */
					obj_t BgL_auxz00_7670;
					obj_t BgL_auxz00_7663;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6874))
						{	/* Llib/unicode.scm 289 */
							BgL_auxz00_7670 = BgL_ucs2zd2string2zd2_6874;
						}
					else
						{
							obj_t BgL_auxz00_7673;

							BgL_auxz00_7673 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(13113L), BGl_string3667z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6874);
							FAILURE(BgL_auxz00_7673, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6873))
						{	/* Llib/unicode.scm 289 */
							BgL_auxz00_7663 = BgL_ucs2zd2string1zd2_6873;
						}
					else
						{
							obj_t BgL_auxz00_7666;

							BgL_auxz00_7666 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(13113L), BGl_string3667z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6873);
							FAILURE(BgL_auxz00_7666, BFALSE, BFALSE);
						}
					BgL_tmpz00_7662 =
						BGl_ucs2zd2stringzd3zf3zf2zz__unicodez00(BgL_auxz00_7663,
						BgL_auxz00_7670);
				}
				return BBOOL(BgL_tmpz00_7662);
			}
		}

	}



/* ucs2-string-ci=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cizd3zf3z20zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_22, obj_t BgL_ucs2zd2string2zd2_23)
	{
		{	/* Llib/unicode.scm 294 */
			BGL_TAIL return
				ucs2_strcicmp(BgL_ucs2zd2string1zd2_22, BgL_ucs2zd2string2zd2_23);
		}

	}



/* &ucs2-string-ci=? */
	obj_t BGl_z62ucs2zd2stringzd2cizd3zf3z42zz__unicodez00(obj_t BgL_envz00_6875,
		obj_t BgL_ucs2zd2string1zd2_6876, obj_t BgL_ucs2zd2string2zd2_6877)
	{
		{	/* Llib/unicode.scm 294 */
			{	/* Llib/unicode.scm 295 */
				bool_t BgL_tmpz00_7680;

				{	/* Llib/unicode.scm 295 */
					obj_t BgL_auxz00_7688;
					obj_t BgL_auxz00_7681;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6877))
						{	/* Llib/unicode.scm 295 */
							BgL_auxz00_7688 = BgL_ucs2zd2string2zd2_6877;
						}
					else
						{
							obj_t BgL_auxz00_7691;

							BgL_auxz00_7691 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(13444L), BGl_string3668z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6877);
							FAILURE(BgL_auxz00_7691, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6876))
						{	/* Llib/unicode.scm 295 */
							BgL_auxz00_7681 = BgL_ucs2zd2string1zd2_6876;
						}
					else
						{
							obj_t BgL_auxz00_7684;

							BgL_auxz00_7684 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(13444L), BGl_string3668z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6876);
							FAILURE(BgL_auxz00_7684, BFALSE, BFALSE);
						}
					BgL_tmpz00_7680 =
						BGl_ucs2zd2stringzd2cizd3zf3z20zz__unicodez00(BgL_auxz00_7681,
						BgL_auxz00_7688);
				}
				return BBOOL(BgL_tmpz00_7680);
			}
		}

	}



/* ucs2-string<? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzc3zf3ze2zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_24, obj_t BgL_ucs2zd2string2zd2_25)
	{
		{	/* Llib/unicode.scm 300 */
			BGL_TAIL return
				ucs2_string_lt(BgL_ucs2zd2string1zd2_24, BgL_ucs2zd2string2zd2_25);
		}

	}



/* &ucs2-string<? */
	obj_t BGl_z62ucs2zd2stringzc3zf3z80zz__unicodez00(obj_t BgL_envz00_6878,
		obj_t BgL_ucs2zd2string1zd2_6879, obj_t BgL_ucs2zd2string2zd2_6880)
	{
		{	/* Llib/unicode.scm 300 */
			{	/* Llib/unicode.scm 301 */
				bool_t BgL_tmpz00_7698;

				{	/* Llib/unicode.scm 301 */
					obj_t BgL_auxz00_7706;
					obj_t BgL_auxz00_7699;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6880))
						{	/* Llib/unicode.scm 301 */
							BgL_auxz00_7706 = BgL_ucs2zd2string2zd2_6880;
						}
					else
						{
							obj_t BgL_auxz00_7709;

							BgL_auxz00_7709 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(13770L), BGl_string3669z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6880);
							FAILURE(BgL_auxz00_7709, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6879))
						{	/* Llib/unicode.scm 301 */
							BgL_auxz00_7699 = BgL_ucs2zd2string1zd2_6879;
						}
					else
						{
							obj_t BgL_auxz00_7702;

							BgL_auxz00_7702 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(13770L), BGl_string3669z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6879);
							FAILURE(BgL_auxz00_7702, BFALSE, BFALSE);
						}
					BgL_tmpz00_7698 =
						BGl_ucs2zd2stringzc3zf3ze2zz__unicodez00(BgL_auxz00_7699,
						BgL_auxz00_7706);
				}
				return BBOOL(BgL_tmpz00_7698);
			}
		}

	}



/* ucs2-string>? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringze3zf3zc2zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_26, obj_t BgL_ucs2zd2string2zd2_27)
	{
		{	/* Llib/unicode.scm 306 */
			BGL_TAIL return
				ucs2_string_gt(BgL_ucs2zd2string1zd2_26, BgL_ucs2zd2string2zd2_27);
		}

	}



/* &ucs2-string>? */
	obj_t BGl_z62ucs2zd2stringze3zf3za0zz__unicodez00(obj_t BgL_envz00_6881,
		obj_t BgL_ucs2zd2string1zd2_6882, obj_t BgL_ucs2zd2string2zd2_6883)
	{
		{	/* Llib/unicode.scm 306 */
			{	/* Llib/unicode.scm 307 */
				bool_t BgL_tmpz00_7716;

				{	/* Llib/unicode.scm 307 */
					obj_t BgL_auxz00_7724;
					obj_t BgL_auxz00_7717;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6883))
						{	/* Llib/unicode.scm 307 */
							BgL_auxz00_7724 = BgL_ucs2zd2string2zd2_6883;
						}
					else
						{
							obj_t BgL_auxz00_7727;

							BgL_auxz00_7727 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(14097L), BGl_string3670z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6883);
							FAILURE(BgL_auxz00_7727, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6882))
						{	/* Llib/unicode.scm 307 */
							BgL_auxz00_7717 = BgL_ucs2zd2string1zd2_6882;
						}
					else
						{
							obj_t BgL_auxz00_7720;

							BgL_auxz00_7720 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(14097L), BGl_string3670z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6882);
							FAILURE(BgL_auxz00_7720, BFALSE, BFALSE);
						}
					BgL_tmpz00_7716 =
						BGl_ucs2zd2stringze3zf3zc2zz__unicodez00(BgL_auxz00_7717,
						BgL_auxz00_7724);
				}
				return BBOOL(BgL_tmpz00_7716);
			}
		}

	}



/* ucs2-string<=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzc3zd3zf3z31zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_28, obj_t BgL_ucs2zd2string2zd2_29)
	{
		{	/* Llib/unicode.scm 312 */
			BGL_TAIL return
				ucs2_string_le(BgL_ucs2zd2string1zd2_28, BgL_ucs2zd2string2zd2_29);
		}

	}



/* &ucs2-string<=? */
	obj_t BGl_z62ucs2zd2stringzc3zd3zf3z53zz__unicodez00(obj_t BgL_envz00_6884,
		obj_t BgL_ucs2zd2string1zd2_6885, obj_t BgL_ucs2zd2string2zd2_6886)
	{
		{	/* Llib/unicode.scm 312 */
			{	/* Llib/unicode.scm 313 */
				bool_t BgL_tmpz00_7734;

				{	/* Llib/unicode.scm 313 */
					obj_t BgL_auxz00_7742;
					obj_t BgL_auxz00_7735;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6886))
						{	/* Llib/unicode.scm 313 */
							BgL_auxz00_7742 = BgL_ucs2zd2string2zd2_6886;
						}
					else
						{
							obj_t BgL_auxz00_7745;

							BgL_auxz00_7745 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(14425L), BGl_string3671z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6886);
							FAILURE(BgL_auxz00_7745, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6885))
						{	/* Llib/unicode.scm 313 */
							BgL_auxz00_7735 = BgL_ucs2zd2string1zd2_6885;
						}
					else
						{
							obj_t BgL_auxz00_7738;

							BgL_auxz00_7738 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(14425L), BGl_string3671z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6885);
							FAILURE(BgL_auxz00_7738, BFALSE, BFALSE);
						}
					BgL_tmpz00_7734 =
						BGl_ucs2zd2stringzc3zd3zf3z31zz__unicodez00(BgL_auxz00_7735,
						BgL_auxz00_7742);
				}
				return BBOOL(BgL_tmpz00_7734);
			}
		}

	}



/* ucs2-string>=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringze3zd3zf3z11zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_30, obj_t BgL_ucs2zd2string2zd2_31)
	{
		{	/* Llib/unicode.scm 318 */
			BGL_TAIL return
				ucs2_string_ge(BgL_ucs2zd2string1zd2_30, BgL_ucs2zd2string2zd2_31);
		}

	}



/* &ucs2-string>=? */
	obj_t BGl_z62ucs2zd2stringze3zd3zf3z73zz__unicodez00(obj_t BgL_envz00_6887,
		obj_t BgL_ucs2zd2string1zd2_6888, obj_t BgL_ucs2zd2string2zd2_6889)
	{
		{	/* Llib/unicode.scm 318 */
			{	/* Llib/unicode.scm 319 */
				bool_t BgL_tmpz00_7752;

				{	/* Llib/unicode.scm 319 */
					obj_t BgL_auxz00_7760;
					obj_t BgL_auxz00_7753;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6889))
						{	/* Llib/unicode.scm 319 */
							BgL_auxz00_7760 = BgL_ucs2zd2string2zd2_6889;
						}
					else
						{
							obj_t BgL_auxz00_7763;

							BgL_auxz00_7763 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(14753L), BGl_string3672z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6889);
							FAILURE(BgL_auxz00_7763, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6888))
						{	/* Llib/unicode.scm 319 */
							BgL_auxz00_7753 = BgL_ucs2zd2string1zd2_6888;
						}
					else
						{
							obj_t BgL_auxz00_7756;

							BgL_auxz00_7756 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(14753L), BGl_string3672z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6888);
							FAILURE(BgL_auxz00_7756, BFALSE, BFALSE);
						}
					BgL_tmpz00_7752 =
						BGl_ucs2zd2stringze3zd3zf3z11zz__unicodez00(BgL_auxz00_7753,
						BgL_auxz00_7760);
				}
				return BBOOL(BgL_tmpz00_7752);
			}
		}

	}



/* ucs2-string-ci<? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cizc3zf3z30zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_32, obj_t BgL_ucs2zd2string2zd2_33)
	{
		{	/* Llib/unicode.scm 324 */
			BGL_TAIL return
				ucs2_string_cilt(BgL_ucs2zd2string1zd2_32, BgL_ucs2zd2string2zd2_33);
		}

	}



/* &ucs2-string-ci<? */
	obj_t BGl_z62ucs2zd2stringzd2cizc3zf3z52zz__unicodez00(obj_t BgL_envz00_6890,
		obj_t BgL_ucs2zd2string1zd2_6891, obj_t BgL_ucs2zd2string2zd2_6892)
	{
		{	/* Llib/unicode.scm 324 */
			{	/* Llib/unicode.scm 325 */
				bool_t BgL_tmpz00_7770;

				{	/* Llib/unicode.scm 325 */
					obj_t BgL_auxz00_7778;
					obj_t BgL_auxz00_7771;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6892))
						{	/* Llib/unicode.scm 325 */
							BgL_auxz00_7778 = BgL_ucs2zd2string2zd2_6892;
						}
					else
						{
							obj_t BgL_auxz00_7781;

							BgL_auxz00_7781 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(15083L), BGl_string3673z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6892);
							FAILURE(BgL_auxz00_7781, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6891))
						{	/* Llib/unicode.scm 325 */
							BgL_auxz00_7771 = BgL_ucs2zd2string1zd2_6891;
						}
					else
						{
							obj_t BgL_auxz00_7774;

							BgL_auxz00_7774 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(15083L), BGl_string3673z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6891);
							FAILURE(BgL_auxz00_7774, BFALSE, BFALSE);
						}
					BgL_tmpz00_7770 =
						BGl_ucs2zd2stringzd2cizc3zf3z30zz__unicodez00(BgL_auxz00_7771,
						BgL_auxz00_7778);
				}
				return BBOOL(BgL_tmpz00_7770);
			}
		}

	}



/* ucs2-string-ci>? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cize3zf3z10zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_34, obj_t BgL_ucs2zd2string2zd2_35)
	{
		{	/* Llib/unicode.scm 330 */
			BGL_TAIL return
				ucs2_string_cigt(BgL_ucs2zd2string1zd2_34, BgL_ucs2zd2string2zd2_35);
		}

	}



/* &ucs2-string-ci>? */
	obj_t BGl_z62ucs2zd2stringzd2cize3zf3z72zz__unicodez00(obj_t BgL_envz00_6893,
		obj_t BgL_ucs2zd2string1zd2_6894, obj_t BgL_ucs2zd2string2zd2_6895)
	{
		{	/* Llib/unicode.scm 330 */
			{	/* Llib/unicode.scm 331 */
				bool_t BgL_tmpz00_7788;

				{	/* Llib/unicode.scm 331 */
					obj_t BgL_auxz00_7796;
					obj_t BgL_auxz00_7789;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6895))
						{	/* Llib/unicode.scm 331 */
							BgL_auxz00_7796 = BgL_ucs2zd2string2zd2_6895;
						}
					else
						{
							obj_t BgL_auxz00_7799;

							BgL_auxz00_7799 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(15415L), BGl_string3674z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6895);
							FAILURE(BgL_auxz00_7799, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6894))
						{	/* Llib/unicode.scm 331 */
							BgL_auxz00_7789 = BgL_ucs2zd2string1zd2_6894;
						}
					else
						{
							obj_t BgL_auxz00_7792;

							BgL_auxz00_7792 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(15415L), BGl_string3674z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6894);
							FAILURE(BgL_auxz00_7792, BFALSE, BFALSE);
						}
					BgL_tmpz00_7788 =
						BGl_ucs2zd2stringzd2cize3zf3z10zz__unicodez00(BgL_auxz00_7789,
						BgL_auxz00_7796);
				}
				return BBOOL(BgL_tmpz00_7788);
			}
		}

	}



/* ucs2-string-ci<=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cizc3zd3zf3ze3zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_36, obj_t BgL_ucs2zd2string2zd2_37)
	{
		{	/* Llib/unicode.scm 336 */
			BGL_TAIL return
				ucs2_string_cile(BgL_ucs2zd2string1zd2_36, BgL_ucs2zd2string2zd2_37);
		}

	}



/* &ucs2-string-ci<=? */
	obj_t BGl_z62ucs2zd2stringzd2cizc3zd3zf3z81zz__unicodez00(obj_t
		BgL_envz00_6896, obj_t BgL_ucs2zd2string1zd2_6897,
		obj_t BgL_ucs2zd2string2zd2_6898)
	{
		{	/* Llib/unicode.scm 336 */
			{	/* Llib/unicode.scm 337 */
				bool_t BgL_tmpz00_7806;

				{	/* Llib/unicode.scm 337 */
					obj_t BgL_auxz00_7814;
					obj_t BgL_auxz00_7807;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6898))
						{	/* Llib/unicode.scm 337 */
							BgL_auxz00_7814 = BgL_ucs2zd2string2zd2_6898;
						}
					else
						{
							obj_t BgL_auxz00_7817;

							BgL_auxz00_7817 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(15748L), BGl_string3675z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6898);
							FAILURE(BgL_auxz00_7817, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6897))
						{	/* Llib/unicode.scm 337 */
							BgL_auxz00_7807 = BgL_ucs2zd2string1zd2_6897;
						}
					else
						{
							obj_t BgL_auxz00_7810;

							BgL_auxz00_7810 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(15748L), BGl_string3675z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6897);
							FAILURE(BgL_auxz00_7810, BFALSE, BFALSE);
						}
					BgL_tmpz00_7806 =
						BGl_ucs2zd2stringzd2cizc3zd3zf3ze3zz__unicodez00(BgL_auxz00_7807,
						BgL_auxz00_7814);
				}
				return BBOOL(BgL_tmpz00_7806);
			}
		}

	}



/* ucs2-string-ci>=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cize3zd3zf3zc3zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_38, obj_t BgL_ucs2zd2string2zd2_39)
	{
		{	/* Llib/unicode.scm 342 */
			BGL_TAIL return
				ucs2_string_cige(BgL_ucs2zd2string1zd2_38, BgL_ucs2zd2string2zd2_39);
		}

	}



/* &ucs2-string-ci>=? */
	obj_t BGl_z62ucs2zd2stringzd2cize3zd3zf3za1zz__unicodez00(obj_t
		BgL_envz00_6899, obj_t BgL_ucs2zd2string1zd2_6900,
		obj_t BgL_ucs2zd2string2zd2_6901)
	{
		{	/* Llib/unicode.scm 342 */
			{	/* Llib/unicode.scm 343 */
				bool_t BgL_tmpz00_7824;

				{	/* Llib/unicode.scm 343 */
					obj_t BgL_auxz00_7832;
					obj_t BgL_auxz00_7825;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6901))
						{	/* Llib/unicode.scm 343 */
							BgL_auxz00_7832 = BgL_ucs2zd2string2zd2_6901;
						}
					else
						{
							obj_t BgL_auxz00_7835;

							BgL_auxz00_7835 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(16081L), BGl_string3676z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string2zd2_6901);
							FAILURE(BgL_auxz00_7835, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6900))
						{	/* Llib/unicode.scm 343 */
							BgL_auxz00_7825 = BgL_ucs2zd2string1zd2_6900;
						}
					else
						{
							obj_t BgL_auxz00_7828;

							BgL_auxz00_7828 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(16081L), BGl_string3676z00zz__unicodez00,
								BGl_string3656z00zz__unicodez00, BgL_ucs2zd2string1zd2_6900);
							FAILURE(BgL_auxz00_7828, BFALSE, BFALSE);
						}
					BgL_tmpz00_7824 =
						BGl_ucs2zd2stringzd2cize3zd3zf3zc3zz__unicodez00(BgL_auxz00_7825,
						BgL_auxz00_7832);
				}
				return BBOOL(BgL_tmpz00_7824);
			}
		}

	}



/* subucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_subucs2zd2stringzd2zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_40, int BgL_startz00_41, int BgL_endz00_42)
	{
		{	/* Llib/unicode.scm 348 */
			{	/* Llib/unicode.scm 350 */
				bool_t BgL_test3973z00_7841;

				if (((long) (BgL_endz00_42) >= (long) (BgL_startz00_41)))
					{	/* Llib/unicode.scm 351 */
						bool_t BgL_test3975z00_7846;

						{	/* Llib/unicode.scm 351 */
							long BgL_auxz00_7849;
							long BgL_tmpz00_7847;

							BgL_auxz00_7849 =
								((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_40)) + 1L);
							BgL_tmpz00_7847 = (long) (BgL_startz00_41);
							BgL_test3975z00_7846 =
								BOUND_CHECK(BgL_tmpz00_7847, BgL_auxz00_7849);
						}
						if (BgL_test3975z00_7846)
							{	/* Llib/unicode.scm 353 */
								long BgL_auxz00_7856;
								long BgL_tmpz00_7854;

								BgL_auxz00_7856 =
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_40)) + 1L);
								BgL_tmpz00_7854 = (long) (BgL_endz00_42);
								BgL_test3973z00_7841 =
									BOUND_CHECK(BgL_tmpz00_7854, BgL_auxz00_7856);
							}
						else
							{	/* Llib/unicode.scm 351 */
								BgL_test3973z00_7841 = ((bool_t) 0);
							}
					}
				else
					{	/* Llib/unicode.scm 350 */
						BgL_test3973z00_7841 = ((bool_t) 0);
					}
				if (BgL_test3973z00_7841)
					{	/* Llib/unicode.scm 350 */
						BGL_TAIL return
							c_subucs2_string(BgL_ucs2zd2stringzd2_40, BgL_startz00_41,
							BgL_endz00_42);
					}
				else
					{	/* Llib/unicode.scm 358 */
						obj_t BgL_arg1256z00_7253;

						BgL_arg1256z00_7253 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_41), BINT(BgL_endz00_42));
						return
							BGl_errorz00zz__errorz00(BGl_string3677z00zz__unicodez00,
							BGl_string3678z00zz__unicodez00, BgL_arg1256z00_7253);
					}
			}
		}

	}



/* &subucs2-string */
	obj_t BGl_z62subucs2zd2stringzb0zz__unicodez00(obj_t BgL_envz00_6902,
		obj_t BgL_ucs2zd2stringzd2_6903, obj_t BgL_startz00_6904,
		obj_t BgL_endz00_6905)
	{
		{	/* Llib/unicode.scm 348 */
			{	/* Llib/unicode.scm 350 */
				int BgL_auxz00_7882;
				int BgL_auxz00_7873;
				obj_t BgL_auxz00_7866;

				{	/* Llib/unicode.scm 350 */
					obj_t BgL_tmpz00_7883;

					if (INTEGERP(BgL_endz00_6905))
						{	/* Llib/unicode.scm 350 */
							BgL_tmpz00_7883 = BgL_endz00_6905;
						}
					else
						{
							obj_t BgL_auxz00_7886;

							BgL_auxz00_7886 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(16454L), BGl_string3679z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_endz00_6905);
							FAILURE(BgL_auxz00_7886, BFALSE, BFALSE);
						}
					BgL_auxz00_7882 = CINT(BgL_tmpz00_7883);
				}
				{	/* Llib/unicode.scm 350 */
					obj_t BgL_tmpz00_7874;

					if (INTEGERP(BgL_startz00_6904))
						{	/* Llib/unicode.scm 350 */
							BgL_tmpz00_7874 = BgL_startz00_6904;
						}
					else
						{
							obj_t BgL_auxz00_7877;

							BgL_auxz00_7877 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(16454L), BGl_string3679z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_startz00_6904);
							FAILURE(BgL_auxz00_7877, BFALSE, BFALSE);
						}
					BgL_auxz00_7873 = CINT(BgL_tmpz00_7874);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6903))
					{	/* Llib/unicode.scm 350 */
						BgL_auxz00_7866 = BgL_ucs2zd2stringzd2_6903;
					}
				else
					{
						obj_t BgL_auxz00_7869;

						BgL_auxz00_7869 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(16454L), BGl_string3679z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6903);
						FAILURE(BgL_auxz00_7869, BFALSE, BFALSE);
					}
				return
					BGl_subucs2zd2stringzd2zz__unicodez00(BgL_auxz00_7866,
					BgL_auxz00_7873, BgL_auxz00_7882);
			}
		}

	}



/* subucs2-string-ur */
	BGL_EXPORTED_DEF obj_t BGl_subucs2zd2stringzd2urz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_43, int BgL_startz00_44, int BgL_endz00_45)
	{
		{	/* Llib/unicode.scm 363 */
			BGL_TAIL return
				c_subucs2_string(BgL_ucs2zd2stringzd2_43, BgL_startz00_44,
				BgL_endz00_45);
		}

	}



/* &subucs2-string-ur */
	obj_t BGl_z62subucs2zd2stringzd2urz62zz__unicodez00(obj_t BgL_envz00_6906,
		obj_t BgL_ucs2zd2stringzd2_6907, obj_t BgL_startz00_6908,
		obj_t BgL_endz00_6909)
	{
		{	/* Llib/unicode.scm 363 */
			{	/* Llib/unicode.scm 364 */
				int BgL_auxz00_7909;
				int BgL_auxz00_7900;
				obj_t BgL_auxz00_7893;

				{	/* Llib/unicode.scm 364 */
					obj_t BgL_tmpz00_7910;

					if (INTEGERP(BgL_endz00_6909))
						{	/* Llib/unicode.scm 364 */
							BgL_tmpz00_7910 = BgL_endz00_6909;
						}
					else
						{
							obj_t BgL_auxz00_7913;

							BgL_auxz00_7913 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(17058L), BGl_string3680z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_endz00_6909);
							FAILURE(BgL_auxz00_7913, BFALSE, BFALSE);
						}
					BgL_auxz00_7909 = CINT(BgL_tmpz00_7910);
				}
				{	/* Llib/unicode.scm 364 */
					obj_t BgL_tmpz00_7901;

					if (INTEGERP(BgL_startz00_6908))
						{	/* Llib/unicode.scm 364 */
							BgL_tmpz00_7901 = BgL_startz00_6908;
						}
					else
						{
							obj_t BgL_auxz00_7904;

							BgL_auxz00_7904 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(17058L), BGl_string3680z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_startz00_6908);
							FAILURE(BgL_auxz00_7904, BFALSE, BFALSE);
						}
					BgL_auxz00_7900 = CINT(BgL_tmpz00_7901);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6907))
					{	/* Llib/unicode.scm 364 */
						BgL_auxz00_7893 = BgL_ucs2zd2stringzd2_6907;
					}
				else
					{
						obj_t BgL_auxz00_7896;

						BgL_auxz00_7896 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(17058L), BGl_string3680z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6907);
						FAILURE(BgL_auxz00_7896, BFALSE, BFALSE);
					}
				return
					BGl_subucs2zd2stringzd2urz00zz__unicodez00(BgL_auxz00_7893,
					BgL_auxz00_7900, BgL_auxz00_7909);
			}
		}

	}



/* ucs2-substring */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2substringzd2zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_46, int BgL_startz00_47, int BgL_endz00_48)
	{
		{	/* Llib/unicode.scm 369 */
			{	/* Llib/unicode.scm 371 */
				bool_t BgL_test3982z00_7919;

				if (((long) (BgL_endz00_48) >= (long) (BgL_startz00_47)))
					{	/* Llib/unicode.scm 372 */
						bool_t BgL_test3984z00_7924;

						{	/* Llib/unicode.scm 372 */
							long BgL_auxz00_7927;
							long BgL_tmpz00_7925;

							BgL_auxz00_7927 =
								((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_46)) + 1L);
							BgL_tmpz00_7925 = (long) (BgL_startz00_47);
							BgL_test3984z00_7924 =
								BOUND_CHECK(BgL_tmpz00_7925, BgL_auxz00_7927);
						}
						if (BgL_test3984z00_7924)
							{	/* Llib/unicode.scm 374 */
								long BgL_auxz00_7934;
								long BgL_tmpz00_7932;

								BgL_auxz00_7934 =
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_46)) + 1L);
								BgL_tmpz00_7932 = (long) (BgL_endz00_48);
								BgL_test3982z00_7919 =
									BOUND_CHECK(BgL_tmpz00_7932, BgL_auxz00_7934);
							}
						else
							{	/* Llib/unicode.scm 372 */
								BgL_test3982z00_7919 = ((bool_t) 0);
							}
					}
				else
					{	/* Llib/unicode.scm 371 */
						BgL_test3982z00_7919 = ((bool_t) 0);
					}
				if (BgL_test3982z00_7919)
					{	/* Llib/unicode.scm 371 */
						BGL_TAIL return
							c_subucs2_string(BgL_ucs2zd2stringzd2_46, BgL_startz00_47,
							BgL_endz00_48);
					}
				else
					{	/* Llib/unicode.scm 379 */
						obj_t BgL_arg1285z00_7254;

						BgL_arg1285z00_7254 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_47), BINT(BgL_endz00_48));
						return
							BGl_errorz00zz__errorz00(BGl_string3677z00zz__unicodez00,
							BGl_string3678z00zz__unicodez00, BgL_arg1285z00_7254);
					}
			}
		}

	}



/* &ucs2-substring */
	obj_t BGl_z62ucs2zd2substringzb0zz__unicodez00(obj_t BgL_envz00_6910,
		obj_t BgL_ucs2zd2stringzd2_6911, obj_t BgL_startz00_6912,
		obj_t BgL_endz00_6913)
	{
		{	/* Llib/unicode.scm 369 */
			{	/* Llib/unicode.scm 371 */
				int BgL_auxz00_7960;
				int BgL_auxz00_7951;
				obj_t BgL_auxz00_7944;

				{	/* Llib/unicode.scm 371 */
					obj_t BgL_tmpz00_7961;

					if (INTEGERP(BgL_endz00_6913))
						{	/* Llib/unicode.scm 371 */
							BgL_tmpz00_7961 = BgL_endz00_6913;
						}
					else
						{
							obj_t BgL_auxz00_7964;

							BgL_auxz00_7964 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(17426L), BGl_string3681z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_endz00_6913);
							FAILURE(BgL_auxz00_7964, BFALSE, BFALSE);
						}
					BgL_auxz00_7960 = CINT(BgL_tmpz00_7961);
				}
				{	/* Llib/unicode.scm 371 */
					obj_t BgL_tmpz00_7952;

					if (INTEGERP(BgL_startz00_6912))
						{	/* Llib/unicode.scm 371 */
							BgL_tmpz00_7952 = BgL_startz00_6912;
						}
					else
						{
							obj_t BgL_auxz00_7955;

							BgL_auxz00_7955 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(17426L), BGl_string3681z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_startz00_6912);
							FAILURE(BgL_auxz00_7955, BFALSE, BFALSE);
						}
					BgL_auxz00_7951 = CINT(BgL_tmpz00_7952);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6911))
					{	/* Llib/unicode.scm 371 */
						BgL_auxz00_7944 = BgL_ucs2zd2stringzd2_6911;
					}
				else
					{
						obj_t BgL_auxz00_7947;

						BgL_auxz00_7947 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(17426L), BGl_string3681z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6911);
						FAILURE(BgL_auxz00_7947, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2substringzd2zz__unicodez00(BgL_auxz00_7944,
					BgL_auxz00_7951, BgL_auxz00_7960);
			}
		}

	}



/* ucs2-substring-ur */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2substringzd2urz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_49, int BgL_startz00_50, int BgL_endz00_51)
	{
		{	/* Llib/unicode.scm 384 */
			BGL_TAIL return
				c_subucs2_string(BgL_ucs2zd2stringzd2_49, BgL_startz00_50,
				BgL_endz00_51);
		}

	}



/* &ucs2-substring-ur */
	obj_t BGl_z62ucs2zd2substringzd2urz62zz__unicodez00(obj_t BgL_envz00_6914,
		obj_t BgL_ucs2zd2stringzd2_6915, obj_t BgL_startz00_6916,
		obj_t BgL_endz00_6917)
	{
		{	/* Llib/unicode.scm 384 */
			{	/* Llib/unicode.scm 385 */
				int BgL_auxz00_7987;
				int BgL_auxz00_7978;
				obj_t BgL_auxz00_7971;

				{	/* Llib/unicode.scm 385 */
					obj_t BgL_tmpz00_7988;

					if (INTEGERP(BgL_endz00_6917))
						{	/* Llib/unicode.scm 385 */
							BgL_tmpz00_7988 = BgL_endz00_6917;
						}
					else
						{
							obj_t BgL_auxz00_7991;

							BgL_auxz00_7991 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(18030L), BGl_string3682z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_endz00_6917);
							FAILURE(BgL_auxz00_7991, BFALSE, BFALSE);
						}
					BgL_auxz00_7987 = CINT(BgL_tmpz00_7988);
				}
				{	/* Llib/unicode.scm 385 */
					obj_t BgL_tmpz00_7979;

					if (INTEGERP(BgL_startz00_6916))
						{	/* Llib/unicode.scm 385 */
							BgL_tmpz00_7979 = BgL_startz00_6916;
						}
					else
						{
							obj_t BgL_auxz00_7982;

							BgL_auxz00_7982 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(18030L), BGl_string3682z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_startz00_6916);
							FAILURE(BgL_auxz00_7982, BFALSE, BFALSE);
						}
					BgL_auxz00_7978 = CINT(BgL_tmpz00_7979);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6915))
					{	/* Llib/unicode.scm 385 */
						BgL_auxz00_7971 = BgL_ucs2zd2stringzd2_6915;
					}
				else
					{
						obj_t BgL_auxz00_7974;

						BgL_auxz00_7974 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(18030L), BGl_string3682z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6915);
						FAILURE(BgL_auxz00_7974, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2substringzd2urz00zz__unicodez00(BgL_auxz00_7971,
					BgL_auxz00_7978, BgL_auxz00_7987);
			}
		}

	}



/* ucs2-string-append */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2appendz00zz__unicodez00(obj_t
		BgL_listz00_52)
	{
		{	/* Llib/unicode.scm 390 */
			if (NULLP(BgL_listz00_52))
				{	/* Llib/unicode.scm 137 */
					ucs2_t BgL_fillerz00_1313;

					{	/* Llib/unicode.scm 137 */
						int BgL_tmpz00_7999;

						BgL_tmpz00_7999 =
							(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
						BgL_fillerz00_1313 = BGL_INT_TO_UCS2(BgL_tmpz00_7999);
					}
					{	/* Llib/unicode.scm 137 */

						return make_ucs2_string((int) (0L), BgL_fillerz00_1313);
				}}
			else
				{	/* Llib/unicode.scm 391 */
					BGL_TAIL return BGl_loopze73ze7zz__unicodez00(BgL_listz00_52);
				}
		}

	}



/* loop~3 */
	obj_t BGl_loopze73ze7zz__unicodez00(obj_t BgL_listz00_1315)
	{
		{	/* Llib/unicode.scm 393 */
			if (NULLP(CDR(((obj_t) BgL_listz00_1315))))
				{	/* Llib/unicode.scm 394 */
					return CAR(((obj_t) BgL_listz00_1315));
				}
			else
				{	/* Llib/unicode.scm 396 */
					obj_t BgL_arg1324z00_1319;
					obj_t BgL_arg1325z00_1320;

					BgL_arg1324z00_1319 = CAR(((obj_t) BgL_listz00_1315));
					{	/* Llib/unicode.scm 396 */
						obj_t BgL_arg1327z00_1321;

						BgL_arg1327z00_1321 = CDR(((obj_t) BgL_listz00_1315));
						BgL_arg1325z00_1320 =
							BGl_loopze73ze7zz__unicodez00(BgL_arg1327z00_1321);
					}
					return ucs2_string_append(BgL_arg1324z00_1319, BgL_arg1325z00_1320);
				}
		}

	}



/* &ucs2-string-append */
	obj_t BGl_z62ucs2zd2stringzd2appendz62zz__unicodez00(obj_t BgL_envz00_6918,
		obj_t BgL_listz00_6919)
	{
		{	/* Llib/unicode.scm 390 */
			return BGl_ucs2zd2stringzd2appendz00zz__unicodez00(BgL_listz00_6919);
		}

	}



/* list->ucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(obj_t
		BgL_listz00_53)
	{
		{	/* Llib/unicode.scm 401 */
			{	/* Llib/unicode.scm 402 */
				long BgL_lenz00_1324;

				BgL_lenz00_1324 = bgl_list_length(BgL_listz00_53);
				{	/* Llib/unicode.scm 402 */
					obj_t BgL_ucs2zd2stringzd2_1325;

					{	/* Llib/unicode.scm 137 */
						ucs2_t BgL_fillerz00_1336;

						{	/* Llib/unicode.scm 137 */
							int BgL_tmpz00_8022;

							BgL_tmpz00_8022 =
								(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
							BgL_fillerz00_1336 = BGL_INT_TO_UCS2(BgL_tmpz00_8022);
						}
						{	/* Llib/unicode.scm 137 */

							BgL_ucs2zd2stringzd2_1325 =
								make_ucs2_string((int) (BgL_lenz00_1324), BgL_fillerz00_1336);
					}}
					{	/* Llib/unicode.scm 403 */

						{
							long BgL_iz00_3616;
							obj_t BgL_lz00_3617;

							BgL_iz00_3616 = 0L;
							BgL_lz00_3617 = BgL_listz00_53;
						BgL_loopz00_3615:
							if ((BgL_iz00_3616 == BgL_lenz00_1324))
								{	/* Llib/unicode.scm 406 */
									return BgL_ucs2zd2stringzd2_1325;
								}
							else
								{	/* Llib/unicode.scm 406 */
									{	/* Llib/unicode.scm 409 */
										obj_t BgL_arg1333z00_3623;

										BgL_arg1333z00_3623 = CAR(((obj_t) BgL_lz00_3617));
										{	/* Llib/unicode.scm 409 */
											int BgL_kz00_3630;
											ucs2_t BgL_ucs2z00_3631;

											BgL_kz00_3630 = (int) (BgL_iz00_3616);
											BgL_ucs2z00_3631 = CUCS2(BgL_arg1333z00_3623);
											{	/* Llib/unicode.scm 264 */
												bool_t BgL_test3994z00_8036;

												{	/* Llib/unicode.scm 264 */
													long BgL_auxz00_8039;
													long BgL_tmpz00_8037;

													BgL_auxz00_8039 =
														(long) (UCS2_STRING_LENGTH
														(BgL_ucs2zd2stringzd2_1325));
													BgL_tmpz00_8037 = (long) (BgL_kz00_3630);
													BgL_test3994z00_8036 =
														BOUND_CHECK(BgL_tmpz00_8037, BgL_auxz00_8039);
												}
												if (BgL_test3994z00_8036)
													{	/* Llib/unicode.scm 264 */
														UCS2_STRING_SET(BgL_ucs2zd2stringzd2_1325,
															BgL_kz00_3630, BgL_ucs2z00_3631);
													}
												else
													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1237z00_3634;

														{	/* Llib/unicode.scm 269 */
															obj_t BgL_arg1240z00_3635;

															{	/* Llib/unicode.scm 269 */

																BgL_arg1240z00_3635 =
																	BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																	(((long) (UCS2_STRING_LENGTH
																			(BgL_ucs2zd2stringzd2_1325)) - 1L), 10L);
															}
															BgL_arg1237z00_3634 =
																string_append_3(BGl_string3657z00zz__unicodez00,
																BgL_arg1240z00_3635,
																BGl_string3658z00zz__unicodez00);
														}
														BGl_errorz00zz__errorz00
															(BGl_symbol3662z00zz__unicodez00,
															BgL_arg1237z00_3634, BINT(BgL_kz00_3630));
									}}}}
									{	/* Llib/unicode.scm 410 */
										long BgL_arg1334z00_3624;
										obj_t BgL_arg1335z00_3625;

										BgL_arg1334z00_3624 = (BgL_iz00_3616 + 1L);
										BgL_arg1335z00_3625 = CDR(((obj_t) BgL_lz00_3617));
										{
											obj_t BgL_lz00_8055;
											long BgL_iz00_8054;

											BgL_iz00_8054 = BgL_arg1334z00_3624;
											BgL_lz00_8055 = BgL_arg1335z00_3625;
											BgL_lz00_3617 = BgL_lz00_8055;
											BgL_iz00_3616 = BgL_iz00_8054;
											goto BgL_loopz00_3615;
										}
									}
								}
						}
					}
				}
			}
		}

	}



/* &list->ucs2-string */
	obj_t BGl_z62listzd2ze3ucs2zd2stringz81zz__unicodez00(obj_t BgL_envz00_6920,
		obj_t BgL_listz00_6921)
	{
		{	/* Llib/unicode.scm 401 */
			return BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(BgL_listz00_6921);
		}

	}



/* ucs2-string->list */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2ze3listze3zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_54)
	{
		{	/* Llib/unicode.scm 415 */
			{	/* Llib/unicode.scm 416 */
				int BgL_lenz00_1337;

				BgL_lenz00_1337 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_54);
				{
					long BgL_iz00_3689;
					obj_t BgL_accz00_3690;

					BgL_iz00_3689 = 0L;
					BgL_accz00_3690 = BNIL;
				BgL_loopz00_3688:
					if ((BgL_iz00_3689 == (long) (BgL_lenz00_1337)))
						{	/* Llib/unicode.scm 419 */
							return bgl_reverse_bang(BgL_accz00_3690);
						}
					else
						{	/* Llib/unicode.scm 421 */
							long BgL_arg1338z00_3696;
							obj_t BgL_arg1339z00_3697;

							BgL_arg1338z00_3696 = (BgL_iz00_3689 + 1L);
							{	/* Llib/unicode.scm 422 */
								ucs2_t BgL_arg1341z00_3698;

								{	/* Llib/unicode.scm 422 */
									ucs2_t BgL_res3341z00_3715;

									{	/* Llib/unicode.scm 422 */
										int BgL_kz00_3703;

										BgL_kz00_3703 = (int) (BgL_iz00_3689);
										{	/* Llib/unicode.scm 251 */
											bool_t BgL_test3996z00_8064;

											{	/* Llib/unicode.scm 251 */
												long BgL_auxz00_8067;
												long BgL_tmpz00_8065;

												BgL_auxz00_8067 =
													(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_54));
												BgL_tmpz00_8065 = (long) (BgL_kz00_3703);
												BgL_test3996z00_8064 =
													BOUND_CHECK(BgL_tmpz00_8065, BgL_auxz00_8067);
											}
											if (BgL_test3996z00_8064)
												{	/* Llib/unicode.scm 251 */
													BgL_res3341z00_3715 =
														UCS2_STRING_REF(BgL_ucs2zd2stringzd2_54,
														BgL_kz00_3703);
												}
											else
												{	/* Llib/unicode.scm 256 */
													obj_t BgL_arg1224z00_3706;

													{	/* Llib/unicode.scm 256 */
														obj_t BgL_arg1225z00_3707;

														{	/* Llib/unicode.scm 256 */

															BgL_arg1225z00_3707 =
																BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																(((long) (UCS2_STRING_LENGTH
																		(BgL_ucs2zd2stringzd2_54)) - 1L), 10L);
														}
														BgL_arg1224z00_3706 =
															string_append_3(BGl_string3657z00zz__unicodez00,
															BgL_arg1225z00_3707,
															BGl_string3658z00zz__unicodez00);
													}
													BgL_res3341z00_3715 =
														CUCS2(BGl_errorz00zz__errorz00
														(BGl_symbol3659z00zz__unicodez00,
															BgL_arg1224z00_3706, BINT(BgL_kz00_3703)));
									}}}
									BgL_arg1341z00_3698 = BgL_res3341z00_3715;
								}
								BgL_arg1339z00_3697 =
									MAKE_YOUNG_PAIR(BUCS2(BgL_arg1341z00_3698), BgL_accz00_3690);
							}
							{
								obj_t BgL_accz00_8083;
								long BgL_iz00_8082;

								BgL_iz00_8082 = BgL_arg1338z00_3696;
								BgL_accz00_8083 = BgL_arg1339z00_3697;
								BgL_accz00_3690 = BgL_accz00_8083;
								BgL_iz00_3689 = BgL_iz00_8082;
								goto BgL_loopz00_3688;
							}
						}
				}
			}
		}

	}



/* &ucs2-string->list */
	obj_t BGl_z62ucs2zd2stringzd2ze3listz81zz__unicodez00(obj_t BgL_envz00_6922,
		obj_t BgL_ucs2zd2stringzd2_6923)
	{
		{	/* Llib/unicode.scm 415 */
			{	/* Llib/unicode.scm 416 */
				obj_t BgL_auxz00_8084;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6923))
					{	/* Llib/unicode.scm 416 */
						BgL_auxz00_8084 = BgL_ucs2zd2stringzd2_6923;
					}
				else
					{
						obj_t BgL_auxz00_8087;

						BgL_auxz00_8087 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(19272L), BGl_string3683z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6923);
						FAILURE(BgL_auxz00_8087, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2ze3listze3zz__unicodez00(BgL_auxz00_8084);
			}
		}

	}



/* ucs2-string-copy */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2copyz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_55)
	{
		{	/* Llib/unicode.scm 428 */
			BGL_TAIL return c_ucs2_string_copy(BgL_ucs2zd2stringzd2_55);
		}

	}



/* &ucs2-string-copy */
	obj_t BGl_z62ucs2zd2stringzd2copyz62zz__unicodez00(obj_t BgL_envz00_6924,
		obj_t BgL_ucs2zd2stringzd2_6925)
	{
		{	/* Llib/unicode.scm 428 */
			{	/* Llib/unicode.scm 429 */
				obj_t BgL_auxz00_8093;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6925))
					{	/* Llib/unicode.scm 429 */
						BgL_auxz00_8093 = BgL_ucs2zd2stringzd2_6925;
					}
				else
					{
						obj_t BgL_auxz00_8096;

						BgL_auxz00_8096 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(19747L), BGl_string3684z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6925);
						FAILURE(BgL_auxz00_8096, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2copyz00zz__unicodez00(BgL_auxz00_8093);
			}
		}

	}



/* ucs2-string-fill! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2fillz12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_56, ucs2_t BgL_ucs2z00_57)
	{
		{	/* Llib/unicode.scm 434 */
			{	/* Llib/unicode.scm 435 */
				int BgL_lenz00_3716;

				BgL_lenz00_3716 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_56);
				{
					long BgL_iz00_3761;

					BgL_iz00_3761 = 0L;
				BgL_loopz00_3760:
					if ((BgL_iz00_3761 == (long) (BgL_lenz00_3716)))
						{	/* Llib/unicode.scm 437 */
							return BgL_ucs2zd2stringzd2_56;
						}
					else
						{	/* Llib/unicode.scm 437 */
							{	/* Llib/unicode.scm 440 */
								int BgL_kz00_3769;

								BgL_kz00_3769 = (int) (BgL_iz00_3761);
								{	/* Llib/unicode.scm 264 */
									bool_t BgL_test4000z00_8106;

									{	/* Llib/unicode.scm 264 */
										long BgL_auxz00_8109;
										long BgL_tmpz00_8107;

										BgL_auxz00_8109 =
											(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_56));
										BgL_tmpz00_8107 = (long) (BgL_kz00_3769);
										BgL_test4000z00_8106 =
											BOUND_CHECK(BgL_tmpz00_8107, BgL_auxz00_8109);
									}
									if (BgL_test4000z00_8106)
										{	/* Llib/unicode.scm 264 */
											UCS2_STRING_SET(BgL_ucs2zd2stringzd2_56, BgL_kz00_3769,
												BgL_ucs2z00_57);
										}
									else
										{	/* Llib/unicode.scm 269 */
											obj_t BgL_arg1237z00_3773;

											{	/* Llib/unicode.scm 269 */
												obj_t BgL_arg1240z00_3774;

												{	/* Llib/unicode.scm 269 */

													BgL_arg1240z00_3774 =
														BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
														(((long) (UCS2_STRING_LENGTH
																(BgL_ucs2zd2stringzd2_56)) - 1L), 10L);
												}
												BgL_arg1237z00_3773 =
													string_append_3(BGl_string3657z00zz__unicodez00,
													BgL_arg1240z00_3774, BGl_string3658z00zz__unicodez00);
											}
											BGl_errorz00zz__errorz00(BGl_symbol3662z00zz__unicodez00,
												BgL_arg1237z00_3773, BINT(BgL_kz00_3769));
							}}}
							{
								long BgL_iz00_8121;

								BgL_iz00_8121 = (BgL_iz00_3761 + 1L);
								BgL_iz00_3761 = BgL_iz00_8121;
								goto BgL_loopz00_3760;
							}
						}
				}
			}
		}

	}



/* &ucs2-string-fill! */
	obj_t BGl_z62ucs2zd2stringzd2fillz12z70zz__unicodez00(obj_t BgL_envz00_6926,
		obj_t BgL_ucs2zd2stringzd2_6927, obj_t BgL_ucs2z00_6928)
	{
		{	/* Llib/unicode.scm 434 */
			{	/* Llib/unicode.scm 435 */
				ucs2_t BgL_auxz00_8130;
				obj_t BgL_auxz00_8123;

				{	/* Llib/unicode.scm 435 */
					obj_t BgL_tmpz00_8131;

					if (UCS2P(BgL_ucs2z00_6928))
						{	/* Llib/unicode.scm 435 */
							BgL_tmpz00_8131 = BgL_ucs2z00_6928;
						}
					else
						{
							obj_t BgL_auxz00_8134;

							BgL_auxz00_8134 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(20052L), BGl_string3685z00zz__unicodez00,
								BGl_string3654z00zz__unicodez00, BgL_ucs2z00_6928);
							FAILURE(BgL_auxz00_8134, BFALSE, BFALSE);
						}
					BgL_auxz00_8130 = CUCS2(BgL_tmpz00_8131);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6927))
					{	/* Llib/unicode.scm 435 */
						BgL_auxz00_8123 = BgL_ucs2zd2stringzd2_6927;
					}
				else
					{
						obj_t BgL_auxz00_8126;

						BgL_auxz00_8126 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(20052L), BGl_string3685z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6927);
						FAILURE(BgL_auxz00_8126, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2fillz12z12zz__unicodez00(BgL_auxz00_8123,
					BgL_auxz00_8130);
			}
		}

	}



/* ucs2-string-upcase */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2upcasez00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_58)
	{
		{	/* Llib/unicode.scm 446 */
			{	/* Llib/unicode.scm 447 */
				int BgL_lenz00_1355;

				BgL_lenz00_1355 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_58);
				{	/* Llib/unicode.scm 447 */
					obj_t BgL_resz00_1356;

					{	/* Llib/unicode.scm 137 */
						ucs2_t BgL_fillerz00_1366;

						{	/* Llib/unicode.scm 137 */
							int BgL_tmpz00_8141;

							BgL_tmpz00_8141 =
								(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
							BgL_fillerz00_1366 = BGL_INT_TO_UCS2(BgL_tmpz00_8141);
						}
						{	/* Llib/unicode.scm 137 */

							BgL_resz00_1356 =
								make_ucs2_string(BgL_lenz00_1355, BgL_fillerz00_1366);
					}}
					{	/* Llib/unicode.scm 448 */

						{
							long BgL_iz00_3823;

							BgL_iz00_3823 = 0L;
						BgL_loopz00_3822:
							if ((BgL_iz00_3823 == (long) (BgL_lenz00_1355)))
								{	/* Llib/unicode.scm 450 */
									return BgL_resz00_1356;
								}
							else
								{	/* Llib/unicode.scm 450 */
									{	/* Llib/unicode.scm 454 */
										ucs2_t BgL_arg1347z00_3827;

										{	/* Llib/unicode.scm 454 */
											ucs2_t BgL_arg1348z00_3828;

											{	/* Llib/unicode.scm 454 */
												ucs2_t BgL_res3342z00_3829;

												{	/* Llib/unicode.scm 454 */
													int BgL_kz00_3831;

													BgL_kz00_3831 = (int) (BgL_iz00_3823);
													{	/* Llib/unicode.scm 251 */
														bool_t BgL_test4004z00_8152;

														{	/* Llib/unicode.scm 251 */
															long BgL_auxz00_8155;
															long BgL_tmpz00_8153;

															BgL_auxz00_8155 =
																(long) (UCS2_STRING_LENGTH
																(BgL_ucs2zd2stringzd2_58));
															BgL_tmpz00_8153 = (long) (BgL_kz00_3831);
															BgL_test4004z00_8152 =
																BOUND_CHECK(BgL_tmpz00_8153, BgL_auxz00_8155);
														}
														if (BgL_test4004z00_8152)
															{	/* Llib/unicode.scm 251 */
																BgL_res3342z00_3829 =
																	UCS2_STRING_REF(BgL_ucs2zd2stringzd2_58,
																	BgL_kz00_3831);
															}
														else
															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1224z00_3835;

																{	/* Llib/unicode.scm 256 */
																	obj_t BgL_arg1225z00_3836;

																	{	/* Llib/unicode.scm 256 */

																		BgL_arg1225z00_3836 =
																			BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																			(((long) (UCS2_STRING_LENGTH
																					(BgL_ucs2zd2stringzd2_58)) - 1L),
																			10L);
																	}
																	BgL_arg1224z00_3835 =
																		string_append_3
																		(BGl_string3657z00zz__unicodez00,
																		BgL_arg1225z00_3836,
																		BGl_string3658z00zz__unicodez00);
																}
																BgL_res3342z00_3829 =
																	CUCS2(BGl_errorz00zz__errorz00
																	(BGl_symbol3659z00zz__unicodez00,
																		BgL_arg1224z00_3835, BINT(BgL_kz00_3831)));
												}}}
												BgL_arg1348z00_3828 = BgL_res3342z00_3829;
											}
											BgL_arg1347z00_3827 = ucs2_toupper(BgL_arg1348z00_3828);
										}
										{	/* Llib/unicode.scm 453 */
											int BgL_kz00_3845;

											BgL_kz00_3845 = (int) (BgL_iz00_3823);
											{	/* Llib/unicode.scm 264 */
												bool_t BgL_test4005z00_8170;

												{	/* Llib/unicode.scm 264 */
													long BgL_auxz00_8173;
													long BgL_tmpz00_8171;

													BgL_auxz00_8173 =
														(long) (UCS2_STRING_LENGTH(BgL_resz00_1356));
													BgL_tmpz00_8171 = (long) (BgL_kz00_3845);
													BgL_test4005z00_8170 =
														BOUND_CHECK(BgL_tmpz00_8171, BgL_auxz00_8173);
												}
												if (BgL_test4005z00_8170)
													{	/* Llib/unicode.scm 264 */
														UCS2_STRING_SET(BgL_resz00_1356, BgL_kz00_3845,
															BgL_arg1347z00_3827);
													}
												else
													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1237z00_3850;

														{	/* Llib/unicode.scm 269 */
															obj_t BgL_arg1240z00_3851;

															{	/* Llib/unicode.scm 269 */

																BgL_arg1240z00_3851 =
																	BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																	(((long) (UCS2_STRING_LENGTH(BgL_resz00_1356))
																		- 1L), 10L);
															}
															BgL_arg1237z00_3850 =
																string_append_3(BGl_string3657z00zz__unicodez00,
																BgL_arg1240z00_3851,
																BGl_string3658z00zz__unicodez00);
														}
														BGl_errorz00zz__errorz00
															(BGl_symbol3662z00zz__unicodez00,
															BgL_arg1237z00_3850, BINT(BgL_kz00_3845));
									}}}}
									{
										long BgL_iz00_8185;

										BgL_iz00_8185 = (BgL_iz00_3823 + 1L);
										BgL_iz00_3823 = BgL_iz00_8185;
										goto BgL_loopz00_3822;
									}
								}
						}
					}
				}
			}
		}

	}



/* &ucs2-string-upcase */
	obj_t BGl_z62ucs2zd2stringzd2upcasez62zz__unicodez00(obj_t BgL_envz00_6929,
		obj_t BgL_ucs2zd2stringzd2_6930)
	{
		{	/* Llib/unicode.scm 446 */
			{	/* Llib/unicode.scm 447 */
				obj_t BgL_auxz00_8187;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6930))
					{	/* Llib/unicode.scm 447 */
						BgL_auxz00_8187 = BgL_ucs2zd2stringzd2_6930;
					}
				else
					{
						obj_t BgL_auxz00_8190;

						BgL_auxz00_8190 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(20502L), BGl_string3686z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6930);
						FAILURE(BgL_auxz00_8190, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2upcasez00zz__unicodez00(BgL_auxz00_8187);
			}
		}

	}



/* ucs2-string-downcase */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2downcasez00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_59)
	{
		{	/* Llib/unicode.scm 460 */
			{	/* Llib/unicode.scm 461 */
				int BgL_lenz00_1367;

				BgL_lenz00_1367 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_59);
				{	/* Llib/unicode.scm 461 */
					obj_t BgL_resz00_1368;

					{	/* Llib/unicode.scm 137 */
						ucs2_t BgL_fillerz00_1378;

						{	/* Llib/unicode.scm 137 */
							int BgL_tmpz00_8196;

							BgL_tmpz00_8196 =
								(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
							BgL_fillerz00_1378 = BGL_INT_TO_UCS2(BgL_tmpz00_8196);
						}
						{	/* Llib/unicode.scm 137 */

							BgL_resz00_1368 =
								make_ucs2_string(BgL_lenz00_1367, BgL_fillerz00_1378);
					}}
					{	/* Llib/unicode.scm 462 */

						{
							long BgL_iz00_3900;

							BgL_iz00_3900 = 0L;
						BgL_loopz00_3899:
							if ((BgL_iz00_3900 == (long) (BgL_lenz00_1367)))
								{	/* Llib/unicode.scm 464 */
									return BgL_resz00_1368;
								}
							else
								{	/* Llib/unicode.scm 464 */
									{	/* Llib/unicode.scm 468 */
										ucs2_t BgL_arg1352z00_3904;

										{	/* Llib/unicode.scm 468 */
											ucs2_t BgL_arg1353z00_3905;

											{	/* Llib/unicode.scm 468 */
												ucs2_t BgL_res3343z00_3906;

												{	/* Llib/unicode.scm 468 */
													int BgL_kz00_3908;

													BgL_kz00_3908 = (int) (BgL_iz00_3900);
													{	/* Llib/unicode.scm 251 */
														bool_t BgL_test4008z00_8207;

														{	/* Llib/unicode.scm 251 */
															long BgL_auxz00_8210;
															long BgL_tmpz00_8208;

															BgL_auxz00_8210 =
																(long) (UCS2_STRING_LENGTH
																(BgL_ucs2zd2stringzd2_59));
															BgL_tmpz00_8208 = (long) (BgL_kz00_3908);
															BgL_test4008z00_8207 =
																BOUND_CHECK(BgL_tmpz00_8208, BgL_auxz00_8210);
														}
														if (BgL_test4008z00_8207)
															{	/* Llib/unicode.scm 251 */
																BgL_res3343z00_3906 =
																	UCS2_STRING_REF(BgL_ucs2zd2stringzd2_59,
																	BgL_kz00_3908);
															}
														else
															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1224z00_3912;

																{	/* Llib/unicode.scm 256 */
																	obj_t BgL_arg1225z00_3913;

																	{	/* Llib/unicode.scm 256 */

																		BgL_arg1225z00_3913 =
																			BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																			(((long) (UCS2_STRING_LENGTH
																					(BgL_ucs2zd2stringzd2_59)) - 1L),
																			10L);
																	}
																	BgL_arg1224z00_3912 =
																		string_append_3
																		(BGl_string3657z00zz__unicodez00,
																		BgL_arg1225z00_3913,
																		BGl_string3658z00zz__unicodez00);
																}
																BgL_res3343z00_3906 =
																	CUCS2(BGl_errorz00zz__errorz00
																	(BGl_symbol3659z00zz__unicodez00,
																		BgL_arg1224z00_3912, BINT(BgL_kz00_3908)));
												}}}
												BgL_arg1353z00_3905 = BgL_res3343z00_3906;
											}
											BgL_arg1352z00_3904 = ucs2_tolower(BgL_arg1353z00_3905);
										}
										{	/* Llib/unicode.scm 467 */
											int BgL_kz00_3922;

											BgL_kz00_3922 = (int) (BgL_iz00_3900);
											{	/* Llib/unicode.scm 264 */
												bool_t BgL_test4009z00_8225;

												{	/* Llib/unicode.scm 264 */
													long BgL_auxz00_8228;
													long BgL_tmpz00_8226;

													BgL_auxz00_8228 =
														(long) (UCS2_STRING_LENGTH(BgL_resz00_1368));
													BgL_tmpz00_8226 = (long) (BgL_kz00_3922);
													BgL_test4009z00_8225 =
														BOUND_CHECK(BgL_tmpz00_8226, BgL_auxz00_8228);
												}
												if (BgL_test4009z00_8225)
													{	/* Llib/unicode.scm 264 */
														UCS2_STRING_SET(BgL_resz00_1368, BgL_kz00_3922,
															BgL_arg1352z00_3904);
													}
												else
													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1237z00_3927;

														{	/* Llib/unicode.scm 269 */
															obj_t BgL_arg1240z00_3928;

															{	/* Llib/unicode.scm 269 */

																BgL_arg1240z00_3928 =
																	BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																	(((long) (UCS2_STRING_LENGTH(BgL_resz00_1368))
																		- 1L), 10L);
															}
															BgL_arg1237z00_3927 =
																string_append_3(BGl_string3657z00zz__unicodez00,
																BgL_arg1240z00_3928,
																BGl_string3658z00zz__unicodez00);
														}
														BGl_errorz00zz__errorz00
															(BGl_symbol3662z00zz__unicodez00,
															BgL_arg1237z00_3927, BINT(BgL_kz00_3922));
									}}}}
									{
										long BgL_iz00_8240;

										BgL_iz00_8240 = (BgL_iz00_3900 + 1L);
										BgL_iz00_3900 = BgL_iz00_8240;
										goto BgL_loopz00_3899;
									}
								}
						}
					}
				}
			}
		}

	}



/* &ucs2-string-downcase */
	obj_t BGl_z62ucs2zd2stringzd2downcasez62zz__unicodez00(obj_t BgL_envz00_6931,
		obj_t BgL_ucs2zd2stringzd2_6932)
	{
		{	/* Llib/unicode.scm 460 */
			{	/* Llib/unicode.scm 461 */
				obj_t BgL_auxz00_8242;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6932))
					{	/* Llib/unicode.scm 461 */
						BgL_auxz00_8242 = BgL_ucs2zd2stringzd2_6932;
					}
				else
					{
						obj_t BgL_auxz00_8245;

						BgL_auxz00_8245 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(21017L), BGl_string3687z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6932);
						FAILURE(BgL_auxz00_8245, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2downcasez00zz__unicodez00(BgL_auxz00_8242);
			}
		}

	}



/* ucs2-string-upcase! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2upcasez12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_60)
	{
		{	/* Llib/unicode.scm 474 */
			{	/* Llib/unicode.scm 475 */
				int BgL_lenz00_1379;

				BgL_lenz00_1379 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_60);
				{	/* Llib/unicode.scm 476 */

					{
						long BgL_iz00_3971;

						BgL_iz00_3971 = 0L;
					BgL_loopz00_3970:
						if ((BgL_iz00_3971 == (long) (BgL_lenz00_1379)))
							{	/* Llib/unicode.scm 478 */
								return BgL_ucs2zd2stringzd2_60;
							}
						else
							{	/* Llib/unicode.scm 478 */
								{	/* Llib/unicode.scm 482 */
									ucs2_t BgL_arg1357z00_3975;

									{	/* Llib/unicode.scm 482 */
										ucs2_t BgL_arg1358z00_3976;

										{	/* Llib/unicode.scm 482 */
											ucs2_t BgL_res3344z00_3977;

											{	/* Llib/unicode.scm 482 */
												int BgL_kz00_3979;

												BgL_kz00_3979 = (int) (BgL_iz00_3971);
												{	/* Llib/unicode.scm 251 */
													bool_t BgL_test4012z00_8255;

													{	/* Llib/unicode.scm 251 */
														long BgL_auxz00_8258;
														long BgL_tmpz00_8256;

														BgL_auxz00_8258 =
															(long) (UCS2_STRING_LENGTH
															(BgL_ucs2zd2stringzd2_60));
														BgL_tmpz00_8256 = (long) (BgL_kz00_3979);
														BgL_test4012z00_8255 =
															BOUND_CHECK(BgL_tmpz00_8256, BgL_auxz00_8258);
													}
													if (BgL_test4012z00_8255)
														{	/* Llib/unicode.scm 251 */
															BgL_res3344z00_3977 =
																UCS2_STRING_REF(BgL_ucs2zd2stringzd2_60,
																BgL_kz00_3979);
														}
													else
														{	/* Llib/unicode.scm 256 */
															obj_t BgL_arg1224z00_3983;

															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1225z00_3984;

																{	/* Llib/unicode.scm 256 */

																	BgL_arg1225z00_3984 =
																		BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																		(((long) (UCS2_STRING_LENGTH
																				(BgL_ucs2zd2stringzd2_60)) - 1L), 10L);
																}
																BgL_arg1224z00_3983 =
																	string_append_3
																	(BGl_string3657z00zz__unicodez00,
																	BgL_arg1225z00_3984,
																	BGl_string3658z00zz__unicodez00);
															}
															BgL_res3344z00_3977 =
																CUCS2(BGl_errorz00zz__errorz00
																(BGl_symbol3659z00zz__unicodez00,
																	BgL_arg1224z00_3983, BINT(BgL_kz00_3979)));
											}}}
											BgL_arg1358z00_3976 = BgL_res3344z00_3977;
										}
										BgL_arg1357z00_3975 = ucs2_toupper(BgL_arg1358z00_3976);
									}
									{	/* Llib/unicode.scm 481 */
										int BgL_kz00_3993;

										BgL_kz00_3993 = (int) (BgL_iz00_3971);
										{	/* Llib/unicode.scm 264 */
											bool_t BgL_test4013z00_8273;

											{	/* Llib/unicode.scm 264 */
												long BgL_auxz00_8276;
												long BgL_tmpz00_8274;

												BgL_auxz00_8276 =
													(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_60));
												BgL_tmpz00_8274 = (long) (BgL_kz00_3993);
												BgL_test4013z00_8273 =
													BOUND_CHECK(BgL_tmpz00_8274, BgL_auxz00_8276);
											}
											if (BgL_test4013z00_8273)
												{	/* Llib/unicode.scm 264 */
													UCS2_STRING_SET(BgL_ucs2zd2stringzd2_60,
														BgL_kz00_3993, BgL_arg1357z00_3975);
												}
											else
												{	/* Llib/unicode.scm 269 */
													obj_t BgL_arg1237z00_3998;

													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1240z00_3999;

														{	/* Llib/unicode.scm 269 */

															BgL_arg1240z00_3999 =
																BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																(((long) (UCS2_STRING_LENGTH
																		(BgL_ucs2zd2stringzd2_60)) - 1L), 10L);
														}
														BgL_arg1237z00_3998 =
															string_append_3(BGl_string3657z00zz__unicodez00,
															BgL_arg1240z00_3999,
															BGl_string3658z00zz__unicodez00);
													}
													BGl_errorz00zz__errorz00
														(BGl_symbol3662z00zz__unicodez00,
														BgL_arg1237z00_3998, BINT(BgL_kz00_3993));
								}}}}
								{
									long BgL_iz00_8288;

									BgL_iz00_8288 = (BgL_iz00_3971 + 1L);
									BgL_iz00_3971 = BgL_iz00_8288;
									goto BgL_loopz00_3970;
								}
							}
					}
				}
			}
		}

	}



/* &ucs2-string-upcase! */
	obj_t BGl_z62ucs2zd2stringzd2upcasez12z70zz__unicodez00(obj_t BgL_envz00_6933,
		obj_t BgL_ucs2zd2stringzd2_6934)
	{
		{	/* Llib/unicode.scm 474 */
			{	/* Llib/unicode.scm 475 */
				obj_t BgL_auxz00_8290;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6934))
					{	/* Llib/unicode.scm 475 */
						BgL_auxz00_8290 = BgL_ucs2zd2stringzd2_6934;
					}
				else
					{
						obj_t BgL_auxz00_8293;

						BgL_auxz00_8293 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(21533L), BGl_string3688z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6934);
						FAILURE(BgL_auxz00_8293, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2upcasez12z12zz__unicodez00(BgL_auxz00_8290);
			}
		}

	}



/* ucs2-string-downcase! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2downcasez12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_61)
	{
		{	/* Llib/unicode.scm 488 */
			{	/* Llib/unicode.scm 489 */
				int BgL_lenz00_1389;

				BgL_lenz00_1389 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_61);
				{	/* Llib/unicode.scm 490 */

					{
						long BgL_iz00_4042;

						BgL_iz00_4042 = 0L;
					BgL_loopz00_4041:
						if ((BgL_iz00_4042 == (long) (BgL_lenz00_1389)))
							{	/* Llib/unicode.scm 492 */
								return BgL_ucs2zd2stringzd2_61;
							}
						else
							{	/* Llib/unicode.scm 492 */
								{	/* Llib/unicode.scm 496 */
									ucs2_t BgL_arg1362z00_4046;

									{	/* Llib/unicode.scm 496 */
										ucs2_t BgL_arg1363z00_4047;

										{	/* Llib/unicode.scm 496 */
											ucs2_t BgL_res3345z00_4048;

											{	/* Llib/unicode.scm 496 */
												int BgL_kz00_4050;

												BgL_kz00_4050 = (int) (BgL_iz00_4042);
												{	/* Llib/unicode.scm 251 */
													bool_t BgL_test4016z00_8303;

													{	/* Llib/unicode.scm 251 */
														long BgL_auxz00_8306;
														long BgL_tmpz00_8304;

														BgL_auxz00_8306 =
															(long) (UCS2_STRING_LENGTH
															(BgL_ucs2zd2stringzd2_61));
														BgL_tmpz00_8304 = (long) (BgL_kz00_4050);
														BgL_test4016z00_8303 =
															BOUND_CHECK(BgL_tmpz00_8304, BgL_auxz00_8306);
													}
													if (BgL_test4016z00_8303)
														{	/* Llib/unicode.scm 251 */
															BgL_res3345z00_4048 =
																UCS2_STRING_REF(BgL_ucs2zd2stringzd2_61,
																BgL_kz00_4050);
														}
													else
														{	/* Llib/unicode.scm 256 */
															obj_t BgL_arg1224z00_4054;

															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1225z00_4055;

																{	/* Llib/unicode.scm 256 */

																	BgL_arg1225z00_4055 =
																		BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																		(((long) (UCS2_STRING_LENGTH
																				(BgL_ucs2zd2stringzd2_61)) - 1L), 10L);
																}
																BgL_arg1224z00_4054 =
																	string_append_3
																	(BGl_string3657z00zz__unicodez00,
																	BgL_arg1225z00_4055,
																	BGl_string3658z00zz__unicodez00);
															}
															BgL_res3345z00_4048 =
																CUCS2(BGl_errorz00zz__errorz00
																(BGl_symbol3659z00zz__unicodez00,
																	BgL_arg1224z00_4054, BINT(BgL_kz00_4050)));
											}}}
											BgL_arg1363z00_4047 = BgL_res3345z00_4048;
										}
										BgL_arg1362z00_4046 = ucs2_tolower(BgL_arg1363z00_4047);
									}
									{	/* Llib/unicode.scm 495 */
										int BgL_kz00_4064;

										BgL_kz00_4064 = (int) (BgL_iz00_4042);
										{	/* Llib/unicode.scm 264 */
											bool_t BgL_test4017z00_8321;

											{	/* Llib/unicode.scm 264 */
												long BgL_auxz00_8324;
												long BgL_tmpz00_8322;

												BgL_auxz00_8324 =
													(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_61));
												BgL_tmpz00_8322 = (long) (BgL_kz00_4064);
												BgL_test4017z00_8321 =
													BOUND_CHECK(BgL_tmpz00_8322, BgL_auxz00_8324);
											}
											if (BgL_test4017z00_8321)
												{	/* Llib/unicode.scm 264 */
													UCS2_STRING_SET(BgL_ucs2zd2stringzd2_61,
														BgL_kz00_4064, BgL_arg1362z00_4046);
												}
											else
												{	/* Llib/unicode.scm 269 */
													obj_t BgL_arg1237z00_4069;

													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1240z00_4070;

														{	/* Llib/unicode.scm 269 */

															BgL_arg1240z00_4070 =
																BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																(((long) (UCS2_STRING_LENGTH
																		(BgL_ucs2zd2stringzd2_61)) - 1L), 10L);
														}
														BgL_arg1237z00_4069 =
															string_append_3(BGl_string3657z00zz__unicodez00,
															BgL_arg1240z00_4070,
															BGl_string3658z00zz__unicodez00);
													}
													BGl_errorz00zz__errorz00
														(BGl_symbol3662z00zz__unicodez00,
														BgL_arg1237z00_4069, BINT(BgL_kz00_4064));
								}}}}
								{
									long BgL_iz00_8336;

									BgL_iz00_8336 = (BgL_iz00_4042 + 1L);
									BgL_iz00_4042 = BgL_iz00_8336;
									goto BgL_loopz00_4041;
								}
							}
					}
				}
			}
		}

	}



/* &ucs2-string-downcase! */
	obj_t BGl_z62ucs2zd2stringzd2downcasez12z70zz__unicodez00(obj_t
		BgL_envz00_6935, obj_t BgL_ucs2zd2stringzd2_6936)
	{
		{	/* Llib/unicode.scm 488 */
			{	/* Llib/unicode.scm 489 */
				obj_t BgL_auxz00_8338;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6936))
					{	/* Llib/unicode.scm 489 */
						BgL_auxz00_8338 = BgL_ucs2zd2stringzd2_6936;
					}
				else
					{
						obj_t BgL_auxz00_8341;

						BgL_auxz00_8341 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(22038L), BGl_string3689z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2zd2stringzd2_6936);
						FAILURE(BgL_auxz00_8341, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2downcasez12z12zz__unicodez00(BgL_auxz00_8338);
			}
		}

	}



/* ucs2-string->utf8-string */
	BGL_EXPORTED_DEF obj_t
		BGl_ucs2zd2stringzd2ze3utf8zd2stringz31zz__unicodez00(obj_t BgL_ucs2z00_62)
	{
		{	/* Llib/unicode.scm 502 */
			BGL_TAIL return ucs2_string_to_utf8_string(BgL_ucs2z00_62);
		}

	}



/* &ucs2-string->utf8-string */
	obj_t BGl_z62ucs2zd2stringzd2ze3utf8zd2stringz53zz__unicodez00(obj_t
		BgL_envz00_6937, obj_t BgL_ucs2z00_6938)
	{
		{	/* Llib/unicode.scm 502 */
			{	/* Llib/unicode.scm 503 */
				obj_t BgL_auxz00_8347;

				if (UCS2_STRINGP(BgL_ucs2z00_6938))
					{	/* Llib/unicode.scm 503 */
						BgL_auxz00_8347 = BgL_ucs2z00_6938;
					}
				else
					{
						obj_t BgL_auxz00_8350;

						BgL_auxz00_8350 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(22554L), BGl_string3690z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_ucs2z00_6938);
						FAILURE(BgL_auxz00_8350, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2ze3utf8zd2stringz31zz__unicodez00
					(BgL_auxz00_8347);
			}
		}

	}



/* inverse-utf8-table */
	BGL_EXPORTED_DEF obj_t BGl_inversezd2utf8zd2tablez00zz__unicodez00(obj_t
		BgL_tablez00_63)
	{
		{	/* Llib/unicode.scm 611 */
			{
				long BgL_iz00_1404;
				obj_t BgL_resz00_1405;

				BgL_iz00_1404 = 0L;
				BgL_resz00_1405 = BNIL;
			BgL_zc3z04anonymousza31365ze3z87_1406:
				if ((BgL_iz00_1404 == VECTOR_LENGTH(BgL_tablez00_63)))
					{	/* Llib/unicode.scm 636 */
						return BgL_resz00_1405;
					}
				else
					{	/* Llib/unicode.scm 638 */
						obj_t BgL_sz00_1408;

						BgL_sz00_1408 = VECTOR_REF(BgL_tablez00_63, BgL_iz00_1404);
						if ((STRING_LENGTH(((obj_t) BgL_sz00_1408)) > 0L))
							{
								obj_t BgL_resz00_8365;
								long BgL_iz00_8363;

								BgL_iz00_8363 = (BgL_iz00_1404 + 1L);
								BgL_resz00_8365 =
									BGl_addzd2tablezd2entryze70ze7zz__unicodez00(BgL_resz00_1405,
									BgL_sz00_1408, (128L + BgL_iz00_1404));
								BgL_resz00_1405 = BgL_resz00_8365;
								BgL_iz00_1404 = BgL_iz00_8363;
								goto BgL_zc3z04anonymousza31365ze3z87_1406;
							}
						else
							{
								long BgL_iz00_8368;

								BgL_iz00_8368 = (BgL_iz00_1404 + 1L);
								BgL_iz00_1404 = BgL_iz00_8368;
								goto BgL_zc3z04anonymousza31365ze3z87_1406;
							}
					}
			}
		}

	}



/* loop~1 */
	obj_t BGl_loopze71ze7zz__unicodez00(long BgL_lenz00_7022,
		long BgL_charz00_7021, obj_t BgL_sz00_7020, long BgL_iz00_1422)
	{
		{	/* Llib/unicode.scm 615 */
			if ((BgL_lenz00_7022 == BgL_iz00_1422))
				{	/* Llib/unicode.scm 616 */
					return BCHAR((BgL_charz00_7021));
				}
			else
				{	/* Llib/unicode.scm 618 */
					obj_t BgL_arg1377z00_1425;

					{	/* Llib/unicode.scm 618 */
						long BgL_arg1379z00_1427;
						obj_t BgL_arg1382z00_1428;

						BgL_arg1379z00_1427 =
							(STRING_REF(((obj_t) BgL_sz00_7020), BgL_iz00_1422));
						BgL_arg1382z00_1428 =
							BGl_loopze71ze7zz__unicodez00(BgL_lenz00_7022, BgL_charz00_7021,
							BgL_sz00_7020, (BgL_iz00_1422 + 1L));
						BgL_arg1377z00_1425 =
							MAKE_YOUNG_PAIR(BINT(BgL_arg1379z00_1427), BgL_arg1382z00_1428);
					}
					{	/* Llib/unicode.scm 618 */
						obj_t BgL_list1378z00_1426;

						BgL_list1378z00_1426 = MAKE_YOUNG_PAIR(BgL_arg1377z00_1425, BNIL);
						return BgL_list1378z00_1426;
					}
				}
		}

	}



/* make-table-entry~0 */
	obj_t BGl_makezd2tablezd2entryze70ze7zz__unicodez00(obj_t BgL_sz00_1417,
		long BgL_charz00_1418)
	{
		{	/* Llib/unicode.scm 618 */
			{	/* Llib/unicode.scm 614 */
				long BgL_lenz00_1420;

				BgL_lenz00_1420 = STRING_LENGTH(((obj_t) BgL_sz00_1417));
				return
					BGl_loopze71ze7zz__unicodez00(BgL_lenz00_1420, BgL_charz00_1418,
					BgL_sz00_1417, 0L);
			}
		}

	}



/* loop~2 */
	obj_t BGl_loopze72ze7zz__unicodez00(obj_t BgL_ez00_1438,
		obj_t BgL_tablez00_1439)
	{
		{	/* Llib/unicode.scm 621 */
			if (NULLP(BgL_ez00_1438))
				{	/* Llib/unicode.scm 623 */
					return BgL_tablez00_1439;
				}
			else
				{	/* Llib/unicode.scm 625 */
					obj_t BgL_nz00_1442;

					BgL_nz00_1442 = CAR(((obj_t) BgL_ez00_1438));
					{	/* Llib/unicode.scm 625 */
						obj_t BgL_oz00_1443;

						BgL_oz00_1443 =
							BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_nz00_1442,
							BgL_tablez00_1439);
						{	/* Llib/unicode.scm 626 */

							if (CBOOL(BgL_oz00_1443))
								{	/* Llib/unicode.scm 628 */
									obj_t BgL_stz00_1444;

									BgL_stz00_1444 = CDR(((obj_t) BgL_oz00_1443));
									{	/* Llib/unicode.scm 629 */
										obj_t BgL_arg1388z00_1445;

										{	/* Llib/unicode.scm 629 */
											obj_t BgL_arg1389z00_1446;

											{	/* Llib/unicode.scm 629 */
												obj_t BgL_pairz00_4094;

												BgL_pairz00_4094 = CDR(((obj_t) BgL_ez00_1438));
												BgL_arg1389z00_1446 = CAR(BgL_pairz00_4094);
											}
											BgL_arg1388z00_1445 =
												BGl_loopze72ze7zz__unicodez00(BgL_arg1389z00_1446,
												BgL_stz00_1444);
										}
										{	/* Llib/unicode.scm 629 */
											obj_t BgL_tmpz00_8398;

											BgL_tmpz00_8398 = ((obj_t) BgL_oz00_1443);
											SET_CDR(BgL_tmpz00_8398, BgL_arg1388z00_1445);
										}
									}
									return BgL_tablez00_1439;
								}
							else
								{	/* Llib/unicode.scm 627 */
									return MAKE_YOUNG_PAIR(BgL_ez00_1438, BgL_tablez00_1439);
								}
						}
					}
				}
		}

	}



/* add-table-entry~0 */
	obj_t BGl_addzd2tablezd2entryze70ze7zz__unicodez00(obj_t BgL_tablez00_1432,
		obj_t BgL_sz00_1433, long BgL_charz00_1434)
	{
		{	/* Llib/unicode.scm 631 */
			{	/* Llib/unicode.scm 621 */
				obj_t BgL_g1042z00_1436;

				{	/* Llib/unicode.scm 621 */
					obj_t BgL_arg1390z00_1448;

					BgL_arg1390z00_1448 =
						BGl_makezd2tablezd2entryze70ze7zz__unicodez00(BgL_sz00_1433,
						BgL_charz00_1434);
					BgL_g1042z00_1436 = CAR(((obj_t) BgL_arg1390z00_1448));
				}
				return
					BGl_loopze72ze7zz__unicodez00(BgL_g1042z00_1436, BgL_tablez00_1432);
			}
		}

	}



/* &inverse-utf8-table */
	obj_t BGl_z62inversezd2utf8zd2tablez62zz__unicodez00(obj_t BgL_envz00_6939,
		obj_t BgL_tablez00_6940)
	{
		{	/* Llib/unicode.scm 611 */
			{	/* Llib/unicode.scm 614 */
				obj_t BgL_auxz00_8406;

				if (VECTORP(BgL_tablez00_6940))
					{	/* Llib/unicode.scm 614 */
						BgL_auxz00_8406 = BgL_tablez00_6940;
					}
				else
					{
						obj_t BgL_auxz00_8409;

						BgL_auxz00_8409 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(25484L), BGl_string3691z00zz__unicodez00,
							BGl_string3692z00zz__unicodez00, BgL_tablez00_6940);
						FAILURE(BgL_auxz00_8409, BFALSE, BFALSE);
					}
				return BGl_inversezd2utf8zd2tablez00zz__unicodez00(BgL_auxz00_8406);
			}
		}

	}



/* utf8-string->ucs2-string */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2stringzd2ze3ucs2zd2stringz31zz__unicodez00(obj_t BgL_utf8z00_64)
	{
		{	/* Llib/unicode.scm 646 */
			BGL_TAIL return utf8_string_to_ucs2_string(BgL_utf8z00_64);
		}

	}



/* &utf8-string->ucs2-string */
	obj_t BGl_z62utf8zd2stringzd2ze3ucs2zd2stringz53zz__unicodez00(obj_t
		BgL_envz00_6941, obj_t BgL_utf8z00_6942)
	{
		{	/* Llib/unicode.scm 646 */
			{	/* Llib/unicode.scm 647 */
				obj_t BgL_auxz00_8415;

				if (STRINGP(BgL_utf8z00_6942))
					{	/* Llib/unicode.scm 647 */
						BgL_auxz00_8415 = BgL_utf8z00_6942;
					}
				else
					{
						obj_t BgL_auxz00_8418;

						BgL_auxz00_8418 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(26505L), BGl_string3693z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_utf8z00_6942);
						FAILURE(BgL_auxz00_8418, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2ze3ucs2zd2stringz31zz__unicodez00
					(BgL_auxz00_8415);
			}
		}

	}



/* utf8->8bits-length */
	long BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(obj_t BgL_strz00_65,
		long BgL_lenz00_66)
	{
		{	/* Llib/unicode.scm 652 */
			{
				long BgL_siza7eza7_1452;
				long BgL_iz00_1453;

				BgL_siza7eza7_1452 = 0L;
				BgL_iz00_1453 = 0L;
			BgL_zc3z04anonymousza31391ze3z87_1454:
				if ((BgL_iz00_1453 >= BgL_lenz00_66))
					{	/* Llib/unicode.scm 655 */
						return BgL_siza7eza7_1452;
					}
				else
					{	/* Llib/unicode.scm 657 */
						long BgL_cz00_1456;

						BgL_cz00_1456 = (STRING_REF(BgL_strz00_65, BgL_iz00_1453));
						if ((BgL_cz00_1456 < 194L))
							{
								long BgL_iz00_8431;
								long BgL_siza7eza7_8429;

								BgL_siza7eza7_8429 = (BgL_siza7eza7_1452 + 1L);
								BgL_iz00_8431 = (BgL_iz00_1453 + 1L);
								BgL_iz00_1453 = BgL_iz00_8431;
								BgL_siza7eza7_1452 = BgL_siza7eza7_8429;
								goto BgL_zc3z04anonymousza31391ze3z87_1454;
							}
						else
							{	/* Llib/unicode.scm 659 */
								if ((BgL_cz00_1456 <= 223L))
									{
										long BgL_iz00_8437;
										long BgL_siza7eza7_8435;

										BgL_siza7eza7_8435 = (BgL_siza7eza7_1452 + 1L);
										BgL_iz00_8437 = (BgL_iz00_1453 + 2L);
										BgL_iz00_1453 = BgL_iz00_8437;
										BgL_siza7eza7_1452 = BgL_siza7eza7_8435;
										goto BgL_zc3z04anonymousza31391ze3z87_1454;
									}
								else
									{	/* Llib/unicode.scm 661 */
										if ((BgL_cz00_1456 <= 239L))
											{
												long BgL_iz00_8443;
												long BgL_siza7eza7_8441;

												BgL_siza7eza7_8441 = (BgL_siza7eza7_1452 + 1L);
												BgL_iz00_8443 = (BgL_iz00_1453 + 3L);
												BgL_iz00_1453 = BgL_iz00_8443;
												BgL_siza7eza7_1452 = BgL_siza7eza7_8441;
												goto BgL_zc3z04anonymousza31391ze3z87_1454;
											}
										else
											{	/* Llib/unicode.scm 663 */
												if ((BgL_cz00_1456 <= 247L))
													{
														long BgL_iz00_8449;
														long BgL_siza7eza7_8447;

														BgL_siza7eza7_8447 = (BgL_siza7eza7_1452 + 1L);
														BgL_iz00_8449 = (BgL_iz00_1453 + 4L);
														BgL_iz00_1453 = BgL_iz00_8449;
														BgL_siza7eza7_1452 = BgL_siza7eza7_8447;
														goto BgL_zc3z04anonymousza31391ze3z87_1454;
													}
												else
													{	/* Llib/unicode.scm 665 */
														if ((BgL_cz00_1456 <= 251L))
															{
																long BgL_iz00_8455;
																long BgL_siza7eza7_8453;

																BgL_siza7eza7_8453 = (BgL_siza7eza7_1452 + 1L);
																BgL_iz00_8455 = (BgL_iz00_1453 + 5L);
																BgL_iz00_1453 = BgL_iz00_8455;
																BgL_siza7eza7_1452 = BgL_siza7eza7_8453;
																goto BgL_zc3z04anonymousza31391ze3z87_1454;
															}
														else
															{
																long BgL_iz00_8459;
																long BgL_siza7eza7_8457;

																BgL_siza7eza7_8457 = (BgL_siza7eza7_1452 + 1L);
																BgL_iz00_8459 = (BgL_iz00_1453 + 6L);
																BgL_iz00_1453 = BgL_iz00_8459;
																BgL_siza7eza7_1452 = BgL_siza7eza7_8457;
																goto BgL_zc3z04anonymousza31391ze3z87_1454;
															}
													}
											}
									}
							}
					}
			}
		}

	}



/* ascii-string? */
	BGL_EXPORTED_DEF bool_t BGl_asciizd2stringzf3z21zz__unicodez00(obj_t
		BgL_strz00_67)
	{
		{	/* Llib/unicode.scm 675 */
			return
				(BGl_stringzd2minimalzd2charsetz00zz__unicodez00(BgL_strz00_67) ==
				BGl_symbol3695z00zz__unicodez00);
		}

	}



/* &ascii-string? */
	obj_t BGl_z62asciizd2stringzf3z43zz__unicodez00(obj_t BgL_envz00_6943,
		obj_t BgL_strz00_6944)
	{
		{	/* Llib/unicode.scm 675 */
			{	/* Llib/unicode.scm 676 */
				bool_t BgL_tmpz00_8463;

				{	/* Llib/unicode.scm 676 */
					obj_t BgL_auxz00_8464;

					if (STRINGP(BgL_strz00_6944))
						{	/* Llib/unicode.scm 676 */
							BgL_auxz00_8464 = BgL_strz00_6944;
						}
					else
						{
							obj_t BgL_auxz00_8467;

							BgL_auxz00_8467 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(27489L), BGl_string3697z00zz__unicodez00,
								BGl_string3694z00zz__unicodez00, BgL_strz00_6944);
							FAILURE(BgL_auxz00_8467, BFALSE, BFALSE);
						}
					BgL_tmpz00_8463 =
						BGl_asciizd2stringzf3z21zz__unicodez00(BgL_auxz00_8464);
				}
				return BBOOL(BgL_tmpz00_8463);
			}
		}

	}



/* _utf8-string? */
	obj_t BGl__utf8zd2stringzf3z21zz__unicodez00(obj_t BgL_env1129z00_71,
		obj_t BgL_opt1128z00_70)
	{
		{	/* Llib/unicode.scm 681 */
			{	/* Llib/unicode.scm 681 */
				obj_t BgL_g1130z00_1477;

				BgL_g1130z00_1477 = VECTOR_REF(BgL_opt1128z00_70, 0L);
				switch (VECTOR_LENGTH(BgL_opt1128z00_70))
					{
					case 1L:

						{	/* Llib/unicode.scm 681 */

							{	/* Llib/unicode.scm 681 */
								bool_t BgL_tmpz00_8474;

								{	/* Llib/unicode.scm 681 */
									obj_t BgL_auxz00_8475;

									if (STRINGP(BgL_g1130z00_1477))
										{	/* Llib/unicode.scm 681 */
											BgL_auxz00_8475 = BgL_g1130z00_1477;
										}
									else
										{
											obj_t BgL_auxz00_8478;

											BgL_auxz00_8478 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(27750L),
												BGl_string3698z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_g1130z00_1477);
											FAILURE(BgL_auxz00_8478, BFALSE, BFALSE);
										}
									BgL_tmpz00_8474 =
										BGl_utf8zd2stringzf3z21zz__unicodez00(BgL_auxz00_8475,
										((bool_t) 0));
								}
								return BBOOL(BgL_tmpz00_8474);
							}
						}
						break;
					case 2L:

						{	/* Llib/unicode.scm 681 */
							obj_t BgL_strictz00_1481;

							BgL_strictz00_1481 = VECTOR_REF(BgL_opt1128z00_70, 1L);
							{	/* Llib/unicode.scm 681 */

								{	/* Llib/unicode.scm 681 */
									bool_t BgL_tmpz00_8485;

									{	/* Llib/unicode.scm 681 */
										obj_t BgL_auxz00_8486;

										if (STRINGP(BgL_g1130z00_1477))
											{	/* Llib/unicode.scm 681 */
												BgL_auxz00_8486 = BgL_g1130z00_1477;
											}
										else
											{
												obj_t BgL_auxz00_8489;

												BgL_auxz00_8489 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(27750L),
													BGl_string3698z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_g1130z00_1477);
												FAILURE(BgL_auxz00_8489, BFALSE, BFALSE);
											}
										BgL_tmpz00_8485 =
											BGl_utf8zd2stringzf3z21zz__unicodez00(BgL_auxz00_8486,
											CBOOL(BgL_strictz00_1481));
									}
									return BBOOL(BgL_tmpz00_8485);
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* utf8-string? */
	BGL_EXPORTED_DEF bool_t BGl_utf8zd2stringzf3z21zz__unicodez00(obj_t
		BgL_strz00_68, bool_t BgL_strictz00_69)
	{
		{	/* Llib/unicode.scm 681 */
			{	/* Llib/unicode.scm 687 */
				long BgL_lenz00_1483;

				BgL_lenz00_1483 = STRING_LENGTH(BgL_strz00_68);
				{
					long BgL_rz00_1485;

					BgL_rz00_1485 = 0L;
				BgL_zc3z04anonymousza31413ze3z87_1486:
					if ((BgL_rz00_1485 == BgL_lenz00_1483))
						{	/* Llib/unicode.scm 689 */
							return ((bool_t) 1);
						}
					else
						{	/* Llib/unicode.scm 691 */
							long BgL_nz00_1489;

							BgL_nz00_1489 = (STRING_REF(BgL_strz00_68, BgL_rz00_1485));
							{	/* Llib/unicode.scm 692 */

								if ((BgL_nz00_1489 <= 127L))
									{
										long BgL_rz00_8505;

										BgL_rz00_8505 = (BgL_rz00_1485 + 1L);
										BgL_rz00_1485 = BgL_rz00_8505;
										goto BgL_zc3z04anonymousza31413ze3z87_1486;
									}
								else
									{	/* Llib/unicode.scm 694 */
										if ((BgL_nz00_1489 < 194L))
											{	/* Llib/unicode.scm 697 */
												return ((bool_t) 0);
											}
										else
											{	/* Llib/unicode.scm 697 */
												if ((BgL_nz00_1489 < 223L))
													{	/* Llib/unicode.scm 702 */
														bool_t BgL_test4040z00_8511;

														if (((1L + BgL_rz00_1485) < BgL_lenz00_1483))
															{	/* Llib/unicode.scm 684 */
																long BgL_nz00_4152;

																BgL_nz00_4152 =
																	(STRING_REF(BgL_strz00_68,
																		(BgL_rz00_1485 + 1L)));
																if ((BgL_nz00_4152 >= 128L))
																	{	/* Llib/unicode.scm 685 */
																		BgL_test4040z00_8511 =
																			(BgL_nz00_4152 <= 191L);
																	}
																else
																	{	/* Llib/unicode.scm 685 */
																		BgL_test4040z00_8511 = ((bool_t) 0);
																	}
															}
														else
															{	/* Llib/unicode.scm 702 */
																BgL_test4040z00_8511 = ((bool_t) 0);
															}
														if (BgL_test4040z00_8511)
															{
																long BgL_rz00_8521;

																BgL_rz00_8521 = (BgL_rz00_1485 + 2L);
																BgL_rz00_1485 = BgL_rz00_8521;
																goto BgL_zc3z04anonymousza31413ze3z87_1486;
															}
														else
															{	/* Llib/unicode.scm 702 */
																return ((bool_t) 0);
															}
													}
												else
													{	/* Llib/unicode.scm 705 */
														bool_t BgL_test4043z00_8523;

														if ((BgL_nz00_1489 >= 216L))
															{	/* Llib/unicode.scm 705 */
																BgL_test4043z00_8523 = (BgL_nz00_1489 <= 219L);
															}
														else
															{	/* Llib/unicode.scm 705 */
																BgL_test4043z00_8523 = ((bool_t) 0);
															}
														if (BgL_test4043z00_8523)
															{	/* Llib/unicode.scm 707 */
																bool_t BgL_test4045z00_8527;

																if ((BgL_rz00_1485 < (BgL_lenz00_1483 - 3L)))
																	{	/* Llib/unicode.scm 708 */
																		bool_t BgL_test4047z00_8531;

																		{	/* Llib/unicode.scm 684 */
																			long BgL_nz00_4166;

																			BgL_nz00_4166 =
																				(STRING_REF(BgL_strz00_68,
																					(BgL_rz00_1485 + 1L)));
																			if ((BgL_nz00_4166 >= 220L))
																				{	/* Llib/unicode.scm 685 */
																					BgL_test4047z00_8531 =
																						(BgL_nz00_4166 <= 223L);
																				}
																			else
																				{	/* Llib/unicode.scm 685 */
																					BgL_test4047z00_8531 = ((bool_t) 0);
																				}
																		}
																		if (BgL_test4047z00_8531)
																			{	/* Llib/unicode.scm 709 */
																				bool_t BgL_test4049z00_8538;

																				{	/* Llib/unicode.scm 684 */
																					long BgL_nz00_4174;

																					BgL_nz00_4174 =
																						(STRING_REF(BgL_strz00_68,
																							(BgL_rz00_1485 + 2L)));
																					if ((BgL_nz00_4174 >= 220L))
																						{	/* Llib/unicode.scm 685 */
																							BgL_test4049z00_8538 =
																								(BgL_nz00_4174 <= 223L);
																						}
																					else
																						{	/* Llib/unicode.scm 685 */
																							BgL_test4049z00_8538 =
																								((bool_t) 0);
																						}
																				}
																				if (BgL_test4049z00_8538)
																					{	/* Llib/unicode.scm 684 */
																						long BgL_nz00_4182;

																						BgL_nz00_4182 =
																							(STRING_REF(BgL_strz00_68,
																								(BgL_rz00_1485 + 3L)));
																						if ((BgL_nz00_4182 >= 220L))
																							{	/* Llib/unicode.scm 685 */
																								BgL_test4045z00_8527 =
																									(BgL_nz00_4182 <= 223L);
																							}
																						else
																							{	/* Llib/unicode.scm 685 */
																								BgL_test4045z00_8527 =
																									((bool_t) 0);
																							}
																					}
																				else
																					{	/* Llib/unicode.scm 709 */
																						BgL_test4045z00_8527 = ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Llib/unicode.scm 708 */
																				BgL_test4045z00_8527 = ((bool_t) 0);
																			}
																	}
																else
																	{	/* Llib/unicode.scm 707 */
																		BgL_test4045z00_8527 = ((bool_t) 0);
																	}
																if (BgL_test4045z00_8527)
																	{
																		long BgL_rz00_8551;

																		BgL_rz00_8551 = (BgL_rz00_1485 + 4L);
																		BgL_rz00_1485 = BgL_rz00_8551;
																		goto BgL_zc3z04anonymousza31413ze3z87_1486;
																	}
																else
																	{	/* Llib/unicode.scm 707 */
																		return ((bool_t) 0);
																	}
															}
														else
															{	/* Llib/unicode.scm 705 */
																if ((BgL_nz00_1489 <= 223L))
																	{	/* Llib/unicode.scm 714 */
																		bool_t BgL_test4053z00_8555;

																		if (
																			((1L + BgL_rz00_1485) < BgL_lenz00_1483))
																			{	/* Llib/unicode.scm 684 */
																				long BgL_nz00_4195;

																				BgL_nz00_4195 =
																					(STRING_REF(BgL_strz00_68,
																						(BgL_rz00_1485 + 1L)));
																				if ((BgL_nz00_4195 >= 128L))
																					{	/* Llib/unicode.scm 685 */
																						BgL_test4053z00_8555 =
																							(BgL_nz00_4195 <= 191L);
																					}
																				else
																					{	/* Llib/unicode.scm 685 */
																						BgL_test4053z00_8555 = ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Llib/unicode.scm 714 */
																				BgL_test4053z00_8555 = ((bool_t) 0);
																			}
																		if (BgL_test4053z00_8555)
																			{
																				long BgL_rz00_8565;

																				BgL_rz00_8565 = (BgL_rz00_1485 + 2L);
																				BgL_rz00_1485 = BgL_rz00_8565;
																				goto
																					BgL_zc3z04anonymousza31413ze3z87_1486;
																			}
																		else
																			{	/* Llib/unicode.scm 714 */
																				return ((bool_t) 0);
																			}
																	}
																else
																	{	/* Llib/unicode.scm 712 */
																		if ((BgL_nz00_1489 <= 239L))
																			{	/* Llib/unicode.scm 719 */
																				bool_t BgL_test4057z00_8569;

																				if (
																					(BgL_rz00_1485 <
																						(BgL_lenz00_1483 - 2L)))
																					{	/* Llib/unicode.scm 720 */
																						bool_t BgL_test4059z00_8573;

																						{	/* Llib/unicode.scm 684 */
																							long BgL_nz00_4208;

																							BgL_nz00_4208 =
																								(STRING_REF(BgL_strz00_68,
																									(BgL_rz00_1485 + 1L)));
																							if ((BgL_nz00_4208 >= 128L))
																								{	/* Llib/unicode.scm 685 */
																									BgL_test4059z00_8573 =
																										(BgL_nz00_4208 <= 191L);
																								}
																							else
																								{	/* Llib/unicode.scm 685 */
																									BgL_test4059z00_8573 =
																										((bool_t) 0);
																								}
																						}
																						if (BgL_test4059z00_8573)
																							{	/* Llib/unicode.scm 684 */
																								long BgL_nz00_4216;

																								BgL_nz00_4216 =
																									(STRING_REF(BgL_strz00_68,
																										(BgL_rz00_1485 + 2L)));
																								if ((BgL_nz00_4216 >= 128L))
																									{	/* Llib/unicode.scm 685 */
																										BgL_test4057z00_8569 =
																											(BgL_nz00_4216 <= 191L);
																									}
																								else
																									{	/* Llib/unicode.scm 685 */
																										BgL_test4057z00_8569 =
																											((bool_t) 0);
																									}
																							}
																						else
																							{	/* Llib/unicode.scm 720 */
																								BgL_test4057z00_8569 =
																									((bool_t) 0);
																							}
																					}
																				else
																					{	/* Llib/unicode.scm 719 */
																						BgL_test4057z00_8569 = ((bool_t) 0);
																					}
																				if (BgL_test4057z00_8569)
																					{
																						long BgL_rz00_8586;

																						BgL_rz00_8586 =
																							(BgL_rz00_1485 + 3L);
																						BgL_rz00_1485 = BgL_rz00_8586;
																						goto
																							BgL_zc3z04anonymousza31413ze3z87_1486;
																					}
																				else
																					{	/* Llib/unicode.scm 719 */
																						return ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Llib/unicode.scm 717 */
																				if ((BgL_nz00_1489 == 240L))
																					{	/* Llib/unicode.scm 725 */
																						bool_t BgL_test4063z00_8590;

																						if (
																							(BgL_rz00_1485 <
																								(BgL_lenz00_1483 - 3L)))
																							{	/* Llib/unicode.scm 726 */
																								bool_t BgL_test4065z00_8594;

																								{	/* Llib/unicode.scm 684 */
																									long BgL_nz00_4229;

																									BgL_nz00_4229 =
																										(STRING_REF(BgL_strz00_68,
																											(BgL_rz00_1485 + 1L)));
																									if ((BgL_nz00_4229 >= 144L))
																										{	/* Llib/unicode.scm 685 */
																											BgL_test4065z00_8594 =
																												(BgL_nz00_4229 <= 191L);
																										}
																									else
																										{	/* Llib/unicode.scm 685 */
																											BgL_test4065z00_8594 =
																												((bool_t) 0);
																										}
																								}
																								if (BgL_test4065z00_8594)
																									{	/* Llib/unicode.scm 727 */
																										bool_t BgL_test4067z00_8601;

																										{	/* Llib/unicode.scm 684 */
																											long BgL_nz00_4237;

																											BgL_nz00_4237 =
																												(STRING_REF
																												(BgL_strz00_68,
																													(BgL_rz00_1485 +
																														2L)));
																											if ((BgL_nz00_4237 >=
																													128L))
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4067z00_8601 =
																														(BgL_nz00_4237 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4067z00_8601 =
																														((bool_t) 0);
																												}
																										}
																										if (BgL_test4067z00_8601)
																											{	/* Llib/unicode.scm 684 */
																												long BgL_nz00_4245;

																												BgL_nz00_4245 =
																													(STRING_REF
																													(BgL_strz00_68,
																														(BgL_rz00_1485 +
																															3L)));
																												if ((BgL_nz00_4245 >=
																														128L))
																													{	/* Llib/unicode.scm 685 */
																														BgL_test4063z00_8590
																															=
																															(BgL_nz00_4245 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 685 */
																														BgL_test4063z00_8590
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 727 */
																												BgL_test4063z00_8590 =
																													((bool_t) 0);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 726 */
																										BgL_test4063z00_8590 =
																											((bool_t) 0);
																									}
																							}
																						else
																							{	/* Llib/unicode.scm 725 */
																								BgL_test4063z00_8590 =
																									((bool_t) 0);
																							}
																						if (BgL_test4063z00_8590)
																							{
																								long BgL_rz00_8614;

																								BgL_rz00_8614 =
																									(BgL_rz00_1485 + 4L);
																								BgL_rz00_1485 = BgL_rz00_8614;
																								goto
																									BgL_zc3z04anonymousza31413ze3z87_1486;
																							}
																						else
																							{	/* Llib/unicode.scm 725 */
																								return ((bool_t) 0);
																							}
																					}
																				else
																					{	/* Llib/unicode.scm 730 */
																						bool_t BgL_test4070z00_8616;

																						if ((BgL_nz00_1489 == 244L))
																							{	/* Llib/unicode.scm 730 */
																								BgL_test4070z00_8616 =
																									((bool_t) 1);
																							}
																						else
																							{	/* Llib/unicode.scm 731 */
																								bool_t BgL_test4072z00_8619;

																								{	/* Llib/unicode.scm 731 */
																									bool_t
																										BgL__ortest_1047z00_1735;
																									BgL__ortest_1047z00_1735 =
																										(BgL_nz00_1489 == 248L);
																									if (BgL__ortest_1047z00_1735)
																										{	/* Llib/unicode.scm 731 */
																											BgL_test4072z00_8619 =
																												BgL__ortest_1047z00_1735;
																										}
																									else
																										{	/* Llib/unicode.scm 731 */
																											BgL_test4072z00_8619 =
																												(BgL_nz00_1489 == 252L);
																										}
																								}
																								if (BgL_test4072z00_8619)
																									{	/* Llib/unicode.scm 731 */
																										if (BgL_strictz00_69)
																											{	/* Llib/unicode.scm 731 */
																												BgL_test4070z00_8616 =
																													((bool_t) 0);
																											}
																										else
																											{	/* Llib/unicode.scm 731 */
																												BgL_test4070z00_8616 =
																													((bool_t) 1);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 731 */
																										BgL_test4070z00_8616 =
																											((bool_t) 0);
																									}
																							}
																						if (BgL_test4070z00_8616)
																							{	/* Llib/unicode.scm 733 */
																								bool_t BgL_test4075z00_8624;

																								if (
																									(BgL_rz00_1485 <
																										(BgL_lenz00_1483 - 3L)))
																									{	/* Llib/unicode.scm 734 */
																										bool_t BgL_test4077z00_8628;

																										{	/* Llib/unicode.scm 684 */
																											long BgL_nz00_4260;

																											BgL_nz00_4260 =
																												(STRING_REF
																												(BgL_strz00_68,
																													(BgL_rz00_1485 +
																														1L)));
																											if ((BgL_nz00_4260 >=
																													128L))
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4077z00_8628 =
																														(BgL_nz00_4260 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4077z00_8628 =
																														((bool_t) 0);
																												}
																										}
																										if (BgL_test4077z00_8628)
																											{	/* Llib/unicode.scm 735 */
																												bool_t
																													BgL_test4079z00_8635;
																												{	/* Llib/unicode.scm 684 */
																													long BgL_nz00_4268;

																													BgL_nz00_4268 =
																														(STRING_REF
																														(BgL_strz00_68,
																															(BgL_rz00_1485 +
																																2L)));
																													if ((BgL_nz00_4268 >=
																															128L))
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4079z00_8635
																																=
																																(BgL_nz00_4268
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4079z00_8635
																																= ((bool_t) 0);
																														}
																												}
																												if (BgL_test4079z00_8635)
																													{	/* Llib/unicode.scm 684 */
																														long BgL_nz00_4276;

																														BgL_nz00_4276 =
																															(STRING_REF
																															(BgL_strz00_68,
																																(BgL_rz00_1485 +
																																	3L)));
																														if ((BgL_nz00_4276
																																>= 128L))
																															{	/* Llib/unicode.scm 685 */
																																BgL_test4075z00_8624
																																	=
																																	(BgL_nz00_4276
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 685 */
																																BgL_test4075z00_8624
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 735 */
																														BgL_test4075z00_8624
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 734 */
																												BgL_test4075z00_8624 =
																													((bool_t) 0);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 733 */
																										BgL_test4075z00_8624 =
																											((bool_t) 0);
																									}
																								if (BgL_test4075z00_8624)
																									{
																										long BgL_rz00_8648;

																										BgL_rz00_8648 =
																											(BgL_rz00_1485 + 4L);
																										BgL_rz00_1485 =
																											BgL_rz00_8648;
																										goto
																											BgL_zc3z04anonymousza31413ze3z87_1486;
																									}
																								else
																									{	/* Llib/unicode.scm 733 */
																										return ((bool_t) 0);
																									}
																							}
																						else
																							{	/* Llib/unicode.scm 730 */
																								if ((BgL_nz00_1489 <= 247L))
																									{	/* Llib/unicode.scm 740 */
																										bool_t BgL_test4083z00_8652;

																										if (
																											(BgL_rz00_1485 <
																												(BgL_lenz00_1483 - 3L)))
																											{	/* Llib/unicode.scm 741 */
																												bool_t
																													BgL_test4085z00_8656;
																												{	/* Llib/unicode.scm 684 */
																													long BgL_nz00_4289;

																													BgL_nz00_4289 =
																														(STRING_REF
																														(BgL_strz00_68,
																															(BgL_rz00_1485 +
																																1L)));
																													if ((BgL_nz00_4289 >=
																															128L))
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4085z00_8656
																																=
																																(BgL_nz00_4289
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4085z00_8656
																																= ((bool_t) 0);
																														}
																												}
																												if (BgL_test4085z00_8656)
																													{	/* Llib/unicode.scm 742 */
																														bool_t
																															BgL_test4087z00_8663;
																														{	/* Llib/unicode.scm 684 */
																															long
																																BgL_nz00_4297;
																															BgL_nz00_4297 =
																																(STRING_REF
																																(BgL_strz00_68,
																																	(BgL_rz00_1485
																																		+ 2L)));
																															if ((BgL_nz00_4297
																																	>= 128L))
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4087z00_8663
																																		=
																																		(BgL_nz00_4297
																																		<= 191L);
																																}
																															else
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4087z00_8663
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																														if (BgL_test4087z00_8663)
																															{	/* Llib/unicode.scm 684 */
																																long
																																	BgL_nz00_4305;
																																BgL_nz00_4305 =
																																	(STRING_REF
																																	(BgL_strz00_68,
																																		(BgL_rz00_1485
																																			+ 3L)));
																																if (
																																	(BgL_nz00_4305
																																		>= 128L))
																																	{	/* Llib/unicode.scm 685 */
																																		BgL_test4083z00_8652
																																			=
																																			(BgL_nz00_4305
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 685 */
																																		BgL_test4083z00_8652
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Llib/unicode.scm 742 */
																																BgL_test4083z00_8652
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 741 */
																														BgL_test4083z00_8652
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 740 */
																												BgL_test4083z00_8652 =
																													((bool_t) 0);
																											}
																										if (BgL_test4083z00_8652)
																											{
																												long BgL_rz00_8676;

																												BgL_rz00_8676 =
																													(BgL_rz00_1485 + 4L);
																												BgL_rz00_1485 =
																													BgL_rz00_8676;
																												goto
																													BgL_zc3z04anonymousza31413ze3z87_1486;
																											}
																										else
																											{	/* Llib/unicode.scm 740 */
																												return ((bool_t) 0);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 738 */
																										if ((BgL_nz00_1489 <= 251L))
																											{	/* Llib/unicode.scm 746 */
																												bool_t
																													BgL_test4091z00_8680;
																												if ((BgL_rz00_1485 <
																														(BgL_lenz00_1483 -
																															4L)))
																													{	/* Llib/unicode.scm 747 */
																														bool_t
																															BgL_test4093z00_8684;
																														{	/* Llib/unicode.scm 684 */
																															long
																																BgL_nz00_4318;
																															BgL_nz00_4318 =
																																(STRING_REF
																																(BgL_strz00_68,
																																	(BgL_rz00_1485
																																		+ 1L)));
																															if ((BgL_nz00_4318
																																	>= 128L))
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4093z00_8684
																																		=
																																		(BgL_nz00_4318
																																		<= 191L);
																																}
																															else
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4093z00_8684
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																														if (BgL_test4093z00_8684)
																															{	/* Llib/unicode.scm 748 */
																																bool_t
																																	BgL_test4095z00_8691;
																																{	/* Llib/unicode.scm 684 */
																																	long
																																		BgL_nz00_4326;
																																	BgL_nz00_4326
																																		=
																																		(STRING_REF
																																		(BgL_strz00_68,
																																			(BgL_rz00_1485
																																				+ 2L)));
																																	if (
																																		(BgL_nz00_4326
																																			>= 128L))
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4095z00_8691
																																				=
																																				(BgL_nz00_4326
																																				<=
																																				191L);
																																		}
																																	else
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4095z00_8691
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																																if (BgL_test4095z00_8691)
																																	{	/* Llib/unicode.scm 749 */
																																		bool_t
																																			BgL_test4097z00_8698;
																																		{	/* Llib/unicode.scm 684 */
																																			long
																																				BgL_nz00_4334;
																																			BgL_nz00_4334
																																				=
																																				(STRING_REF
																																				(BgL_strz00_68,
																																					(BgL_rz00_1485
																																						+
																																						3L)));
																																			if (
																																				(BgL_nz00_4334
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4097z00_8698
																																						=
																																						(BgL_nz00_4334
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4097z00_8698
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																		if (BgL_test4097z00_8698)
																																			{	/* Llib/unicode.scm 684 */
																																				long
																																					BgL_nz00_4342;
																																				BgL_nz00_4342
																																					=
																																					(STRING_REF
																																					(BgL_strz00_68,
																																						(BgL_rz00_1485
																																							+
																																							4L)));
																																				if (
																																					(BgL_nz00_4342
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 685 */
																																						BgL_test4091z00_8680
																																							=
																																							(BgL_nz00_4342
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 685 */
																																						BgL_test4091z00_8680
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																		else
																																			{	/* Llib/unicode.scm 749 */
																																				BgL_test4091z00_8680
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																else
																																	{	/* Llib/unicode.scm 748 */
																																		BgL_test4091z00_8680
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Llib/unicode.scm 747 */
																																BgL_test4091z00_8680
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 746 */
																														BgL_test4091z00_8680
																															= ((bool_t) 0);
																													}
																												if (BgL_test4091z00_8680)
																													{
																														long BgL_rz00_8711;

																														BgL_rz00_8711 =
																															(BgL_rz00_1485 +
																															5L);
																														BgL_rz00_1485 =
																															BgL_rz00_8711;
																														goto
																															BgL_zc3z04anonymousza31413ze3z87_1486;
																													}
																												else
																													{	/* Llib/unicode.scm 746 */
																														return ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 745 */
																												if (
																													(BgL_nz00_1489 <=
																														253L))
																													{	/* Llib/unicode.scm 753 */
																														bool_t
																															BgL_test4101z00_8715;
																														if ((BgL_rz00_1485 <
																																(BgL_lenz00_1483
																																	- 5L)))
																															{	/* Llib/unicode.scm 754 */
																																bool_t
																																	BgL_test4103z00_8719;
																																{	/* Llib/unicode.scm 684 */
																																	long
																																		BgL_nz00_4355;
																																	BgL_nz00_4355
																																		=
																																		(STRING_REF
																																		(BgL_strz00_68,
																																			(BgL_rz00_1485
																																				+ 1L)));
																																	if (
																																		(BgL_nz00_4355
																																			>= 128L))
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4103z00_8719
																																				=
																																				(BgL_nz00_4355
																																				<=
																																				191L);
																																		}
																																	else
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4103z00_8719
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																																if (BgL_test4103z00_8719)
																																	{	/* Llib/unicode.scm 755 */
																																		bool_t
																																			BgL_test4105z00_8726;
																																		{	/* Llib/unicode.scm 684 */
																																			long
																																				BgL_nz00_4363;
																																			BgL_nz00_4363
																																				=
																																				(STRING_REF
																																				(BgL_strz00_68,
																																					(BgL_rz00_1485
																																						+
																																						2L)));
																																			if (
																																				(BgL_nz00_4363
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4105z00_8726
																																						=
																																						(BgL_nz00_4363
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4105z00_8726
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																		if (BgL_test4105z00_8726)
																																			{	/* Llib/unicode.scm 756 */
																																				bool_t
																																					BgL_test4107z00_8733;
																																				{	/* Llib/unicode.scm 684 */
																																					long
																																						BgL_nz00_4371;
																																					BgL_nz00_4371
																																						=
																																						(STRING_REF
																																						(BgL_strz00_68,
																																							(BgL_rz00_1485
																																								+
																																								3L)));
																																					if (
																																						(BgL_nz00_4371
																																							>=
																																							128L))
																																						{	/* Llib/unicode.scm 685 */
																																							BgL_test4107z00_8733
																																								=
																																								(BgL_nz00_4371
																																								<=
																																								191L);
																																						}
																																					else
																																						{	/* Llib/unicode.scm 685 */
																																							BgL_test4107z00_8733
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																				if (BgL_test4107z00_8733)
																																					{	/* Llib/unicode.scm 757 */
																																						bool_t
																																							BgL_test4109z00_8740;
																																						{	/* Llib/unicode.scm 684 */
																																							long
																																								BgL_nz00_4379;
																																							BgL_nz00_4379
																																								=
																																								(STRING_REF
																																								(BgL_strz00_68,
																																									(BgL_rz00_1485
																																										+
																																										4L)));
																																							if ((BgL_nz00_4379 >= 128L))
																																								{	/* Llib/unicode.scm 685 */
																																									BgL_test4109z00_8740
																																										=
																																										(BgL_nz00_4379
																																										<=
																																										191L);
																																								}
																																							else
																																								{	/* Llib/unicode.scm 685 */
																																									BgL_test4109z00_8740
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																						if (BgL_test4109z00_8740)
																																							{	/* Llib/unicode.scm 684 */
																																								long
																																									BgL_nz00_4387;
																																								BgL_nz00_4387
																																									=
																																									(STRING_REF
																																									(BgL_strz00_68,
																																										(BgL_rz00_1485
																																											+
																																											5L)));
																																								if ((BgL_nz00_4387 >= 128L))
																																									{	/* Llib/unicode.scm 685 */
																																										BgL_test4101z00_8715
																																											=
																																											(BgL_nz00_4387
																																											<=
																																											191L);
																																									}
																																								else
																																									{	/* Llib/unicode.scm 685 */
																																										BgL_test4101z00_8715
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																						else
																																							{	/* Llib/unicode.scm 757 */
																																								BgL_test4101z00_8715
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																				else
																																					{	/* Llib/unicode.scm 756 */
																																						BgL_test4101z00_8715
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																		else
																																			{	/* Llib/unicode.scm 755 */
																																				BgL_test4101z00_8715
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																else
																																	{	/* Llib/unicode.scm 754 */
																																		BgL_test4101z00_8715
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Llib/unicode.scm 753 */
																																BgL_test4101z00_8715
																																	=
																																	((bool_t) 0);
																															}
																														if (BgL_test4101z00_8715)
																															{
																																long
																																	BgL_rz00_8753;
																																BgL_rz00_8753 =
																																	(BgL_rz00_1485
																																	+ 6L);
																																BgL_rz00_1485 =
																																	BgL_rz00_8753;
																																goto
																																	BgL_zc3z04anonymousza31413ze3z87_1486;
																															}
																														else
																															{	/* Llib/unicode.scm 753 */
																																return ((bool_t)
																																	0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 752 */
																														return ((bool_t) 0);
																													}
																											}
																									}
																							}
																					}
																			}
																	}
															}
													}
											}
									}
							}
						}
				}
			}
		}

	}



/* _utf8-string-encode */
	obj_t BGl__utf8zd2stringzd2encodez00zz__unicodez00(obj_t BgL_env1134z00_77,
		obj_t BgL_opt1133z00_76)
	{
		{	/* Llib/unicode.scm 774 */
			{	/* Llib/unicode.scm 774 */
				obj_t BgL_strz00_1745;

				BgL_strz00_1745 = VECTOR_REF(BgL_opt1133z00_76, 0L);
				switch (VECTOR_LENGTH(BgL_opt1133z00_76))
					{
					case 1L:

						{	/* Llib/unicode.scm 774 */
							long BgL_endz00_1750;

							{	/* Llib/unicode.scm 774 */
								obj_t BgL_stringz00_4393;

								if (STRINGP(BgL_strz00_1745))
									{	/* Llib/unicode.scm 774 */
										BgL_stringz00_4393 = BgL_strz00_1745;
									}
								else
									{
										obj_t BgL_auxz00_8758;

										BgL_auxz00_8758 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string3651z00zz__unicodez00, BINT(31642L),
											BGl_string3699z00zz__unicodez00,
											BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
										FAILURE(BgL_auxz00_8758, BFALSE, BFALSE);
									}
								BgL_endz00_1750 = STRING_LENGTH(BgL_stringz00_4393);
							}
							{	/* Llib/unicode.scm 774 */

								{	/* Llib/unicode.scm 774 */
									obj_t BgL_auxz00_8763;

									if (STRINGP(BgL_strz00_1745))
										{	/* Llib/unicode.scm 774 */
											BgL_auxz00_8763 = BgL_strz00_1745;
										}
									else
										{
											obj_t BgL_auxz00_8766;

											BgL_auxz00_8766 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(31550L),
												BGl_string3699z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
											FAILURE(BgL_auxz00_8766, BFALSE, BFALSE);
										}
									return
										BGl_utf8zd2stringzd2encodez00zz__unicodez00(BgL_auxz00_8763,
										((bool_t) 0), 0L, BgL_endz00_1750);
								}
							}
						}
						break;
					case 2L:

						{	/* Llib/unicode.scm 774 */
							obj_t BgL_strictz00_1751;

							BgL_strictz00_1751 = VECTOR_REF(BgL_opt1133z00_76, 1L);
							{	/* Llib/unicode.scm 774 */
								long BgL_endz00_1753;

								{	/* Llib/unicode.scm 774 */
									obj_t BgL_stringz00_4394;

									if (STRINGP(BgL_strz00_1745))
										{	/* Llib/unicode.scm 774 */
											BgL_stringz00_4394 = BgL_strz00_1745;
										}
									else
										{
											obj_t BgL_auxz00_8774;

											BgL_auxz00_8774 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(31642L),
												BGl_string3699z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
											FAILURE(BgL_auxz00_8774, BFALSE, BFALSE);
										}
									BgL_endz00_1753 = STRING_LENGTH(BgL_stringz00_4394);
								}
								{	/* Llib/unicode.scm 774 */

									{	/* Llib/unicode.scm 774 */
										obj_t BgL_auxz00_8779;

										if (STRINGP(BgL_strz00_1745))
											{	/* Llib/unicode.scm 774 */
												BgL_auxz00_8779 = BgL_strz00_1745;
											}
										else
											{
												obj_t BgL_auxz00_8782;

												BgL_auxz00_8782 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(31550L),
													BGl_string3699z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
												FAILURE(BgL_auxz00_8782, BFALSE, BFALSE);
											}
										return
											BGl_utf8zd2stringzd2encodez00zz__unicodez00
											(BgL_auxz00_8779, CBOOL(BgL_strictz00_1751), 0L,
											BgL_endz00_1753);
									}
								}
							}
						}
						break;
					case 3L:

						{	/* Llib/unicode.scm 774 */
							obj_t BgL_strictz00_1754;

							BgL_strictz00_1754 = VECTOR_REF(BgL_opt1133z00_76, 1L);
							{	/* Llib/unicode.scm 774 */
								obj_t BgL_startz00_1755;

								BgL_startz00_1755 = VECTOR_REF(BgL_opt1133z00_76, 2L);
								{	/* Llib/unicode.scm 774 */
									long BgL_endz00_1756;

									{	/* Llib/unicode.scm 774 */
										obj_t BgL_stringz00_4395;

										if (STRINGP(BgL_strz00_1745))
											{	/* Llib/unicode.scm 774 */
												BgL_stringz00_4395 = BgL_strz00_1745;
											}
										else
											{
												obj_t BgL_auxz00_8792;

												BgL_auxz00_8792 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(31642L),
													BGl_string3699z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
												FAILURE(BgL_auxz00_8792, BFALSE, BFALSE);
											}
										BgL_endz00_1756 = STRING_LENGTH(BgL_stringz00_4395);
									}
									{	/* Llib/unicode.scm 774 */

										{	/* Llib/unicode.scm 774 */
											long BgL_auxz00_8804;
											obj_t BgL_auxz00_8797;

											{	/* Llib/unicode.scm 774 */
												obj_t BgL_tmpz00_8806;

												if (INTEGERP(BgL_startz00_1755))
													{	/* Llib/unicode.scm 774 */
														BgL_tmpz00_8806 = BgL_startz00_1755;
													}
												else
													{
														obj_t BgL_auxz00_8809;

														BgL_auxz00_8809 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3651z00zz__unicodez00, BINT(31550L),
															BGl_string3699z00zz__unicodez00,
															BGl_string3653z00zz__unicodez00,
															BgL_startz00_1755);
														FAILURE(BgL_auxz00_8809, BFALSE, BFALSE);
													}
												BgL_auxz00_8804 = (long) CINT(BgL_tmpz00_8806);
											}
											if (STRINGP(BgL_strz00_1745))
												{	/* Llib/unicode.scm 774 */
													BgL_auxz00_8797 = BgL_strz00_1745;
												}
											else
												{
													obj_t BgL_auxz00_8800;

													BgL_auxz00_8800 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3651z00zz__unicodez00, BINT(31550L),
														BGl_string3699z00zz__unicodez00,
														BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
													FAILURE(BgL_auxz00_8800, BFALSE, BFALSE);
												}
											return
												BGl_utf8zd2stringzd2encodez00zz__unicodez00
												(BgL_auxz00_8797, CBOOL(BgL_strictz00_1754),
												BgL_auxz00_8804, BgL_endz00_1756);
										}
									}
								}
							}
						}
						break;
					case 4L:

						{	/* Llib/unicode.scm 774 */
							obj_t BgL_strictz00_1757;

							BgL_strictz00_1757 = VECTOR_REF(BgL_opt1133z00_76, 1L);
							{	/* Llib/unicode.scm 774 */
								obj_t BgL_startz00_1758;

								BgL_startz00_1758 = VECTOR_REF(BgL_opt1133z00_76, 2L);
								{	/* Llib/unicode.scm 774 */
									obj_t BgL_endz00_1759;

									BgL_endz00_1759 = VECTOR_REF(BgL_opt1133z00_76, 3L);
									{	/* Llib/unicode.scm 774 */

										{	/* Llib/unicode.scm 774 */
											long BgL_auxz00_8835;
											long BgL_auxz00_8825;
											obj_t BgL_auxz00_8818;

											{	/* Llib/unicode.scm 774 */
												obj_t BgL_tmpz00_8836;

												if (INTEGERP(BgL_endz00_1759))
													{	/* Llib/unicode.scm 774 */
														BgL_tmpz00_8836 = BgL_endz00_1759;
													}
												else
													{
														obj_t BgL_auxz00_8839;

														BgL_auxz00_8839 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3651z00zz__unicodez00, BINT(31550L),
															BGl_string3699z00zz__unicodez00,
															BGl_string3653z00zz__unicodez00, BgL_endz00_1759);
														FAILURE(BgL_auxz00_8839, BFALSE, BFALSE);
													}
												BgL_auxz00_8835 = (long) CINT(BgL_tmpz00_8836);
											}
											{	/* Llib/unicode.scm 774 */
												obj_t BgL_tmpz00_8827;

												if (INTEGERP(BgL_startz00_1758))
													{	/* Llib/unicode.scm 774 */
														BgL_tmpz00_8827 = BgL_startz00_1758;
													}
												else
													{
														obj_t BgL_auxz00_8830;

														BgL_auxz00_8830 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3651z00zz__unicodez00, BINT(31550L),
															BGl_string3699z00zz__unicodez00,
															BGl_string3653z00zz__unicodez00,
															BgL_startz00_1758);
														FAILURE(BgL_auxz00_8830, BFALSE, BFALSE);
													}
												BgL_auxz00_8825 = (long) CINT(BgL_tmpz00_8827);
											}
											if (STRINGP(BgL_strz00_1745))
												{	/* Llib/unicode.scm 774 */
													BgL_auxz00_8818 = BgL_strz00_1745;
												}
											else
												{
													obj_t BgL_auxz00_8821;

													BgL_auxz00_8821 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3651z00zz__unicodez00, BINT(31550L),
														BGl_string3699z00zz__unicodez00,
														BGl_string3694z00zz__unicodez00, BgL_strz00_1745);
													FAILURE(BgL_auxz00_8821, BFALSE, BFALSE);
												}
											return
												BGl_utf8zd2stringzd2encodez00zz__unicodez00
												(BgL_auxz00_8818, CBOOL(BgL_strictz00_1757),
												BgL_auxz00_8825, BgL_auxz00_8835);
										}
									}
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* utf8-string-encode */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2encodez00zz__unicodez00(obj_t
		BgL_strz00_72, bool_t BgL_strictz00_73, long BgL_startz00_74,
		long BgL_endz00_75)
	{
		{	/* Llib/unicode.scm 774 */
			{	/* Llib/unicode.scm 786 */
				bool_t BgL_test4122z00_8847;

				if ((BgL_endz00_75 > STRING_LENGTH(BgL_strz00_72)))
					{	/* Llib/unicode.scm 786 */
						BgL_test4122z00_8847 = ((bool_t) 1);
					}
				else
					{	/* Llib/unicode.scm 786 */
						if ((BgL_startz00_74 < 0L))
							{	/* Llib/unicode.scm 787 */
								BgL_test4122z00_8847 = ((bool_t) 1);
							}
						else
							{	/* Llib/unicode.scm 787 */
								BgL_test4122z00_8847 = (BgL_startz00_74 > BgL_endz00_75);
							}
					}
				if (BgL_test4122z00_8847)
					{	/* Llib/unicode.scm 789 */
						obj_t BgL_arg1695z00_1767;

						BgL_arg1695z00_1767 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_74), BINT(BgL_endz00_75));
						return
							BGl_errorz00zz__errorz00(BGl_string3700z00zz__unicodez00,
							BGl_string3701z00zz__unicodez00, BgL_arg1695z00_1767);
					}
				else
					{	/* Llib/unicode.scm 790 */
						long BgL_lenz00_1768;

						BgL_lenz00_1768 = (BgL_endz00_75 - BgL_startz00_74);
						{	/* Llib/unicode.scm 790 */
							obj_t BgL_resz00_1769;

							{	/* Llib/unicode.scm 791 */
								long BgL_arg2059z00_2130;

								BgL_arg2059z00_2130 = (3L * BgL_lenz00_1768);
								{	/* Ieee/string.scm 168 */

									BgL_resz00_1769 =
										make_string(BgL_arg2059z00_2130, ((unsigned char) ' '));
							}}
							{	/* Llib/unicode.scm 791 */

								return
									BGl_loopze70ze7zz__unicodez00(BgL_endz00_75, BgL_strictz00_73,
									BgL_lenz00_1768, BgL_resz00_1769, BgL_strz00_72,
									BgL_startz00_74, 0L);
							}
						}
					}
			}
		}

	}



/* loop~0 */
	obj_t BGl_loopze70ze7zz__unicodez00(long BgL_endz00_7019,
		bool_t BgL_strictz00_7018, long BgL_lenz00_7017, obj_t BgL_resz00_7016,
		obj_t BgL_strz00_7015, long BgL_rz00_1771, long BgL_wz00_1772)
	{
		{	/* Llib/unicode.scm 792 */
		BGl_loopze70ze7zz__unicodez00:
			if ((BgL_rz00_1771 == BgL_endz00_7019))
				{	/* Llib/unicode.scm 794 */
					return bgl_string_shrink(BgL_resz00_7016, BgL_wz00_1772);
				}
			else
				{	/* Llib/unicode.scm 796 */
					unsigned char BgL_cz00_1775;

					BgL_cz00_1775 = STRING_REF(BgL_strz00_7015, BgL_rz00_1771);
					{	/* Llib/unicode.scm 796 */
						long BgL_nz00_1776;

						BgL_nz00_1776 = (BgL_cz00_1775);
						{	/* Llib/unicode.scm 797 */

							if ((BgL_nz00_1776 <= 127L))
								{	/* Llib/unicode.scm 799 */
									STRING_SET(BgL_resz00_7016, BgL_wz00_1772, BgL_cz00_1775);
									{
										long BgL_wz00_8872;
										long BgL_rz00_8870;

										BgL_rz00_8870 = (BgL_rz00_1771 + 1L);
										BgL_wz00_8872 = (BgL_wz00_1772 + 1L);
										BgL_wz00_1772 = BgL_wz00_8872;
										BgL_rz00_1771 = BgL_rz00_8870;
										goto BGl_loopze70ze7zz__unicodez00;
									}
								}
							else
								{	/* Llib/unicode.scm 799 */
									if ((BgL_nz00_1776 < 194L))
										{	/* Llib/unicode.scm 803 */
											STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
												((unsigned char) 239));
											{	/* Llib/unicode.scm 783 */
												long BgL_tmpz00_8877;

												BgL_tmpz00_8877 = (BgL_wz00_1772 + 1L);
												STRING_SET(BgL_resz00_7016, BgL_tmpz00_8877,
													((unsigned char) 191));
											}
											{	/* Llib/unicode.scm 784 */
												long BgL_tmpz00_8880;

												BgL_tmpz00_8880 = (BgL_wz00_1772 + 2L);
												STRING_SET(BgL_resz00_7016, BgL_tmpz00_8880,
													((unsigned char) 189));
											}
											{
												long BgL_wz00_8885;
												long BgL_rz00_8883;

												BgL_rz00_8883 = (BgL_rz00_1771 + 1L);
												BgL_wz00_8885 = (BgL_wz00_1772 + 3L);
												BgL_wz00_1772 = BgL_wz00_8885;
												BgL_rz00_1771 = BgL_rz00_8883;
												goto BGl_loopze70ze7zz__unicodez00;
											}
										}
									else
										{	/* Llib/unicode.scm 803 */
											if ((BgL_nz00_1776 < 223L))
												{	/* Llib/unicode.scm 809 */
													bool_t BgL_test4129z00_8889;

													if (((1L + BgL_rz00_1771) < BgL_lenz00_7017))
														{	/* Llib/unicode.scm 777 */
															long BgL_nz00_4462;

															BgL_nz00_4462 =
																(STRING_REF(BgL_strz00_7015,
																	(BgL_rz00_1771 + 1L)));
															if ((BgL_nz00_4462 >= 128L))
																{	/* Llib/unicode.scm 778 */
																	BgL_test4129z00_8889 =
																		(BgL_nz00_4462 <= 191L);
																}
															else
																{	/* Llib/unicode.scm 778 */
																	BgL_test4129z00_8889 = ((bool_t) 0);
																}
														}
													else
														{	/* Llib/unicode.scm 809 */
															BgL_test4129z00_8889 = ((bool_t) 0);
														}
													if (BgL_test4129z00_8889)
														{	/* Llib/unicode.scm 809 */
															STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
																BgL_cz00_1775);
															{	/* Llib/unicode.scm 813 */
																unsigned char BgL_auxz00_8902;
																long BgL_tmpz00_8900;

																BgL_auxz00_8902 =
																	STRING_REF(BgL_strz00_7015,
																	(BgL_rz00_1771 + 1L));
																BgL_tmpz00_8900 = (BgL_wz00_1772 + 1L);
																STRING_SET(BgL_resz00_7016, BgL_tmpz00_8900,
																	BgL_auxz00_8902);
															}
															{
																long BgL_wz00_8908;
																long BgL_rz00_8906;

																BgL_rz00_8906 = (BgL_rz00_1771 + 2L);
																BgL_wz00_8908 = (BgL_wz00_1772 + 2L);
																BgL_wz00_1772 = BgL_wz00_8908;
																BgL_rz00_1771 = BgL_rz00_8906;
																goto BGl_loopze70ze7zz__unicodez00;
															}
														}
													else
														{	/* Llib/unicode.scm 809 */
															STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
																((unsigned char) 239));
															{	/* Llib/unicode.scm 783 */
																long BgL_tmpz00_8911;

																BgL_tmpz00_8911 = (BgL_wz00_1772 + 1L);
																STRING_SET(BgL_resz00_7016, BgL_tmpz00_8911,
																	((unsigned char) 191));
															}
															{	/* Llib/unicode.scm 784 */
																long BgL_tmpz00_8914;

																BgL_tmpz00_8914 = (BgL_wz00_1772 + 2L);
																STRING_SET(BgL_resz00_7016, BgL_tmpz00_8914,
																	((unsigned char) 189));
															}
															{
																long BgL_wz00_8919;
																long BgL_rz00_8917;

																BgL_rz00_8917 = (BgL_rz00_1771 + 1L);
																BgL_wz00_8919 = (BgL_wz00_1772 + 3L);
																BgL_wz00_1772 = BgL_wz00_8919;
																BgL_rz00_1771 = BgL_rz00_8917;
																goto BGl_loopze70ze7zz__unicodez00;
															}
														}
												}
											else
												{	/* Llib/unicode.scm 818 */
													bool_t BgL_test4132z00_8921;

													if ((BgL_nz00_1776 >= 216L))
														{	/* Llib/unicode.scm 818 */
															BgL_test4132z00_8921 = (BgL_nz00_1776 <= 219L);
														}
													else
														{	/* Llib/unicode.scm 818 */
															BgL_test4132z00_8921 = ((bool_t) 0);
														}
													if (BgL_test4132z00_8921)
														{	/* Llib/unicode.scm 820 */
															bool_t BgL_test4134z00_8925;

															if ((BgL_rz00_1771 < (BgL_lenz00_7017 - 3L)))
																{	/* Llib/unicode.scm 821 */
																	bool_t BgL_test4136z00_8929;

																	{	/* Llib/unicode.scm 777 */
																		long BgL_nz00_4502;

																		BgL_nz00_4502 =
																			(STRING_REF(BgL_strz00_7015,
																				(BgL_rz00_1771 + 1L)));
																		if ((BgL_nz00_4502 >= 220L))
																			{	/* Llib/unicode.scm 778 */
																				BgL_test4136z00_8929 =
																					(BgL_nz00_4502 <= 223L);
																			}
																		else
																			{	/* Llib/unicode.scm 778 */
																				BgL_test4136z00_8929 = ((bool_t) 0);
																			}
																	}
																	if (BgL_test4136z00_8929)
																		{	/* Llib/unicode.scm 822 */
																			bool_t BgL_test4138z00_8936;

																			{	/* Llib/unicode.scm 777 */
																				long BgL_nz00_4510;

																				BgL_nz00_4510 =
																					(STRING_REF(BgL_strz00_7015,
																						(BgL_rz00_1771 + 2L)));
																				if ((BgL_nz00_4510 >= 220L))
																					{	/* Llib/unicode.scm 778 */
																						BgL_test4138z00_8936 =
																							(BgL_nz00_4510 <= 223L);
																					}
																				else
																					{	/* Llib/unicode.scm 778 */
																						BgL_test4138z00_8936 = ((bool_t) 0);
																					}
																			}
																			if (BgL_test4138z00_8936)
																				{	/* Llib/unicode.scm 777 */
																					long BgL_nz00_4518;

																					BgL_nz00_4518 =
																						(STRING_REF(BgL_strz00_7015,
																							(BgL_rz00_1771 + 3L)));
																					if ((BgL_nz00_4518 >= 220L))
																						{	/* Llib/unicode.scm 778 */
																							BgL_test4134z00_8925 =
																								(BgL_nz00_4518 <= 223L);
																						}
																					else
																						{	/* Llib/unicode.scm 778 */
																							BgL_test4134z00_8925 =
																								((bool_t) 0);
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 822 */
																					BgL_test4134z00_8925 = ((bool_t) 0);
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 821 */
																			BgL_test4134z00_8925 = ((bool_t) 0);
																		}
																}
															else
																{	/* Llib/unicode.scm 820 */
																	BgL_test4134z00_8925 = ((bool_t) 0);
																}
															if (BgL_test4134z00_8925)
																{	/* Llib/unicode.scm 820 */
																	STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
																		BgL_cz00_1775);
																	{	/* Llib/unicode.scm 826 */
																		unsigned char BgL_auxz00_8952;
																		long BgL_tmpz00_8950;

																		BgL_auxz00_8952 =
																			STRING_REF(BgL_strz00_7015,
																			(BgL_rz00_1771 + 1L));
																		BgL_tmpz00_8950 = (BgL_wz00_1772 + 1L);
																		STRING_SET(BgL_resz00_7016, BgL_tmpz00_8950,
																			BgL_auxz00_8952);
																	}
																	{	/* Llib/unicode.scm 827 */
																		unsigned char BgL_auxz00_8958;
																		long BgL_tmpz00_8956;

																		BgL_auxz00_8958 =
																			STRING_REF(BgL_strz00_7015,
																			(BgL_rz00_1771 + 2L));
																		BgL_tmpz00_8956 = (BgL_wz00_1772 + 2L);
																		STRING_SET(BgL_resz00_7016, BgL_tmpz00_8956,
																			BgL_auxz00_8958);
																	}
																	{	/* Llib/unicode.scm 828 */
																		unsigned char BgL_auxz00_8964;
																		long BgL_tmpz00_8962;

																		BgL_auxz00_8964 =
																			STRING_REF(BgL_strz00_7015,
																			(BgL_rz00_1771 + 3L));
																		BgL_tmpz00_8962 = (BgL_wz00_1772 + 3L);
																		STRING_SET(BgL_resz00_7016, BgL_tmpz00_8962,
																			BgL_auxz00_8964);
																	}
																	BGl_loopze70ze7zz__unicodez00(BgL_endz00_7019,
																		BgL_strictz00_7018, BgL_lenz00_7017,
																		BgL_resz00_7016, BgL_strz00_7015,
																		(BgL_rz00_1771 + 4L), (BgL_wz00_1772 + 4L));
																	STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
																		((unsigned char) 239));
																	{	/* Llib/unicode.scm 783 */
																		long BgL_tmpz00_8972;

																		BgL_tmpz00_8972 = (BgL_wz00_1772 + 1L);
																		STRING_SET(BgL_resz00_7016, BgL_tmpz00_8972,
																			((unsigned char) 191));
																	}
																	{	/* Llib/unicode.scm 784 */
																		long BgL_tmpz00_8975;

																		BgL_tmpz00_8975 = (BgL_wz00_1772 + 2L);
																		STRING_SET(BgL_resz00_7016, BgL_tmpz00_8975,
																			((unsigned char) 189));
																	}
																	{
																		long BgL_wz00_8980;
																		long BgL_rz00_8978;

																		BgL_rz00_8978 = (BgL_rz00_1771 + 1L);
																		BgL_wz00_8980 = (BgL_wz00_1772 + 3L);
																		BgL_wz00_1772 = BgL_wz00_8980;
																		BgL_rz00_1771 = BgL_rz00_8978;
																		goto BGl_loopze70ze7zz__unicodez00;
																	}
																}
															else
																{	/* Llib/unicode.scm 820 */
																	return BFALSE;
																}
														}
													else
														{	/* Llib/unicode.scm 818 */
															if ((BgL_nz00_1776 <= 223L))
																{	/* Llib/unicode.scm 835 */
																	bool_t BgL_test4142z00_8984;

																	if (((1L + BgL_rz00_1771) < BgL_lenz00_7017))
																		{	/* Llib/unicode.scm 777 */
																			long BgL_nz00_4571;

																			BgL_nz00_4571 =
																				(STRING_REF(BgL_strz00_7015,
																					(BgL_rz00_1771 + 1L)));
																			if ((BgL_nz00_4571 >= 128L))
																				{	/* Llib/unicode.scm 778 */
																					BgL_test4142z00_8984 =
																						(BgL_nz00_4571 <= 191L);
																				}
																			else
																				{	/* Llib/unicode.scm 778 */
																					BgL_test4142z00_8984 = ((bool_t) 0);
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 835 */
																			BgL_test4142z00_8984 = ((bool_t) 0);
																		}
																	if (BgL_test4142z00_8984)
																		{	/* Llib/unicode.scm 835 */
																			STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
																				BgL_cz00_1775);
																			{	/* Llib/unicode.scm 839 */
																				unsigned char BgL_auxz00_8997;
																				long BgL_tmpz00_8995;

																				BgL_auxz00_8997 =
																					STRING_REF(BgL_strz00_7015,
																					(BgL_rz00_1771 + 1L));
																				BgL_tmpz00_8995 = (BgL_wz00_1772 + 1L);
																				STRING_SET(BgL_resz00_7016,
																					BgL_tmpz00_8995, BgL_auxz00_8997);
																			}
																			{
																				long BgL_wz00_9003;
																				long BgL_rz00_9001;

																				BgL_rz00_9001 = (BgL_rz00_1771 + 2L);
																				BgL_wz00_9003 = (BgL_wz00_1772 + 2L);
																				BgL_wz00_1772 = BgL_wz00_9003;
																				BgL_rz00_1771 = BgL_rz00_9001;
																				goto BGl_loopze70ze7zz__unicodez00;
																			}
																		}
																	else
																		{	/* Llib/unicode.scm 835 */
																			STRING_SET(BgL_resz00_7016, BgL_wz00_1772,
																				((unsigned char) 239));
																			{	/* Llib/unicode.scm 783 */
																				long BgL_tmpz00_9006;

																				BgL_tmpz00_9006 = (BgL_wz00_1772 + 1L);
																				STRING_SET(BgL_resz00_7016,
																					BgL_tmpz00_9006,
																					((unsigned char) 191));
																			}
																			{	/* Llib/unicode.scm 784 */
																				long BgL_tmpz00_9009;

																				BgL_tmpz00_9009 = (BgL_wz00_1772 + 2L);
																				STRING_SET(BgL_resz00_7016,
																					BgL_tmpz00_9009,
																					((unsigned char) 189));
																			}
																			{
																				long BgL_wz00_9014;
																				long BgL_rz00_9012;

																				BgL_rz00_9012 = (BgL_rz00_1771 + 1L);
																				BgL_wz00_9014 = (BgL_wz00_1772 + 3L);
																				BgL_wz00_1772 = BgL_wz00_9014;
																				BgL_rz00_1771 = BgL_rz00_9012;
																				goto BGl_loopze70ze7zz__unicodez00;
																			}
																		}
																}
															else
																{	/* Llib/unicode.scm 833 */
																	if ((BgL_nz00_1776 <= 239L))
																		{	/* Llib/unicode.scm 846 */
																			bool_t BgL_test4146z00_9018;

																			if (
																				(BgL_rz00_1771 <
																					(BgL_lenz00_7017 - 2L)))
																				{	/* Llib/unicode.scm 847 */
																					bool_t BgL_test4148z00_9022;

																					{	/* Llib/unicode.scm 777 */
																						long BgL_nz00_4610;

																						BgL_nz00_4610 =
																							(STRING_REF(BgL_strz00_7015,
																								(BgL_rz00_1771 + 1L)));
																						if ((BgL_nz00_4610 >= 128L))
																							{	/* Llib/unicode.scm 778 */
																								BgL_test4148z00_9022 =
																									(BgL_nz00_4610 <= 191L);
																							}
																						else
																							{	/* Llib/unicode.scm 778 */
																								BgL_test4148z00_9022 =
																									((bool_t) 0);
																							}
																					}
																					if (BgL_test4148z00_9022)
																						{	/* Llib/unicode.scm 777 */
																							long BgL_nz00_4618;

																							BgL_nz00_4618 =
																								(STRING_REF(BgL_strz00_7015,
																									(BgL_rz00_1771 + 2L)));
																							if ((BgL_nz00_4618 >= 128L))
																								{	/* Llib/unicode.scm 778 */
																									BgL_test4146z00_9018 =
																										(BgL_nz00_4618 <= 191L);
																								}
																							else
																								{	/* Llib/unicode.scm 778 */
																									BgL_test4146z00_9018 =
																										((bool_t) 0);
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 847 */
																							BgL_test4146z00_9018 =
																								((bool_t) 0);
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 846 */
																					BgL_test4146z00_9018 = ((bool_t) 0);
																				}
																			if (BgL_test4146z00_9018)
																				{	/* Llib/unicode.scm 846 */
																					STRING_SET(BgL_resz00_7016,
																						BgL_wz00_1772, BgL_cz00_1775);
																					{	/* Llib/unicode.scm 851 */
																						unsigned char BgL_auxz00_9038;
																						long BgL_tmpz00_9036;

																						BgL_auxz00_9038 =
																							STRING_REF(BgL_strz00_7015,
																							(BgL_rz00_1771 + 1L));
																						BgL_tmpz00_9036 =
																							(BgL_wz00_1772 + 1L);
																						STRING_SET(BgL_resz00_7016,
																							BgL_tmpz00_9036, BgL_auxz00_9038);
																					}
																					{	/* Llib/unicode.scm 852 */
																						unsigned char BgL_auxz00_9044;
																						long BgL_tmpz00_9042;

																						BgL_auxz00_9044 =
																							STRING_REF(BgL_strz00_7015,
																							(BgL_rz00_1771 + 2L));
																						BgL_tmpz00_9042 =
																							(BgL_wz00_1772 + 2L);
																						STRING_SET(BgL_resz00_7016,
																							BgL_tmpz00_9042, BgL_auxz00_9044);
																					}
																					{
																						long BgL_wz00_9050;
																						long BgL_rz00_9048;

																						BgL_rz00_9048 =
																							(BgL_rz00_1771 + 3L);
																						BgL_wz00_9050 =
																							(BgL_wz00_1772 + 3L);
																						BgL_wz00_1772 = BgL_wz00_9050;
																						BgL_rz00_1771 = BgL_rz00_9048;
																						goto BGl_loopze70ze7zz__unicodez00;
																					}
																				}
																			else
																				{	/* Llib/unicode.scm 846 */
																					STRING_SET(BgL_resz00_7016,
																						BgL_wz00_1772,
																						((unsigned char) 239));
																					{	/* Llib/unicode.scm 783 */
																						long BgL_tmpz00_9053;

																						BgL_tmpz00_9053 =
																							(BgL_wz00_1772 + 1L);
																						STRING_SET(BgL_resz00_7016,
																							BgL_tmpz00_9053,
																							((unsigned char) 191));
																					}
																					{	/* Llib/unicode.scm 784 */
																						long BgL_tmpz00_9056;

																						BgL_tmpz00_9056 =
																							(BgL_wz00_1772 + 2L);
																						STRING_SET(BgL_resz00_7016,
																							BgL_tmpz00_9056,
																							((unsigned char) 189));
																					}
																					{
																						long BgL_wz00_9061;
																						long BgL_rz00_9059;

																						BgL_rz00_9059 =
																							(BgL_rz00_1771 + 1L);
																						BgL_wz00_9061 =
																							(BgL_wz00_1772 + 3L);
																						BgL_wz00_1772 = BgL_wz00_9061;
																						BgL_rz00_1771 = BgL_rz00_9059;
																						goto BGl_loopze70ze7zz__unicodez00;
																					}
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 844 */
																			if ((BgL_nz00_1776 == 240L))
																				{	/* Llib/unicode.scm 859 */
																					bool_t BgL_test4152z00_9065;

																					if (
																						(BgL_rz00_1771 <
																							(BgL_lenz00_7017 - 3L)))
																						{	/* Llib/unicode.scm 860 */
																							bool_t BgL_test4154z00_9069;

																							{	/* Llib/unicode.scm 777 */
																								long BgL_nz00_4664;

																								BgL_nz00_4664 =
																									(STRING_REF(BgL_strz00_7015,
																										(BgL_rz00_1771 + 1L)));
																								if ((BgL_nz00_4664 >= 144L))
																									{	/* Llib/unicode.scm 778 */
																										BgL_test4154z00_9069 =
																											(BgL_nz00_4664 <= 191L);
																									}
																								else
																									{	/* Llib/unicode.scm 778 */
																										BgL_test4154z00_9069 =
																											((bool_t) 0);
																									}
																							}
																							if (BgL_test4154z00_9069)
																								{	/* Llib/unicode.scm 861 */
																									bool_t BgL_test4156z00_9076;

																									{	/* Llib/unicode.scm 777 */
																										long BgL_nz00_4672;

																										BgL_nz00_4672 =
																											(STRING_REF
																											(BgL_strz00_7015,
																												(BgL_rz00_1771 + 2L)));
																										if ((BgL_nz00_4672 >= 128L))
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4156z00_9076 =
																													(BgL_nz00_4672 <=
																													191L);
																											}
																										else
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4156z00_9076 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4156z00_9076)
																										{	/* Llib/unicode.scm 777 */
																											long BgL_nz00_4680;

																											BgL_nz00_4680 =
																												(STRING_REF
																												(BgL_strz00_7015,
																													(BgL_rz00_1771 +
																														3L)));
																											if ((BgL_nz00_4680 >=
																													128L))
																												{	/* Llib/unicode.scm 778 */
																													BgL_test4152z00_9065 =
																														(BgL_nz00_4680 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 778 */
																													BgL_test4152z00_9065 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 861 */
																											BgL_test4152z00_9065 =
																												((bool_t) 0);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 860 */
																									BgL_test4152z00_9065 =
																										((bool_t) 0);
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 859 */
																							BgL_test4152z00_9065 =
																								((bool_t) 0);
																						}
																					if (BgL_test4152z00_9065)
																						{	/* Llib/unicode.scm 859 */
																							STRING_SET(BgL_resz00_7016,
																								BgL_wz00_1772, BgL_cz00_1775);
																							{	/* Llib/unicode.scm 865 */
																								unsigned char BgL_auxz00_9092;
																								long BgL_tmpz00_9090;

																								BgL_auxz00_9092 =
																									STRING_REF(BgL_strz00_7015,
																									(BgL_rz00_1771 + 1L));
																								BgL_tmpz00_9090 =
																									(BgL_wz00_1772 + 1L);
																								STRING_SET(BgL_resz00_7016,
																									BgL_tmpz00_9090,
																									BgL_auxz00_9092);
																							}
																							{	/* Llib/unicode.scm 866 */
																								unsigned char BgL_auxz00_9098;
																								long BgL_tmpz00_9096;

																								BgL_auxz00_9098 =
																									STRING_REF(BgL_strz00_7015,
																									(BgL_rz00_1771 + 2L));
																								BgL_tmpz00_9096 =
																									(BgL_wz00_1772 + 2L);
																								STRING_SET(BgL_resz00_7016,
																									BgL_tmpz00_9096,
																									BgL_auxz00_9098);
																							}
																							{	/* Llib/unicode.scm 867 */
																								unsigned char BgL_auxz00_9104;
																								long BgL_tmpz00_9102;

																								BgL_auxz00_9104 =
																									STRING_REF(BgL_strz00_7015,
																									(BgL_rz00_1771 + 3L));
																								BgL_tmpz00_9102 =
																									(BgL_wz00_1772 + 3L);
																								STRING_SET(BgL_resz00_7016,
																									BgL_tmpz00_9102,
																									BgL_auxz00_9104);
																							}
																							{
																								long BgL_wz00_9110;
																								long BgL_rz00_9108;

																								BgL_rz00_9108 =
																									(BgL_rz00_1771 + 4L);
																								BgL_wz00_9110 =
																									(BgL_wz00_1772 + 4L);
																								BgL_wz00_1772 = BgL_wz00_9110;
																								BgL_rz00_1771 = BgL_rz00_9108;
																								goto
																									BGl_loopze70ze7zz__unicodez00;
																							}
																						}
																					else
																						{	/* Llib/unicode.scm 859 */
																							STRING_SET(BgL_resz00_7016,
																								BgL_wz00_1772,
																								((unsigned char) 239));
																							{	/* Llib/unicode.scm 783 */
																								long BgL_tmpz00_9113;

																								BgL_tmpz00_9113 =
																									(BgL_wz00_1772 + 1L);
																								STRING_SET(BgL_resz00_7016,
																									BgL_tmpz00_9113,
																									((unsigned char) 191));
																							}
																							{	/* Llib/unicode.scm 784 */
																								long BgL_tmpz00_9116;

																								BgL_tmpz00_9116 =
																									(BgL_wz00_1772 + 2L);
																								STRING_SET(BgL_resz00_7016,
																									BgL_tmpz00_9116,
																									((unsigned char) 189));
																							}
																							{
																								long BgL_wz00_9121;
																								long BgL_rz00_9119;

																								BgL_rz00_9119 =
																									(BgL_rz00_1771 + 1L);
																								BgL_wz00_9121 =
																									(BgL_wz00_1772 + 3L);
																								BgL_wz00_1772 = BgL_wz00_9121;
																								BgL_rz00_1771 = BgL_rz00_9119;
																								goto
																									BGl_loopze70ze7zz__unicodez00;
																							}
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 872 */
																					bool_t BgL_test4159z00_9123;

																					if ((BgL_nz00_1776 == 244L))
																						{	/* Llib/unicode.scm 872 */
																							BgL_test4159z00_9123 =
																								((bool_t) 1);
																						}
																					else
																						{	/* Llib/unicode.scm 873 */
																							bool_t BgL_test4161z00_9126;

																							{	/* Llib/unicode.scm 873 */
																								bool_t BgL__ortest_1051z00_2127;

																								BgL__ortest_1051z00_2127 =
																									(BgL_nz00_1776 == 248L);
																								if (BgL__ortest_1051z00_2127)
																									{	/* Llib/unicode.scm 873 */
																										BgL_test4161z00_9126 =
																											BgL__ortest_1051z00_2127;
																									}
																								else
																									{	/* Llib/unicode.scm 873 */
																										BgL_test4161z00_9126 =
																											(BgL_nz00_1776 == 252L);
																									}
																							}
																							if (BgL_test4161z00_9126)
																								{	/* Llib/unicode.scm 873 */
																									if (BgL_strictz00_7018)
																										{	/* Llib/unicode.scm 873 */
																											BgL_test4159z00_9123 =
																												((bool_t) 0);
																										}
																									else
																										{	/* Llib/unicode.scm 873 */
																											BgL_test4159z00_9123 =
																												((bool_t) 1);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 873 */
																									BgL_test4159z00_9123 =
																										((bool_t) 0);
																								}
																						}
																					if (BgL_test4159z00_9123)
																						{	/* Llib/unicode.scm 875 */
																							bool_t BgL_test4164z00_9131;

																							if (
																								(BgL_rz00_1771 <
																									(BgL_lenz00_7017 - 3L)))
																								{	/* Llib/unicode.scm 876 */
																									bool_t BgL_test4166z00_9135;

																									{	/* Llib/unicode.scm 777 */
																										long BgL_nz00_4735;

																										BgL_nz00_4735 =
																											(STRING_REF
																											(BgL_strz00_7015,
																												(BgL_rz00_1771 + 1L)));
																										if ((BgL_nz00_4735 >= 128L))
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4166z00_9135 =
																													(BgL_nz00_4735 <=
																													191L);
																											}
																										else
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4166z00_9135 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4166z00_9135)
																										{	/* Llib/unicode.scm 877 */
																											bool_t
																												BgL_test4168z00_9142;
																											{	/* Llib/unicode.scm 777 */
																												long BgL_nz00_4743;

																												BgL_nz00_4743 =
																													(STRING_REF
																													(BgL_strz00_7015,
																														(BgL_rz00_1771 +
																															2L)));
																												if ((BgL_nz00_4743 >=
																														128L))
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4168z00_9142
																															=
																															(BgL_nz00_4743 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4168z00_9142
																															= ((bool_t) 0);
																													}
																											}
																											if (BgL_test4168z00_9142)
																												{	/* Llib/unicode.scm 777 */
																													long BgL_nz00_4751;

																													BgL_nz00_4751 =
																														(STRING_REF
																														(BgL_strz00_7015,
																															(BgL_rz00_1771 +
																																3L)));
																													if ((BgL_nz00_4751 >=
																															128L))
																														{	/* Llib/unicode.scm 778 */
																															BgL_test4164z00_9131
																																=
																																(BgL_nz00_4751
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 778 */
																															BgL_test4164z00_9131
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 877 */
																													BgL_test4164z00_9131 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 876 */
																											BgL_test4164z00_9131 =
																												((bool_t) 0);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 875 */
																									BgL_test4164z00_9131 =
																										((bool_t) 0);
																								}
																							if (BgL_test4164z00_9131)
																								{	/* Llib/unicode.scm 875 */
																									STRING_SET(BgL_resz00_7016,
																										BgL_wz00_1772,
																										BgL_cz00_1775);
																									{	/* Llib/unicode.scm 881 */
																										unsigned char
																											BgL_auxz00_9158;
																										long BgL_tmpz00_9156;

																										BgL_auxz00_9158 =
																											STRING_REF
																											(BgL_strz00_7015,
																											(BgL_rz00_1771 + 1L));
																										BgL_tmpz00_9156 =
																											(BgL_wz00_1772 + 1L);
																										STRING_SET(BgL_resz00_7016,
																											BgL_tmpz00_9156,
																											BgL_auxz00_9158);
																									}
																									{	/* Llib/unicode.scm 882 */
																										unsigned char
																											BgL_auxz00_9164;
																										long BgL_tmpz00_9162;

																										BgL_auxz00_9164 =
																											STRING_REF
																											(BgL_strz00_7015,
																											(BgL_rz00_1771 + 2L));
																										BgL_tmpz00_9162 =
																											(BgL_wz00_1772 + 2L);
																										STRING_SET(BgL_resz00_7016,
																											BgL_tmpz00_9162,
																											BgL_auxz00_9164);
																									}
																									{	/* Llib/unicode.scm 883 */
																										unsigned char
																											BgL_auxz00_9170;
																										long BgL_tmpz00_9168;

																										BgL_auxz00_9170 =
																											STRING_REF
																											(BgL_strz00_7015,
																											(BgL_rz00_1771 + 3L));
																										BgL_tmpz00_9168 =
																											(BgL_wz00_1772 + 3L);
																										STRING_SET(BgL_resz00_7016,
																											BgL_tmpz00_9168,
																											BgL_auxz00_9170);
																									}
																									{
																										long BgL_wz00_9176;
																										long BgL_rz00_9174;

																										BgL_rz00_9174 =
																											(BgL_rz00_1771 + 4L);
																										BgL_wz00_9176 =
																											(BgL_wz00_1772 + 4L);
																										BgL_wz00_1772 =
																											BgL_wz00_9176;
																										BgL_rz00_1771 =
																											BgL_rz00_9174;
																										goto
																											BGl_loopze70ze7zz__unicodez00;
																									}
																								}
																							else
																								{	/* Llib/unicode.scm 875 */
																									STRING_SET(BgL_resz00_7016,
																										BgL_wz00_1772,
																										((unsigned char) 239));
																									{	/* Llib/unicode.scm 783 */
																										long BgL_tmpz00_9179;

																										BgL_tmpz00_9179 =
																											(BgL_wz00_1772 + 1L);
																										STRING_SET(BgL_resz00_7016,
																											BgL_tmpz00_9179,
																											((unsigned char) 191));
																									}
																									{	/* Llib/unicode.scm 784 */
																										long BgL_tmpz00_9182;

																										BgL_tmpz00_9182 =
																											(BgL_wz00_1772 + 2L);
																										STRING_SET(BgL_resz00_7016,
																											BgL_tmpz00_9182,
																											((unsigned char) 189));
																									}
																									{
																										long BgL_wz00_9187;
																										long BgL_rz00_9185;

																										BgL_rz00_9185 =
																											(BgL_rz00_1771 + 1L);
																										BgL_wz00_9187 =
																											(BgL_wz00_1772 + 3L);
																										BgL_wz00_1772 =
																											BgL_wz00_9187;
																										BgL_rz00_1771 =
																											BgL_rz00_9185;
																										goto
																											BGl_loopze70ze7zz__unicodez00;
																									}
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 872 */
																							if ((BgL_nz00_1776 <= 247L))
																								{	/* Llib/unicode.scm 890 */
																									bool_t BgL_test4172z00_9191;

																									if (
																										(BgL_rz00_1771 <
																											(BgL_lenz00_7017 - 3L)))
																										{	/* Llib/unicode.scm 891 */
																											bool_t
																												BgL_test4174z00_9195;
																											{	/* Llib/unicode.scm 777 */
																												long BgL_nz00_4804;

																												BgL_nz00_4804 =
																													(STRING_REF
																													(BgL_strz00_7015,
																														(BgL_rz00_1771 +
																															1L)));
																												if ((BgL_nz00_4804 >=
																														128L))
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4174z00_9195
																															=
																															(BgL_nz00_4804 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4174z00_9195
																															= ((bool_t) 0);
																													}
																											}
																											if (BgL_test4174z00_9195)
																												{	/* Llib/unicode.scm 892 */
																													bool_t
																														BgL_test4176z00_9202;
																													{	/* Llib/unicode.scm 777 */
																														long BgL_nz00_4812;

																														BgL_nz00_4812 =
																															(STRING_REF
																															(BgL_strz00_7015,
																																(BgL_rz00_1771 +
																																	2L)));
																														if ((BgL_nz00_4812
																																>= 128L))
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4176z00_9202
																																	=
																																	(BgL_nz00_4812
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4176z00_9202
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test4176z00_9202)
																														{	/* Llib/unicode.scm 777 */
																															long
																																BgL_nz00_4820;
																															BgL_nz00_4820 =
																																(STRING_REF
																																(BgL_strz00_7015,
																																	(BgL_rz00_1771
																																		+ 3L)));
																															if ((BgL_nz00_4820
																																	>= 128L))
																																{	/* Llib/unicode.scm 778 */
																																	BgL_test4172z00_9191
																																		=
																																		(BgL_nz00_4820
																																		<= 191L);
																																}
																															else
																																{	/* Llib/unicode.scm 778 */
																																	BgL_test4172z00_9191
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 892 */
																															BgL_test4172z00_9191
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 891 */
																													BgL_test4172z00_9191 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 890 */
																											BgL_test4172z00_9191 =
																												((bool_t) 0);
																										}
																									if (BgL_test4172z00_9191)
																										{	/* Llib/unicode.scm 890 */
																											STRING_SET
																												(BgL_resz00_7016,
																												BgL_wz00_1772,
																												BgL_cz00_1775);
																											{	/* Llib/unicode.scm 896 */
																												unsigned char
																													BgL_auxz00_9218;
																												long BgL_tmpz00_9216;

																												BgL_auxz00_9218 =
																													STRING_REF
																													(BgL_strz00_7015,
																													(BgL_rz00_1771 + 1L));
																												BgL_tmpz00_9216 =
																													(BgL_wz00_1772 + 1L);
																												STRING_SET
																													(BgL_resz00_7016,
																													BgL_tmpz00_9216,
																													BgL_auxz00_9218);
																											}
																											{	/* Llib/unicode.scm 897 */
																												unsigned char
																													BgL_auxz00_9224;
																												long BgL_tmpz00_9222;

																												BgL_auxz00_9224 =
																													STRING_REF
																													(BgL_strz00_7015,
																													(BgL_rz00_1771 + 2L));
																												BgL_tmpz00_9222 =
																													(BgL_wz00_1772 + 2L);
																												STRING_SET
																													(BgL_resz00_7016,
																													BgL_tmpz00_9222,
																													BgL_auxz00_9224);
																											}
																											{	/* Llib/unicode.scm 898 */
																												unsigned char
																													BgL_auxz00_9230;
																												long BgL_tmpz00_9228;

																												BgL_auxz00_9230 =
																													STRING_REF
																													(BgL_strz00_7015,
																													(BgL_rz00_1771 + 3L));
																												BgL_tmpz00_9228 =
																													(BgL_wz00_1772 + 3L);
																												STRING_SET
																													(BgL_resz00_7016,
																													BgL_tmpz00_9228,
																													BgL_auxz00_9230);
																											}
																											{
																												long BgL_wz00_9236;
																												long BgL_rz00_9234;

																												BgL_rz00_9234 =
																													(BgL_rz00_1771 + 4L);
																												BgL_wz00_9236 =
																													(BgL_wz00_1772 + 4L);
																												BgL_wz00_1772 =
																													BgL_wz00_9236;
																												BgL_rz00_1771 =
																													BgL_rz00_9234;
																												goto
																													BGl_loopze70ze7zz__unicodez00;
																											}
																										}
																									else
																										{	/* Llib/unicode.scm 890 */
																											STRING_SET
																												(BgL_resz00_7016,
																												BgL_wz00_1772,
																												((unsigned char) 239));
																											{	/* Llib/unicode.scm 783 */
																												long BgL_tmpz00_9239;

																												BgL_tmpz00_9239 =
																													(BgL_wz00_1772 + 1L);
																												STRING_SET
																													(BgL_resz00_7016,
																													BgL_tmpz00_9239,
																													((unsigned char)
																														191));
																											}
																											{	/* Llib/unicode.scm 784 */
																												long BgL_tmpz00_9242;

																												BgL_tmpz00_9242 =
																													(BgL_wz00_1772 + 2L);
																												STRING_SET
																													(BgL_resz00_7016,
																													BgL_tmpz00_9242,
																													((unsigned char)
																														189));
																											}
																											{
																												long BgL_wz00_9247;
																												long BgL_rz00_9245;

																												BgL_rz00_9245 =
																													(BgL_rz00_1771 + 1L);
																												BgL_wz00_9247 =
																													(BgL_wz00_1772 + 3L);
																												BgL_wz00_1772 =
																													BgL_wz00_9247;
																												BgL_rz00_1771 =
																													BgL_rz00_9245;
																												goto
																													BGl_loopze70ze7zz__unicodez00;
																											}
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 888 */
																									if ((BgL_nz00_1776 <= 251L))
																										{	/* Llib/unicode.scm 904 */
																											bool_t
																												BgL_test4180z00_9251;
																											if ((BgL_rz00_1771 <
																													(BgL_lenz00_7017 -
																														4L)))
																												{	/* Llib/unicode.scm 905 */
																													bool_t
																														BgL_test4182z00_9255;
																													{	/* Llib/unicode.scm 777 */
																														long BgL_nz00_4873;

																														BgL_nz00_4873 =
																															(STRING_REF
																															(BgL_strz00_7015,
																																(BgL_rz00_1771 +
																																	1L)));
																														if ((BgL_nz00_4873
																																>= 128L))
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4182z00_9255
																																	=
																																	(BgL_nz00_4873
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4182z00_9255
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test4182z00_9255)
																														{	/* Llib/unicode.scm 906 */
																															bool_t
																																BgL_test4184z00_9262;
																															{	/* Llib/unicode.scm 777 */
																																long
																																	BgL_nz00_4881;
																																BgL_nz00_4881 =
																																	(STRING_REF
																																	(BgL_strz00_7015,
																																		(BgL_rz00_1771
																																			+ 2L)));
																																if (
																																	(BgL_nz00_4881
																																		>= 128L))
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4184z00_9262
																																			=
																																			(BgL_nz00_4881
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4184z00_9262
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4184z00_9262)
																																{	/* Llib/unicode.scm 907 */
																																	bool_t
																																		BgL_test4186z00_9269;
																																	{	/* Llib/unicode.scm 777 */
																																		long
																																			BgL_nz00_4889;
																																		BgL_nz00_4889
																																			=
																																			(STRING_REF
																																			(BgL_strz00_7015,
																																				(BgL_rz00_1771
																																					+
																																					3L)));
																																		if (
																																			(BgL_nz00_4889
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4186z00_9269
																																					=
																																					(BgL_nz00_4889
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4186z00_9269
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4186z00_9269)
																																		{	/* Llib/unicode.scm 777 */
																																			long
																																				BgL_nz00_4897;
																																			BgL_nz00_4897
																																				=
																																				(STRING_REF
																																				(BgL_strz00_7015,
																																					(BgL_rz00_1771
																																						+
																																						4L)));
																																			if (
																																				(BgL_nz00_4897
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 778 */
																																					BgL_test4180z00_9251
																																						=
																																						(BgL_nz00_4897
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 778 */
																																					BgL_test4180z00_9251
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 907 */
																																			BgL_test4180z00_9251
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 906 */
																																	BgL_test4180z00_9251
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 905 */
																															BgL_test4180z00_9251
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 904 */
																													BgL_test4180z00_9251 =
																														((bool_t) 0);
																												}
																											if (BgL_test4180z00_9251)
																												{	/* Llib/unicode.scm 904 */
																													STRING_SET
																														(BgL_resz00_7016,
																														BgL_wz00_1772,
																														BgL_cz00_1775);
																													{	/* Llib/unicode.scm 911 */
																														unsigned char
																															BgL_auxz00_9285;
																														long
																															BgL_tmpz00_9283;
																														BgL_auxz00_9285 =
																															STRING_REF
																															(BgL_strz00_7015,
																															(BgL_rz00_1771 +
																																1L));
																														BgL_tmpz00_9283 =
																															(BgL_wz00_1772 +
																															1L);
																														STRING_SET
																															(BgL_resz00_7016,
																															BgL_tmpz00_9283,
																															BgL_auxz00_9285);
																													}
																													{	/* Llib/unicode.scm 912 */
																														unsigned char
																															BgL_auxz00_9291;
																														long
																															BgL_tmpz00_9289;
																														BgL_auxz00_9291 =
																															STRING_REF
																															(BgL_strz00_7015,
																															(BgL_rz00_1771 +
																																2L));
																														BgL_tmpz00_9289 =
																															(BgL_wz00_1772 +
																															2L);
																														STRING_SET
																															(BgL_resz00_7016,
																															BgL_tmpz00_9289,
																															BgL_auxz00_9291);
																													}
																													{	/* Llib/unicode.scm 913 */
																														unsigned char
																															BgL_auxz00_9297;
																														long
																															BgL_tmpz00_9295;
																														BgL_auxz00_9297 =
																															STRING_REF
																															(BgL_strz00_7015,
																															(BgL_rz00_1771 +
																																3L));
																														BgL_tmpz00_9295 =
																															(BgL_wz00_1772 +
																															3L);
																														STRING_SET
																															(BgL_resz00_7016,
																															BgL_tmpz00_9295,
																															BgL_auxz00_9297);
																													}
																													{	/* Llib/unicode.scm 914 */
																														unsigned char
																															BgL_auxz00_9303;
																														long
																															BgL_tmpz00_9301;
																														BgL_auxz00_9303 =
																															STRING_REF
																															(BgL_strz00_7015,
																															(BgL_rz00_1771 +
																																4L));
																														BgL_tmpz00_9301 =
																															(BgL_wz00_1772 +
																															4L);
																														STRING_SET
																															(BgL_resz00_7016,
																															BgL_tmpz00_9301,
																															BgL_auxz00_9303);
																													}
																													{
																														long BgL_wz00_9309;
																														long BgL_rz00_9307;

																														BgL_rz00_9307 =
																															(BgL_rz00_1771 +
																															5L);
																														BgL_wz00_9309 =
																															(BgL_wz00_1772 +
																															5L);
																														BgL_wz00_1772 =
																															BgL_wz00_9309;
																														BgL_rz00_1771 =
																															BgL_rz00_9307;
																														goto
																															BGl_loopze70ze7zz__unicodez00;
																													}
																												}
																											else
																												{	/* Llib/unicode.scm 904 */
																													STRING_SET
																														(BgL_resz00_7016,
																														BgL_wz00_1772,
																														((unsigned char)
																															239));
																													{	/* Llib/unicode.scm 783 */
																														long
																															BgL_tmpz00_9312;
																														BgL_tmpz00_9312 =
																															(BgL_wz00_1772 +
																															1L);
																														STRING_SET
																															(BgL_resz00_7016,
																															BgL_tmpz00_9312,
																															((unsigned char)
																																191));
																													}
																													{	/* Llib/unicode.scm 784 */
																														long
																															BgL_tmpz00_9315;
																														BgL_tmpz00_9315 =
																															(BgL_wz00_1772 +
																															2L);
																														STRING_SET
																															(BgL_resz00_7016,
																															BgL_tmpz00_9315,
																															((unsigned char)
																																189));
																													}
																													{
																														long BgL_wz00_9320;
																														long BgL_rz00_9318;

																														BgL_rz00_9318 =
																															(BgL_rz00_1771 +
																															1L);
																														BgL_wz00_9320 =
																															(BgL_wz00_1772 +
																															3L);
																														BgL_wz00_1772 =
																															BgL_wz00_9320;
																														BgL_rz00_1771 =
																															BgL_rz00_9318;
																														goto
																															BGl_loopze70ze7zz__unicodez00;
																													}
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 903 */
																											if (
																												(BgL_nz00_1776 <= 253L))
																												{	/* Llib/unicode.scm 920 */
																													bool_t
																														BgL_test4190z00_9324;
																													if ((BgL_rz00_1771 <
																															(BgL_lenz00_7017 -
																																5L)))
																														{	/* Llib/unicode.scm 921 */
																															bool_t
																																BgL_test4192z00_9328;
																															{	/* Llib/unicode.scm 777 */
																																long
																																	BgL_nz00_4957;
																																BgL_nz00_4957 =
																																	(STRING_REF
																																	(BgL_strz00_7015,
																																		(BgL_rz00_1771
																																			+ 1L)));
																																if (
																																	(BgL_nz00_4957
																																		>= 128L))
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4192z00_9328
																																			=
																																			(BgL_nz00_4957
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4192z00_9328
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4192z00_9328)
																																{	/* Llib/unicode.scm 922 */
																																	bool_t
																																		BgL_test4194z00_9335;
																																	{	/* Llib/unicode.scm 777 */
																																		long
																																			BgL_nz00_4965;
																																		BgL_nz00_4965
																																			=
																																			(STRING_REF
																																			(BgL_strz00_7015,
																																				(BgL_rz00_1771
																																					+
																																					2L)));
																																		if (
																																			(BgL_nz00_4965
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4194z00_9335
																																					=
																																					(BgL_nz00_4965
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4194z00_9335
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4194z00_9335)
																																		{	/* Llib/unicode.scm 923 */
																																			bool_t
																																				BgL_test4196z00_9342;
																																			{	/* Llib/unicode.scm 777 */
																																				long
																																					BgL_nz00_4973;
																																				BgL_nz00_4973
																																					=
																																					(STRING_REF
																																					(BgL_strz00_7015,
																																						(BgL_rz00_1771
																																							+
																																							3L)));
																																				if (
																																					(BgL_nz00_4973
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 778 */
																																						BgL_test4196z00_9342
																																							=
																																							(BgL_nz00_4973
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 778 */
																																						BgL_test4196z00_9342
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																			if (BgL_test4196z00_9342)
																																				{	/* Llib/unicode.scm 924 */
																																					bool_t
																																						BgL_test4198z00_9349;
																																					{	/* Llib/unicode.scm 777 */
																																						long
																																							BgL_nz00_4981;
																																						BgL_nz00_4981
																																							=
																																							(STRING_REF
																																							(BgL_strz00_7015,
																																								(BgL_rz00_1771
																																									+
																																									4L)));
																																						if (
																																							(BgL_nz00_4981
																																								>=
																																								128L))
																																							{	/* Llib/unicode.scm 778 */
																																								BgL_test4198z00_9349
																																									=
																																									(BgL_nz00_4981
																																									<=
																																									191L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 778 */
																																								BgL_test4198z00_9349
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4198z00_9349)
																																						{	/* Llib/unicode.scm 777 */
																																							long
																																								BgL_nz00_4989;
																																							BgL_nz00_4989
																																								=
																																								(STRING_REF
																																								(BgL_strz00_7015,
																																									(BgL_rz00_1771
																																										+
																																										5L)));
																																							if ((BgL_nz00_4989 >= 128L))
																																								{	/* Llib/unicode.scm 778 */
																																									BgL_test4190z00_9324
																																										=
																																										(BgL_nz00_4989
																																										<=
																																										191L);
																																								}
																																							else
																																								{	/* Llib/unicode.scm 778 */
																																									BgL_test4190z00_9324
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 924 */
																																							BgL_test4190z00_9324
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 923 */
																																					BgL_test4190z00_9324
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 922 */
																																			BgL_test4190z00_9324
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 921 */
																																	BgL_test4190z00_9324
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 920 */
																															BgL_test4190z00_9324
																																= ((bool_t) 0);
																														}
																													if (BgL_test4190z00_9324)
																														{	/* Llib/unicode.scm 920 */
																															STRING_SET
																																(BgL_resz00_7016,
																																BgL_wz00_1772,
																																BgL_cz00_1775);
																															{	/* Llib/unicode.scm 928 */
																																unsigned char
																																	BgL_auxz00_9365;
																																long
																																	BgL_tmpz00_9363;
																																BgL_auxz00_9365
																																	=
																																	STRING_REF
																																	(BgL_strz00_7015,
																																	(BgL_rz00_1771
																																		+ 1L));
																																BgL_tmpz00_9363
																																	=
																																	(BgL_wz00_1772
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9363,
																																	BgL_auxz00_9365);
																															}
																															{	/* Llib/unicode.scm 929 */
																																unsigned char
																																	BgL_auxz00_9371;
																																long
																																	BgL_tmpz00_9369;
																																BgL_auxz00_9371
																																	=
																																	STRING_REF
																																	(BgL_strz00_7015,
																																	(BgL_rz00_1771
																																		+ 2L));
																																BgL_tmpz00_9369
																																	=
																																	(BgL_wz00_1772
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9369,
																																	BgL_auxz00_9371);
																															}
																															{	/* Llib/unicode.scm 930 */
																																unsigned char
																																	BgL_auxz00_9377;
																																long
																																	BgL_tmpz00_9375;
																																BgL_auxz00_9377
																																	=
																																	STRING_REF
																																	(BgL_strz00_7015,
																																	(BgL_rz00_1771
																																		+ 3L));
																																BgL_tmpz00_9375
																																	=
																																	(BgL_wz00_1772
																																	+ 3L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9375,
																																	BgL_auxz00_9377);
																															}
																															{	/* Llib/unicode.scm 931 */
																																unsigned char
																																	BgL_auxz00_9383;
																																long
																																	BgL_tmpz00_9381;
																																BgL_auxz00_9383
																																	=
																																	STRING_REF
																																	(BgL_strz00_7015,
																																	(BgL_rz00_1771
																																		+ 4L));
																																BgL_tmpz00_9381
																																	=
																																	(BgL_wz00_1772
																																	+ 4L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9381,
																																	BgL_auxz00_9383);
																															}
																															{	/* Llib/unicode.scm 932 */
																																unsigned char
																																	BgL_auxz00_9389;
																																long
																																	BgL_tmpz00_9387;
																																BgL_auxz00_9389
																																	=
																																	STRING_REF
																																	(BgL_strz00_7015,
																																	(BgL_rz00_1771
																																		+ 5L));
																																BgL_tmpz00_9387
																																	=
																																	(BgL_wz00_1772
																																	+ 5L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9387,
																																	BgL_auxz00_9389);
																															}
																															{
																																long
																																	BgL_wz00_9395;
																																long
																																	BgL_rz00_9393;
																																BgL_rz00_9393 =
																																	(BgL_rz00_1771
																																	+ 6L);
																																BgL_wz00_9395 =
																																	(BgL_wz00_1772
																																	+ 6L);
																																BgL_wz00_1772 =
																																	BgL_wz00_9395;
																																BgL_rz00_1771 =
																																	BgL_rz00_9393;
																																goto
																																	BGl_loopze70ze7zz__unicodez00;
																															}
																														}
																													else
																														{	/* Llib/unicode.scm 920 */
																															STRING_SET
																																(BgL_resz00_7016,
																																BgL_wz00_1772,
																																((unsigned char)
																																	239));
																															{	/* Llib/unicode.scm 783 */
																																long
																																	BgL_tmpz00_9398;
																																BgL_tmpz00_9398
																																	=
																																	(BgL_wz00_1772
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9398,
																																	((unsigned
																																			char)
																																		191));
																															}
																															{	/* Llib/unicode.scm 784 */
																																long
																																	BgL_tmpz00_9401;
																																BgL_tmpz00_9401
																																	=
																																	(BgL_wz00_1772
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_7016,
																																	BgL_tmpz00_9401,
																																	((unsigned
																																			char)
																																		189));
																															}
																															{
																																long
																																	BgL_wz00_9406;
																																long
																																	BgL_rz00_9404;
																																BgL_rz00_9404 =
																																	(BgL_rz00_1771
																																	+ 1L);
																																BgL_wz00_9406 =
																																	(BgL_wz00_1772
																																	+ 3L);
																																BgL_wz00_1772 =
																																	BgL_wz00_9406;
																																BgL_rz00_1771 =
																																	BgL_rz00_9404;
																																goto
																																	BGl_loopze70ze7zz__unicodez00;
																															}
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 919 */
																													return BFALSE;
																												}
																										}
																								}
																						}
																				}
																		}
																}
														}
												}
										}
								}
						}
					}
				}
		}

	}



/* _utf8-normalize-utf16 */
	obj_t BGl__utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t
		BgL_env1138z00_83, obj_t BgL_opt1137z00_82)
	{
		{	/* Llib/unicode.scm 947 */
			{	/* Llib/unicode.scm 947 */
				obj_t BgL_strz00_2149;

				BgL_strz00_2149 = VECTOR_REF(BgL_opt1137z00_82, 0L);
				switch (VECTOR_LENGTH(BgL_opt1137z00_82))
					{
					case 1L:

						{	/* Llib/unicode.scm 947 */
							long BgL_endz00_2154;

							{	/* Llib/unicode.scm 947 */
								obj_t BgL_stringz00_5049;

								if (STRINGP(BgL_strz00_2149))
									{	/* Llib/unicode.scm 947 */
										BgL_stringz00_5049 = BgL_strz00_2149;
									}
								else
									{
										obj_t BgL_auxz00_9411;

										BgL_auxz00_9411 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string3651z00zz__unicodez00, BINT(38527L),
											BGl_string3702z00zz__unicodez00,
											BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
										FAILURE(BgL_auxz00_9411, BFALSE, BFALSE);
									}
								BgL_endz00_2154 = STRING_LENGTH(BgL_stringz00_5049);
							}
							{	/* Llib/unicode.scm 947 */

								{	/* Llib/unicode.scm 947 */
									obj_t BgL_auxz00_9416;

									if (STRINGP(BgL_strz00_2149))
										{	/* Llib/unicode.scm 947 */
											BgL_auxz00_9416 = BgL_strz00_2149;
										}
									else
										{
											obj_t BgL_auxz00_9419;

											BgL_auxz00_9419 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(38433L),
												BGl_string3702z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
											FAILURE(BgL_auxz00_9419, BFALSE, BFALSE);
										}
									return
										BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
										(BgL_auxz00_9416, ((bool_t) 0), 0L, BgL_endz00_2154);
								}
							}
						}
						break;
					case 2L:

						{	/* Llib/unicode.scm 947 */
							obj_t BgL_strictz00_2155;

							BgL_strictz00_2155 = VECTOR_REF(BgL_opt1137z00_82, 1L);
							{	/* Llib/unicode.scm 947 */
								long BgL_endz00_2157;

								{	/* Llib/unicode.scm 947 */
									obj_t BgL_stringz00_5050;

									if (STRINGP(BgL_strz00_2149))
										{	/* Llib/unicode.scm 947 */
											BgL_stringz00_5050 = BgL_strz00_2149;
										}
									else
										{
											obj_t BgL_auxz00_9427;

											BgL_auxz00_9427 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(38527L),
												BGl_string3702z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
											FAILURE(BgL_auxz00_9427, BFALSE, BFALSE);
										}
									BgL_endz00_2157 = STRING_LENGTH(BgL_stringz00_5050);
								}
								{	/* Llib/unicode.scm 947 */

									{	/* Llib/unicode.scm 947 */
										obj_t BgL_auxz00_9432;

										if (STRINGP(BgL_strz00_2149))
											{	/* Llib/unicode.scm 947 */
												BgL_auxz00_9432 = BgL_strz00_2149;
											}
										else
											{
												obj_t BgL_auxz00_9435;

												BgL_auxz00_9435 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(38433L),
													BGl_string3702z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
												FAILURE(BgL_auxz00_9435, BFALSE, BFALSE);
											}
										return
											BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
											(BgL_auxz00_9432, CBOOL(BgL_strictz00_2155), 0L,
											BgL_endz00_2157);
									}
								}
							}
						}
						break;
					case 3L:

						{	/* Llib/unicode.scm 947 */
							obj_t BgL_strictz00_2158;

							BgL_strictz00_2158 = VECTOR_REF(BgL_opt1137z00_82, 1L);
							{	/* Llib/unicode.scm 947 */
								obj_t BgL_startz00_2159;

								BgL_startz00_2159 = VECTOR_REF(BgL_opt1137z00_82, 2L);
								{	/* Llib/unicode.scm 947 */
									long BgL_endz00_2160;

									{	/* Llib/unicode.scm 947 */
										obj_t BgL_stringz00_5051;

										if (STRINGP(BgL_strz00_2149))
											{	/* Llib/unicode.scm 947 */
												BgL_stringz00_5051 = BgL_strz00_2149;
											}
										else
											{
												obj_t BgL_auxz00_9445;

												BgL_auxz00_9445 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(38527L),
													BGl_string3702z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
												FAILURE(BgL_auxz00_9445, BFALSE, BFALSE);
											}
										BgL_endz00_2160 = STRING_LENGTH(BgL_stringz00_5051);
									}
									{	/* Llib/unicode.scm 947 */

										{	/* Llib/unicode.scm 947 */
											long BgL_auxz00_9457;
											obj_t BgL_auxz00_9450;

											{	/* Llib/unicode.scm 947 */
												obj_t BgL_tmpz00_9459;

												if (INTEGERP(BgL_startz00_2159))
													{	/* Llib/unicode.scm 947 */
														BgL_tmpz00_9459 = BgL_startz00_2159;
													}
												else
													{
														obj_t BgL_auxz00_9462;

														BgL_auxz00_9462 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3651z00zz__unicodez00, BINT(38433L),
															BGl_string3702z00zz__unicodez00,
															BGl_string3653z00zz__unicodez00,
															BgL_startz00_2159);
														FAILURE(BgL_auxz00_9462, BFALSE, BFALSE);
													}
												BgL_auxz00_9457 = (long) CINT(BgL_tmpz00_9459);
											}
											if (STRINGP(BgL_strz00_2149))
												{	/* Llib/unicode.scm 947 */
													BgL_auxz00_9450 = BgL_strz00_2149;
												}
											else
												{
													obj_t BgL_auxz00_9453;

													BgL_auxz00_9453 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3651z00zz__unicodez00, BINT(38433L),
														BGl_string3702z00zz__unicodez00,
														BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
													FAILURE(BgL_auxz00_9453, BFALSE, BFALSE);
												}
											return
												BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
												(BgL_auxz00_9450, CBOOL(BgL_strictz00_2158),
												BgL_auxz00_9457, BgL_endz00_2160);
										}
									}
								}
							}
						}
						break;
					case 4L:

						{	/* Llib/unicode.scm 947 */
							obj_t BgL_strictz00_2161;

							BgL_strictz00_2161 = VECTOR_REF(BgL_opt1137z00_82, 1L);
							{	/* Llib/unicode.scm 947 */
								obj_t BgL_startz00_2162;

								BgL_startz00_2162 = VECTOR_REF(BgL_opt1137z00_82, 2L);
								{	/* Llib/unicode.scm 947 */
									obj_t BgL_endz00_2163;

									BgL_endz00_2163 = VECTOR_REF(BgL_opt1137z00_82, 3L);
									{	/* Llib/unicode.scm 947 */

										{	/* Llib/unicode.scm 947 */
											long BgL_auxz00_9488;
											long BgL_auxz00_9478;
											obj_t BgL_auxz00_9471;

											{	/* Llib/unicode.scm 947 */
												obj_t BgL_tmpz00_9489;

												if (INTEGERP(BgL_endz00_2163))
													{	/* Llib/unicode.scm 947 */
														BgL_tmpz00_9489 = BgL_endz00_2163;
													}
												else
													{
														obj_t BgL_auxz00_9492;

														BgL_auxz00_9492 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3651z00zz__unicodez00, BINT(38433L),
															BGl_string3702z00zz__unicodez00,
															BGl_string3653z00zz__unicodez00, BgL_endz00_2163);
														FAILURE(BgL_auxz00_9492, BFALSE, BFALSE);
													}
												BgL_auxz00_9488 = (long) CINT(BgL_tmpz00_9489);
											}
											{	/* Llib/unicode.scm 947 */
												obj_t BgL_tmpz00_9480;

												if (INTEGERP(BgL_startz00_2162))
													{	/* Llib/unicode.scm 947 */
														BgL_tmpz00_9480 = BgL_startz00_2162;
													}
												else
													{
														obj_t BgL_auxz00_9483;

														BgL_auxz00_9483 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3651z00zz__unicodez00, BINT(38433L),
															BGl_string3702z00zz__unicodez00,
															BGl_string3653z00zz__unicodez00,
															BgL_startz00_2162);
														FAILURE(BgL_auxz00_9483, BFALSE, BFALSE);
													}
												BgL_auxz00_9478 = (long) CINT(BgL_tmpz00_9480);
											}
											if (STRINGP(BgL_strz00_2149))
												{	/* Llib/unicode.scm 947 */
													BgL_auxz00_9471 = BgL_strz00_2149;
												}
											else
												{
													obj_t BgL_auxz00_9474;

													BgL_auxz00_9474 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3651z00zz__unicodez00, BINT(38433L),
														BGl_string3702z00zz__unicodez00,
														BGl_string3694z00zz__unicodez00, BgL_strz00_2149);
													FAILURE(BgL_auxz00_9474, BFALSE, BFALSE);
												}
											return
												BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
												(BgL_auxz00_9471, CBOOL(BgL_strictz00_2161),
												BgL_auxz00_9478, BgL_auxz00_9488);
										}
									}
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* utf8-normalize-utf16 */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t
		BgL_strz00_78, bool_t BgL_strictz00_79, long BgL_startz00_80,
		long BgL_endz00_81)
	{
		{	/* Llib/unicode.scm 947 */
			{	/* Llib/unicode.scm 960 */
				bool_t BgL_test4211z00_9500;

				if ((BgL_endz00_81 > STRING_LENGTH(BgL_strz00_78)))
					{	/* Llib/unicode.scm 960 */
						BgL_test4211z00_9500 = ((bool_t) 1);
					}
				else
					{	/* Llib/unicode.scm 960 */
						if ((BgL_startz00_80 < 0L))
							{	/* Llib/unicode.scm 961 */
								BgL_test4211z00_9500 = ((bool_t) 1);
							}
						else
							{	/* Llib/unicode.scm 961 */
								BgL_test4211z00_9500 = (BgL_startz00_80 > BgL_endz00_81);
							}
					}
				if (BgL_test4211z00_9500)
					{	/* Llib/unicode.scm 963 */
						obj_t BgL_arg2072z00_2171;

						BgL_arg2072z00_2171 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_80), BINT(BgL_endz00_81));
						return
							BGl_errorz00zz__errorz00(BGl_string3703z00zz__unicodez00,
							BGl_string3701z00zz__unicodez00, BgL_arg2072z00_2171);
					}
				else
					{	/* Llib/unicode.scm 965 */
						long BgL_lenz00_2172;

						BgL_lenz00_2172 = (BgL_endz00_81 - BgL_startz00_80);
						{	/* Llib/unicode.scm 965 */
							obj_t BgL_resz00_2173;

							{	/* Llib/unicode.scm 966 */
								long BgL_arg2538z00_2640;

								BgL_arg2538z00_2640 = (3L * BgL_lenz00_2172);
								{	/* Ieee/string.scm 168 */

									BgL_resz00_2173 =
										make_string(BgL_arg2538z00_2640, ((unsigned char) ' '));
							}}
							{	/* Llib/unicode.scm 966 */

								{
									long BgL_rz00_2175;
									long BgL_wz00_2176;
									bool_t BgL_asciiz00_2177;

									BgL_rz00_2175 = BgL_startz00_80;
									BgL_wz00_2176 = 0L;
									BgL_asciiz00_2177 = ((bool_t) 1);
								BgL_zc3z04anonymousza32073ze3z87_2178:
									if ((BgL_rz00_2175 == BgL_endz00_81))
										{	/* Llib/unicode.scm 971 */
											obj_t BgL_val0_1102z00_2180;
											obj_t BgL_val1_1103z00_2181;

											BgL_val0_1102z00_2180 =
												bgl_string_shrink(BgL_resz00_2173, BgL_wz00_2176);
											if (BgL_asciiz00_2177)
												{	/* Llib/unicode.scm 971 */
													BgL_val1_1103z00_2181 =
														BGl_symbol3695z00zz__unicodez00;
												}
											else
												{	/* Llib/unicode.scm 971 */
													BgL_val1_1103z00_2181 =
														BGl_symbol3704z00zz__unicodez00;
												}
											{	/* Llib/unicode.scm 971 */
												int BgL_tmpz00_9518;

												BgL_tmpz00_9518 = (int) (2L);
												BGL_MVALUES_NUMBER_SET(BgL_tmpz00_9518);
											}
											{	/* Llib/unicode.scm 971 */
												int BgL_tmpz00_9521;

												BgL_tmpz00_9521 = (int) (1L);
												BGL_MVALUES_VAL_SET(BgL_tmpz00_9521,
													BgL_val1_1103z00_2181);
											}
											return BgL_val0_1102z00_2180;
										}
									else
										{	/* Llib/unicode.scm 972 */
											unsigned char BgL_cz00_2182;

											BgL_cz00_2182 = STRING_REF(BgL_strz00_78, BgL_rz00_2175);
											{	/* Llib/unicode.scm 972 */
												long BgL_nz00_2183;

												BgL_nz00_2183 = (BgL_cz00_2182);
												{	/* Llib/unicode.scm 973 */

													if ((BgL_nz00_2183 <= 127L))
														{	/* Llib/unicode.scm 975 */
															STRING_SET(BgL_resz00_2173, BgL_wz00_2176,
																BgL_cz00_2182);
															{
																long BgL_wz00_9531;
																long BgL_rz00_9529;

																BgL_rz00_9529 = (BgL_rz00_2175 + 1L);
																BgL_wz00_9531 = (BgL_wz00_2176 + 1L);
																BgL_wz00_2176 = BgL_wz00_9531;
																BgL_rz00_2175 = BgL_rz00_9529;
																goto BgL_zc3z04anonymousza32073ze3z87_2178;
															}
														}
													else
														{	/* Llib/unicode.scm 975 */
															if ((BgL_nz00_2183 < 194L))
																{	/* Llib/unicode.scm 979 */
																	STRING_SET(BgL_resz00_2173, BgL_wz00_2176,
																		((unsigned char) 239));
																	{	/* Llib/unicode.scm 956 */
																		long BgL_tmpz00_9536;

																		BgL_tmpz00_9536 = (BgL_wz00_2176 + 1L);
																		STRING_SET(BgL_resz00_2173, BgL_tmpz00_9536,
																			((unsigned char) 191));
																	}
																	{	/* Llib/unicode.scm 957 */
																		long BgL_tmpz00_9539;

																		BgL_tmpz00_9539 = (BgL_wz00_2176 + 2L);
																		STRING_SET(BgL_resz00_2173, BgL_tmpz00_9539,
																			((unsigned char) 189));
																	}
																	{
																		bool_t BgL_asciiz00_9546;
																		long BgL_wz00_9544;
																		long BgL_rz00_9542;

																		BgL_rz00_9542 = (BgL_rz00_2175 + 1L);
																		BgL_wz00_9544 = (BgL_wz00_2176 + 3L);
																		BgL_asciiz00_9546 = ((bool_t) 0);
																		BgL_asciiz00_2177 = BgL_asciiz00_9546;
																		BgL_wz00_2176 = BgL_wz00_9544;
																		BgL_rz00_2175 = BgL_rz00_9542;
																		goto BgL_zc3z04anonymousza32073ze3z87_2178;
																	}
																}
															else
																{	/* Llib/unicode.scm 979 */
																	if ((BgL_nz00_2183 < 216L))
																		{	/* Llib/unicode.scm 985 */
																			bool_t BgL_test4219z00_9549;

																			if (
																				((1L + BgL_rz00_2175) < BgL_endz00_81))
																				{	/* Llib/unicode.scm 950 */
																					long BgL_nz00_5118;

																					BgL_nz00_5118 =
																						(STRING_REF(BgL_strz00_78,
																							(BgL_rz00_2175 + 1L)));
																					if ((BgL_nz00_5118 >= 128L))
																						{	/* Llib/unicode.scm 951 */
																							BgL_test4219z00_9549 =
																								(BgL_nz00_5118 <= 191L);
																						}
																					else
																						{	/* Llib/unicode.scm 951 */
																							BgL_test4219z00_9549 =
																								((bool_t) 0);
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 985 */
																					BgL_test4219z00_9549 = ((bool_t) 0);
																				}
																			if (BgL_test4219z00_9549)
																				{	/* Llib/unicode.scm 985 */
																					STRING_SET(BgL_resz00_2173,
																						BgL_wz00_2176, BgL_cz00_2182);
																					{	/* Llib/unicode.scm 989 */
																						unsigned char BgL_auxz00_9562;
																						long BgL_tmpz00_9560;

																						BgL_auxz00_9562 =
																							STRING_REF(BgL_strz00_78,
																							(BgL_rz00_2175 + 1L));
																						BgL_tmpz00_9560 =
																							(BgL_wz00_2176 + 1L);
																						STRING_SET(BgL_resz00_2173,
																							BgL_tmpz00_9560, BgL_auxz00_9562);
																					}
																					{
																						bool_t BgL_asciiz00_9570;
																						long BgL_wz00_9568;
																						long BgL_rz00_9566;

																						BgL_rz00_9566 =
																							(BgL_rz00_2175 + 2L);
																						BgL_wz00_9568 =
																							(BgL_wz00_2176 + 2L);
																						BgL_asciiz00_9570 = ((bool_t) 0);
																						BgL_asciiz00_2177 =
																							BgL_asciiz00_9570;
																						BgL_wz00_2176 = BgL_wz00_9568;
																						BgL_rz00_2175 = BgL_rz00_9566;
																						goto
																							BgL_zc3z04anonymousza32073ze3z87_2178;
																					}
																				}
																			else
																				{	/* Llib/unicode.scm 985 */
																					STRING_SET(BgL_resz00_2173,
																						BgL_wz00_2176,
																						((unsigned char) 239));
																					{	/* Llib/unicode.scm 956 */
																						long BgL_tmpz00_9572;

																						BgL_tmpz00_9572 =
																							(BgL_wz00_2176 + 1L);
																						STRING_SET(BgL_resz00_2173,
																							BgL_tmpz00_9572,
																							((unsigned char) 191));
																					}
																					{	/* Llib/unicode.scm 957 */
																						long BgL_tmpz00_9575;

																						BgL_tmpz00_9575 =
																							(BgL_wz00_2176 + 2L);
																						STRING_SET(BgL_resz00_2173,
																							BgL_tmpz00_9575,
																							((unsigned char) 189));
																					}
																					{
																						bool_t BgL_asciiz00_9582;
																						long BgL_wz00_9580;
																						long BgL_rz00_9578;

																						BgL_rz00_9578 =
																							(BgL_rz00_2175 + 1L);
																						BgL_wz00_9580 =
																							(BgL_wz00_2176 + 3L);
																						BgL_asciiz00_9582 = ((bool_t) 0);
																						BgL_asciiz00_2177 =
																							BgL_asciiz00_9582;
																						BgL_wz00_2176 = BgL_wz00_9580;
																						BgL_rz00_2175 = BgL_rz00_9578;
																						goto
																							BgL_zc3z04anonymousza32073ze3z87_2178;
																					}
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 983 */
																			if ((BgL_nz00_2183 <= 223L))
																				{	/* Llib/unicode.scm 995 */
																					bool_t BgL_test4223z00_9585;

																					if (
																						((1L + BgL_rz00_2175) <
																							BgL_endz00_81))
																						{	/* Llib/unicode.scm 950 */
																							long BgL_nz00_5157;

																							BgL_nz00_5157 =
																								(STRING_REF(BgL_strz00_78,
																									(BgL_rz00_2175 + 1L)));
																							if ((BgL_nz00_5157 >= 128L))
																								{	/* Llib/unicode.scm 951 */
																									BgL_test4223z00_9585 =
																										(BgL_nz00_5157 <= 191L);
																								}
																							else
																								{	/* Llib/unicode.scm 951 */
																									BgL_test4223z00_9585 =
																										((bool_t) 0);
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 995 */
																							BgL_test4223z00_9585 =
																								((bool_t) 0);
																						}
																					if (BgL_test4223z00_9585)
																						{	/* Llib/unicode.scm 995 */
																							STRING_SET(BgL_resz00_2173,
																								BgL_wz00_2176, BgL_cz00_2182);
																							{	/* Llib/unicode.scm 999 */
																								unsigned char BgL_auxz00_9598;
																								long BgL_tmpz00_9596;

																								BgL_auxz00_9598 =
																									STRING_REF(BgL_strz00_78,
																									(BgL_rz00_2175 + 1L));
																								BgL_tmpz00_9596 =
																									(BgL_wz00_2176 + 1L);
																								STRING_SET(BgL_resz00_2173,
																									BgL_tmpz00_9596,
																									BgL_auxz00_9598);
																							}
																							{
																								bool_t BgL_asciiz00_9606;
																								long BgL_wz00_9604;
																								long BgL_rz00_9602;

																								BgL_rz00_9602 =
																									(BgL_rz00_2175 + 2L);
																								BgL_wz00_9604 =
																									(BgL_wz00_2176 + 2L);
																								BgL_asciiz00_9606 =
																									((bool_t) 0);
																								BgL_asciiz00_2177 =
																									BgL_asciiz00_9606;
																								BgL_wz00_2176 = BgL_wz00_9604;
																								BgL_rz00_2175 = BgL_rz00_9602;
																								goto
																									BgL_zc3z04anonymousza32073ze3z87_2178;
																							}
																						}
																					else
																						{	/* Llib/unicode.scm 995 */
																							STRING_SET(BgL_resz00_2173,
																								BgL_wz00_2176,
																								((unsigned char) 239));
																							{	/* Llib/unicode.scm 956 */
																								long BgL_tmpz00_9608;

																								BgL_tmpz00_9608 =
																									(BgL_wz00_2176 + 1L);
																								STRING_SET(BgL_resz00_2173,
																									BgL_tmpz00_9608,
																									((unsigned char) 191));
																							}
																							{	/* Llib/unicode.scm 957 */
																								long BgL_tmpz00_9611;

																								BgL_tmpz00_9611 =
																									(BgL_wz00_2176 + 2L);
																								STRING_SET(BgL_resz00_2173,
																									BgL_tmpz00_9611,
																									((unsigned char) 189));
																							}
																							{
																								bool_t BgL_asciiz00_9618;
																								long BgL_wz00_9616;
																								long BgL_rz00_9614;

																								BgL_rz00_9614 =
																									(BgL_rz00_2175 + 1L);
																								BgL_wz00_9616 =
																									(BgL_wz00_2176 + 3L);
																								BgL_asciiz00_9618 =
																									((bool_t) 0);
																								BgL_asciiz00_2177 =
																									BgL_asciiz00_9618;
																								BgL_wz00_2176 = BgL_wz00_9616;
																								BgL_rz00_2175 = BgL_rz00_9614;
																								goto
																									BgL_zc3z04anonymousza32073ze3z87_2178;
																							}
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 994 */
																					if ((BgL_nz00_2183 == 237L))
																						{	/* Llib/unicode.scm 1007 */
																							bool_t BgL_test4227z00_9621;

																							if (
																								(BgL_rz00_2175 <
																									(BgL_endz00_81 - 2L)))
																								{	/* Llib/unicode.scm 1008 */
																									bool_t BgL_test4229z00_9625;

																									{	/* Llib/unicode.scm 950 */
																										long BgL_nz00_5196;

																										BgL_nz00_5196 =
																											(STRING_REF(BgL_strz00_78,
																												(BgL_rz00_2175 + 1L)));
																										if ((BgL_nz00_5196 >= 128L))
																											{	/* Llib/unicode.scm 951 */
																												BgL_test4229z00_9625 =
																													(BgL_nz00_5196 <=
																													191L);
																											}
																										else
																											{	/* Llib/unicode.scm 951 */
																												BgL_test4229z00_9625 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4229z00_9625)
																										{	/* Llib/unicode.scm 950 */
																											long BgL_nz00_5204;

																											BgL_nz00_5204 =
																												(STRING_REF
																												(BgL_strz00_78,
																													(BgL_rz00_2175 +
																														2L)));
																											if ((BgL_nz00_5204 >=
																													128L))
																												{	/* Llib/unicode.scm 951 */
																													BgL_test4227z00_9621 =
																														(BgL_nz00_5204 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 951 */
																													BgL_test4227z00_9621 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 1008 */
																											BgL_test4227z00_9621 =
																												((bool_t) 0);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 1007 */
																									BgL_test4227z00_9621 =
																										((bool_t) 0);
																								}
																							if (BgL_test4227z00_9621)
																								{	/* Llib/unicode.scm 1015 */
																									long BgL_n1z00_2238;

																									BgL_n1z00_2238 =
																										(STRING_REF(BgL_strz00_78,
																											(BgL_rz00_2175 + 1L)));
																									{	/* Llib/unicode.scm 1015 */
																										long BgL_n2z00_2239;

																										BgL_n2z00_2239 =
																											(STRING_REF(BgL_strz00_78,
																												(BgL_rz00_2175 + 2L)));
																										{	/* Llib/unicode.scm 1016 */
																											long BgL_ucs2z00_2240;

																											BgL_ucs2z00_2240 =
																												(
																												((BgL_nz00_2183 & 15L)
																													<< (int) (12L)) +
																												(((BgL_n1z00_2238 & 63L)
																														<< (int) (6L)) +
																													(BgL_n2z00_2239 &
																														63L)));
																											{	/* Llib/unicode.scm 1017 */

																												if (
																													(BgL_ucs2z00_2240 >
																														57343L))
																													{	/* Llib/unicode.scm 1021 */
																														STRING_SET
																															(BgL_resz00_2173,
																															BgL_wz00_2176,
																															((unsigned char)
																																239));
																														{	/* Llib/unicode.scm 956 */
																															long
																																BgL_tmpz00_9656;
																															BgL_tmpz00_9656 =
																																(BgL_wz00_2176 +
																																1L);
																															STRING_SET
																																(BgL_resz00_2173,
																																BgL_tmpz00_9656,
																																((unsigned char)
																																	191));
																														}
																														{	/* Llib/unicode.scm 957 */
																															long
																																BgL_tmpz00_9659;
																															BgL_tmpz00_9659 =
																																(BgL_wz00_2176 +
																																2L);
																															STRING_SET
																																(BgL_resz00_2173,
																																BgL_tmpz00_9659,
																																((unsigned char)
																																	189));
																														}
																														{
																															bool_t
																																BgL_asciiz00_9666;
																															long
																																BgL_wz00_9664;
																															long
																																BgL_rz00_9662;
																															BgL_rz00_9662 =
																																(BgL_rz00_2175 +
																																1L);
																															BgL_wz00_9664 =
																																(BgL_wz00_2176 +
																																3L);
																															BgL_asciiz00_9666
																																= ((bool_t) 0);
																															BgL_asciiz00_2177
																																=
																																BgL_asciiz00_9666;
																															BgL_wz00_2176 =
																																BgL_wz00_9664;
																															BgL_rz00_2175 =
																																BgL_rz00_9662;
																															goto
																																BgL_zc3z04anonymousza32073ze3z87_2178;
																														}
																													}
																												else
																													{	/* Llib/unicode.scm 1024 */
																														bool_t
																															BgL_test4233z00_9667;
																														if ((BgL_rz00_2175
																																<=
																																(BgL_endz00_81 -
																																	4L)))
																															{	/* Llib/unicode.scm 1024 */
																																BgL_test4233z00_9667
																																	=
																																	((STRING_REF
																																		(BgL_strz00_78,
																																			(BgL_rz00_2175
																																				+
																																				3L))) ==
																																	237L);
																															}
																														else
																															{	/* Llib/unicode.scm 1024 */
																																BgL_test4233z00_9667
																																	=
																																	((bool_t) 0);
																															}
																														if (BgL_test4233z00_9667)
																															{	/* Llib/unicode.scm 1027 */
																																long
																																	BgL_m1z00_2252;
																																BgL_m1z00_2252 =
																																	(STRING_REF
																																	(BgL_strz00_78,
																																		(BgL_rz00_2175
																																			+ 4L)));
																																{	/* Llib/unicode.scm 1028 */
																																	long
																																		BgL_m2z00_2253;
																																	BgL_m2z00_2253
																																		=
																																		(STRING_REF
																																		(BgL_strz00_78,
																																			(BgL_rz00_2175
																																				+ 5L)));
																																	{	/* Llib/unicode.scm 1029 */
																																		long
																																			BgL_nuz00_2254;
																																		BgL_nuz00_2254
																																			=
																																			(((237L &
																																					15L)
																																				<<
																																				(int)
																																				(12L)) +
																																			(((BgL_m1z00_2252 & 63L) << (int) (6L)) + (BgL_m2z00_2253 & 63L)));
																																		{	/* Llib/unicode.scm 1030 */

																																			if (
																																				(BgL_nuz00_2254
																																					>=
																																					56320L))
																																				{	/* Llib/unicode.scm 1034 */
																																					long
																																						BgL_za7za7za7za7za7za7z00_2256;
																																					BgL_za7za7za7za7za7za7z00_2256
																																						=
																																						(BgL_nuz00_2254
																																						&
																																						63L);
																																					{	/* Llib/unicode.scm 1034 */
																																						long
																																							BgL_yyyyz00_2257;
																																						BgL_yyyyz00_2257
																																							=
																																							(
																																							(BgL_nuz00_2254
																																								&
																																								1023L)
																																							>>
																																							(int)
																																							(6L));
																																						{	/* Llib/unicode.scm 1035 */
																																							long
																																								BgL_xxz00_2258;
																																							BgL_xxz00_2258
																																								=
																																								(BgL_ucs2z00_2240
																																								&
																																								3L);
																																							{	/* Llib/unicode.scm 1036 */
																																								long
																																									BgL_wwwwz00_2259;
																																								BgL_wwwwz00_2259
																																									=
																																									(
																																									(BgL_ucs2z00_2240
																																										>>
																																										(int)
																																										(2L))
																																									&
																																									15L);
																																								{	/* Llib/unicode.scm 1037 */
																																									long
																																										BgL_vvvvz00_2260;
																																									BgL_vvvvz00_2260
																																										=
																																										(
																																										(BgL_ucs2z00_2240
																																											>>
																																											(int)
																																											(6L))
																																										&
																																										15L);
																																									{	/* Llib/unicode.scm 1038 */
																																										long
																																											BgL_uuuuuz00_2261;
																																										BgL_uuuuuz00_2261
																																											=
																																											(BgL_vvvvz00_2260
																																											+
																																											1L);
																																										{	/* Llib/unicode.scm 1039 */

																																											{	/* Llib/unicode.scm 1040 */
																																												unsigned
																																													char
																																													BgL_auxz00_9706;
																																												long
																																													BgL_tmpz00_9704;
																																												BgL_auxz00_9706
																																													=
																																													(
																																													(128L
																																														+
																																														BgL_za7za7za7za7za7za7z00_2256));
																																												BgL_tmpz00_9704
																																													=
																																													(BgL_wz00_2176
																																													+
																																													3L);
																																												STRING_SET
																																													(BgL_resz00_2173,
																																													BgL_tmpz00_9704,
																																													BgL_auxz00_9706);
																																											}
																																											{	/* Llib/unicode.scm 1043 */
																																												unsigned
																																													char
																																													BgL_auxz00_9712;
																																												long
																																													BgL_tmpz00_9710;
																																												BgL_auxz00_9712
																																													=
																																													(
																																													(128L
																																														+
																																														((BgL_xxz00_2258 << (int) (4L)) | BgL_yyyyz00_2257)));
																																												BgL_tmpz00_9710
																																													=
																																													(BgL_wz00_2176
																																													+
																																													2L);
																																												STRING_SET
																																													(BgL_resz00_2173,
																																													BgL_tmpz00_9710,
																																													BgL_auxz00_9712);
																																											}
																																											{	/* Llib/unicode.scm 1047 */
																																												unsigned
																																													char
																																													BgL_auxz00_9721;
																																												long
																																													BgL_tmpz00_9719;
																																												BgL_auxz00_9721
																																													=
																																													(
																																													(128L
																																														+
																																														(BgL_wwwwz00_2259
																																															|
																																															((BgL_uuuuuz00_2261 & 3L) << (int) (4L)))));
																																												BgL_tmpz00_9719
																																													=
																																													(BgL_wz00_2176
																																													+
																																													1L);
																																												STRING_SET
																																													(BgL_resz00_2173,
																																													BgL_tmpz00_9719,
																																													BgL_auxz00_9721);
																																											}
																																											{	/* Llib/unicode.scm 1052 */
																																												unsigned
																																													char
																																													BgL_tmpz00_9729;
																																												BgL_tmpz00_9729
																																													=
																																													(
																																													(240L
																																														|
																																														(BgL_uuuuuz00_2261
																																															>>
																																															(int)
																																															(2L))));
																																												STRING_SET
																																													(BgL_resz00_2173,
																																													BgL_wz00_2176,
																																													BgL_tmpz00_9729);
																																											}
																																											{
																																												bool_t
																																													BgL_asciiz00_9739;
																																												long
																																													BgL_wz00_9737;
																																												long
																																													BgL_rz00_9735;
																																												BgL_rz00_9735
																																													=
																																													(BgL_rz00_2175
																																													+
																																													6L);
																																												BgL_wz00_9737
																																													=
																																													(BgL_wz00_2176
																																													+
																																													4L);
																																												BgL_asciiz00_9739
																																													=
																																													(
																																													(bool_t)
																																													0);
																																												BgL_asciiz00_2177
																																													=
																																													BgL_asciiz00_9739;
																																												BgL_wz00_2176
																																													=
																																													BgL_wz00_9737;
																																												BgL_rz00_2175
																																													=
																																													BgL_rz00_9735;
																																												goto
																																													BgL_zc3z04anonymousza32073ze3z87_2178;
																																											}
																																										}
																																									}
																																								}
																																							}
																																						}
																																					}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1033 */
																																					STRING_SET
																																						(BgL_resz00_2173,
																																						BgL_wz00_2176,
																																						((unsigned char) 239));
																																					{	/* Llib/unicode.scm 956 */
																																						long
																																							BgL_tmpz00_9741;
																																						BgL_tmpz00_9741
																																							=
																																							(BgL_wz00_2176
																																							+
																																							1L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_9741,
																																							((unsigned char) 191));
																																					}
																																					{	/* Llib/unicode.scm 957 */
																																						long
																																							BgL_tmpz00_9744;
																																						BgL_tmpz00_9744
																																							=
																																							(BgL_wz00_2176
																																							+
																																							2L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_9744,
																																							((unsigned char) 189));
																																					}
																																					{
																																						bool_t
																																							BgL_asciiz00_9751;
																																						long
																																							BgL_wz00_9749;
																																						long
																																							BgL_rz00_9747;
																																						BgL_rz00_9747
																																							=
																																							(BgL_rz00_2175
																																							+
																																							1L);
																																						BgL_wz00_9749
																																							=
																																							(BgL_wz00_2176
																																							+
																																							3L);
																																						BgL_asciiz00_9751
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2177
																																							=
																																							BgL_asciiz00_9751;
																																						BgL_wz00_2176
																																							=
																																							BgL_wz00_9749;
																																						BgL_rz00_2175
																																							=
																																							BgL_rz00_9747;
																																						goto
																																							BgL_zc3z04anonymousza32073ze3z87_2178;
																																					}
																																				}
																																		}
																																	}
																																}
																															}
																														else
																															{	/* Llib/unicode.scm 1024 */
																																if (
																																	(BgL_ucs2z00_2240
																																		<= 56319L))
																																	{	/* Llib/unicode.scm 1060 */
																																		long
																																			BgL_xxz00_2297;
																																		BgL_xxz00_2297
																																			=
																																			(BgL_ucs2z00_2240
																																			& 3L);
																																		{	/* Llib/unicode.scm 1060 */
																																			long
																																				BgL_wwwwz00_2298;
																																			BgL_wwwwz00_2298
																																				=
																																				(
																																				(BgL_ucs2z00_2240
																																					>>
																																					(int)
																																					(2L))
																																				& 15L);
																																			{	/* Llib/unicode.scm 1061 */
																																				long
																																					BgL_vvvvz00_2299;
																																				BgL_vvvvz00_2299
																																					=
																																					(
																																					(BgL_ucs2z00_2240
																																						>>
																																						(int)
																																						(6L))
																																					&
																																					15L);
																																				{	/* Llib/unicode.scm 1062 */
																																					long
																																						BgL_uuuuuz00_2300;
																																					BgL_uuuuuz00_2300
																																						=
																																						(BgL_vvvvz00_2299
																																						+
																																						1L);
																																					{	/* Llib/unicode.scm 1063 */

																																						{	/* Llib/unicode.scm 1064 */
																																							unsigned
																																								char
																																								BgL_auxz00_9764;
																																							long
																																								BgL_tmpz00_9762;
																																							BgL_auxz00_9764
																																								=
																																								(
																																								(128L
																																									|
																																									(BgL_uuuuuz00_2300
																																										>>
																																										(int)
																																										(2L))));
																																							BgL_tmpz00_9762
																																								=
																																								(BgL_wz00_2176
																																								+
																																								3L);
																																							STRING_SET
																																								(BgL_resz00_2173,
																																								BgL_tmpz00_9762,
																																								BgL_auxz00_9764);
																																						}
																																						{	/* Llib/unicode.scm 1066 */
																																							unsigned
																																								char
																																								BgL_auxz00_9772;
																																							long
																																								BgL_tmpz00_9770;
																																							BgL_auxz00_9772
																																								=
																																								(
																																								((BgL_xxz00_2297 << (int) (4L)) + 128L));
																																							BgL_tmpz00_9770
																																								=
																																								(BgL_wz00_2176
																																								+
																																								2L);
																																							STRING_SET
																																								(BgL_resz00_2173,
																																								BgL_tmpz00_9770,
																																								BgL_auxz00_9772);
																																						}
																																						{	/* Llib/unicode.scm 1068 */
																																							unsigned
																																								char
																																								BgL_auxz00_9780;
																																							long
																																								BgL_tmpz00_9778;
																																							BgL_auxz00_9780
																																								=
																																								(
																																								(128L
																																									+
																																									(BgL_wwwwz00_2298
																																										|
																																										((BgL_uuuuuz00_2300 & 3L) << (int) (4L)))));
																																							BgL_tmpz00_9778
																																								=
																																								(BgL_wz00_2176
																																								+
																																								1L);
																																							STRING_SET
																																								(BgL_resz00_2173,
																																								BgL_tmpz00_9778,
																																								BgL_auxz00_9780);
																																						}
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_wz00_2176,
																																							((unsigned char) 248));
																																						{
																																							bool_t
																																								BgL_asciiz00_9793;
																																							long
																																								BgL_wz00_9791;
																																							long
																																								BgL_rz00_9789;
																																							BgL_rz00_9789
																																								=
																																								(BgL_rz00_2175
																																								+
																																								3L);
																																							BgL_wz00_9791
																																								=
																																								(BgL_wz00_2176
																																								+
																																								4L);
																																							BgL_asciiz00_9793
																																								=
																																								(
																																								(bool_t)
																																								0);
																																							BgL_asciiz00_2177
																																								=
																																								BgL_asciiz00_9793;
																																							BgL_wz00_2176
																																								=
																																								BgL_wz00_9791;
																																							BgL_rz00_2175
																																								=
																																								BgL_rz00_9789;
																																							goto
																																								BgL_zc3z04anonymousza32073ze3z87_2178;
																																						}
																																					}
																																				}
																																			}
																																		}
																																	}
																																else
																																	{	/* Llib/unicode.scm 1076 */
																																		long
																																			BgL_za7za7za7za7za7za7z00_2319;
																																		long
																																			BgL_yyyyz00_2320;
																																		BgL_za7za7za7za7za7za7z00_2319
																																			=
																																			(BgL_nz00_2183
																																			& 63L);
																																		BgL_yyyyz00_2320
																																			=
																																			(
																																			(BgL_nz00_2183
																																				& 1023L)
																																			>>
																																			(int)
																																			(6L));
																																		{	/* Llib/unicode.scm 1078 */
																																			unsigned
																																				char
																																				BgL_auxz00_9800;
																																			long
																																				BgL_tmpz00_9798;
																																			BgL_auxz00_9800
																																				=
																																				(
																																				(BgL_za7za7za7za7za7za7z00_2319
																																					+
																																					128L));
																																			BgL_tmpz00_9798
																																				=
																																				(BgL_wz00_2176
																																				+ 3L);
																																			STRING_SET
																																				(BgL_resz00_2173,
																																				BgL_tmpz00_9798,
																																				BgL_auxz00_9800);
																																		}
																																		{	/* Llib/unicode.scm 1080 */
																																			unsigned
																																				char
																																				BgL_auxz00_9806;
																																			long
																																				BgL_tmpz00_9804;
																																			BgL_auxz00_9806
																																				=
																																				(
																																				(BgL_yyyyz00_2320
																																					+
																																					128L));
																																			BgL_tmpz00_9804
																																				=
																																				(BgL_wz00_2176
																																				+ 2L);
																																			STRING_SET
																																				(BgL_resz00_2173,
																																				BgL_tmpz00_9804,
																																				BgL_auxz00_9806);
																																		}
																																		{	/* Llib/unicode.scm 1082 */
																																			long
																																				BgL_tmpz00_9810;
																																			BgL_tmpz00_9810
																																				=
																																				(BgL_wz00_2176
																																				+ 1L);
																																			STRING_SET
																																				(BgL_resz00_2173,
																																				BgL_tmpz00_9810,
																																				((unsigned char) 128));
																																		}
																																		STRING_SET
																																			(BgL_resz00_2173,
																																			BgL_wz00_2176,
																																			((unsigned
																																					char)
																																				252));
																																		{	/* Llib/unicode.scm 1088 */
																																			bool_t
																																				BgL_test4237z00_9814;
																																			if (
																																				(BgL_wz00_2176
																																					>=
																																					4L))
																																				{	/* Llib/unicode.scm 1089 */
																																					bool_t
																																						BgL_test4239z00_9817;
																																					{	/* Llib/unicode.scm 1089 */
																																						long
																																							BgL_indexz00_5388;
																																						BgL_indexz00_5388
																																							=
																																							(BgL_wz00_2176
																																							-
																																							4L);
																																						if (
																																							((BgL_wz00_2176 + 4L) >= (BgL_indexz00_5388 + 4L)))
																																							{	/* Llib/unicode.scm 1285 */
																																								BgL_test4239z00_9817
																																									=
																																									(
																																									(STRING_REF
																																										(BgL_resz00_2173,
																																											BgL_indexz00_5388))
																																									==
																																									248L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 1285 */
																																								BgL_test4239z00_9817
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4239z00_9817)
																																						{	/* Llib/unicode.scm 1089 */
																																							if (((BgL_wz00_2176 + 4L) >= (BgL_wz00_2176 + 4L)))
																																								{	/* Llib/unicode.scm 1295 */
																																									BgL_test4237z00_9814
																																										=
																																										(
																																										(STRING_REF
																																											(BgL_resz00_2173,
																																												BgL_wz00_2176))
																																										==
																																										252L);
																																								}
																																							else
																																								{	/* Llib/unicode.scm 1295 */
																																									BgL_test4237z00_9814
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 1089 */
																																							BgL_test4237z00_9814
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1088 */
																																					BgL_test4237z00_9814
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																			if (BgL_test4237z00_9814)
																																				{	/* Llib/unicode.scm 1088 */
																																					BGl_utf8zd2collapsez12zc0zz__unicodez00
																																						(BgL_resz00_2173,
																																						BgL_wz00_2176,
																																						BgL_resz00_2173,
																																						BINT
																																						(BgL_wz00_2176));
																																					{
																																						bool_t
																																							BgL_asciiz00_9837;
																																						long
																																							BgL_rz00_9835;
																																						BgL_rz00_9835
																																							=
																																							(BgL_rz00_2175
																																							+
																																							3L);
																																						BgL_asciiz00_9837
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2177
																																							=
																																							BgL_asciiz00_9837;
																																						BgL_rz00_2175
																																							=
																																							BgL_rz00_9835;
																																						goto
																																							BgL_zc3z04anonymousza32073ze3z87_2178;
																																					}
																																				}
																																			else
																																				{
																																					bool_t
																																						BgL_asciiz00_9842;
																																					long
																																						BgL_wz00_9840;
																																					long
																																						BgL_rz00_9838;
																																					BgL_rz00_9838
																																						=
																																						(BgL_rz00_2175
																																						+
																																						3L);
																																					BgL_wz00_9840
																																						=
																																						(BgL_wz00_2176
																																						+
																																						4L);
																																					BgL_asciiz00_9842
																																						=
																																						(
																																						(bool_t)
																																						0);
																																					BgL_asciiz00_2177
																																						=
																																						BgL_asciiz00_9842;
																																					BgL_wz00_2176
																																						=
																																						BgL_wz00_9840;
																																					BgL_rz00_2175
																																						=
																																						BgL_rz00_9838;
																																					goto
																																						BgL_zc3z04anonymousza32073ze3z87_2178;
																																				}
																																		}
																																	}
																															}
																													}
																											}
																										}
																									}
																								}
																							else
																								{	/* Llib/unicode.scm 1007 */
																									STRING_SET(BgL_resz00_2173,
																										BgL_wz00_2176,
																										((unsigned char) 239));
																									{	/* Llib/unicode.scm 956 */
																										long BgL_tmpz00_9844;

																										BgL_tmpz00_9844 =
																											(BgL_wz00_2176 + 1L);
																										STRING_SET(BgL_resz00_2173,
																											BgL_tmpz00_9844,
																											((unsigned char) 191));
																									}
																									{	/* Llib/unicode.scm 957 */
																										long BgL_tmpz00_9847;

																										BgL_tmpz00_9847 =
																											(BgL_wz00_2176 + 2L);
																										STRING_SET(BgL_resz00_2173,
																											BgL_tmpz00_9847,
																											((unsigned char) 189));
																									}
																									{
																										bool_t BgL_asciiz00_9854;
																										long BgL_wz00_9852;
																										long BgL_rz00_9850;

																										BgL_rz00_9850 =
																											(BgL_rz00_2175 + 1L);
																										BgL_wz00_9852 =
																											(BgL_wz00_2176 + 3L);
																										BgL_asciiz00_9854 =
																											((bool_t) 0);
																										BgL_asciiz00_2177 =
																											BgL_asciiz00_9854;
																										BgL_wz00_2176 =
																											BgL_wz00_9852;
																										BgL_rz00_2175 =
																											BgL_rz00_9850;
																										goto
																											BgL_zc3z04anonymousza32073ze3z87_2178;
																									}
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 1005 */
																							if ((BgL_nz00_2183 <= 239L))
																								{	/* Llib/unicode.scm 1102 */
																									bool_t BgL_test4243z00_9857;

																									if (
																										(BgL_rz00_2175 <
																											(BgL_endz00_81 - 2L)))
																										{	/* Llib/unicode.scm 1103 */
																											bool_t
																												BgL_test4245z00_9861;
																											{	/* Llib/unicode.scm 950 */
																												long BgL_nz00_5440;

																												BgL_nz00_5440 =
																													(STRING_REF
																													(BgL_strz00_78,
																														(BgL_rz00_2175 +
																															1L)));
																												if ((BgL_nz00_5440 >=
																														128L))
																													{	/* Llib/unicode.scm 951 */
																														BgL_test4245z00_9861
																															=
																															(BgL_nz00_5440 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 951 */
																														BgL_test4245z00_9861
																															= ((bool_t) 0);
																													}
																											}
																											if (BgL_test4245z00_9861)
																												{	/* Llib/unicode.scm 950 */
																													long BgL_nz00_5448;

																													BgL_nz00_5448 =
																														(STRING_REF
																														(BgL_strz00_78,
																															(BgL_rz00_2175 +
																																2L)));
																													if ((BgL_nz00_5448 >=
																															128L))
																														{	/* Llib/unicode.scm 951 */
																															BgL_test4243z00_9857
																																=
																																(BgL_nz00_5448
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 951 */
																															BgL_test4243z00_9857
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 1103 */
																													BgL_test4243z00_9857 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 1102 */
																											BgL_test4243z00_9857 =
																												((bool_t) 0);
																										}
																									if (BgL_test4243z00_9857)
																										{	/* Llib/unicode.scm 1102 */
																											STRING_SET
																												(BgL_resz00_2173,
																												BgL_wz00_2176,
																												BgL_cz00_2182);
																											{	/* Llib/unicode.scm 1107 */
																												unsigned char
																													BgL_auxz00_9877;
																												long BgL_tmpz00_9875;

																												BgL_auxz00_9877 =
																													STRING_REF
																													(BgL_strz00_78,
																													(BgL_rz00_2175 + 1L));
																												BgL_tmpz00_9875 =
																													(BgL_wz00_2176 + 1L);
																												STRING_SET
																													(BgL_resz00_2173,
																													BgL_tmpz00_9875,
																													BgL_auxz00_9877);
																											}
																											{	/* Llib/unicode.scm 1108 */
																												unsigned char
																													BgL_auxz00_9883;
																												long BgL_tmpz00_9881;

																												BgL_auxz00_9883 =
																													STRING_REF
																													(BgL_strz00_78,
																													(BgL_rz00_2175 + 2L));
																												BgL_tmpz00_9881 =
																													(BgL_wz00_2176 + 2L);
																												STRING_SET
																													(BgL_resz00_2173,
																													BgL_tmpz00_9881,
																													BgL_auxz00_9883);
																											}
																											{
																												bool_t
																													BgL_asciiz00_9891;
																												long BgL_wz00_9889;
																												long BgL_rz00_9887;

																												BgL_rz00_9887 =
																													(BgL_rz00_2175 + 3L);
																												BgL_wz00_9889 =
																													(BgL_wz00_2176 + 3L);
																												BgL_asciiz00_9891 =
																													((bool_t) 0);
																												BgL_asciiz00_2177 =
																													BgL_asciiz00_9891;
																												BgL_wz00_2176 =
																													BgL_wz00_9889;
																												BgL_rz00_2175 =
																													BgL_rz00_9887;
																												goto
																													BgL_zc3z04anonymousza32073ze3z87_2178;
																											}
																										}
																									else
																										{	/* Llib/unicode.scm 1102 */
																											STRING_SET
																												(BgL_resz00_2173,
																												BgL_wz00_2176,
																												((unsigned char) 239));
																											{	/* Llib/unicode.scm 956 */
																												long BgL_tmpz00_9893;

																												BgL_tmpz00_9893 =
																													(BgL_wz00_2176 + 1L);
																												STRING_SET
																													(BgL_resz00_2173,
																													BgL_tmpz00_9893,
																													((unsigned char)
																														191));
																											}
																											{	/* Llib/unicode.scm 957 */
																												long BgL_tmpz00_9896;

																												BgL_tmpz00_9896 =
																													(BgL_wz00_2176 + 2L);
																												STRING_SET
																													(BgL_resz00_2173,
																													BgL_tmpz00_9896,
																													((unsigned char)
																														189));
																											}
																											{
																												bool_t
																													BgL_asciiz00_9903;
																												long BgL_wz00_9901;
																												long BgL_rz00_9899;

																												BgL_rz00_9899 =
																													(BgL_rz00_2175 + 1L);
																												BgL_wz00_9901 =
																													(BgL_wz00_2176 + 3L);
																												BgL_asciiz00_9903 =
																													((bool_t) 0);
																												BgL_asciiz00_2177 =
																													BgL_asciiz00_9903;
																												BgL_wz00_2176 =
																													BgL_wz00_9901;
																												BgL_rz00_2175 =
																													BgL_rz00_9899;
																												goto
																													BgL_zc3z04anonymousza32073ze3z87_2178;
																											}
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 1100 */
																									if ((BgL_nz00_2183 == 240L))
																										{	/* Llib/unicode.scm 1115 */
																											bool_t
																												BgL_test4249z00_9906;
																											if ((BgL_rz00_2175 <
																													(BgL_endz00_81 - 3L)))
																												{	/* Llib/unicode.scm 1116 */
																													bool_t
																														BgL_test4251z00_9910;
																													{	/* Llib/unicode.scm 950 */
																														long BgL_nz00_5494;

																														BgL_nz00_5494 =
																															(STRING_REF
																															(BgL_strz00_78,
																																(BgL_rz00_2175 +
																																	1L)));
																														if ((BgL_nz00_5494
																																>= 144L))
																															{	/* Llib/unicode.scm 951 */
																																BgL_test4251z00_9910
																																	=
																																	(BgL_nz00_5494
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 951 */
																																BgL_test4251z00_9910
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test4251z00_9910)
																														{	/* Llib/unicode.scm 1117 */
																															bool_t
																																BgL_test4253z00_9917;
																															{	/* Llib/unicode.scm 950 */
																																long
																																	BgL_nz00_5502;
																																BgL_nz00_5502 =
																																	(STRING_REF
																																	(BgL_strz00_78,
																																		(BgL_rz00_2175
																																			+ 2L)));
																																if (
																																	(BgL_nz00_5502
																																		>= 128L))
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4253z00_9917
																																			=
																																			(BgL_nz00_5502
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4253z00_9917
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4253z00_9917)
																																{	/* Llib/unicode.scm 950 */
																																	long
																																		BgL_nz00_5510;
																																	BgL_nz00_5510
																																		=
																																		(STRING_REF
																																		(BgL_strz00_78,
																																			(BgL_rz00_2175
																																				+ 3L)));
																																	if (
																																		(BgL_nz00_5510
																																			>= 128L))
																																		{	/* Llib/unicode.scm 951 */
																																			BgL_test4249z00_9906
																																				=
																																				(BgL_nz00_5510
																																				<=
																																				191L);
																																		}
																																	else
																																		{	/* Llib/unicode.scm 951 */
																																			BgL_test4249z00_9906
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1117 */
																																	BgL_test4249z00_9906
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1116 */
																															BgL_test4249z00_9906
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 1115 */
																													BgL_test4249z00_9906 =
																														((bool_t) 0);
																												}
																											if (BgL_test4249z00_9906)
																												{	/* Llib/unicode.scm 1115 */
																													STRING_SET
																														(BgL_resz00_2173,
																														BgL_wz00_2176,
																														BgL_cz00_2182);
																													{	/* Llib/unicode.scm 1121 */
																														unsigned char
																															BgL_auxz00_9933;
																														long
																															BgL_tmpz00_9931;
																														BgL_auxz00_9933 =
																															STRING_REF
																															(BgL_strz00_78,
																															(BgL_rz00_2175 +
																																1L));
																														BgL_tmpz00_9931 =
																															(BgL_wz00_2176 +
																															1L);
																														STRING_SET
																															(BgL_resz00_2173,
																															BgL_tmpz00_9931,
																															BgL_auxz00_9933);
																													}
																													{	/* Llib/unicode.scm 1122 */
																														unsigned char
																															BgL_auxz00_9939;
																														long
																															BgL_tmpz00_9937;
																														BgL_auxz00_9939 =
																															STRING_REF
																															(BgL_strz00_78,
																															(BgL_rz00_2175 +
																																2L));
																														BgL_tmpz00_9937 =
																															(BgL_wz00_2176 +
																															2L);
																														STRING_SET
																															(BgL_resz00_2173,
																															BgL_tmpz00_9937,
																															BgL_auxz00_9939);
																													}
																													{	/* Llib/unicode.scm 1123 */
																														unsigned char
																															BgL_auxz00_9945;
																														long
																															BgL_tmpz00_9943;
																														BgL_auxz00_9945 =
																															STRING_REF
																															(BgL_strz00_78,
																															(BgL_rz00_2175 +
																																3L));
																														BgL_tmpz00_9943 =
																															(BgL_wz00_2176 +
																															3L);
																														STRING_SET
																															(BgL_resz00_2173,
																															BgL_tmpz00_9943,
																															BgL_auxz00_9945);
																													}
																													{
																														bool_t
																															BgL_asciiz00_9953;
																														long BgL_wz00_9951;
																														long BgL_rz00_9949;

																														BgL_rz00_9949 =
																															(BgL_rz00_2175 +
																															4L);
																														BgL_wz00_9951 =
																															(BgL_wz00_2176 +
																															4L);
																														BgL_asciiz00_9953 =
																															((bool_t) 0);
																														BgL_asciiz00_2177 =
																															BgL_asciiz00_9953;
																														BgL_wz00_2176 =
																															BgL_wz00_9951;
																														BgL_rz00_2175 =
																															BgL_rz00_9949;
																														goto
																															BgL_zc3z04anonymousza32073ze3z87_2178;
																													}
																												}
																											else
																												{	/* Llib/unicode.scm 1115 */
																													STRING_SET
																														(BgL_resz00_2173,
																														BgL_wz00_2176,
																														((unsigned char)
																															239));
																													{	/* Llib/unicode.scm 956 */
																														long
																															BgL_tmpz00_9955;
																														BgL_tmpz00_9955 =
																															(BgL_wz00_2176 +
																															1L);
																														STRING_SET
																															(BgL_resz00_2173,
																															BgL_tmpz00_9955,
																															((unsigned char)
																																191));
																													}
																													{	/* Llib/unicode.scm 957 */
																														long
																															BgL_tmpz00_9958;
																														BgL_tmpz00_9958 =
																															(BgL_wz00_2176 +
																															2L);
																														STRING_SET
																															(BgL_resz00_2173,
																															BgL_tmpz00_9958,
																															((unsigned char)
																																189));
																													}
																													{
																														bool_t
																															BgL_asciiz00_9965;
																														long BgL_wz00_9963;
																														long BgL_rz00_9961;

																														BgL_rz00_9961 =
																															(BgL_rz00_2175 +
																															1L);
																														BgL_wz00_9963 =
																															(BgL_wz00_2176 +
																															3L);
																														BgL_asciiz00_9965 =
																															((bool_t) 0);
																														BgL_asciiz00_2177 =
																															BgL_asciiz00_9965;
																														BgL_wz00_2176 =
																															BgL_wz00_9963;
																														BgL_rz00_2175 =
																															BgL_rz00_9961;
																														goto
																															BgL_zc3z04anonymousza32073ze3z87_2178;
																													}
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 1128 */
																											bool_t
																												BgL_test4256z00_9966;
																											if ((BgL_nz00_2183 ==
																													244L))
																												{	/* Llib/unicode.scm 1128 */
																													BgL_test4256z00_9966 =
																														((bool_t) 1);
																												}
																											else
																												{	/* Llib/unicode.scm 1129 */
																													bool_t
																														BgL_test4258z00_9969;
																													{	/* Llib/unicode.scm 1129 */
																														bool_t
																															BgL__ortest_1055z00_2638;
																														BgL__ortest_1055z00_2638
																															=
																															(BgL_nz00_2183 ==
																															248L);
																														if (BgL__ortest_1055z00_2638)
																															{	/* Llib/unicode.scm 1129 */
																																BgL_test4258z00_9969
																																	=
																																	BgL__ortest_1055z00_2638;
																															}
																														else
																															{	/* Llib/unicode.scm 1129 */
																																BgL_test4258z00_9969
																																	=
																																	(BgL_nz00_2183
																																	== 252L);
																															}
																													}
																													if (BgL_test4258z00_9969)
																														{	/* Llib/unicode.scm 1129 */
																															if (BgL_strictz00_79)
																																{	/* Llib/unicode.scm 1129 */
																																	BgL_test4256z00_9966
																																		=
																																		((bool_t)
																																		0);
																																}
																															else
																																{	/* Llib/unicode.scm 1129 */
																																	BgL_test4256z00_9966
																																		=
																																		((bool_t)
																																		1);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1129 */
																															BgL_test4256z00_9966
																																= ((bool_t) 0);
																														}
																												}
																											if (BgL_test4256z00_9966)
																												{	/* Llib/unicode.scm 1131 */
																													bool_t
																														BgL_test4261z00_9974;
																													if ((BgL_rz00_2175 <
																															(BgL_endz00_81 -
																																3L)))
																														{	/* Llib/unicode.scm 1132 */
																															bool_t
																																BgL_test4263z00_9978;
																															{	/* Llib/unicode.scm 950 */
																																long
																																	BgL_nz00_5565;
																																BgL_nz00_5565 =
																																	(STRING_REF
																																	(BgL_strz00_78,
																																		(BgL_rz00_2175
																																			+ 1L)));
																																if (
																																	(BgL_nz00_5565
																																		>= 128L))
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4263z00_9978
																																			=
																																			(BgL_nz00_5565
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4263z00_9978
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4263z00_9978)
																																{	/* Llib/unicode.scm 1133 */
																																	bool_t
																																		BgL_test4265z00_9985;
																																	{	/* Llib/unicode.scm 950 */
																																		long
																																			BgL_nz00_5573;
																																		BgL_nz00_5573
																																			=
																																			(STRING_REF
																																			(BgL_strz00_78,
																																				(BgL_rz00_2175
																																					+
																																					2L)));
																																		if (
																																			(BgL_nz00_5573
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4265z00_9985
																																					=
																																					(BgL_nz00_5573
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4265z00_9985
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4265z00_9985)
																																		{	/* Llib/unicode.scm 950 */
																																			long
																																				BgL_nz00_5581;
																																			BgL_nz00_5581
																																				=
																																				(STRING_REF
																																				(BgL_strz00_78,
																																					(BgL_rz00_2175
																																						+
																																						3L)));
																																			if (
																																				(BgL_nz00_5581
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 951 */
																																					BgL_test4261z00_9974
																																						=
																																						(BgL_nz00_5581
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 951 */
																																					BgL_test4261z00_9974
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1133 */
																																			BgL_test4261z00_9974
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1132 */
																																	BgL_test4261z00_9974
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1131 */
																															BgL_test4261z00_9974
																																= ((bool_t) 0);
																														}
																													if (BgL_test4261z00_9974)
																														{	/* Llib/unicode.scm 1131 */
																															STRING_SET
																																(BgL_resz00_2173,
																																BgL_wz00_2176,
																																BgL_cz00_2182);
																															{	/* Llib/unicode.scm 1137 */
																																unsigned char
																																	BgL_auxz00_10001;
																																long
																																	BgL_tmpz00_9999;
																																BgL_auxz00_10001
																																	=
																																	STRING_REF
																																	(BgL_strz00_78,
																																	(BgL_rz00_2175
																																		+ 1L));
																																BgL_tmpz00_9999
																																	=
																																	(BgL_wz00_2176
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_2173,
																																	BgL_tmpz00_9999,
																																	BgL_auxz00_10001);
																															}
																															{	/* Llib/unicode.scm 1138 */
																																unsigned char
																																	BgL_auxz00_10007;
																																long
																																	BgL_tmpz00_10005;
																																BgL_auxz00_10007
																																	=
																																	STRING_REF
																																	(BgL_strz00_78,
																																	(BgL_rz00_2175
																																		+ 2L));
																																BgL_tmpz00_10005
																																	=
																																	(BgL_wz00_2176
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_2173,
																																	BgL_tmpz00_10005,
																																	BgL_auxz00_10007);
																															}
																															{	/* Llib/unicode.scm 1139 */
																																unsigned char
																																	BgL_auxz00_10013;
																																long
																																	BgL_tmpz00_10011;
																																BgL_auxz00_10013
																																	=
																																	STRING_REF
																																	(BgL_strz00_78,
																																	(BgL_rz00_2175
																																		+ 3L));
																																BgL_tmpz00_10011
																																	=
																																	(BgL_wz00_2176
																																	+ 3L);
																																STRING_SET
																																	(BgL_resz00_2173,
																																	BgL_tmpz00_10011,
																																	BgL_auxz00_10013);
																															}
																															{
																																bool_t
																																	BgL_asciiz00_10021;
																																long
																																	BgL_wz00_10019;
																																long
																																	BgL_rz00_10017;
																																BgL_rz00_10017 =
																																	(BgL_rz00_2175
																																	+ 4L);
																																BgL_wz00_10019 =
																																	(BgL_wz00_2176
																																	+ 4L);
																																BgL_asciiz00_10021
																																	=
																																	((bool_t) 0);
																																BgL_asciiz00_2177
																																	=
																																	BgL_asciiz00_10021;
																																BgL_wz00_2176 =
																																	BgL_wz00_10019;
																																BgL_rz00_2175 =
																																	BgL_rz00_10017;
																																goto
																																	BgL_zc3z04anonymousza32073ze3z87_2178;
																															}
																														}
																													else
																														{	/* Llib/unicode.scm 1131 */
																															STRING_SET
																																(BgL_resz00_2173,
																																BgL_wz00_2176,
																																((unsigned char)
																																	239));
																															{	/* Llib/unicode.scm 956 */
																																long
																																	BgL_tmpz00_10023;
																																BgL_tmpz00_10023
																																	=
																																	(BgL_wz00_2176
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_2173,
																																	BgL_tmpz00_10023,
																																	((unsigned
																																			char)
																																		191));
																															}
																															{	/* Llib/unicode.scm 957 */
																																long
																																	BgL_tmpz00_10026;
																																BgL_tmpz00_10026
																																	=
																																	(BgL_wz00_2176
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_2173,
																																	BgL_tmpz00_10026,
																																	((unsigned
																																			char)
																																		189));
																															}
																															{
																																bool_t
																																	BgL_asciiz00_10033;
																																long
																																	BgL_wz00_10031;
																																long
																																	BgL_rz00_10029;
																																BgL_rz00_10029 =
																																	(BgL_rz00_2175
																																	+ 1L);
																																BgL_wz00_10031 =
																																	(BgL_wz00_2176
																																	+ 3L);
																																BgL_asciiz00_10033
																																	=
																																	((bool_t) 0);
																																BgL_asciiz00_2177
																																	=
																																	BgL_asciiz00_10033;
																																BgL_wz00_2176 =
																																	BgL_wz00_10031;
																																BgL_rz00_2175 =
																																	BgL_rz00_10029;
																																goto
																																	BgL_zc3z04anonymousza32073ze3z87_2178;
																															}
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 1128 */
																													if (
																														(BgL_nz00_2183 <=
																															247L))
																														{	/* Llib/unicode.scm 1146 */
																															bool_t
																																BgL_test4269z00_10036;
																															if ((BgL_rz00_2175
																																	<
																																	(BgL_endz00_81
																																		- 3L)))
																																{	/* Llib/unicode.scm 1147 */
																																	bool_t
																																		BgL_test4271z00_10040;
																																	{	/* Llib/unicode.scm 950 */
																																		long
																																			BgL_nz00_5634;
																																		BgL_nz00_5634
																																			=
																																			(STRING_REF
																																			(BgL_strz00_78,
																																				(BgL_rz00_2175
																																					+
																																					1L)));
																																		if (
																																			(BgL_nz00_5634
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4271z00_10040
																																					=
																																					(BgL_nz00_5634
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4271z00_10040
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4271z00_10040)
																																		{	/* Llib/unicode.scm 1148 */
																																			bool_t
																																				BgL_test4273z00_10047;
																																			{	/* Llib/unicode.scm 950 */
																																				long
																																					BgL_nz00_5642;
																																				BgL_nz00_5642
																																					=
																																					(STRING_REF
																																					(BgL_strz00_78,
																																						(BgL_rz00_2175
																																							+
																																							2L)));
																																				if (
																																					(BgL_nz00_5642
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4273z00_10047
																																							=
																																							(BgL_nz00_5642
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4273z00_10047
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																			if (BgL_test4273z00_10047)
																																				{	/* Llib/unicode.scm 950 */
																																					long
																																						BgL_nz00_5650;
																																					BgL_nz00_5650
																																						=
																																						(STRING_REF
																																						(BgL_strz00_78,
																																							(BgL_rz00_2175
																																								+
																																								3L)));
																																					if (
																																						(BgL_nz00_5650
																																							>=
																																							128L))
																																						{	/* Llib/unicode.scm 951 */
																																							BgL_test4269z00_10036
																																								=
																																								(BgL_nz00_5650
																																								<=
																																								191L);
																																						}
																																					else
																																						{	/* Llib/unicode.scm 951 */
																																							BgL_test4269z00_10036
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1148 */
																																					BgL_test4269z00_10036
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1147 */
																																			BgL_test4269z00_10036
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1146 */
																																	BgL_test4269z00_10036
																																		=
																																		((bool_t)
																																		0);
																																}
																															if (BgL_test4269z00_10036)
																																{	/* Llib/unicode.scm 1146 */
																																	STRING_SET
																																		(BgL_resz00_2173,
																																		BgL_wz00_2176,
																																		BgL_cz00_2182);
																																	{	/* Llib/unicode.scm 1152 */
																																		unsigned
																																			char
																																			BgL_auxz00_10063;
																																		long
																																			BgL_tmpz00_10061;
																																		BgL_auxz00_10063
																																			=
																																			STRING_REF
																																			(BgL_strz00_78,
																																			(BgL_rz00_2175
																																				+ 1L));
																																		BgL_tmpz00_10061
																																			=
																																			(BgL_wz00_2176
																																			+ 1L);
																																		STRING_SET
																																			(BgL_resz00_2173,
																																			BgL_tmpz00_10061,
																																			BgL_auxz00_10063);
																																	}
																																	{	/* Llib/unicode.scm 1153 */
																																		unsigned
																																			char
																																			BgL_auxz00_10069;
																																		long
																																			BgL_tmpz00_10067;
																																		BgL_auxz00_10069
																																			=
																																			STRING_REF
																																			(BgL_strz00_78,
																																			(BgL_rz00_2175
																																				+ 2L));
																																		BgL_tmpz00_10067
																																			=
																																			(BgL_wz00_2176
																																			+ 2L);
																																		STRING_SET
																																			(BgL_resz00_2173,
																																			BgL_tmpz00_10067,
																																			BgL_auxz00_10069);
																																	}
																																	{	/* Llib/unicode.scm 1154 */
																																		unsigned
																																			char
																																			BgL_auxz00_10075;
																																		long
																																			BgL_tmpz00_10073;
																																		BgL_auxz00_10075
																																			=
																																			STRING_REF
																																			(BgL_strz00_78,
																																			(BgL_rz00_2175
																																				+ 3L));
																																		BgL_tmpz00_10073
																																			=
																																			(BgL_wz00_2176
																																			+ 3L);
																																		STRING_SET
																																			(BgL_resz00_2173,
																																			BgL_tmpz00_10073,
																																			BgL_auxz00_10075);
																																	}
																																	{
																																		bool_t
																																			BgL_asciiz00_10083;
																																		long
																																			BgL_wz00_10081;
																																		long
																																			BgL_rz00_10079;
																																		BgL_rz00_10079
																																			=
																																			(BgL_rz00_2175
																																			+ 4L);
																																		BgL_wz00_10081
																																			=
																																			(BgL_wz00_2176
																																			+ 4L);
																																		BgL_asciiz00_10083
																																			=
																																			((bool_t)
																																			0);
																																		BgL_asciiz00_2177
																																			=
																																			BgL_asciiz00_10083;
																																		BgL_wz00_2176
																																			=
																																			BgL_wz00_10081;
																																		BgL_rz00_2175
																																			=
																																			BgL_rz00_10079;
																																		goto
																																			BgL_zc3z04anonymousza32073ze3z87_2178;
																																	}
																																}
																															else
																																{	/* Llib/unicode.scm 1146 */
																																	STRING_SET
																																		(BgL_resz00_2173,
																																		BgL_wz00_2176,
																																		((unsigned
																																				char)
																																			239));
																																	{	/* Llib/unicode.scm 956 */
																																		long
																																			BgL_tmpz00_10085;
																																		BgL_tmpz00_10085
																																			=
																																			(BgL_wz00_2176
																																			+ 1L);
																																		STRING_SET
																																			(BgL_resz00_2173,
																																			BgL_tmpz00_10085,
																																			((unsigned
																																					char)
																																				191));
																																	}
																																	{	/* Llib/unicode.scm 957 */
																																		long
																																			BgL_tmpz00_10088;
																																		BgL_tmpz00_10088
																																			=
																																			(BgL_wz00_2176
																																			+ 2L);
																																		STRING_SET
																																			(BgL_resz00_2173,
																																			BgL_tmpz00_10088,
																																			((unsigned
																																					char)
																																				189));
																																	}
																																	{
																																		bool_t
																																			BgL_asciiz00_10095;
																																		long
																																			BgL_wz00_10093;
																																		long
																																			BgL_rz00_10091;
																																		BgL_rz00_10091
																																			=
																																			(BgL_rz00_2175
																																			+ 1L);
																																		BgL_wz00_10093
																																			=
																																			(BgL_wz00_2176
																																			+ 3L);
																																		BgL_asciiz00_10095
																																			=
																																			((bool_t)
																																			0);
																																		BgL_asciiz00_2177
																																			=
																																			BgL_asciiz00_10095;
																																		BgL_wz00_2176
																																			=
																																			BgL_wz00_10093;
																																		BgL_rz00_2175
																																			=
																																			BgL_rz00_10091;
																																		goto
																																			BgL_zc3z04anonymousza32073ze3z87_2178;
																																	}
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1144 */
																															if (
																																(BgL_nz00_2183
																																	<= 251L))
																																{	/* Llib/unicode.scm 1160 */
																																	bool_t
																																		BgL_test4277z00_10098;
																																	if (
																																		(BgL_rz00_2175
																																			<
																																			(BgL_endz00_81
																																				- 4L)))
																																		{	/* Llib/unicode.scm 1161 */
																																			bool_t
																																				BgL_test4279z00_10102;
																																			{	/* Llib/unicode.scm 950 */
																																				long
																																					BgL_nz00_5703;
																																				BgL_nz00_5703
																																					=
																																					(STRING_REF
																																					(BgL_strz00_78,
																																						(BgL_rz00_2175
																																							+
																																							1L)));
																																				if (
																																					(BgL_nz00_5703
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4279z00_10102
																																							=
																																							(BgL_nz00_5703
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4279z00_10102
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																			if (BgL_test4279z00_10102)
																																				{	/* Llib/unicode.scm 1162 */
																																					bool_t
																																						BgL_test4281z00_10109;
																																					{	/* Llib/unicode.scm 950 */
																																						long
																																							BgL_nz00_5711;
																																						BgL_nz00_5711
																																							=
																																							(STRING_REF
																																							(BgL_strz00_78,
																																								(BgL_rz00_2175
																																									+
																																									2L)));
																																						if (
																																							(BgL_nz00_5711
																																								>=
																																								128L))
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4281z00_10109
																																									=
																																									(BgL_nz00_5711
																																									<=
																																									191L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4281z00_10109
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4281z00_10109)
																																						{	/* Llib/unicode.scm 1163 */
																																							bool_t
																																								BgL_test4283z00_10116;
																																							{	/* Llib/unicode.scm 950 */
																																								long
																																									BgL_nz00_5719;
																																								BgL_nz00_5719
																																									=
																																									(STRING_REF
																																									(BgL_strz00_78,
																																										(BgL_rz00_2175
																																											+
																																											3L)));
																																								if ((BgL_nz00_5719 >= 128L))
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4283z00_10116
																																											=
																																											(BgL_nz00_5719
																																											<=
																																											191L);
																																									}
																																								else
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4283z00_10116
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																							if (BgL_test4283z00_10116)
																																								{	/* Llib/unicode.scm 950 */
																																									long
																																										BgL_nz00_5727;
																																									BgL_nz00_5727
																																										=
																																										(STRING_REF
																																										(BgL_strz00_78,
																																											(BgL_rz00_2175
																																												+
																																												4L)));
																																									if ((BgL_nz00_5727 >= 128L))
																																										{	/* Llib/unicode.scm 951 */
																																											BgL_test4277z00_10098
																																												=
																																												(BgL_nz00_5727
																																												<=
																																												191L);
																																										}
																																									else
																																										{	/* Llib/unicode.scm 951 */
																																											BgL_test4277z00_10098
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																							else
																																								{	/* Llib/unicode.scm 1163 */
																																									BgL_test4277z00_10098
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 1162 */
																																							BgL_test4277z00_10098
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1161 */
																																					BgL_test4277z00_10098
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1160 */
																																			BgL_test4277z00_10098
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																	if (BgL_test4277z00_10098)
																																		{	/* Llib/unicode.scm 1160 */
																																			STRING_SET
																																				(BgL_resz00_2173,
																																				BgL_wz00_2176,
																																				BgL_cz00_2182);
																																			{	/* Llib/unicode.scm 1167 */
																																				unsigned
																																					char
																																					BgL_auxz00_10132;
																																				long
																																					BgL_tmpz00_10130;
																																				BgL_auxz00_10132
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2175
																																						+
																																						1L));
																																				BgL_tmpz00_10130
																																					=
																																					(BgL_wz00_2176
																																					+ 1L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10130,
																																					BgL_auxz00_10132);
																																			}
																																			{	/* Llib/unicode.scm 1168 */
																																				unsigned
																																					char
																																					BgL_auxz00_10138;
																																				long
																																					BgL_tmpz00_10136;
																																				BgL_auxz00_10138
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2175
																																						+
																																						2L));
																																				BgL_tmpz00_10136
																																					=
																																					(BgL_wz00_2176
																																					+ 2L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10136,
																																					BgL_auxz00_10138);
																																			}
																																			{	/* Llib/unicode.scm 1169 */
																																				unsigned
																																					char
																																					BgL_auxz00_10144;
																																				long
																																					BgL_tmpz00_10142;
																																				BgL_auxz00_10144
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2175
																																						+
																																						3L));
																																				BgL_tmpz00_10142
																																					=
																																					(BgL_wz00_2176
																																					+ 3L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10142,
																																					BgL_auxz00_10144);
																																			}
																																			{	/* Llib/unicode.scm 1170 */
																																				unsigned
																																					char
																																					BgL_auxz00_10150;
																																				long
																																					BgL_tmpz00_10148;
																																				BgL_auxz00_10150
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2175
																																						+
																																						4L));
																																				BgL_tmpz00_10148
																																					=
																																					(BgL_wz00_2176
																																					+ 4L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10148,
																																					BgL_auxz00_10150);
																																			}
																																			{
																																				bool_t
																																					BgL_asciiz00_10158;
																																				long
																																					BgL_wz00_10156;
																																				long
																																					BgL_rz00_10154;
																																				BgL_rz00_10154
																																					=
																																					(BgL_rz00_2175
																																					+ 5L);
																																				BgL_wz00_10156
																																					=
																																					(BgL_wz00_2176
																																					+ 5L);
																																				BgL_asciiz00_10158
																																					=
																																					(
																																					(bool_t)
																																					0);
																																				BgL_asciiz00_2177
																																					=
																																					BgL_asciiz00_10158;
																																				BgL_wz00_2176
																																					=
																																					BgL_wz00_10156;
																																				BgL_rz00_2175
																																					=
																																					BgL_rz00_10154;
																																				goto
																																					BgL_zc3z04anonymousza32073ze3z87_2178;
																																			}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1160 */
																																			STRING_SET
																																				(BgL_resz00_2173,
																																				BgL_wz00_2176,
																																				((unsigned char) 239));
																																			{	/* Llib/unicode.scm 956 */
																																				long
																																					BgL_tmpz00_10160;
																																				BgL_tmpz00_10160
																																					=
																																					(BgL_wz00_2176
																																					+ 1L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10160,
																																					((unsigned char) 191));
																																			}
																																			{	/* Llib/unicode.scm 957 */
																																				long
																																					BgL_tmpz00_10163;
																																				BgL_tmpz00_10163
																																					=
																																					(BgL_wz00_2176
																																					+ 2L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10163,
																																					((unsigned char) 189));
																																			}
																																			{
																																				bool_t
																																					BgL_asciiz00_10170;
																																				long
																																					BgL_wz00_10168;
																																				long
																																					BgL_rz00_10166;
																																				BgL_rz00_10166
																																					=
																																					(BgL_rz00_2175
																																					+ 1L);
																																				BgL_wz00_10168
																																					=
																																					(BgL_wz00_2176
																																					+ 3L);
																																				BgL_asciiz00_10170
																																					=
																																					(
																																					(bool_t)
																																					0);
																																				BgL_asciiz00_2177
																																					=
																																					BgL_asciiz00_10170;
																																				BgL_wz00_2176
																																					=
																																					BgL_wz00_10168;
																																				BgL_rz00_2175
																																					=
																																					BgL_rz00_10166;
																																				goto
																																					BgL_zc3z04anonymousza32073ze3z87_2178;
																																			}
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1159 */
																																	if (
																																		(BgL_nz00_2183
																																			<= 253L))
																																		{	/* Llib/unicode.scm 1176 */
																																			bool_t
																																				BgL_test4287z00_10173;
																																			if (
																																				(BgL_rz00_2175
																																					<
																																					(BgL_endz00_81
																																						-
																																						5L)))
																																				{	/* Llib/unicode.scm 1177 */
																																					bool_t
																																						BgL_test4289z00_10177;
																																					{	/* Llib/unicode.scm 950 */
																																						long
																																							BgL_nz00_5787;
																																						BgL_nz00_5787
																																							=
																																							(STRING_REF
																																							(BgL_strz00_78,
																																								(BgL_rz00_2175
																																									+
																																									1L)));
																																						if (
																																							(BgL_nz00_5787
																																								>=
																																								128L))
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4289z00_10177
																																									=
																																									(BgL_nz00_5787
																																									<=
																																									191L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4289z00_10177
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4289z00_10177)
																																						{	/* Llib/unicode.scm 1178 */
																																							bool_t
																																								BgL_test4291z00_10184;
																																							{	/* Llib/unicode.scm 950 */
																																								long
																																									BgL_nz00_5795;
																																								BgL_nz00_5795
																																									=
																																									(STRING_REF
																																									(BgL_strz00_78,
																																										(BgL_rz00_2175
																																											+
																																											2L)));
																																								if ((BgL_nz00_5795 >= 128L))
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4291z00_10184
																																											=
																																											(BgL_nz00_5795
																																											<=
																																											191L);
																																									}
																																								else
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4291z00_10184
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																							if (BgL_test4291z00_10184)
																																								{	/* Llib/unicode.scm 1179 */
																																									bool_t
																																										BgL_test4293z00_10191;
																																									{	/* Llib/unicode.scm 950 */
																																										long
																																											BgL_nz00_5803;
																																										BgL_nz00_5803
																																											=
																																											(STRING_REF
																																											(BgL_strz00_78,
																																												(BgL_rz00_2175
																																													+
																																													3L)));
																																										if ((BgL_nz00_5803 >= 128L))
																																											{	/* Llib/unicode.scm 951 */
																																												BgL_test4293z00_10191
																																													=
																																													(BgL_nz00_5803
																																													<=
																																													191L);
																																											}
																																										else
																																											{	/* Llib/unicode.scm 951 */
																																												BgL_test4293z00_10191
																																													=
																																													(
																																													(bool_t)
																																													0);
																																											}
																																									}
																																									if (BgL_test4293z00_10191)
																																										{	/* Llib/unicode.scm 1180 */
																																											bool_t
																																												BgL_test4295z00_10198;
																																											{	/* Llib/unicode.scm 950 */
																																												long
																																													BgL_nz00_5811;
																																												BgL_nz00_5811
																																													=
																																													(STRING_REF
																																													(BgL_strz00_78,
																																														(BgL_rz00_2175
																																															+
																																															4L)));
																																												if ((BgL_nz00_5811 >= 128L))
																																													{	/* Llib/unicode.scm 951 */
																																														BgL_test4295z00_10198
																																															=
																																															(BgL_nz00_5811
																																															<=
																																															191L);
																																													}
																																												else
																																													{	/* Llib/unicode.scm 951 */
																																														BgL_test4295z00_10198
																																															=
																																															(
																																															(bool_t)
																																															0);
																																													}
																																											}
																																											if (BgL_test4295z00_10198)
																																												{	/* Llib/unicode.scm 950 */
																																													long
																																														BgL_nz00_5819;
																																													BgL_nz00_5819
																																														=
																																														(STRING_REF
																																														(BgL_strz00_78,
																																															(BgL_rz00_2175
																																																+
																																																5L)));
																																													if ((BgL_nz00_5819 >= 128L))
																																														{	/* Llib/unicode.scm 951 */
																																															BgL_test4287z00_10173
																																																=
																																																(BgL_nz00_5819
																																																<=
																																																191L);
																																														}
																																													else
																																														{	/* Llib/unicode.scm 951 */
																																															BgL_test4287z00_10173
																																																=
																																																(
																																																(bool_t)
																																																0);
																																														}
																																												}
																																											else
																																												{	/* Llib/unicode.scm 1180 */
																																													BgL_test4287z00_10173
																																														=
																																														(
																																														(bool_t)
																																														0);
																																												}
																																										}
																																									else
																																										{	/* Llib/unicode.scm 1179 */
																																											BgL_test4287z00_10173
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																							else
																																								{	/* Llib/unicode.scm 1178 */
																																									BgL_test4287z00_10173
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 1177 */
																																							BgL_test4287z00_10173
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1176 */
																																					BgL_test4287z00_10173
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																			if (BgL_test4287z00_10173)
																																				{	/* Llib/unicode.scm 1176 */
																																					STRING_SET
																																						(BgL_resz00_2173,
																																						BgL_wz00_2176,
																																						BgL_cz00_2182);
																																					{	/* Llib/unicode.scm 1184 */
																																						unsigned
																																							char
																																							BgL_auxz00_10214;
																																						long
																																							BgL_tmpz00_10212;
																																						BgL_auxz00_10214
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2175
																																								+
																																								1L));
																																						BgL_tmpz00_10212
																																							=
																																							(BgL_wz00_2176
																																							+
																																							1L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10212,
																																							BgL_auxz00_10214);
																																					}
																																					{	/* Llib/unicode.scm 1185 */
																																						unsigned
																																							char
																																							BgL_auxz00_10220;
																																						long
																																							BgL_tmpz00_10218;
																																						BgL_auxz00_10220
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2175
																																								+
																																								2L));
																																						BgL_tmpz00_10218
																																							=
																																							(BgL_wz00_2176
																																							+
																																							2L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10218,
																																							BgL_auxz00_10220);
																																					}
																																					{	/* Llib/unicode.scm 1186 */
																																						unsigned
																																							char
																																							BgL_auxz00_10226;
																																						long
																																							BgL_tmpz00_10224;
																																						BgL_auxz00_10226
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2175
																																								+
																																								3L));
																																						BgL_tmpz00_10224
																																							=
																																							(BgL_wz00_2176
																																							+
																																							3L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10224,
																																							BgL_auxz00_10226);
																																					}
																																					{	/* Llib/unicode.scm 1187 */
																																						unsigned
																																							char
																																							BgL_auxz00_10232;
																																						long
																																							BgL_tmpz00_10230;
																																						BgL_auxz00_10232
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2175
																																								+
																																								4L));
																																						BgL_tmpz00_10230
																																							=
																																							(BgL_wz00_2176
																																							+
																																							4L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10230,
																																							BgL_auxz00_10232);
																																					}
																																					{	/* Llib/unicode.scm 1188 */
																																						unsigned
																																							char
																																							BgL_auxz00_10238;
																																						long
																																							BgL_tmpz00_10236;
																																						BgL_auxz00_10238
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2175
																																								+
																																								5L));
																																						BgL_tmpz00_10236
																																							=
																																							(BgL_wz00_2176
																																							+
																																							5L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10236,
																																							BgL_auxz00_10238);
																																					}
																																					{
																																						bool_t
																																							BgL_asciiz00_10246;
																																						long
																																							BgL_wz00_10244;
																																						long
																																							BgL_rz00_10242;
																																						BgL_rz00_10242
																																							=
																																							(BgL_rz00_2175
																																							+
																																							6L);
																																						BgL_wz00_10244
																																							=
																																							(BgL_wz00_2176
																																							+
																																							6L);
																																						BgL_asciiz00_10246
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2177
																																							=
																																							BgL_asciiz00_10246;
																																						BgL_wz00_2176
																																							=
																																							BgL_wz00_10244;
																																						BgL_rz00_2175
																																							=
																																							BgL_rz00_10242;
																																						goto
																																							BgL_zc3z04anonymousza32073ze3z87_2178;
																																					}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1176 */
																																					STRING_SET
																																						(BgL_resz00_2173,
																																						BgL_wz00_2176,
																																						((unsigned char) 239));
																																					{	/* Llib/unicode.scm 956 */
																																						long
																																							BgL_tmpz00_10248;
																																						BgL_tmpz00_10248
																																							=
																																							(BgL_wz00_2176
																																							+
																																							1L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10248,
																																							((unsigned char) 191));
																																					}
																																					{	/* Llib/unicode.scm 957 */
																																						long
																																							BgL_tmpz00_10251;
																																						BgL_tmpz00_10251
																																							=
																																							(BgL_wz00_2176
																																							+
																																							2L);
																																						STRING_SET
																																							(BgL_resz00_2173,
																																							BgL_tmpz00_10251,
																																							((unsigned char) 189));
																																					}
																																					{
																																						bool_t
																																							BgL_asciiz00_10258;
																																						long
																																							BgL_wz00_10256;
																																						long
																																							BgL_rz00_10254;
																																						BgL_rz00_10254
																																							=
																																							(BgL_rz00_2175
																																							+
																																							1L);
																																						BgL_wz00_10256
																																							=
																																							(BgL_wz00_2176
																																							+
																																							3L);
																																						BgL_asciiz00_10258
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2177
																																							=
																																							BgL_asciiz00_10258;
																																						BgL_wz00_2176
																																							=
																																							BgL_wz00_10256;
																																						BgL_rz00_2175
																																							=
																																							BgL_rz00_10254;
																																						goto
																																							BgL_zc3z04anonymousza32073ze3z87_2178;
																																					}
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1175 */
																																			STRING_SET
																																				(BgL_resz00_2173,
																																				BgL_wz00_2176,
																																				((unsigned char) 239));
																																			{	/* Llib/unicode.scm 956 */
																																				long
																																					BgL_tmpz00_10260;
																																				BgL_tmpz00_10260
																																					=
																																					(BgL_wz00_2176
																																					+ 1L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10260,
																																					((unsigned char) 191));
																																			}
																																			{	/* Llib/unicode.scm 957 */
																																				long
																																					BgL_tmpz00_10263;
																																				BgL_tmpz00_10263
																																					=
																																					(BgL_wz00_2176
																																					+ 2L);
																																				STRING_SET
																																					(BgL_resz00_2173,
																																					BgL_tmpz00_10263,
																																					((unsigned char) 189));
																																			}
																																			{
																																				bool_t
																																					BgL_asciiz00_10270;
																																				long
																																					BgL_wz00_10268;
																																				long
																																					BgL_rz00_10266;
																																				BgL_rz00_10266
																																					=
																																					(BgL_rz00_2175
																																					+ 1L);
																																				BgL_wz00_10268
																																					=
																																					(BgL_wz00_2176
																																					+ 3L);
																																				BgL_asciiz00_10270
																																					=
																																					(
																																					(bool_t)
																																					0);
																																				BgL_asciiz00_2177
																																					=
																																					BgL_asciiz00_10270;
																																				BgL_wz00_2176
																																					=
																																					BgL_wz00_10268;
																																				BgL_rz00_2175
																																					=
																																					BgL_rz00_10266;
																																				goto
																																					BgL_zc3z04anonymousza32073ze3z87_2178;
																																			}
																																		}
																																}
																														}
																												}
																										}
																								}
																						}
																				}
																		}
																}
														}
												}
											}
										}
								}
							}
						}
					}
			}
		}

	}



/* utf8-char-size */
	BGL_EXPORTED_DEF long BGl_utf8zd2charzd2siza7eza7zz__unicodez00(unsigned char
		BgL_cz00_84)
	{
		{	/* Llib/unicode.scm 1201 */
			{	/* Llib/unicode.scm 1203 */
				long BgL_arg2547z00_7255;

				BgL_arg2547z00_7255 = (((unsigned char) (BgL_cz00_84)) >> (int) (4L));
				{	/* Llib/unicode.scm 1202 */
					obj_t BgL_vectorz00_7256;

					BgL_vectorz00_7256 = BGl_vector3706z00zz__unicodez00;
					return
						(long) CINT(VECTOR_REF(BgL_vectorz00_7256, BgL_arg2547z00_7255));
		}}}

	}



/* &utf8-char-size */
	obj_t BGl_z62utf8zd2charzd2siza7ezc5zz__unicodez00(obj_t BgL_envz00_6945,
		obj_t BgL_cz00_6946)
	{
		{	/* Llib/unicode.scm 1201 */
			{	/* Llib/unicode.scm 1203 */
				long BgL_tmpz00_10277;

				{	/* Llib/unicode.scm 1203 */
					unsigned char BgL_auxz00_10278;

					{	/* Llib/unicode.scm 1203 */
						obj_t BgL_tmpz00_10279;

						if (CHARP(BgL_cz00_6946))
							{	/* Llib/unicode.scm 1203 */
								BgL_tmpz00_10279 = BgL_cz00_6946;
							}
						else
							{
								obj_t BgL_auxz00_10282;

								BgL_auxz00_10282 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(48323L),
									BGl_string3708z00zz__unicodez00,
									BGl_string3709z00zz__unicodez00, BgL_cz00_6946);
								FAILURE(BgL_auxz00_10282, BFALSE, BFALSE);
							}
						BgL_auxz00_10278 = CCHAR(BgL_tmpz00_10279);
					}
					BgL_tmpz00_10277 =
						BGl_utf8zd2charzd2siza7eza7zz__unicodez00(BgL_auxz00_10278);
				}
				return BINT(BgL_tmpz00_10277);
			}
		}

	}



/* utf8-string-length */
	BGL_EXPORTED_DEF long BGl_utf8zd2stringzd2lengthz00zz__unicodez00(obj_t
		BgL_strz00_86)
	{
		{	/* Llib/unicode.scm 1217 */
			{	/* Llib/unicode.scm 1218 */
				long BgL_lenz00_2663;

				BgL_lenz00_2663 = STRING_LENGTH(BgL_strz00_86);
				{
					long BgL_rz00_5942;
					long BgL_lz00_5943;

					BgL_rz00_5942 = 0L;
					BgL_lz00_5943 = 0L;
				BgL_loopz00_5941:
					if ((BgL_rz00_5942 == BgL_lenz00_2663))
						{	/* Llib/unicode.scm 1221 */
							return BgL_lz00_5943;
						}
					else
						{	/* Llib/unicode.scm 1223 */
							long BgL_arg2557z00_5950;
							long BgL_arg2558z00_5951;

							{	/* Llib/unicode.scm 1223 */
								long BgL_arg2565z00_5952;

								{	/* Llib/unicode.scm 1223 */
									unsigned char BgL_arg2566z00_5953;

									BgL_arg2566z00_5953 =
										STRING_REF(BgL_strz00_86, BgL_rz00_5942);
									{	/* Llib/unicode.scm 1223 */
										long BgL_res3349z00_5965;

										{	/* Llib/unicode.scm 1223 */
											unsigned char BgL_cz00_5958;

											BgL_cz00_5958 = (char) (BgL_arg2566z00_5953);
											{	/* Llib/unicode.scm 1203 */
												long BgL_arg2547z00_5959;

												BgL_arg2547z00_5959 =
													(((unsigned char) (BgL_cz00_5958)) >> (int) (4L));
												{	/* Llib/unicode.scm 1202 */
													obj_t BgL_vectorz00_5963;

													BgL_vectorz00_5963 = BGl_vector3706z00zz__unicodez00;
													BgL_res3349z00_5965 =
														(long) CINT(VECTOR_REF(BgL_vectorz00_5963,
															BgL_arg2547z00_5959));
										}}}
										BgL_arg2565z00_5952 = BgL_res3349z00_5965;
								}}
								BgL_arg2557z00_5950 = (BgL_rz00_5942 + BgL_arg2565z00_5952);
							}
							BgL_arg2558z00_5951 = (BgL_lz00_5943 + 1L);
							{
								long BgL_lz00_10303;
								long BgL_rz00_10302;

								BgL_rz00_10302 = BgL_arg2557z00_5950;
								BgL_lz00_10303 = BgL_arg2558z00_5951;
								BgL_lz00_5943 = BgL_lz00_10303;
								BgL_rz00_5942 = BgL_rz00_10302;
								goto BgL_loopz00_5941;
							}
						}
				}
			}
		}

	}



/* &utf8-string-length */
	obj_t BGl_z62utf8zd2stringzd2lengthz62zz__unicodez00(obj_t BgL_envz00_6947,
		obj_t BgL_strz00_6948)
	{
		{	/* Llib/unicode.scm 1217 */
			{	/* Llib/unicode.scm 1218 */
				long BgL_tmpz00_10304;

				{	/* Llib/unicode.scm 1218 */
					obj_t BgL_auxz00_10305;

					if (STRINGP(BgL_strz00_6948))
						{	/* Llib/unicode.scm 1218 */
							BgL_auxz00_10305 = BgL_strz00_6948;
						}
					else
						{
							obj_t BgL_auxz00_10308;

							BgL_auxz00_10308 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(49101L), BGl_string3710z00zz__unicodez00,
								BGl_string3694z00zz__unicodez00, BgL_strz00_6948);
							FAILURE(BgL_auxz00_10308, BFALSE, BFALSE);
						}
					BgL_tmpz00_10304 =
						BGl_utf8zd2stringzd2lengthz00zz__unicodez00(BgL_auxz00_10305);
				}
				return BINT(BgL_tmpz00_10304);
			}
		}

	}



/* utf8-string-ref */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2refz00zz__unicodez00(obj_t
		BgL_strz00_87, long BgL_iz00_88)
	{
		{	/* Llib/unicode.scm 1228 */
			{
				long BgL_rz00_5990;
				long BgL_iz00_5991;

				BgL_rz00_5990 = 0L;
				BgL_iz00_5991 = BgL_iz00_88;
			BgL_loopz00_5989:
				{	/* Llib/unicode.scm 1231 */
					unsigned char BgL_cz00_5992;

					BgL_cz00_5992 = STRING_REF(BgL_strz00_87, BgL_rz00_5990);
					{	/* Llib/unicode.scm 1231 */
						long BgL_sz00_5995;

						{	/* Llib/unicode.scm 1232 */
							long BgL_res3350z00_5996;

							{	/* Llib/unicode.scm 1232 */
								unsigned char BgL_cz00_5997;

								BgL_cz00_5997 = (char) (BgL_cz00_5992);
								{	/* Llib/unicode.scm 1203 */
									long BgL_arg2547z00_5998;

									BgL_arg2547z00_5998 =
										(((unsigned char) (BgL_cz00_5997)) >> (int) (4L));
									{	/* Llib/unicode.scm 1202 */
										obj_t BgL_vectorz00_6002;

										BgL_vectorz00_6002 = BGl_vector3706z00zz__unicodez00;
										BgL_res3350z00_5996 =
											(long) CINT(VECTOR_REF(BgL_vectorz00_6002,
												BgL_arg2547z00_5998));
							}}}
							BgL_sz00_5995 = BgL_res3350z00_5996;
						}
						{	/* Llib/unicode.scm 1232 */

							if ((BgL_iz00_5991 == 0L))
								{	/* Llib/unicode.scm 1233 */
									return
										c_substring(BgL_strz00_87, BgL_rz00_5990,
										(BgL_rz00_5990 + BgL_sz00_5995));
								}
							else
								{
									long BgL_iz00_10328;
									long BgL_rz00_10326;

									BgL_rz00_10326 = (BgL_rz00_5990 + BgL_sz00_5995);
									BgL_iz00_10328 = (BgL_iz00_5991 - 1L);
									BgL_iz00_5991 = BgL_iz00_10328;
									BgL_rz00_5990 = BgL_rz00_10326;
									goto BgL_loopz00_5989;
								}
						}
					}
				}
			}
		}

	}



/* &utf8-string-ref */
	obj_t BGl_z62utf8zd2stringzd2refz62zz__unicodez00(obj_t BgL_envz00_6949,
		obj_t BgL_strz00_6950, obj_t BgL_iz00_6951)
	{
		{	/* Llib/unicode.scm 1228 */
			{	/* Llib/unicode.scm 1230 */
				long BgL_auxz00_10337;
				obj_t BgL_auxz00_10330;

				{	/* Llib/unicode.scm 1230 */
					obj_t BgL_tmpz00_10338;

					if (INTEGERP(BgL_iz00_6951))
						{	/* Llib/unicode.scm 1230 */
							BgL_tmpz00_10338 = BgL_iz00_6951;
						}
					else
						{
							obj_t BgL_auxz00_10341;

							BgL_auxz00_10341 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(49561L), BGl_string3711z00zz__unicodez00,
								BGl_string3653z00zz__unicodez00, BgL_iz00_6951);
							FAILURE(BgL_auxz00_10341, BFALSE, BFALSE);
						}
					BgL_auxz00_10337 = (long) CINT(BgL_tmpz00_10338);
				}
				if (STRINGP(BgL_strz00_6950))
					{	/* Llib/unicode.scm 1230 */
						BgL_auxz00_10330 = BgL_strz00_6950;
					}
				else
					{
						obj_t BgL_auxz00_10333;

						BgL_auxz00_10333 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(49561L), BGl_string3711z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6950);
						FAILURE(BgL_auxz00_10333, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2refz00zz__unicodez00(BgL_auxz00_10330,
					BgL_auxz00_10337);
			}
		}

	}



/* utf8-string-index->string-index */
	BGL_EXPORTED_DEF long
		BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexze3zz__unicodez00(obj_t
		BgL_strz00_89, long BgL_iz00_90)
	{
		{	/* Llib/unicode.scm 1240 */
			if ((BgL_iz00_90 < 0L))
				{	/* Llib/unicode.scm 1242 */
					return -1L;
				}
			else
				{	/* Llib/unicode.scm 1245 */
					long BgL_lenz00_2687;

					BgL_lenz00_2687 = STRING_LENGTH(BgL_strz00_89);
					{
						long BgL_rz00_6036;
						long BgL_iz00_6037;

						BgL_rz00_6036 = 0L;
						BgL_iz00_6037 = BgL_iz00_90;
					BgL_loopz00_6035:
						if ((BgL_iz00_6037 == 0L))
							{	/* Llib/unicode.scm 1248 */
								return BgL_rz00_6036;
							}
						else
							{	/* Llib/unicode.scm 1248 */
								if ((BgL_rz00_6036 < BgL_lenz00_2687))
									{	/* Llib/unicode.scm 1252 */
										long BgL_arg2577z00_6046;
										long BgL_arg2579z00_6047;

										{	/* Llib/unicode.scm 1252 */
											long BgL_arg2580z00_6048;

											{	/* Llib/unicode.scm 1252 */
												long BgL_res3351z00_6049;

												{	/* Llib/unicode.scm 1252 */
													unsigned char BgL_cz00_6050;

													BgL_cz00_6050 =
														(char) (STRING_REF(BgL_strz00_89, BgL_rz00_6036));
													{	/* Llib/unicode.scm 1203 */
														long BgL_arg2547z00_6051;

														BgL_arg2547z00_6051 =
															(((unsigned char) (BgL_cz00_6050)) >> (int) (4L));
														{	/* Llib/unicode.scm 1202 */
															obj_t BgL_vectorz00_6055;

															BgL_vectorz00_6055 =
																BGl_vector3706z00zz__unicodez00;
															BgL_res3351z00_6049 =
																(long) CINT(VECTOR_REF(BgL_vectorz00_6055,
																	BgL_arg2547z00_6051));
												}}}
												BgL_arg2580z00_6048 = BgL_res3351z00_6049;
											}
											BgL_arg2577z00_6046 =
												(BgL_rz00_6036 + BgL_arg2580z00_6048);
										}
										BgL_arg2579z00_6047 = (BgL_iz00_6037 - 1L);
										{
											long BgL_iz00_10365;
											long BgL_rz00_10364;

											BgL_rz00_10364 = BgL_arg2577z00_6046;
											BgL_iz00_10365 = BgL_arg2579z00_6047;
											BgL_iz00_6037 = BgL_iz00_10365;
											BgL_rz00_6036 = BgL_rz00_10364;
											goto BgL_loopz00_6035;
										}
									}
								else
									{	/* Llib/unicode.scm 1250 */
										return -1L;
									}
							}
					}
				}
		}

	}



/* &utf8-string-index->string-index */
	obj_t BGl_z62utf8zd2stringzd2indexzd2ze3stringzd2indexz81zz__unicodez00(obj_t
		BgL_envz00_6952, obj_t BgL_strz00_6953, obj_t BgL_iz00_6954)
	{
		{	/* Llib/unicode.scm 1240 */
			{	/* Llib/unicode.scm 1242 */
				long BgL_tmpz00_10366;

				{	/* Llib/unicode.scm 1242 */
					long BgL_auxz00_10374;
					obj_t BgL_auxz00_10367;

					{	/* Llib/unicode.scm 1242 */
						obj_t BgL_tmpz00_10375;

						if (INTEGERP(BgL_iz00_6954))
							{	/* Llib/unicode.scm 1242 */
								BgL_tmpz00_10375 = BgL_iz00_6954;
							}
						else
							{
								obj_t BgL_auxz00_10378;

								BgL_auxz00_10378 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(50012L),
									BGl_string3712z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_iz00_6954);
								FAILURE(BgL_auxz00_10378, BFALSE, BFALSE);
							}
						BgL_auxz00_10374 = (long) CINT(BgL_tmpz00_10375);
					}
					if (STRINGP(BgL_strz00_6953))
						{	/* Llib/unicode.scm 1242 */
							BgL_auxz00_10367 = BgL_strz00_6953;
						}
					else
						{
							obj_t BgL_auxz00_10370;

							BgL_auxz00_10370 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(50012L), BGl_string3712z00zz__unicodez00,
								BGl_string3694z00zz__unicodez00, BgL_strz00_6953);
							FAILURE(BgL_auxz00_10370, BFALSE, BFALSE);
						}
					BgL_tmpz00_10366 =
						BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexze3zz__unicodez00
						(BgL_auxz00_10367, BgL_auxz00_10374);
				}
				return BINT(BgL_tmpz00_10366);
			}
		}

	}



/* string-index->utf8-string-index */
	BGL_EXPORTED_DEF long
		BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexze3zz__unicodez00(obj_t
		BgL_strz00_91, long BgL_iz00_92)
	{
		{	/* Llib/unicode.scm 1259 */
			if ((BgL_iz00_92 < 0L))
				{	/* Llib/unicode.scm 1261 */
					return -1L;
				}
			else
				{	/* Llib/unicode.scm 1264 */
					long BgL_lenz00_2700;

					BgL_lenz00_2700 = STRING_LENGTH(BgL_strz00_91);
					{
						long BgL_mz00_6083;
						long BgL_jz00_6084;
						long BgL_iz00_6085;

						BgL_mz00_6083 = 0L;
						BgL_jz00_6084 = BgL_iz00_92;
						BgL_iz00_6085 = BgL_iz00_92;
					BgL_loopz00_6082:
						if ((BgL_iz00_6085 <= 0L))
							{	/* Llib/unicode.scm 1269 */
								return BgL_jz00_6084;
							}
						else
							{	/* Llib/unicode.scm 1269 */
								if ((BgL_mz00_6083 >= BgL_lenz00_2700))
									{	/* Llib/unicode.scm 1271 */
										return -1L;
									}
								else
									{	/* Llib/unicode.scm 1274 */
										long BgL_sz00_6094;

										{	/* Llib/unicode.scm 1275 */
											long BgL_res3352z00_6095;

											{	/* Llib/unicode.scm 1275 */
												unsigned char BgL_cz00_6096;

												BgL_cz00_6096 =
													(char) (STRING_REF(BgL_strz00_91, BgL_mz00_6083));
												{	/* Llib/unicode.scm 1203 */
													long BgL_arg2547z00_6097;

													BgL_arg2547z00_6097 =
														(((unsigned char) (BgL_cz00_6096)) >> (int) (4L));
													{	/* Llib/unicode.scm 1202 */
														obj_t BgL_vectorz00_6101;

														BgL_vectorz00_6101 =
															BGl_vector3706z00zz__unicodez00;
														BgL_res3352z00_6095 =
															(long) CINT(VECTOR_REF(BgL_vectorz00_6101,
																BgL_arg2547z00_6097));
											}}}
											BgL_sz00_6094 = BgL_res3352z00_6095;
										}
										{	/* Llib/unicode.scm 1275 */

											{
												long BgL_iz00_10405;
												long BgL_jz00_10402;
												long BgL_mz00_10400;

												BgL_mz00_10400 = (BgL_mz00_6083 + BgL_sz00_6094);
												BgL_jz00_10402 = (BgL_jz00_6084 - (BgL_sz00_6094 - 1L));
												BgL_iz00_10405 = (BgL_iz00_6085 - BgL_sz00_6094);
												BgL_iz00_6085 = BgL_iz00_10405;
												BgL_jz00_6084 = BgL_jz00_10402;
												BgL_mz00_6083 = BgL_mz00_10400;
												goto BgL_loopz00_6082;
											}
										}
									}
							}
					}
				}
		}

	}



/* &string-index->utf8-string-index */
	obj_t BGl_z62stringzd2indexzd2ze3utf8zd2stringzd2indexz81zz__unicodez00(obj_t
		BgL_envz00_6955, obj_t BgL_strz00_6956, obj_t BgL_iz00_6957)
	{
		{	/* Llib/unicode.scm 1259 */
			{	/* Llib/unicode.scm 1261 */
				long BgL_tmpz00_10407;

				{	/* Llib/unicode.scm 1261 */
					long BgL_auxz00_10415;
					obj_t BgL_auxz00_10408;

					{	/* Llib/unicode.scm 1261 */
						obj_t BgL_tmpz00_10416;

						if (INTEGERP(BgL_iz00_6957))
							{	/* Llib/unicode.scm 1261 */
								BgL_tmpz00_10416 = BgL_iz00_6957;
							}
						else
							{
								obj_t BgL_auxz00_10419;

								BgL_auxz00_10419 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(50551L),
									BGl_string3713z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_iz00_6957);
								FAILURE(BgL_auxz00_10419, BFALSE, BFALSE);
							}
						BgL_auxz00_10415 = (long) CINT(BgL_tmpz00_10416);
					}
					if (STRINGP(BgL_strz00_6956))
						{	/* Llib/unicode.scm 1261 */
							BgL_auxz00_10408 = BgL_strz00_6956;
						}
					else
						{
							obj_t BgL_auxz00_10411;

							BgL_auxz00_10411 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(50551L), BGl_string3713z00zz__unicodez00,
								BGl_string3694z00zz__unicodez00, BgL_strz00_6956);
							FAILURE(BgL_auxz00_10411, BFALSE, BFALSE);
						}
					BgL_tmpz00_10407 =
						BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexze3zz__unicodez00
						(BgL_auxz00_10408, BgL_auxz00_10415);
				}
				return BINT(BgL_tmpz00_10407);
			}
		}

	}



/* utf8-string-left-replacement? */
	BGL_EXPORTED_DEF bool_t
		BGl_utf8zd2stringzd2leftzd2replacementzf3z21zz__unicodez00(obj_t
		BgL_strz00_93, long BgL_lenz00_94, long BgL_indexz00_95)
	{
		{	/* Llib/unicode.scm 1284 */
			if ((BgL_lenz00_94 >= (BgL_indexz00_95 + 4L)))
				{	/* Llib/unicode.scm 1285 */
					return ((STRING_REF(BgL_strz00_93, BgL_indexz00_95)) == 248L);
				}
			else
				{	/* Llib/unicode.scm 1285 */
					return ((bool_t) 0);
				}
		}

	}



/* &utf8-string-left-replacement? */
	obj_t BGl_z62utf8zd2stringzd2leftzd2replacementzf3z43zz__unicodez00(obj_t
		BgL_envz00_6958, obj_t BgL_strz00_6959, obj_t BgL_lenz00_6960,
		obj_t BgL_indexz00_6961)
	{
		{	/* Llib/unicode.scm 1284 */
			{	/* Llib/unicode.scm 1285 */
				bool_t BgL_tmpz00_10432;

				{	/* Llib/unicode.scm 1285 */
					long BgL_auxz00_10449;
					long BgL_auxz00_10440;
					obj_t BgL_auxz00_10433;

					{	/* Llib/unicode.scm 1285 */
						obj_t BgL_tmpz00_10450;

						if (INTEGERP(BgL_indexz00_6961))
							{	/* Llib/unicode.scm 1285 */
								BgL_tmpz00_10450 = BgL_indexz00_6961;
							}
						else
							{
								obj_t BgL_auxz00_10453;

								BgL_auxz00_10453 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(51368L),
									BGl_string3714z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_indexz00_6961);
								FAILURE(BgL_auxz00_10453, BFALSE, BFALSE);
							}
						BgL_auxz00_10449 = (long) CINT(BgL_tmpz00_10450);
					}
					{	/* Llib/unicode.scm 1285 */
						obj_t BgL_tmpz00_10441;

						if (INTEGERP(BgL_lenz00_6960))
							{	/* Llib/unicode.scm 1285 */
								BgL_tmpz00_10441 = BgL_lenz00_6960;
							}
						else
							{
								obj_t BgL_auxz00_10444;

								BgL_auxz00_10444 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(51368L),
									BGl_string3714z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_lenz00_6960);
								FAILURE(BgL_auxz00_10444, BFALSE, BFALSE);
							}
						BgL_auxz00_10440 = (long) CINT(BgL_tmpz00_10441);
					}
					if (STRINGP(BgL_strz00_6959))
						{	/* Llib/unicode.scm 1285 */
							BgL_auxz00_10433 = BgL_strz00_6959;
						}
					else
						{
							obj_t BgL_auxz00_10436;

							BgL_auxz00_10436 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(51368L), BGl_string3714z00zz__unicodez00,
								BGl_string3694z00zz__unicodez00, BgL_strz00_6959);
							FAILURE(BgL_auxz00_10436, BFALSE, BFALSE);
						}
					BgL_tmpz00_10432 =
						BGl_utf8zd2stringzd2leftzd2replacementzf3z21zz__unicodez00
						(BgL_auxz00_10433, BgL_auxz00_10440, BgL_auxz00_10449);
				}
				return BBOOL(BgL_tmpz00_10432);
			}
		}

	}



/* utf8-string-right-replacement? */
	BGL_EXPORTED_DEF bool_t
		BGl_utf8zd2stringzd2rightzd2replacementzf3z21zz__unicodez00(obj_t
		BgL_strz00_96, long BgL_lenz00_97, long BgL_indexz00_98)
	{
		{	/* Llib/unicode.scm 1294 */
			if ((BgL_lenz00_97 >= (BgL_indexz00_98 + 4L)))
				{	/* Llib/unicode.scm 1295 */
					return ((STRING_REF(BgL_strz00_96, BgL_indexz00_98)) == 252L);
				}
			else
				{	/* Llib/unicode.scm 1295 */
					return ((bool_t) 0);
				}
		}

	}



/* &utf8-string-right-replacement? */
	obj_t BGl_z62utf8zd2stringzd2rightzd2replacementzf3z43zz__unicodez00(obj_t
		BgL_envz00_6962, obj_t BgL_strz00_6963, obj_t BgL_lenz00_6964,
		obj_t BgL_indexz00_6965)
	{
		{	/* Llib/unicode.scm 1294 */
			{	/* Llib/unicode.scm 1295 */
				bool_t BgL_tmpz00_10466;

				{	/* Llib/unicode.scm 1295 */
					long BgL_auxz00_10483;
					long BgL_auxz00_10474;
					obj_t BgL_auxz00_10467;

					{	/* Llib/unicode.scm 1295 */
						obj_t BgL_tmpz00_10484;

						if (INTEGERP(BgL_indexz00_6965))
							{	/* Llib/unicode.scm 1295 */
								BgL_tmpz00_10484 = BgL_indexz00_6965;
							}
						else
							{
								obj_t BgL_auxz00_10487;

								BgL_auxz00_10487 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(51964L),
									BGl_string3715z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_indexz00_6965);
								FAILURE(BgL_auxz00_10487, BFALSE, BFALSE);
							}
						BgL_auxz00_10483 = (long) CINT(BgL_tmpz00_10484);
					}
					{	/* Llib/unicode.scm 1295 */
						obj_t BgL_tmpz00_10475;

						if (INTEGERP(BgL_lenz00_6964))
							{	/* Llib/unicode.scm 1295 */
								BgL_tmpz00_10475 = BgL_lenz00_6964;
							}
						else
							{
								obj_t BgL_auxz00_10478;

								BgL_auxz00_10478 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3651z00zz__unicodez00, BINT(51964L),
									BGl_string3715z00zz__unicodez00,
									BGl_string3653z00zz__unicodez00, BgL_lenz00_6964);
								FAILURE(BgL_auxz00_10478, BFALSE, BFALSE);
							}
						BgL_auxz00_10474 = (long) CINT(BgL_tmpz00_10475);
					}
					if (STRINGP(BgL_strz00_6963))
						{	/* Llib/unicode.scm 1295 */
							BgL_auxz00_10467 = BgL_strz00_6963;
						}
					else
						{
							obj_t BgL_auxz00_10470;

							BgL_auxz00_10470 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
								BINT(51964L), BGl_string3715z00zz__unicodez00,
								BGl_string3694z00zz__unicodez00, BgL_strz00_6963);
							FAILURE(BgL_auxz00_10470, BFALSE, BFALSE);
						}
					BgL_tmpz00_10466 =
						BGl_utf8zd2stringzd2rightzd2replacementzf3z21zz__unicodez00
						(BgL_auxz00_10467, BgL_auxz00_10474, BgL_auxz00_10483);
				}
				return BBOOL(BgL_tmpz00_10466);
			}
		}

	}



/* utf8-collapse! */
	obj_t BGl_utf8zd2collapsez12zc0zz__unicodez00(obj_t BgL_bufferz00_99,
		long BgL_indexbz00_100, obj_t BgL_strz00_101, obj_t BgL_indexsz00_102)
	{
		{	/* Llib/unicode.scm 1301 */
			{	/* Llib/unicode.scm 1303 */
				long BgL_cl1z00_2723;

				BgL_cl1z00_2723 =
					(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 4L)));
				{	/* Llib/unicode.scm 1303 */
					long BgL_cl2z00_2724;

					BgL_cl2z00_2724 =
						(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 3L)));
					{	/* Llib/unicode.scm 1304 */
						long BgL_cl3z00_2725;

						BgL_cl3z00_2725 =
							(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 2L)));
						{	/* Llib/unicode.scm 1305 */
							long BgL_cl4z00_2726;

							BgL_cl4z00_2726 =
								(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 1L)));
							{	/* Llib/unicode.scm 1307 */
								long BgL_cr3z00_2728;

								BgL_cr3z00_2728 =
									(STRING_REF(BgL_strz00_101,
										((long) CINT(BgL_indexsz00_102) + 2L)));
								{	/* Llib/unicode.scm 1308 */
									long BgL_cr4z00_2729;

									BgL_cr4z00_2729 =
										(STRING_REF(BgL_strz00_101,
											((long) CINT(BgL_indexsz00_102) + 3L)));
									{	/* Llib/unicode.scm 1310 */
										long BgL_yyyyz00_2731;

										BgL_yyyyz00_2731 = (15L & BgL_cr3z00_2728);
										{	/* Llib/unicode.scm 1311 */
											long BgL_xxz00_2732;

											BgL_xxz00_2732 = ((BgL_cl3z00_2725 >> (int) (4L)) & 3L);
											{	/* Llib/unicode.scm 1313 */
												long BgL_uuuuuz00_2734;

												BgL_uuuuuz00_2734 =
													(
													((BgL_cl4z00_2726 & 7L) <<
														(int) (2L)) |
													((BgL_cl2z00_2724 >> (int) (4L)) & 3L));
												{	/* Llib/unicode.scm 1314 */

													{	/* Llib/unicode.scm 1318 */
														unsigned char BgL_auxz00_10527;
														long BgL_tmpz00_10525;

														BgL_auxz00_10527 =
															(
															((BgL_cl1z00_2723 & 240L) |
																(BgL_uuuuuz00_2734 >> (int) (2L))));
														BgL_tmpz00_10525 = (BgL_indexbz00_100 - 4L);
														STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10525,
															BgL_auxz00_10527);
													}
													{	/* Llib/unicode.scm 1324 */
														unsigned char BgL_auxz00_10536;
														long BgL_tmpz00_10534;

														BgL_auxz00_10536 = (BgL_cl2z00_2724);
														BgL_tmpz00_10534 = (BgL_indexbz00_100 - 3L);
														STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10534,
															BgL_auxz00_10536);
													}
													{	/* Llib/unicode.scm 1327 */
														unsigned char BgL_auxz00_10541;
														long BgL_tmpz00_10539;

														BgL_auxz00_10541 =
															(
															(128L |
																((BgL_xxz00_2732 <<
																		(int) (4L)) | BgL_yyyyz00_2731)));
														BgL_tmpz00_10539 = (BgL_indexbz00_100 - 2L);
														STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10539,
															BgL_auxz00_10541);
													}
													{	/* Llib/unicode.scm 1332 */
														unsigned char BgL_auxz00_10550;
														long BgL_tmpz00_10548;

														BgL_auxz00_10550 = (BgL_cr4z00_2729);
														BgL_tmpz00_10548 = (BgL_indexbz00_100 - 1L);
														return
															STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10548,
															BgL_auxz00_10550);
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* _utf8-string-append-fill! */
	obj_t BGl__utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t
		BgL_env1142z00_108, obj_t BgL_opt1141z00_107)
	{
		{	/* Llib/unicode.scm 1344 */
			{	/* Llib/unicode.scm 1344 */
				obj_t BgL_g1143z00_2768;
				obj_t BgL_g1144z00_2769;
				obj_t BgL_g1145z00_2770;

				BgL_g1143z00_2768 = VECTOR_REF(BgL_opt1141z00_107, 0L);
				BgL_g1144z00_2769 = VECTOR_REF(BgL_opt1141z00_107, 1L);
				BgL_g1145z00_2770 = VECTOR_REF(BgL_opt1141z00_107, 2L);
				switch (VECTOR_LENGTH(BgL_opt1141z00_107))
					{
					case 3L:

						{	/* Llib/unicode.scm 1344 */

							{	/* Llib/unicode.scm 1344 */
								long BgL_tmpz00_10556;

								{	/* Llib/unicode.scm 1344 */
									obj_t BgL_auxz00_10573;
									long BgL_auxz00_10564;
									obj_t BgL_auxz00_10557;

									if (STRINGP(BgL_g1145z00_2770))
										{	/* Llib/unicode.scm 1344 */
											BgL_auxz00_10573 = BgL_g1145z00_2770;
										}
									else
										{
											obj_t BgL_auxz00_10576;

											BgL_auxz00_10576 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(54131L),
												BGl_string3716z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_g1145z00_2770);
											FAILURE(BgL_auxz00_10576, BFALSE, BFALSE);
										}
									{	/* Llib/unicode.scm 1344 */
										obj_t BgL_tmpz00_10565;

										if (INTEGERP(BgL_g1144z00_2769))
											{	/* Llib/unicode.scm 1344 */
												BgL_tmpz00_10565 = BgL_g1144z00_2769;
											}
										else
											{
												obj_t BgL_auxz00_10568;

												BgL_auxz00_10568 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(54131L),
													BGl_string3716z00zz__unicodez00,
													BGl_string3653z00zz__unicodez00, BgL_g1144z00_2769);
												FAILURE(BgL_auxz00_10568, BFALSE, BFALSE);
											}
										BgL_auxz00_10564 = (long) CINT(BgL_tmpz00_10565);
									}
									if (STRINGP(BgL_g1143z00_2768))
										{	/* Llib/unicode.scm 1344 */
											BgL_auxz00_10557 = BgL_g1143z00_2768;
										}
									else
										{
											obj_t BgL_auxz00_10560;

											BgL_auxz00_10560 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(54131L),
												BGl_string3716z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_g1143z00_2768);
											FAILURE(BgL_auxz00_10560, BFALSE, BFALSE);
										}
									BgL_tmpz00_10556 =
										BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
										(BgL_auxz00_10557, BgL_auxz00_10564, BgL_auxz00_10573,
										BINT(0L));
								}
								return BINT(BgL_tmpz00_10556);
							}
						}
						break;
					case 4L:

						{	/* Llib/unicode.scm 1344 */
							obj_t BgL_offsetz00_2774;

							BgL_offsetz00_2774 = VECTOR_REF(BgL_opt1141z00_107, 3L);
							{	/* Llib/unicode.scm 1344 */

								{	/* Llib/unicode.scm 1344 */
									long BgL_tmpz00_10584;

									{	/* Llib/unicode.scm 1344 */
										obj_t BgL_auxz00_10601;
										long BgL_auxz00_10592;
										obj_t BgL_auxz00_10585;

										if (STRINGP(BgL_g1145z00_2770))
											{	/* Llib/unicode.scm 1344 */
												BgL_auxz00_10601 = BgL_g1145z00_2770;
											}
										else
											{
												obj_t BgL_auxz00_10604;

												BgL_auxz00_10604 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(54131L),
													BGl_string3716z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_g1145z00_2770);
												FAILURE(BgL_auxz00_10604, BFALSE, BFALSE);
											}
										{	/* Llib/unicode.scm 1344 */
											obj_t BgL_tmpz00_10593;

											if (INTEGERP(BgL_g1144z00_2769))
												{	/* Llib/unicode.scm 1344 */
													BgL_tmpz00_10593 = BgL_g1144z00_2769;
												}
											else
												{
													obj_t BgL_auxz00_10596;

													BgL_auxz00_10596 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3651z00zz__unicodez00, BINT(54131L),
														BGl_string3716z00zz__unicodez00,
														BGl_string3653z00zz__unicodez00, BgL_g1144z00_2769);
													FAILURE(BgL_auxz00_10596, BFALSE, BFALSE);
												}
											BgL_auxz00_10592 = (long) CINT(BgL_tmpz00_10593);
										}
										if (STRINGP(BgL_g1143z00_2768))
											{	/* Llib/unicode.scm 1344 */
												BgL_auxz00_10585 = BgL_g1143z00_2768;
											}
										else
											{
												obj_t BgL_auxz00_10588;

												BgL_auxz00_10588 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(54131L),
													BGl_string3716z00zz__unicodez00,
													BGl_string3694z00zz__unicodez00, BgL_g1143z00_2768);
												FAILURE(BgL_auxz00_10588, BFALSE, BFALSE);
											}
										BgL_tmpz00_10584 =
											BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
											(BgL_auxz00_10585, BgL_auxz00_10592, BgL_auxz00_10601,
											BgL_offsetz00_2774);
									}
									return BINT(BgL_tmpz00_10584);
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* utf8-string-append-fill! */
	BGL_EXPORTED_DEF long
		BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t
		BgL_bufferz00_103, long BgL_indexz00_104, obj_t BgL_strz00_105,
		obj_t BgL_offsetz00_106)
	{
		{	/* Llib/unicode.scm 1344 */
			{	/* Llib/unicode.scm 1345 */
				long BgL_lenz00_2775;

				BgL_lenz00_2775 = STRING_LENGTH(BgL_strz00_105);
				{	/* Llib/unicode.scm 1347 */
					bool_t BgL_test4328z00_10613;

					if ((BgL_indexz00_104 >= 4L))
						{	/* Llib/unicode.scm 1348 */
							bool_t BgL_test4330z00_10616;

							{	/* Llib/unicode.scm 1348 */
								long BgL_indexz00_6207;

								BgL_indexz00_6207 = (long) CINT(BgL_offsetz00_106);
								if ((BgL_lenz00_2775 >= (BgL_indexz00_6207 + 4L)))
									{	/* Llib/unicode.scm 1295 */
										BgL_test4330z00_10616 =
											((STRING_REF(BgL_strz00_105, BgL_indexz00_6207)) == 252L);
									}
								else
									{	/* Llib/unicode.scm 1295 */
										BgL_test4330z00_10616 = ((bool_t) 0);
									}
							}
							if (BgL_test4330z00_10616)
								{	/* Llib/unicode.scm 1349 */
									long BgL_indexz00_6222;

									BgL_indexz00_6222 = (BgL_indexz00_104 - 4L);
									if ((BgL_indexz00_104 >= (BgL_indexz00_6222 + 4L)))
										{	/* Llib/unicode.scm 1285 */
											BgL_test4328z00_10613 =
												(
												(STRING_REF(BgL_bufferz00_103,
														BgL_indexz00_6222)) == 248L);
										}
									else
										{	/* Llib/unicode.scm 1285 */
											BgL_test4328z00_10613 = ((bool_t) 0);
										}
								}
							else
								{	/* Llib/unicode.scm 1348 */
									BgL_test4328z00_10613 = ((bool_t) 0);
								}
						}
					else
						{	/* Llib/unicode.scm 1347 */
							BgL_test4328z00_10613 = ((bool_t) 0);
						}
					if (BgL_test4328z00_10613)
						{	/* Llib/unicode.scm 1347 */
							blit_string(BgL_strz00_105, 4L, BgL_bufferz00_103,
								BgL_indexz00_104, (BgL_lenz00_2775 - 4L));
							BGl_utf8zd2collapsez12zc0zz__unicodez00(BgL_bufferz00_103,
								BgL_indexz00_104, BgL_strz00_105, BgL_offsetz00_106);
							return (BgL_indexz00_104 + (BgL_lenz00_2775 - 4L));
						}
					else
						{	/* Llib/unicode.scm 1347 */
							blit_string(BgL_strz00_105,
								(long) CINT(BgL_offsetz00_106), BgL_bufferz00_103,
								BgL_indexz00_104,
								(BgL_lenz00_2775 - (long) CINT(BgL_offsetz00_106)));
							return (BgL_indexz00_104 + (BgL_lenz00_2775 -
									(long) CINT(BgL_offsetz00_106)));
		}}}}

	}



/* utf8-string-append */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2appendz00zz__unicodez00(obj_t
		BgL_leftz00_109, obj_t BgL_rightz00_110)
	{
		{	/* Llib/unicode.scm 1366 */
			{	/* Llib/unicode.scm 1367 */
				long BgL_llenz00_2787;

				BgL_llenz00_2787 = STRING_LENGTH(BgL_leftz00_109);
				{	/* Llib/unicode.scm 1367 */
					long BgL_rlenz00_2788;

					BgL_rlenz00_2788 = STRING_LENGTH(BgL_rightz00_110);
					{	/* Llib/unicode.scm 1368 */
						obj_t BgL_bufferz00_2789;

						BgL_bufferz00_2789 =
							make_string_sans_fill((BgL_llenz00_2787 + BgL_rlenz00_2788));
						{	/* Llib/unicode.scm 1369 */

							blit_string(BgL_leftz00_109, 0L, BgL_bufferz00_2789, 0L,
								BgL_llenz00_2787);
							{	/* Llib/unicode.scm 1371 */
								long BgL_nindexz00_2790;

								{	/* Llib/unicode.scm 181 */

									BgL_nindexz00_2790 =
										BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
										(BgL_bufferz00_2789, BgL_llenz00_2787, BgL_rightz00_110,
										BINT(0L));
								}
								return
									bgl_string_shrink(BgL_bufferz00_2789, BgL_nindexz00_2790);
							}
						}
					}
				}
			}
		}

	}



/* &utf8-string-append */
	obj_t BGl_z62utf8zd2stringzd2appendz62zz__unicodez00(obj_t BgL_envz00_6966,
		obj_t BgL_leftz00_6967, obj_t BgL_rightz00_6968)
	{
		{	/* Llib/unicode.scm 1366 */
			{	/* Llib/unicode.scm 1367 */
				obj_t BgL_auxz00_10658;
				obj_t BgL_auxz00_10651;

				if (STRINGP(BgL_rightz00_6968))
					{	/* Llib/unicode.scm 1367 */
						BgL_auxz00_10658 = BgL_rightz00_6968;
					}
				else
					{
						obj_t BgL_auxz00_10661;

						BgL_auxz00_10661 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(55284L), BGl_string3717z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_rightz00_6968);
						FAILURE(BgL_auxz00_10661, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_leftz00_6967))
					{	/* Llib/unicode.scm 1367 */
						BgL_auxz00_10651 = BgL_leftz00_6967;
					}
				else
					{
						obj_t BgL_auxz00_10654;

						BgL_auxz00_10654 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(55284L), BGl_string3717z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_leftz00_6967);
						FAILURE(BgL_auxz00_10654, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2appendz00zz__unicodez00(BgL_auxz00_10651,
					BgL_auxz00_10658);
			}
		}

	}



/* utf8-string-append* */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2appendza2za2zz__unicodez00(obj_t
		BgL_stringsz00_111)
	{
		{	/* Llib/unicode.scm 1379 */
			{	/* Llib/unicode.scm 1380 */
				long BgL_lenz00_2796;

				BgL_lenz00_2796 = 0L;
				{
					obj_t BgL_l1105z00_2798;

					BgL_l1105z00_2798 = BgL_stringsz00_111;
				BgL_zc3z04anonymousza32653ze3z87_2799:
					if (PAIRP(BgL_l1105z00_2798))
						{	/* Llib/unicode.scm 1381 */
							{	/* Llib/unicode.scm 1382 */
								obj_t BgL_strz00_2801;

								BgL_strz00_2801 = CAR(BgL_l1105z00_2798);
								{	/* Llib/unicode.scm 1382 */
									long BgL_za71za7_6264;

									BgL_za71za7_6264 = BgL_lenz00_2796;
									BgL_lenz00_2796 =
										(BgL_za71za7_6264 +
										STRING_LENGTH(((obj_t) BgL_strz00_2801)));
							}}
							{
								obj_t BgL_l1105z00_10672;

								BgL_l1105z00_10672 = CDR(BgL_l1105z00_2798);
								BgL_l1105z00_2798 = BgL_l1105z00_10672;
								goto BgL_zc3z04anonymousza32653ze3z87_2799;
							}
						}
					else
						{	/* Llib/unicode.scm 1381 */
							((bool_t) 1);
						}
				}
				{	/* Llib/unicode.scm 1384 */
					obj_t BgL_bufferz00_2805;
					long BgL_indexz00_2806;

					BgL_bufferz00_2805 = make_string_sans_fill(BgL_lenz00_2796);
					BgL_indexz00_2806 = 0L;
					{
						obj_t BgL_l1107z00_2808;

						BgL_l1107z00_2808 = BgL_stringsz00_111;
					BgL_zc3z04anonymousza32657ze3z87_2809:
						if (PAIRP(BgL_l1107z00_2808))
							{	/* Llib/unicode.scm 1386 */
								{	/* Llib/unicode.scm 1387 */
									obj_t BgL_strz00_2811;

									BgL_strz00_2811 = CAR(BgL_l1107z00_2808);
									{	/* Llib/unicode.scm 1387 */
										long BgL_g1144z00_2813;

										BgL_g1144z00_2813 = BgL_indexz00_2806;
										{	/* Llib/unicode.scm 181 */

											BgL_indexz00_2806 =
												BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
												(BgL_bufferz00_2805, BgL_g1144z00_2813, BgL_strz00_2811,
												BINT(0L));
								}}}
								{
									obj_t BgL_l1107z00_10680;

									BgL_l1107z00_10680 = CDR(BgL_l1107z00_2808);
									BgL_l1107z00_2808 = BgL_l1107z00_10680;
									goto BgL_zc3z04anonymousza32657ze3z87_2809;
								}
							}
						else
							{	/* Llib/unicode.scm 1386 */
								((bool_t) 1);
							}
					}
					return bgl_string_shrink(BgL_bufferz00_2805, BgL_indexz00_2806);
				}
			}
		}

	}



/* &utf8-string-append* */
	obj_t BGl_z62utf8zd2stringzd2appendza2zc0zz__unicodez00(obj_t BgL_envz00_6969,
		obj_t BgL_stringsz00_6970)
	{
		{	/* Llib/unicode.scm 1379 */
			return
				BGl_utf8zd2stringzd2appendza2za2zz__unicodez00(BgL_stringsz00_6970);
		}

	}



/* _utf8-substring */
	obj_t BGl__utf8zd2substringzd2zz__unicodez00(obj_t BgL_env1149z00_116,
		obj_t BgL_opt1148z00_115)
	{
		{	/* Llib/unicode.scm 1394 */
			{	/* Llib/unicode.scm 1394 */
				obj_t BgL_strz00_2818;
				obj_t BgL_g1150z00_2819;

				BgL_strz00_2818 = VECTOR_REF(BgL_opt1148z00_115, 0L);
				BgL_g1150z00_2819 = VECTOR_REF(BgL_opt1148z00_115, 1L);
				switch (VECTOR_LENGTH(BgL_opt1148z00_115))
					{
					case 2L:

						{	/* Llib/unicode.scm 1395 */
							long BgL_endz00_2822;

							{	/* Llib/unicode.scm 1395 */
								obj_t BgL_auxz00_10686;

								if (STRINGP(BgL_strz00_2818))
									{	/* Llib/unicode.scm 1395 */
										BgL_auxz00_10686 = BgL_strz00_2818;
									}
								else
									{
										obj_t BgL_auxz00_10689;

										BgL_auxz00_10689 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string3651z00zz__unicodez00, BINT(56588L),
											BGl_string3718z00zz__unicodez00,
											BGl_string3694z00zz__unicodez00, BgL_strz00_2818);
										FAILURE(BgL_auxz00_10689, BFALSE, BFALSE);
									}
								BgL_endz00_2822 =
									BGl_utf8zd2stringzd2lengthz00zz__unicodez00(BgL_auxz00_10686);
							}
							{	/* Llib/unicode.scm 1394 */

								{	/* Llib/unicode.scm 1394 */
									long BgL_auxz00_10701;
									obj_t BgL_auxz00_10694;

									{	/* Llib/unicode.scm 1394 */
										obj_t BgL_tmpz00_10702;

										if (INTEGERP(BgL_g1150z00_2819))
											{	/* Llib/unicode.scm 1394 */
												BgL_tmpz00_10702 = BgL_g1150z00_2819;
											}
										else
											{
												obj_t BgL_auxz00_10705;

												BgL_auxz00_10705 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(56493L),
													BGl_string3718z00zz__unicodez00,
													BGl_string3653z00zz__unicodez00, BgL_g1150z00_2819);
												FAILURE(BgL_auxz00_10705, BFALSE, BFALSE);
											}
										BgL_auxz00_10701 = (long) CINT(BgL_tmpz00_10702);
									}
									if (STRINGP(BgL_strz00_2818))
										{	/* Llib/unicode.scm 1394 */
											BgL_auxz00_10694 = BgL_strz00_2818;
										}
									else
										{
											obj_t BgL_auxz00_10697;

											BgL_auxz00_10697 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(56493L),
												BGl_string3718z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_strz00_2818);
											FAILURE(BgL_auxz00_10697, BFALSE, BFALSE);
										}
									return
										BGl_utf8zd2substringzd2zz__unicodez00(BgL_auxz00_10694,
										BgL_auxz00_10701, BgL_endz00_2822);
								}
							}
						}
						break;
					case 3L:

						{	/* Llib/unicode.scm 1394 */
							obj_t BgL_endz00_2823;

							BgL_endz00_2823 = VECTOR_REF(BgL_opt1148z00_115, 2L);
							{	/* Llib/unicode.scm 1394 */

								{	/* Llib/unicode.scm 1394 */
									long BgL_auxz00_10728;
									long BgL_auxz00_10719;
									obj_t BgL_auxz00_10712;

									{	/* Llib/unicode.scm 1394 */
										obj_t BgL_tmpz00_10729;

										if (INTEGERP(BgL_endz00_2823))
											{	/* Llib/unicode.scm 1394 */
												BgL_tmpz00_10729 = BgL_endz00_2823;
											}
										else
											{
												obj_t BgL_auxz00_10732;

												BgL_auxz00_10732 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(56493L),
													BGl_string3718z00zz__unicodez00,
													BGl_string3653z00zz__unicodez00, BgL_endz00_2823);
												FAILURE(BgL_auxz00_10732, BFALSE, BFALSE);
											}
										BgL_auxz00_10728 = (long) CINT(BgL_tmpz00_10729);
									}
									{	/* Llib/unicode.scm 1394 */
										obj_t BgL_tmpz00_10720;

										if (INTEGERP(BgL_g1150z00_2819))
											{	/* Llib/unicode.scm 1394 */
												BgL_tmpz00_10720 = BgL_g1150z00_2819;
											}
										else
											{
												obj_t BgL_auxz00_10723;

												BgL_auxz00_10723 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3651z00zz__unicodez00, BINT(56493L),
													BGl_string3718z00zz__unicodez00,
													BGl_string3653z00zz__unicodez00, BgL_g1150z00_2819);
												FAILURE(BgL_auxz00_10723, BFALSE, BFALSE);
											}
										BgL_auxz00_10719 = (long) CINT(BgL_tmpz00_10720);
									}
									if (STRINGP(BgL_strz00_2818))
										{	/* Llib/unicode.scm 1394 */
											BgL_auxz00_10712 = BgL_strz00_2818;
										}
									else
										{
											obj_t BgL_auxz00_10715;

											BgL_auxz00_10715 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3651z00zz__unicodez00, BINT(56493L),
												BGl_string3718z00zz__unicodez00,
												BGl_string3694z00zz__unicodez00, BgL_strz00_2818);
											FAILURE(BgL_auxz00_10715, BFALSE, BFALSE);
										}
									return
										BGl_utf8zd2substringzd2zz__unicodez00(BgL_auxz00_10712,
										BgL_auxz00_10719, BgL_auxz00_10728);
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* utf8-substring */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2substringzd2zz__unicodez00(obj_t
		BgL_strz00_112, long BgL_startz00_113, long BgL_endz00_114)
	{
		{	/* Llib/unicode.scm 1394 */
			{	/* Llib/unicode.scm 1396 */
				long BgL_lenz00_2824;

				BgL_lenz00_2824 = STRING_LENGTH(BgL_strz00_112);
				{	/* Llib/unicode.scm 1398 */
					bool_t BgL_test4343z00_10741;

					if ((BgL_startz00_113 < 0L))
						{	/* Llib/unicode.scm 1398 */
							BgL_test4343z00_10741 = ((bool_t) 1);
						}
					else
						{	/* Llib/unicode.scm 1398 */
							BgL_test4343z00_10741 = (BgL_startz00_113 > BgL_lenz00_2824);
						}
					if (BgL_test4343z00_10741)
						{	/* Llib/unicode.scm 1398 */
							return
								BGl_errorz00zz__errorz00(BGl_string3719z00zz__unicodez00,
								string_append_3(BGl_string3720z00zz__unicodez00, BgL_strz00_112,
									BGl_string3721z00zz__unicodez00), BINT(BgL_startz00_113));
						}
					else
						{	/* Llib/unicode.scm 1398 */
							if ((BgL_endz00_114 < 0L))
								{	/* Llib/unicode.scm 1402 */
									return
										BGl_errorz00zz__errorz00(BGl_string3719z00zz__unicodez00,
										string_append_3(BGl_string3722z00zz__unicodez00,
											BgL_strz00_112, BGl_string3721z00zz__unicodez00),
										BINT(BgL_endz00_114));
								}
							else
								{	/* Llib/unicode.scm 1406 */
									bool_t BgL_test4346z00_10753;

									if ((BgL_endz00_114 < BgL_startz00_113))
										{	/* Llib/unicode.scm 1406 */
											BgL_test4346z00_10753 = ((bool_t) 1);
										}
									else
										{	/* Llib/unicode.scm 1406 */
											BgL_test4346z00_10753 =
												(BgL_endz00_114 > BgL_lenz00_2824);
										}
									if (BgL_test4346z00_10753)
										{	/* Llib/unicode.scm 1406 */
											return
												BGl_errorz00zz__errorz00
												(BGl_string3719z00zz__unicodez00,
												string_append_3(BGl_string3722z00zz__unicodez00,
													BgL_strz00_112, BGl_string3721z00zz__unicodez00),
												BINT(BgL_endz00_114));
										}
									else
										{	/* Llib/unicode.scm 1406 */
											if ((BgL_startz00_113 == BgL_endz00_114))
												{	/* Llib/unicode.scm 1410 */
													return BGl_string3624z00zz__unicodez00;
												}
											else
												{
													long BgL_rz00_6311;
													long BgL_nz00_6312;
													long BgL_iz00_6313;

													BgL_rz00_6311 = 0L;
													BgL_nz00_6312 = 0L;
													BgL_iz00_6313 = 0L;
												BgL_loopz00_6310:
													if ((BgL_rz00_6311 == BgL_lenz00_2824))
														{	/* Llib/unicode.scm 1416 */
															BGL_TAIL return
																c_substring(BgL_strz00_112, BgL_iz00_6313,
																BgL_rz00_6311);
														}
													else
														{	/* Llib/unicode.scm 1418 */
															unsigned char BgL_cz00_6320;

															BgL_cz00_6320 =
																STRING_REF(BgL_strz00_112, BgL_rz00_6311);
															{	/* Llib/unicode.scm 1418 */
																long BgL_sz00_6323;

																{	/* Llib/unicode.scm 1419 */
																	long BgL_res3353z00_6324;

																	{	/* Llib/unicode.scm 1419 */
																		unsigned char BgL_cz00_6325;

																		BgL_cz00_6325 = (char) (BgL_cz00_6320);
																		{	/* Llib/unicode.scm 1203 */
																			long BgL_arg2547z00_6326;

																			BgL_arg2547z00_6326 =
																				(
																				((unsigned char) (BgL_cz00_6325)) >>
																				(int) (4L));
																			{	/* Llib/unicode.scm 1202 */
																				obj_t BgL_vectorz00_6330;

																				BgL_vectorz00_6330 =
																					BGl_vector3706z00zz__unicodez00;
																				BgL_res3353z00_6324 =
																					(long)
																					CINT(VECTOR_REF(BgL_vectorz00_6330,
																						BgL_arg2547z00_6326));
																	}}}
																	BgL_sz00_6323 = BgL_res3353z00_6324;
																}
																{	/* Llib/unicode.scm 1419 */

																	if ((BgL_nz00_6312 == BgL_startz00_113))
																		{
																			long BgL_iz00_10779;
																			long BgL_nz00_10777;
																			long BgL_rz00_10775;

																			BgL_rz00_10775 =
																				(BgL_rz00_6311 + BgL_sz00_6323);
																			BgL_nz00_10777 = (BgL_nz00_6312 + 1L);
																			BgL_iz00_10779 = BgL_rz00_6311;
																			BgL_iz00_6313 = BgL_iz00_10779;
																			BgL_nz00_6312 = BgL_nz00_10777;
																			BgL_rz00_6311 = BgL_rz00_10775;
																			goto BgL_loopz00_6310;
																		}
																	else
																		{	/* Llib/unicode.scm 1421 */
																			if ((BgL_nz00_6312 == BgL_endz00_114))
																				{	/* Llib/unicode.scm 1423 */
																					BGL_TAIL return
																						c_substring(BgL_strz00_112,
																						BgL_iz00_6313, BgL_rz00_6311);
																				}
																			else
																				{
																					long BgL_nz00_10785;
																					long BgL_rz00_10783;

																					BgL_rz00_10783 =
																						(BgL_rz00_6311 + BgL_sz00_6323);
																					BgL_nz00_10785 = (BgL_nz00_6312 + 1L);
																					BgL_nz00_6312 = BgL_nz00_10785;
																					BgL_rz00_6311 = BgL_rz00_10783;
																					goto BgL_loopz00_6310;
																				}
																		}
																}
															}
														}
												}
										}
								}
						}
				}
			}
		}

	}



/* utf8->8bits-fill! */
	obj_t BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00(obj_t BgL_nstrz00_117,
		obj_t BgL_strz00_118, int BgL_lenz00_119, obj_t BgL_tablez00_120)
	{
		{	/* Llib/unicode.scm 1431 */
			{
				obj_t BgL_rz00_2898;

				{
					obj_t BgL_rz00_2856;
					long BgL_wz00_2857;

					BgL_rz00_2856 = BINT(0L);
					BgL_wz00_2857 = 0L;
				BgL_zc3z04anonymousza32679ze3z87_2858:
					if (((long) CINT(BgL_rz00_2856) == (long) (BgL_lenz00_119)))
						{	/* Llib/unicode.scm 1467 */
							return BgL_nstrz00_117;
						}
					else
						{	/* Llib/unicode.scm 1469 */
							unsigned char BgL_cz00_2860;

							BgL_cz00_2860 =
								STRING_REF(BgL_strz00_118, (long) CINT(BgL_rz00_2856));
							{	/* Llib/unicode.scm 1469 */
								long BgL_nz00_2861;

								BgL_nz00_2861 = (BgL_cz00_2860);
								{	/* Llib/unicode.scm 1470 */

									if ((BgL_nz00_2861 <= 127L))
										{	/* Llib/unicode.scm 1472 */
											STRING_SET(BgL_nstrz00_117, BgL_wz00_2857, BgL_cz00_2860);
											{	/* Llib/unicode.scm 1474 */
												long BgL_arg2682z00_2863;
												long BgL_arg2683z00_2864;

												BgL_arg2682z00_2863 = ((long) CINT(BgL_rz00_2856) + 1L);
												BgL_arg2683z00_2864 = (BgL_wz00_2857 + 1L);
												{
													long BgL_wz00_10802;
													obj_t BgL_rz00_10800;

													BgL_rz00_10800 = BINT(BgL_arg2682z00_2863);
													BgL_wz00_10802 = BgL_arg2683z00_2864;
													BgL_wz00_2857 = BgL_wz00_10802;
													BgL_rz00_2856 = BgL_rz00_10800;
													goto BgL_zc3z04anonymousza32679ze3z87_2858;
												}
											}
										}
									else
										{	/* Llib/unicode.scm 1472 */
											if ((BgL_nz00_2861 < 194L))
												{	/* Llib/unicode.scm 1475 */
													BgL_rz00_2898 = BgL_rz00_2856;
												BgL_zc3z04anonymousza32708ze3z87_2899:
													{	/* Llib/unicode.scm 1441 */
														obj_t BgL_arg2709z00_2900;
														obj_t BgL_arg2710z00_2901;

														{	/* Llib/unicode.scm 1441 */
															long BgL_arg2711z00_2902;

															BgL_arg2711z00_2902 =
																(STRING_REF(BgL_strz00_118,
																	(long) CINT(BgL_rz00_2898)));
															{	/* Llib/unicode.scm 1440 */
																obj_t BgL_list2712z00_2903;

																{	/* Llib/unicode.scm 1440 */
																	obj_t BgL_arg2714z00_2904;

																	BgL_arg2714z00_2904 =
																		MAKE_YOUNG_PAIR(BgL_rz00_2898, BNIL);
																	BgL_list2712z00_2903 =
																		MAKE_YOUNG_PAIR(BINT(BgL_arg2711z00_2902),
																		BgL_arg2714z00_2904);
																}
																BgL_arg2709z00_2900 =
																	BGl_formatz00zz__r4_output_6_10_3z00
																	(BGl_string3723z00zz__unicodez00,
																	BgL_list2712z00_2903);
														}}
														{	/* Llib/unicode.scm 1443 */
															obj_t BgL_arg2716z00_2906;

															{	/* Llib/unicode.scm 1443 */
																int BgL_arg2717z00_2907;

																{	/* Llib/unicode.scm 1443 */
																	long BgL_bz00_2909;

																	BgL_bz00_2909 =
																		((long) CINT(BgL_rz00_2898) + 10L);
																	if (((long) (BgL_lenz00_119) < BgL_bz00_2909))
																		{	/* Llib/unicode.scm 1443 */
																			BgL_arg2717z00_2907 = BgL_lenz00_119;
																		}
																	else
																		{	/* Llib/unicode.scm 1443 */
																			BgL_arg2717z00_2907 =
																				(int) (BgL_bz00_2909);
																}}
																BgL_arg2716z00_2906 =
																	c_substring(BgL_strz00_118,
																	(long) CINT(BgL_rz00_2898),
																	(long) (BgL_arg2717z00_2907));
															}
															BgL_arg2710z00_2901 =
																string_for_read(BgL_arg2716z00_2906);
														}
														return
															BGl_errorz00zz__errorz00
															(BGl_string3724z00zz__unicodez00,
															BgL_arg2709z00_2900, BgL_arg2710z00_2901);
													}
												}
											else
												{	/* Llib/unicode.scm 1477 */
													obj_t BgL_g1063z00_2866;

													if (CBOOL(BgL_tablez00_120))
														{	/* Llib/unicode.scm 1477 */
															BgL_g1063z00_2866 =
																BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT
																(BgL_nz00_2861), BgL_tablez00_120);
														}
													else
														{	/* Llib/unicode.scm 1477 */
															BgL_g1063z00_2866 = BFALSE;
														}
													if (CBOOL(BgL_g1063z00_2866))
														{
															long BgL_wz00_10831;
															obj_t BgL_rz00_10829;

															BgL_rz00_10829 =
																BGl_tablezd2ze38bitsze70zd6zz__unicodez00
																(BgL_nstrz00_117, BgL_tablez00_120,
																BgL_strz00_118, BgL_lenz00_119,
																BgL_g1063z00_2866, BgL_rz00_2856, BgL_wz00_2857,
																BgL_nz00_2861);
															BgL_wz00_10831 = (BgL_wz00_2857 + 1L);
															BgL_wz00_2857 = BgL_wz00_10831;
															BgL_rz00_2856 = BgL_rz00_10829;
															goto BgL_zc3z04anonymousza32679ze3z87_2858;
														}
													else
														{	/* Llib/unicode.scm 1477 */
															if ((BgL_nz00_2861 <= 223L))
																{	/* Llib/unicode.scm 1481 */
																	if (
																		((long) CINT(BgL_rz00_2856) ==
																			((long) (BgL_lenz00_119) - 1L)))
																		{	/* Llib/unicode.scm 1482 */
																			return
																				BGl_errorzd2toozd2shortze70ze7zz__unicodez00
																				(BgL_strz00_118, BgL_lenz00_119,
																				BgL_rz00_2856);
																		}
																	else
																		{	/* Llib/unicode.scm 1484 */
																			unsigned char BgL_ncz00_2874;

																			BgL_ncz00_2874 =
																				STRING_REF(BgL_strz00_118,
																				((long) CINT(BgL_rz00_2856) + 1L));
																			{	/* Llib/unicode.scm 1484 */
																				long BgL_nnz00_2875;

																				BgL_nnz00_2875 = (BgL_ncz00_2874);
																				{	/* Llib/unicode.scm 1485 */

																					{	/* Llib/unicode.scm 1486 */
																						long BgL_mz00_2876;

																						BgL_mz00_2876 =
																							(
																							((BgL_nz00_2861 & 31L) <<
																								(int) (6L)) |
																							(63L & BgL_nnz00_2875));
																						if ((BgL_mz00_2876 > 255L))
																							{	/* Llib/unicode.scm 1488 */
																								STRING_SET(BgL_nstrz00_117,
																									BgL_wz00_2857,
																									((unsigned char) '.'));
																								{	/* Llib/unicode.scm 1494 */
																									long BgL_arg2691z00_2878;
																									long BgL_arg2692z00_2879;

																									BgL_arg2691z00_2878 =
																										(
																										(long) CINT(BgL_rz00_2856) +
																										2L);
																									BgL_arg2692z00_2879 =
																										(BgL_wz00_2857 + 1L);
																									{
																										long BgL_wz00_10858;
																										obj_t BgL_rz00_10856;

																										BgL_rz00_10856 =
																											BINT(BgL_arg2691z00_2878);
																										BgL_wz00_10858 =
																											BgL_arg2692z00_2879;
																										BgL_wz00_2857 =
																											BgL_wz00_10858;
																										BgL_rz00_2856 =
																											BgL_rz00_10856;
																										goto
																											BgL_zc3z04anonymousza32679ze3z87_2858;
																									}
																								}
																							}
																						else
																							{	/* Llib/unicode.scm 1488 */
																								{	/* Llib/unicode.scm 1496 */
																									unsigned char
																										BgL_tmpz00_10859;
																									BgL_tmpz00_10859 =
																										(BgL_mz00_2876);
																									STRING_SET(BgL_nstrz00_117,
																										BgL_wz00_2857,
																										BgL_tmpz00_10859);
																								}
																								{	/* Llib/unicode.scm 1497 */
																									long BgL_arg2694z00_2881;
																									long BgL_arg2695z00_2882;

																									BgL_arg2694z00_2881 =
																										(
																										(long) CINT(BgL_rz00_2856) +
																										2L);
																									BgL_arg2695z00_2882 =
																										(BgL_wz00_2857 + 1L);
																									{
																										long BgL_wz00_10867;
																										obj_t BgL_rz00_10865;

																										BgL_rz00_10865 =
																											BINT(BgL_arg2694z00_2881);
																										BgL_wz00_10867 =
																											BgL_arg2695z00_2882;
																										BgL_wz00_2857 =
																											BgL_wz00_10867;
																										BgL_rz00_2856 =
																											BgL_rz00_10865;
																										goto
																											BgL_zc3z04anonymousza32679ze3z87_2858;
																									}
																								}
																							}
																					}
																				}
																			}
																		}
																}
															else
																{
																	obj_t BgL_rz00_10868;

																	BgL_rz00_10868 = BgL_rz00_2856;
																	BgL_rz00_2898 = BgL_rz00_10868;
																	goto BgL_zc3z04anonymousza32708ze3z87_2899;
																}
														}
												}
										}
								}
							}
						}
				}
			}
		}

	}



/* error-too-short~0 */
	obj_t BGl_errorzd2toozd2shortze70ze7zz__unicodez00(obj_t BgL_strz00_7010,
		int BgL_lenz00_7009, obj_t BgL_rz00_2890)
	{
		{	/* Llib/unicode.scm 1436 */
			{	/* Llib/unicode.scm 1436 */
				obj_t BgL_arg2704z00_2892;

				{	/* Llib/unicode.scm 1436 */
					obj_t BgL_arg2705z00_2893;

					{	/* Llib/unicode.scm 1436 */
						long BgL_arg2706z00_2894;

						{	/* Llib/unicode.scm 1436 */
							long BgL_bz00_2896;

							BgL_bz00_2896 = ((long) CINT(BgL_rz00_2890) - 10L);
							if ((0L > BgL_bz00_2896))
								{	/* Llib/unicode.scm 1436 */
									BgL_arg2706z00_2894 = 0L;
								}
							else
								{	/* Llib/unicode.scm 1436 */
									BgL_arg2706z00_2894 = BgL_bz00_2896;
								}
						}
						BgL_arg2705z00_2893 =
							c_substring(BgL_strz00_7010, BgL_arg2706z00_2894,
							(long) (BgL_lenz00_7009));
					}
					BgL_arg2704z00_2892 = string_for_read(BgL_arg2705z00_2893);
				}
				return
					BGl_errorz00zz__errorz00(BGl_string3724z00zz__unicodez00,
					BGl_string3725z00zz__unicodez00, BgL_arg2704z00_2892);
			}
		}

	}



/* table->8bits~0 */
	obj_t BGl_tablezd2ze38bitsze70zd6zz__unicodez00(obj_t BgL_nstrz00_7014,
		obj_t BgL_tablez00_7013, obj_t BgL_strz00_7012, int BgL_lenz00_7011,
		obj_t BgL_subtablez00_2923, obj_t BgL_rz00_2924, long BgL_wz00_2925,
		long BgL_nz00_2926)
	{
		{	/* Llib/unicode.scm 1463 */
			{
				obj_t BgL_rz00_2911;

				{	/* Llib/unicode.scm 1451 */
					obj_t BgL_g1060z00_2928;
					long BgL_g1061z00_2929;

					BgL_g1060z00_2928 =
						BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT(BgL_nz00_2926),
						BgL_tablez00_7013);
					BgL_g1061z00_2929 = ((long) CINT(BgL_rz00_2924) + 1L);
					{
						obj_t BgL_subtablez00_2931;
						long BgL_nrz00_2932;

						BgL_subtablez00_2931 = BgL_g1060z00_2928;
						BgL_nrz00_2932 = BgL_g1061z00_2929;
					BgL_zc3z04anonymousza32727ze3z87_2933:
						if (CBOOL(BgL_subtablez00_2931))
							{	/* Llib/unicode.scm 1456 */
								bool_t BgL_test4363z00_10884;

								{	/* Llib/unicode.scm 1456 */
									obj_t BgL_tmpz00_10885;

									BgL_tmpz00_10885 = CDR(((obj_t) BgL_subtablez00_2931));
									BgL_test4363z00_10884 = CHARP(BgL_tmpz00_10885);
								}
								if (BgL_test4363z00_10884)
									{	/* Llib/unicode.scm 1456 */
										{	/* Llib/unicode.scm 1457 */
											obj_t BgL_arg2731z00_2936;

											BgL_arg2731z00_2936 = CDR(((obj_t) BgL_subtablez00_2931));
											{	/* Llib/unicode.scm 1457 */
												unsigned char BgL_tmpz00_10891;

												BgL_tmpz00_10891 = CCHAR(BgL_arg2731z00_2936);
												STRING_SET(BgL_nstrz00_7014, BgL_wz00_2925,
													BgL_tmpz00_10891);
										}}
										return BINT(BgL_nrz00_2932);
									}
								else
									{	/* Llib/unicode.scm 1456 */
										if ((BgL_nrz00_2932 == (long) (BgL_lenz00_7011)))
											{	/* Llib/unicode.scm 1459 */
												return
													BGl_errorzd2toozd2shortze70ze7zz__unicodez00
													(BgL_strz00_7012, BgL_lenz00_7011, BgL_rz00_2924);
											}
										else
											{	/* Llib/unicode.scm 1462 */
												long BgL_ncz00_2938;

												BgL_ncz00_2938 =
													(STRING_REF(BgL_strz00_7012, BgL_nrz00_2932));
												{	/* Llib/unicode.scm 1463 */
													obj_t BgL_arg2734z00_2939;
													long BgL_arg2739z00_2940;

													BgL_arg2734z00_2939 =
														BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT
														(BgL_ncz00_2938),
														CDR(((obj_t) BgL_subtablez00_2931)));
													BgL_arg2739z00_2940 = (BgL_nrz00_2932 + 1L);
													{
														long BgL_nrz00_10907;
														obj_t BgL_subtablez00_10906;

														BgL_subtablez00_10906 = BgL_arg2734z00_2939;
														BgL_nrz00_10907 = BgL_arg2739z00_2940;
														BgL_nrz00_2932 = BgL_nrz00_10907;
														BgL_subtablez00_2931 = BgL_subtablez00_10906;
														goto BgL_zc3z04anonymousza32727ze3z87_2933;
													}
												}
											}
									}
							}
						else
							{	/* Llib/unicode.scm 1454 */
								BgL_rz00_2911 = BgL_rz00_2924;
								{	/* Llib/unicode.scm 1447 */
									obj_t BgL_arg2720z00_2913;
									obj_t BgL_arg2721z00_2914;

									{	/* Llib/unicode.scm 1447 */
										obj_t BgL_arg2722z00_2915;

										{	/* Ieee/fixnum.scm 1000 */

											BgL_arg2722z00_2915 =
												BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
												(long) CINT(BgL_rz00_2911), 10L);
										}
										BgL_arg2720z00_2913 =
											string_append(BGl_string3726z00zz__unicodez00,
											BgL_arg2722z00_2915);
									}
									{	/* Llib/unicode.scm 1448 */
										obj_t BgL_arg2723z00_2918;

										{	/* Llib/unicode.scm 1448 */
											int BgL_arg2724z00_2919;

											{	/* Llib/unicode.scm 1448 */
												long BgL_bz00_2921;

												BgL_bz00_2921 = ((long) CINT(BgL_rz00_2911) + 10L);
												if (((long) (BgL_lenz00_7011) < BgL_bz00_2921))
													{	/* Llib/unicode.scm 1448 */
														BgL_arg2724z00_2919 = BgL_lenz00_7011;
													}
												else
													{	/* Llib/unicode.scm 1448 */
														BgL_arg2724z00_2919 = (int) (BgL_bz00_2921);
											}}
											BgL_arg2723z00_2918 =
												c_substring(BgL_strz00_7012,
												(long) CINT(BgL_rz00_2911),
												(long) (BgL_arg2724z00_2919));
										}
										BgL_arg2721z00_2914 = string_for_read(BgL_arg2723z00_2918);
									}
									return
										BGl_errorz00zz__errorz00(BGl_string3724z00zz__unicodez00,
										BgL_arg2720z00_2913, BgL_arg2721z00_2914);
								}
							}
					}
				}
			}
		}

	}



/* utf8->8bits */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze38bitsz31zz__unicodez00(obj_t
		BgL_strz00_121, obj_t BgL_tablez00_122)
	{
		{	/* Llib/unicode.scm 1504 */
			{	/* Llib/unicode.scm 1505 */
				long BgL_lenz00_6426;

				BgL_lenz00_6426 = STRING_LENGTH(BgL_strz00_121);
				{	/* Llib/unicode.scm 1505 */
					long BgL_nlenz00_6427;

					BgL_nlenz00_6427 =
						BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_121,
						BgL_lenz00_6426);
					{	/* Llib/unicode.scm 1506 */

						if ((BgL_lenz00_6426 == BgL_nlenz00_6427))
							{	/* Llib/unicode.scm 1507 */
								return
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_121);
							}
						else
							{	/* Llib/unicode.scm 1507 */
								return
									BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6427), BgL_strz00_121,
									(int) (BgL_lenz00_6426), BgL_tablez00_122);
		}}}}}

	}



/* &utf8->8bits */
	obj_t BGl_z62utf8zd2ze38bitsz53zz__unicodez00(obj_t BgL_envz00_6971,
		obj_t BgL_strz00_6972, obj_t BgL_tablez00_6973)
	{
		{	/* Llib/unicode.scm 1504 */
			{	/* Llib/unicode.scm 1505 */
				obj_t BgL_auxz00_10930;

				if (STRINGP(BgL_strz00_6972))
					{	/* Llib/unicode.scm 1505 */
						BgL_auxz00_10930 = BgL_strz00_6972;
					}
				else
					{
						obj_t BgL_auxz00_10933;

						BgL_auxz00_10933 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(59828L), BGl_string3727z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6972);
						FAILURE(BgL_auxz00_10933, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze38bitsz31zz__unicodez00(BgL_auxz00_10930,
					BgL_tablez00_6973);
			}
		}

	}



/* utf8->8bits! */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze38bitsz12z23zz__unicodez00(obj_t
		BgL_strz00_123, obj_t BgL_tablez00_124)
	{
		{	/* Llib/unicode.scm 1514 */
			{	/* Llib/unicode.scm 1515 */
				long BgL_lenz00_6433;

				BgL_lenz00_6433 = STRING_LENGTH(BgL_strz00_123);
				{	/* Llib/unicode.scm 1515 */
					long BgL_nlenz00_6434;

					BgL_nlenz00_6434 =
						BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_123,
						BgL_lenz00_6433);
					{	/* Llib/unicode.scm 1516 */

						if ((BgL_lenz00_6433 == BgL_nlenz00_6434))
							{	/* Llib/unicode.scm 1517 */
								return BgL_strz00_123;
							}
						else
							{	/* Llib/unicode.scm 1517 */
								return
									BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6434), BgL_strz00_123,
									(int) (BgL_lenz00_6433), BgL_tablez00_124);
		}}}}}

	}



/* &utf8->8bits! */
	obj_t BGl_z62utf8zd2ze38bitsz12z41zz__unicodez00(obj_t BgL_envz00_6974,
		obj_t BgL_strz00_6975, obj_t BgL_tablez00_6976)
	{
		{	/* Llib/unicode.scm 1514 */
			{	/* Llib/unicode.scm 1515 */
				obj_t BgL_auxz00_10945;

				if (STRINGP(BgL_strz00_6975))
					{	/* Llib/unicode.scm 1515 */
						BgL_auxz00_10945 = BgL_strz00_6975;
					}
				else
					{
						obj_t BgL_auxz00_10948;

						BgL_auxz00_10948 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(60274L), BGl_string3728z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6975);
						FAILURE(BgL_auxz00_10948, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze38bitsz12z23zz__unicodez00(BgL_auxz00_10945,
					BgL_tablez00_6976);
			}
		}

	}



/* utf8->iso-latin */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3isozd2latinze3zz__unicodez00(obj_t
		BgL_strz00_125)
	{
		{	/* Llib/unicode.scm 1524 */
			{	/* Llib/unicode.scm 1525 */
				obj_t BgL_res3354z00_6449;

				{	/* Llib/unicode.scm 1525 */
					obj_t BgL_tablez00_6441;

					BgL_tablez00_6441 = BGl_list3582z00zz__unicodez00;
					{	/* Llib/unicode.scm 1505 */
						long BgL_lenz00_6442;

						BgL_lenz00_6442 = STRING_LENGTH(BgL_strz00_125);
						{	/* Llib/unicode.scm 1505 */
							long BgL_nlenz00_6443;

							BgL_nlenz00_6443 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_125,
								BgL_lenz00_6442);
							{	/* Llib/unicode.scm 1506 */

								if ((BgL_lenz00_6442 == BgL_nlenz00_6443))
									{	/* Llib/unicode.scm 1507 */
										BgL_res3354z00_6449 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_125);
									}
								else
									{	/* Llib/unicode.scm 1507 */
										BgL_res3354z00_6449 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6443), BgL_strz00_125,
											(int) (BgL_lenz00_6442), BgL_tablez00_6441);
				}}}}}
				return BgL_res3354z00_6449;
			}
		}

	}



/* &utf8->iso-latin */
	obj_t BGl_z62utf8zd2ze3isozd2latinz81zz__unicodez00(obj_t BgL_envz00_6977,
		obj_t BgL_strz00_6978)
	{
		{	/* Llib/unicode.scm 1524 */
			{	/* Llib/unicode.scm 1525 */
				obj_t BgL_auxz00_10961;

				if (STRINGP(BgL_strz00_6978))
					{	/* Llib/unicode.scm 1525 */
						BgL_auxz00_10961 = BgL_strz00_6978;
					}
				else
					{
						obj_t BgL_auxz00_10964;

						BgL_auxz00_10964 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(60703L), BGl_string3729z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6978);
						FAILURE(BgL_auxz00_10964, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3isozd2latinze3zz__unicodez00(BgL_auxz00_10961);
			}
		}

	}



/* utf8->iso-latin! */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3isozd2latinz12zf1zz__unicodez00(obj_t
		BgL_strz00_126)
	{
		{	/* Llib/unicode.scm 1530 */
			{	/* Llib/unicode.scm 1531 */
				obj_t BgL_res3355z00_6459;

				{	/* Llib/unicode.scm 1531 */
					obj_t BgL_tablez00_6451;

					BgL_tablez00_6451 = BGl_list3582z00zz__unicodez00;
					{	/* Llib/unicode.scm 1515 */
						long BgL_lenz00_6452;

						BgL_lenz00_6452 = STRING_LENGTH(BgL_strz00_126);
						{	/* Llib/unicode.scm 1515 */
							long BgL_nlenz00_6453;

							BgL_nlenz00_6453 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_126,
								BgL_lenz00_6452);
							{	/* Llib/unicode.scm 1516 */

								if ((BgL_lenz00_6452 == BgL_nlenz00_6453))
									{	/* Llib/unicode.scm 1517 */
										BgL_res3355z00_6459 = BgL_strz00_126;
									}
								else
									{	/* Llib/unicode.scm 1517 */
										BgL_res3355z00_6459 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6453), BgL_strz00_126,
											(int) (BgL_lenz00_6452), BgL_tablez00_6451);
				}}}}}
				return BgL_res3355z00_6459;
			}
		}

	}



/* &utf8->iso-latin! */
	obj_t BGl_z62utf8zd2ze3isozd2latinz12z93zz__unicodez00(obj_t BgL_envz00_6979,
		obj_t BgL_strz00_6980)
	{
		{	/* Llib/unicode.scm 1530 */
			{	/* Llib/unicode.scm 1531 */
				obj_t BgL_auxz00_10976;

				if (STRINGP(BgL_strz00_6980))
					{	/* Llib/unicode.scm 1531 */
						BgL_auxz00_10976 = BgL_strz00_6980;
					}
				else
					{
						obj_t BgL_auxz00_10979;

						BgL_auxz00_10979 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(60989L), BGl_string3730z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6980);
						FAILURE(BgL_auxz00_10979, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3isozd2latinz12zf1zz__unicodez00(BgL_auxz00_10976);
			}
		}

	}



/* utf8->iso-latin-15 */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3isozd2latinzd215z31zz__unicodez00(obj_t
		BgL_strz00_127)
	{
		{	/* Llib/unicode.scm 1536 */
			{	/* Llib/unicode.scm 1537 */
				obj_t BgL_res3356z00_6469;

				{	/* Llib/unicode.scm 1537 */
					obj_t BgL_tablez00_6461;

					BgL_tablez00_6461 = BGl_list3609z00zz__unicodez00;
					{	/* Llib/unicode.scm 1505 */
						long BgL_lenz00_6462;

						BgL_lenz00_6462 = STRING_LENGTH(BgL_strz00_127);
						{	/* Llib/unicode.scm 1505 */
							long BgL_nlenz00_6463;

							BgL_nlenz00_6463 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_127,
								BgL_lenz00_6462);
							{	/* Llib/unicode.scm 1506 */

								if ((BgL_lenz00_6462 == BgL_nlenz00_6463))
									{	/* Llib/unicode.scm 1507 */
										BgL_res3356z00_6469 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_127);
									}
								else
									{	/* Llib/unicode.scm 1507 */
										BgL_res3356z00_6469 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6463), BgL_strz00_127,
											(int) (BgL_lenz00_6462), BgL_tablez00_6461);
				}}}}}
				return BgL_res3356z00_6469;
			}
		}

	}



/* &utf8->iso-latin-15 */
	obj_t BGl_z62utf8zd2ze3isozd2latinzd215z53zz__unicodez00(obj_t
		BgL_envz00_6981, obj_t BgL_strz00_6982)
	{
		{	/* Llib/unicode.scm 1536 */
			{	/* Llib/unicode.scm 1537 */
				obj_t BgL_auxz00_10992;

				if (STRINGP(BgL_strz00_6982))
					{	/* Llib/unicode.scm 1537 */
						BgL_auxz00_10992 = BgL_strz00_6982;
					}
				else
					{
						obj_t BgL_auxz00_10995;

						BgL_auxz00_10995 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(61278L), BGl_string3731z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6982);
						FAILURE(BgL_auxz00_10995, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze3isozd2latinzd215z31zz__unicodez00(BgL_auxz00_10992);
			}
		}

	}



/* utf8->iso-latin-15! */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2ze3isozd2latinzd215z12z23zz__unicodez00(obj_t BgL_strz00_128)
	{
		{	/* Llib/unicode.scm 1542 */
			{	/* Llib/unicode.scm 1543 */
				obj_t BgL_res3357z00_6479;

				{	/* Llib/unicode.scm 1543 */
					obj_t BgL_tablez00_6471;

					BgL_tablez00_6471 = BGl_list3609z00zz__unicodez00;
					{	/* Llib/unicode.scm 1515 */
						long BgL_lenz00_6472;

						BgL_lenz00_6472 = STRING_LENGTH(BgL_strz00_128);
						{	/* Llib/unicode.scm 1515 */
							long BgL_nlenz00_6473;

							BgL_nlenz00_6473 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_128,
								BgL_lenz00_6472);
							{	/* Llib/unicode.scm 1516 */

								if ((BgL_lenz00_6472 == BgL_nlenz00_6473))
									{	/* Llib/unicode.scm 1517 */
										BgL_res3357z00_6479 = BgL_strz00_128;
									}
								else
									{	/* Llib/unicode.scm 1517 */
										BgL_res3357z00_6479 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6473), BgL_strz00_128,
											(int) (BgL_lenz00_6472), BgL_tablez00_6471);
				}}}}}
				return BgL_res3357z00_6479;
			}
		}

	}



/* &utf8->iso-latin-15! */
	obj_t BGl_z62utf8zd2ze3isozd2latinzd215z12z41zz__unicodez00(obj_t
		BgL_envz00_6983, obj_t BgL_strz00_6984)
	{
		{	/* Llib/unicode.scm 1542 */
			{	/* Llib/unicode.scm 1543 */
				obj_t BgL_auxz00_11007;

				if (STRINGP(BgL_strz00_6984))
					{	/* Llib/unicode.scm 1543 */
						BgL_auxz00_11007 = BgL_strz00_6984;
					}
				else
					{
						obj_t BgL_auxz00_11010;

						BgL_auxz00_11010 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(61576L), BGl_string3732z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6984);
						FAILURE(BgL_auxz00_11010, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze3isozd2latinzd215z12z23zz__unicodez00(BgL_auxz00_11007);
			}
		}

	}



/* utf8->cp1252 */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3cp1252z31zz__unicodez00(obj_t
		BgL_strz00_129)
	{
		{	/* Llib/unicode.scm 1548 */
			if (CBOOL(BGl_cp1252zd2invzd2zz__unicodez00))
				{	/* Llib/unicode.scm 1549 */
					BFALSE;
				}
			else
				{	/* Llib/unicode.scm 1549 */
					BGl_cp1252zd2invzd2zz__unicodez00 =
						BGl_inversezd2utf8zd2tablez00zz__unicodez00
						(BGl_vector3621z00zz__unicodez00);
				}
			{	/* Llib/unicode.scm 1550 */
				obj_t BgL_res3358z00_6489;

				{	/* Llib/unicode.scm 1550 */
					obj_t BgL_tablez00_6481;

					BgL_tablez00_6481 = BGl_cp1252zd2invzd2zz__unicodez00;
					{	/* Llib/unicode.scm 1505 */
						long BgL_lenz00_6482;

						BgL_lenz00_6482 = STRING_LENGTH(BgL_strz00_129);
						{	/* Llib/unicode.scm 1505 */
							long BgL_nlenz00_6483;

							BgL_nlenz00_6483 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_129,
								BgL_lenz00_6482);
							{	/* Llib/unicode.scm 1506 */

								if ((BgL_lenz00_6482 == BgL_nlenz00_6483))
									{	/* Llib/unicode.scm 1507 */
										BgL_res3358z00_6489 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_129);
									}
								else
									{	/* Llib/unicode.scm 1507 */
										BgL_res3358z00_6489 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6483), BgL_strz00_129,
											(int) (BgL_lenz00_6482), BgL_tablez00_6481);
				}}}}}
				return BgL_res3358z00_6489;
			}
		}

	}



/* &utf8->cp1252 */
	obj_t BGl_z62utf8zd2ze3cp1252z53zz__unicodez00(obj_t BgL_envz00_6985,
		obj_t BgL_strz00_6986)
	{
		{	/* Llib/unicode.scm 1548 */
			{	/* Llib/unicode.scm 1549 */
				obj_t BgL_auxz00_11026;

				if (STRINGP(BgL_strz00_6986))
					{	/* Llib/unicode.scm 1549 */
						BgL_auxz00_11026 = BgL_strz00_6986;
					}
				else
					{
						obj_t BgL_auxz00_11029;

						BgL_auxz00_11029 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(61932L), BGl_string3733z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6986);
						FAILURE(BgL_auxz00_11029, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3cp1252z31zz__unicodez00(BgL_auxz00_11026);
			}
		}

	}



/* utf8->cp1252! */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3cp1252z12z23zz__unicodez00(obj_t
		BgL_strz00_130)
	{
		{	/* Llib/unicode.scm 1555 */
			if (CBOOL(BGl_cp1252zd2invzd2zz__unicodez00))
				{	/* Llib/unicode.scm 1556 */
					BFALSE;
				}
			else
				{	/* Llib/unicode.scm 1556 */
					BGl_cp1252zd2invzd2zz__unicodez00 =
						BGl_inversezd2utf8zd2tablez00zz__unicodez00
						(BGl_vector3621z00zz__unicodez00);
				}
			{	/* Llib/unicode.scm 1557 */
				obj_t BgL_res3359z00_6499;

				{	/* Llib/unicode.scm 1557 */
					obj_t BgL_tablez00_6491;

					BgL_tablez00_6491 = BGl_cp1252zd2invzd2zz__unicodez00;
					{	/* Llib/unicode.scm 1515 */
						long BgL_lenz00_6492;

						BgL_lenz00_6492 = STRING_LENGTH(BgL_strz00_130);
						{	/* Llib/unicode.scm 1515 */
							long BgL_nlenz00_6493;

							BgL_nlenz00_6493 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_130,
								BgL_lenz00_6492);
							{	/* Llib/unicode.scm 1516 */

								if ((BgL_lenz00_6492 == BgL_nlenz00_6493))
									{	/* Llib/unicode.scm 1517 */
										BgL_res3359z00_6499 = BgL_strz00_130;
									}
								else
									{	/* Llib/unicode.scm 1517 */
										BgL_res3359z00_6499 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6493), BgL_strz00_130,
											(int) (BgL_lenz00_6492), BgL_tablez00_6491);
				}}}}}
				return BgL_res3359z00_6499;
			}
		}

	}



/* &utf8->cp1252! */
	obj_t BGl_z62utf8zd2ze3cp1252z12z41zz__unicodez00(obj_t BgL_envz00_6987,
		obj_t BgL_strz00_6988)
	{
		{	/* Llib/unicode.scm 1555 */
			{	/* Llib/unicode.scm 1556 */
				obj_t BgL_auxz00_11044;

				if (STRINGP(BgL_strz00_6988))
					{	/* Llib/unicode.scm 1556 */
						BgL_auxz00_11044 = BgL_strz00_6988;
					}
				else
					{
						obj_t BgL_auxz00_11047;

						BgL_auxz00_11047 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(62285L), BGl_string3734z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6988);
						FAILURE(BgL_auxz00_11047, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3cp1252z12z23zz__unicodez00(BgL_auxz00_11044);
			}
		}

	}



/* 8bits->utf8-length */
	long BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(obj_t BgL_strz00_131,
		long BgL_lenz00_132, obj_t BgL_tablez00_133)
	{
		{	/* Llib/unicode.scm 1562 */
			{
				long BgL_cz00_2974;

				{
					long BgL_siza7eza7_2959;
					long BgL_iz00_2960;

					BgL_siza7eza7_2959 = 0L;
					BgL_iz00_2960 = 0L;
				BgL_zc3z04anonymousza32749ze3z87_2961:
					if ((BgL_iz00_2960 == BgL_lenz00_132))
						{	/* Llib/unicode.scm 1572 */
							return BgL_siza7eza7_2959;
						}
					else
						{	/* Llib/unicode.scm 1574 */
							long BgL_cz00_2963;

							BgL_cz00_2963 = (STRING_REF(BgL_strz00_131, BgL_iz00_2960));
							if ((BgL_cz00_2963 >= 128L))
								{	/* Llib/unicode.scm 1575 */
									if (CBOOL(BgL_tablez00_133))
										{
											long BgL_iz00_11072;
											long BgL_siza7eza7_11060;

											{	/* Llib/unicode.scm 1577 */
												long BgL_tmpz00_11061;

												BgL_cz00_2974 = BgL_cz00_2963;
												{	/* Llib/unicode.scm 1565 */
													long BgL_vz00_2976;

													BgL_vz00_2976 = (BgL_cz00_2974 - 128L);
													if (
														(BgL_vz00_2976 <
															VECTOR_LENGTH(((obj_t) BgL_tablez00_133))))
														{	/* Llib/unicode.scm 1567 */
															obj_t BgL_arg2777z00_2979;

															BgL_arg2777z00_2979 =
																VECTOR_REF(
																((obj_t) BgL_tablez00_133), BgL_vz00_2976);
															BgL_tmpz00_11061 =
																STRING_LENGTH(((obj_t) BgL_arg2777z00_2979));
														}
													else
														{	/* Llib/unicode.scm 1566 */
															BgL_tmpz00_11061 = 2L;
														}
												}
												BgL_siza7eza7_11060 =
													(BgL_siza7eza7_2959 + BgL_tmpz00_11061);
											}
											BgL_iz00_11072 = (BgL_iz00_2960 + 1L);
											BgL_iz00_2960 = BgL_iz00_11072;
											BgL_siza7eza7_2959 = BgL_siza7eza7_11060;
											goto BgL_zc3z04anonymousza32749ze3z87_2961;
										}
									else
										{
											long BgL_iz00_11076;
											long BgL_siza7eza7_11074;

											BgL_siza7eza7_11074 = (BgL_siza7eza7_2959 + 2L);
											BgL_iz00_11076 = (BgL_iz00_2960 + 1L);
											BgL_iz00_2960 = BgL_iz00_11076;
											BgL_siza7eza7_2959 = BgL_siza7eza7_11074;
											goto BgL_zc3z04anonymousza32749ze3z87_2961;
										}
								}
							else
								{
									long BgL_iz00_11080;
									long BgL_siza7eza7_11078;

									BgL_siza7eza7_11078 = (BgL_siza7eza7_2959 + 1L);
									BgL_iz00_11080 = (BgL_iz00_2960 + 1L);
									BgL_iz00_2960 = BgL_iz00_11080;
									BgL_siza7eza7_2959 = BgL_siza7eza7_11078;
									goto BgL_zc3z04anonymousza32749ze3z87_2961;
								}
						}
				}
			}
		}

	}



/* 8bits->utf8-fill! */
	obj_t BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00(obj_t BgL_nstrz00_134,
		obj_t BgL_strz00_135, long BgL_lenz00_136, obj_t BgL_tablez00_137)
	{
		{	/* Llib/unicode.scm 1584 */
			{
				long BgL_rz00_2983;
				long BgL_wz00_2984;

				BgL_rz00_2983 = 0L;
				BgL_wz00_2984 = 0L;
			BgL_zc3z04anonymousza32779ze3z87_2985:
				if ((BgL_rz00_2983 == BgL_lenz00_136))
					{	/* Llib/unicode.scm 1587 */
						return BgL_nstrz00_134;
					}
				else
					{	/* Llib/unicode.scm 1589 */
						long BgL_cz00_2987;

						BgL_cz00_2987 = (STRING_REF(BgL_strz00_135, BgL_rz00_2983));
						if ((BgL_cz00_2987 >= 192L))
							{	/* Llib/unicode.scm 1591 */
								STRING_SET(BgL_nstrz00_134, BgL_wz00_2984,
									((unsigned char) 195));
								{	/* Llib/unicode.scm 1593 */
									unsigned char BgL_auxz00_11091;
									long BgL_tmpz00_11089;

									BgL_auxz00_11091 = ((BgL_cz00_2987 - 64L));
									BgL_tmpz00_11089 = (BgL_wz00_2984 + 1L);
									STRING_SET(BgL_nstrz00_134, BgL_tmpz00_11089,
										BgL_auxz00_11091);
								}
								{
									long BgL_wz00_11097;
									long BgL_rz00_11095;

									BgL_rz00_11095 = (BgL_rz00_2983 + 1L);
									BgL_wz00_11097 = (BgL_wz00_2984 + 2L);
									BgL_wz00_2984 = BgL_wz00_11097;
									BgL_rz00_2983 = BgL_rz00_11095;
									goto BgL_zc3z04anonymousza32779ze3z87_2985;
								}
							}
						else
							{	/* Llib/unicode.scm 1591 */
								if ((BgL_cz00_2987 >= 128L))
									{	/* Llib/unicode.scm 1595 */
										if (CBOOL(BgL_tablez00_137))
											{	/* Llib/unicode.scm 1597 */
												long BgL_vz00_2995;

												BgL_vz00_2995 = (BgL_cz00_2987 - 128L);
												if (
													(BgL_vz00_2995 <
														VECTOR_LENGTH(((obj_t) BgL_tablez00_137))))
													{	/* Llib/unicode.scm 1599 */
														obj_t BgL_encz00_2998;

														BgL_encz00_2998 =
															VECTOR_REF(
															((obj_t) BgL_tablez00_137), BgL_vz00_2995);
														{	/* Llib/unicode.scm 1599 */
															long BgL_lenz00_2999;

															BgL_lenz00_2999 =
																STRING_LENGTH(((obj_t) BgL_encz00_2998));
															{	/* Llib/unicode.scm 1600 */

																blit_string(
																	((obj_t) BgL_encz00_2998), 0L,
																	BgL_nstrz00_134, BgL_wz00_2984,
																	BgL_lenz00_2999);
																{
																	long BgL_wz00_11116;
																	long BgL_rz00_11114;

																	BgL_rz00_11114 = (BgL_rz00_2983 + 1L);
																	BgL_wz00_11116 =
																		(BgL_wz00_2984 + BgL_lenz00_2999);
																	BgL_wz00_2984 = BgL_wz00_11116;
																	BgL_rz00_2983 = BgL_rz00_11114;
																	goto BgL_zc3z04anonymousza32779ze3z87_2985;
																}
															}
														}
													}
												else
													{	/* Llib/unicode.scm 1598 */
														STRING_SET(BgL_nstrz00_134, BgL_wz00_2984,
															((unsigned char) 194));
														{	/* Llib/unicode.scm 1605 */
															unsigned char BgL_auxz00_11121;
															long BgL_tmpz00_11119;

															BgL_auxz00_11121 = (BgL_cz00_2987);
															BgL_tmpz00_11119 = (BgL_wz00_2984 + 1L);
															STRING_SET(BgL_nstrz00_134, BgL_tmpz00_11119,
																BgL_auxz00_11121);
														}
														{
															long BgL_wz00_11126;
															long BgL_rz00_11124;

															BgL_rz00_11124 = (BgL_rz00_2983 + 1L);
															BgL_wz00_11126 = (BgL_wz00_2984 + 2L);
															BgL_wz00_2984 = BgL_wz00_11126;
															BgL_rz00_2983 = BgL_rz00_11124;
															goto BgL_zc3z04anonymousza32779ze3z87_2985;
														}
													}
											}
										else
											{	/* Llib/unicode.scm 1596 */
												STRING_SET(BgL_nstrz00_134, BgL_wz00_2984,
													((unsigned char) 194));
												{	/* Llib/unicode.scm 1609 */
													unsigned char BgL_auxz00_11131;
													long BgL_tmpz00_11129;

													BgL_auxz00_11131 = (BgL_cz00_2987);
													BgL_tmpz00_11129 = (BgL_wz00_2984 + 1L);
													STRING_SET(BgL_nstrz00_134, BgL_tmpz00_11129,
														BgL_auxz00_11131);
												}
												{
													long BgL_wz00_11136;
													long BgL_rz00_11134;

													BgL_rz00_11134 = (BgL_rz00_2983 + 1L);
													BgL_wz00_11136 = (BgL_wz00_2984 + 2L);
													BgL_wz00_2984 = BgL_wz00_11136;
													BgL_rz00_2983 = BgL_rz00_11134;
													goto BgL_zc3z04anonymousza32779ze3z87_2985;
												}
											}
									}
								else
									{	/* Llib/unicode.scm 1595 */
										{	/* Llib/unicode.scm 1612 */
											unsigned char BgL_tmpz00_11138;

											BgL_tmpz00_11138 = (BgL_cz00_2987);
											STRING_SET(BgL_nstrz00_134, BgL_wz00_2984,
												BgL_tmpz00_11138);
										}
										{
											long BgL_wz00_11143;
											long BgL_rz00_11141;

											BgL_rz00_11141 = (BgL_rz00_2983 + 1L);
											BgL_wz00_11143 = (BgL_wz00_2984 + 1L);
											BgL_wz00_2984 = BgL_wz00_11143;
											BgL_rz00_2983 = BgL_rz00_11141;
											goto BgL_zc3z04anonymousza32779ze3z87_2985;
										}
									}
							}
					}
			}
		}

	}



/* 8bits->utf8 */
	BGL_EXPORTED_DEF obj_t BGl_8bitszd2ze3utf8z31zz__unicodez00(obj_t
		BgL_strz00_138, obj_t BgL_tablez00_139)
	{
		{	/* Llib/unicode.scm 1618 */
			{	/* Llib/unicode.scm 1619 */
				long BgL_lenz00_6578;

				BgL_lenz00_6578 = STRING_LENGTH(BgL_strz00_138);
				{	/* Llib/unicode.scm 1619 */
					long BgL_nlenz00_6579;

					BgL_nlenz00_6579 =
						BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_138,
						BgL_lenz00_6578, BgL_tablez00_139);
					{	/* Llib/unicode.scm 1620 */

						if ((BgL_lenz00_6578 == BgL_nlenz00_6579))
							{	/* Llib/unicode.scm 1621 */
								return
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_138);
							}
						else
							{	/* Llib/unicode.scm 1621 */
								return
									BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6579), BgL_strz00_138,
									BgL_lenz00_6578, BgL_tablez00_139);
							}
					}
				}
			}
		}

	}



/* &8bits->utf8 */
	obj_t BGl_z628bitszd2ze3utf8z53zz__unicodez00(obj_t BgL_envz00_6989,
		obj_t BgL_strz00_6990, obj_t BgL_tablez00_6991)
	{
		{	/* Llib/unicode.scm 1618 */
			{	/* Llib/unicode.scm 1619 */
				obj_t BgL_auxz00_11152;

				if (STRINGP(BgL_strz00_6990))
					{	/* Llib/unicode.scm 1619 */
						BgL_auxz00_11152 = BgL_strz00_6990;
					}
				else
					{
						obj_t BgL_auxz00_11155;

						BgL_auxz00_11155 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(64506L), BGl_string3735z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6990);
						FAILURE(BgL_auxz00_11155, BFALSE, BFALSE);
					}
				return
					BGl_8bitszd2ze3utf8z31zz__unicodez00(BgL_auxz00_11152,
					BgL_tablez00_6991);
			}
		}

	}



/* 8bits->utf8! */
	BGL_EXPORTED_DEF obj_t BGl_8bitszd2ze3utf8z12z23zz__unicodez00(obj_t
		BgL_strz00_140, obj_t BgL_tablez00_141)
	{
		{	/* Llib/unicode.scm 1628 */
			{	/* Llib/unicode.scm 1629 */
				long BgL_lenz00_6585;

				BgL_lenz00_6585 = STRING_LENGTH(BgL_strz00_140);
				{	/* Llib/unicode.scm 1629 */
					long BgL_nlenz00_6586;

					BgL_nlenz00_6586 =
						BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_140,
						BgL_lenz00_6585, BgL_tablez00_141);
					{	/* Llib/unicode.scm 1630 */

						if ((BgL_lenz00_6585 == BgL_nlenz00_6586))
							{	/* Llib/unicode.scm 1631 */
								return BgL_strz00_140;
							}
						else
							{	/* Llib/unicode.scm 1631 */
								return
									BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6586), BgL_strz00_140,
									BgL_lenz00_6585, BgL_tablez00_141);
							}
					}
				}
			}
		}

	}



/* &8bits->utf8! */
	obj_t BGl_z628bitszd2ze3utf8z12z41zz__unicodez00(obj_t BgL_envz00_6992,
		obj_t BgL_strz00_6993, obj_t BgL_tablez00_6994)
	{
		{	/* Llib/unicode.scm 1628 */
			{	/* Llib/unicode.scm 1629 */
				obj_t BgL_auxz00_11166;

				if (STRINGP(BgL_strz00_6993))
					{	/* Llib/unicode.scm 1629 */
						BgL_auxz00_11166 = BgL_strz00_6993;
					}
				else
					{
						obj_t BgL_auxz00_11169;

						BgL_auxz00_11169 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(64958L), BGl_string3736z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6993);
						FAILURE(BgL_auxz00_11169, BFALSE, BFALSE);
					}
				return
					BGl_8bitszd2ze3utf8z12z23zz__unicodez00(BgL_auxz00_11166,
					BgL_tablez00_6994);
			}
		}

	}



/* iso-latin->utf8 */
	BGL_EXPORTED_DEF obj_t BGl_isozd2latinzd2ze3utf8ze3zz__unicodez00(obj_t
		BgL_strz00_142)
	{
		{	/* Llib/unicode.scm 1638 */
			{	/* Llib/unicode.scm 1639 */
				obj_t BgL_res3360z00_6600;

				{	/* Llib/unicode.scm 1619 */
					long BgL_lenz00_6593;

					BgL_lenz00_6593 = STRING_LENGTH(BgL_strz00_142);
					{	/* Llib/unicode.scm 1619 */
						long BgL_nlenz00_6594;

						BgL_nlenz00_6594 =
							BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_142,
							BgL_lenz00_6593, BFALSE);
						{	/* Llib/unicode.scm 1620 */

							if ((BgL_lenz00_6593 == BgL_nlenz00_6594))
								{	/* Llib/unicode.scm 1621 */
									BgL_res3360z00_6600 =
										BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_142);
								}
							else
								{	/* Llib/unicode.scm 1621 */
									BgL_res3360z00_6600 =
										BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
										(make_string_sans_fill(BgL_nlenz00_6594), BgL_strz00_142,
										BgL_lenz00_6593, BFALSE);
								}
						}
					}
				}
				return BgL_res3360z00_6600;
			}
		}

	}



/* &iso-latin->utf8 */
	obj_t BGl_z62isozd2latinzd2ze3utf8z81zz__unicodez00(obj_t BgL_envz00_6995,
		obj_t BgL_strz00_6996)
	{
		{	/* Llib/unicode.scm 1638 */
			{	/* Llib/unicode.scm 1639 */
				obj_t BgL_auxz00_11181;

				if (STRINGP(BgL_strz00_6996))
					{	/* Llib/unicode.scm 1639 */
						BgL_auxz00_11181 = BgL_strz00_6996;
					}
				else
					{
						obj_t BgL_auxz00_11184;

						BgL_auxz00_11184 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(65393L), BGl_string3737z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6996);
						FAILURE(BgL_auxz00_11184, BFALSE, BFALSE);
					}
				return BGl_isozd2latinzd2ze3utf8ze3zz__unicodez00(BgL_auxz00_11181);
			}
		}

	}



/* iso-latin->utf8! */
	BGL_EXPORTED_DEF obj_t BGl_isozd2latinzd2ze3utf8z12zf1zz__unicodez00(obj_t
		BgL_strz00_143)
	{
		{	/* Llib/unicode.scm 1644 */
			{	/* Llib/unicode.scm 1645 */
				obj_t BgL_res3361z00_6609;

				{	/* Llib/unicode.scm 1629 */
					long BgL_lenz00_6602;

					BgL_lenz00_6602 = STRING_LENGTH(BgL_strz00_143);
					{	/* Llib/unicode.scm 1629 */
						long BgL_nlenz00_6603;

						BgL_nlenz00_6603 =
							BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_143,
							BgL_lenz00_6602, BFALSE);
						{	/* Llib/unicode.scm 1630 */

							if ((BgL_lenz00_6602 == BgL_nlenz00_6603))
								{	/* Llib/unicode.scm 1631 */
									BgL_res3361z00_6609 = BgL_strz00_143;
								}
							else
								{	/* Llib/unicode.scm 1631 */
									BgL_res3361z00_6609 =
										BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
										(make_string_sans_fill(BgL_nlenz00_6603), BgL_strz00_143,
										BgL_lenz00_6602, BFALSE);
								}
						}
					}
				}
				return BgL_res3361z00_6609;
			}
		}

	}



/* &iso-latin->utf8! */
	obj_t BGl_z62isozd2latinzd2ze3utf8z12z93zz__unicodez00(obj_t BgL_envz00_6997,
		obj_t BgL_strz00_6998)
	{
		{	/* Llib/unicode.scm 1644 */
			{	/* Llib/unicode.scm 1645 */
				obj_t BgL_auxz00_11195;

				if (STRINGP(BgL_strz00_6998))
					{	/* Llib/unicode.scm 1645 */
						BgL_auxz00_11195 = BgL_strz00_6998;
					}
				else
					{
						obj_t BgL_auxz00_11198;

						BgL_auxz00_11198 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(65675L), BGl_string3738z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_6998);
						FAILURE(BgL_auxz00_11198, BFALSE, BFALSE);
					}
				return BGl_isozd2latinzd2ze3utf8z12zf1zz__unicodez00(BgL_auxz00_11195);
			}
		}

	}



/* cp1252->utf8 */
	BGL_EXPORTED_DEF obj_t BGl_cp1252zd2ze3utf8z31zz__unicodez00(obj_t
		BgL_strz00_144)
	{
		{	/* Llib/unicode.scm 1650 */
			{	/* Llib/unicode.scm 1651 */
				obj_t BgL_res3362z00_6619;

				{	/* Llib/unicode.scm 1651 */
					obj_t BgL_tablez00_6611;

					BgL_tablez00_6611 = BGl_vector3621z00zz__unicodez00;
					{	/* Llib/unicode.scm 1619 */
						long BgL_lenz00_6612;

						BgL_lenz00_6612 = STRING_LENGTH(BgL_strz00_144);
						{	/* Llib/unicode.scm 1619 */
							long BgL_nlenz00_6613;

							BgL_nlenz00_6613 =
								BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_144,
								BgL_lenz00_6612, BgL_tablez00_6611);
							{	/* Llib/unicode.scm 1620 */

								if ((BgL_lenz00_6612 == BgL_nlenz00_6613))
									{	/* Llib/unicode.scm 1621 */
										BgL_res3362z00_6619 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_144);
									}
								else
									{	/* Llib/unicode.scm 1621 */
										BgL_res3362z00_6619 =
											BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6613), BgL_strz00_144,
											BgL_lenz00_6612, BgL_tablez00_6611);
									}
							}
						}
					}
				}
				return BgL_res3362z00_6619;
			}
		}

	}



/* &cp1252->utf8 */
	obj_t BGl_z62cp1252zd2ze3utf8z53zz__unicodez00(obj_t BgL_envz00_6999,
		obj_t BgL_strz00_7000)
	{
		{	/* Llib/unicode.scm 1650 */
			{	/* Llib/unicode.scm 1651 */
				obj_t BgL_auxz00_11210;

				if (STRINGP(BgL_strz00_7000))
					{	/* Llib/unicode.scm 1651 */
						BgL_auxz00_11210 = BgL_strz00_7000;
					}
				else
					{
						obj_t BgL_auxz00_11213;

						BgL_auxz00_11213 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(65951L), BGl_string3739z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_7000);
						FAILURE(BgL_auxz00_11213, BFALSE, BFALSE);
					}
				return BGl_cp1252zd2ze3utf8z31zz__unicodez00(BgL_auxz00_11210);
			}
		}

	}



/* cp1252->utf8! */
	BGL_EXPORTED_DEF obj_t BGl_cp1252zd2ze3utf8z12z23zz__unicodez00(obj_t
		BgL_strz00_145)
	{
		{	/* Llib/unicode.scm 1656 */
			{	/* Llib/unicode.scm 1657 */
				obj_t BgL_res3363z00_6629;

				{	/* Llib/unicode.scm 1657 */
					obj_t BgL_tablez00_6621;

					BgL_tablez00_6621 = BGl_vector3621z00zz__unicodez00;
					{	/* Llib/unicode.scm 1629 */
						long BgL_lenz00_6622;

						BgL_lenz00_6622 = STRING_LENGTH(BgL_strz00_145);
						{	/* Llib/unicode.scm 1629 */
							long BgL_nlenz00_6623;

							BgL_nlenz00_6623 =
								BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_145,
								BgL_lenz00_6622, BgL_tablez00_6621);
							{	/* Llib/unicode.scm 1630 */

								if ((BgL_lenz00_6622 == BgL_nlenz00_6623))
									{	/* Llib/unicode.scm 1631 */
										BgL_res3363z00_6629 = BgL_strz00_145;
									}
								else
									{	/* Llib/unicode.scm 1631 */
										BgL_res3363z00_6629 =
											BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6623), BgL_strz00_145,
											BgL_lenz00_6622, BgL_tablez00_6621);
									}
							}
						}
					}
				}
				return BgL_res3363z00_6629;
			}
		}

	}



/* &cp1252->utf8! */
	obj_t BGl_z62cp1252zd2ze3utf8z12z41zz__unicodez00(obj_t BgL_envz00_7001,
		obj_t BgL_strz00_7002)
	{
		{	/* Llib/unicode.scm 1656 */
			{	/* Llib/unicode.scm 1657 */
				obj_t BgL_auxz00_11224;

				if (STRINGP(BgL_strz00_7002))
					{	/* Llib/unicode.scm 1657 */
						BgL_auxz00_11224 = BgL_strz00_7002;
					}
				else
					{
						obj_t BgL_auxz00_11227;

						BgL_auxz00_11227 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(66234L), BGl_string3740z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_7002);
						FAILURE(BgL_auxz00_11227, BFALSE, BFALSE);
					}
				return BGl_cp1252zd2ze3utf8z12z23zz__unicodez00(BgL_auxz00_11224);
			}
		}

	}



/* string-minimal-charset */
	BGL_EXPORTED_DEF obj_t BGl_stringzd2minimalzd2charsetz00zz__unicodez00(obj_t
		BgL_strz00_146)
	{
		{	/* Llib/unicode.scm 1665 */
			{
				long BgL_iz00_3026;

				BgL_iz00_3026 = (STRING_LENGTH(BgL_strz00_146) - 1L);
			BgL_zc3z04anonymousza32834ze3z87_3027:
				if ((BgL_iz00_3026 == -1L))
					{	/* Llib/unicode.scm 1668 */
						return BGl_symbol3695z00zz__unicodez00;
					}
				else
					{	/* Llib/unicode.scm 1668 */
						if (
							(STRING_REF(BgL_strz00_146,
									BgL_iz00_3026) <= ((unsigned char) '')))
							{
								long BgL_iz00_11237;

								BgL_iz00_11237 = (BgL_iz00_3026 - 1L);
								BgL_iz00_3026 = BgL_iz00_11237;
								goto BgL_zc3z04anonymousza32834ze3z87_3027;
							}
						else
							{	/* Llib/unicode.scm 1669 */
								return BGl_symbol3741z00zz__unicodez00;
							}
					}
			}
		}

	}



/* &string-minimal-charset */
	obj_t BGl_z62stringzd2minimalzd2charsetz62zz__unicodez00(obj_t
		BgL_envz00_7003, obj_t BgL_strz00_7004)
	{
		{	/* Llib/unicode.scm 1665 */
			{	/* Llib/unicode.scm 1666 */
				obj_t BgL_auxz00_11241;

				if (STRINGP(BgL_strz00_7004))
					{	/* Llib/unicode.scm 1666 */
						BgL_auxz00_11241 = BgL_strz00_7004;
					}
				else
					{
						obj_t BgL_auxz00_11244;

						BgL_auxz00_11244 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(66746L), BGl_string3743z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_7004);
						FAILURE(BgL_auxz00_11244, BFALSE, BFALSE);
					}
				return
					BGl_stringzd2minimalzd2charsetz00zz__unicodez00(BgL_auxz00_11241);
			}
		}

	}



/* utf8-string-minimal-charset */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t BgL_strz00_147)
	{
		{	/* Llib/unicode.scm 1678 */
			{	/* Llib/unicode.scm 1680 */
				long BgL_lenz00_3035;

				BgL_lenz00_3035 = (STRING_LENGTH(BgL_strz00_147) - 1L);
				{
					long BgL_iz00_3038;
					obj_t BgL_charsetz00_3039;

					BgL_iz00_3038 = 0L;
					BgL_charsetz00_3039 = BGl_symbol3695z00zz__unicodez00;
				BgL_zc3z04anonymousza32841ze3z87_3040:
					if ((BgL_iz00_3038 >= BgL_lenz00_3035))
						{	/* Llib/unicode.scm 1683 */
							return BgL_charsetz00_3039;
						}
					else
						{	/* Llib/unicode.scm 1685 */
							long BgL_nz00_3042;

							BgL_nz00_3042 = (STRING_REF(BgL_strz00_147, BgL_iz00_3038));
							if ((BgL_nz00_3042 <= 127L))
								{
									long BgL_iz00_11257;

									BgL_iz00_11257 = (BgL_iz00_3038 + 1L);
									BgL_iz00_3038 = BgL_iz00_11257;
									goto BgL_zc3z04anonymousza32841ze3z87_3040;
								}
							else
								{	/* Llib/unicode.scm 1689 */
									bool_t BgL_test4410z00_11259;

									if ((BgL_nz00_3042 == 194L))
										{	/* Llib/unicode.scm 1689 */
											BgL_test4410z00_11259 = ((bool_t) 1);
										}
									else
										{	/* Llib/unicode.scm 1689 */
											BgL_test4410z00_11259 = (BgL_nz00_3042 == 195L);
										}
									if (BgL_test4410z00_11259)
										{	/* Llib/unicode.scm 1690 */
											long BgL_mz00_3047;

											BgL_mz00_3047 =
												(STRING_REF(BgL_strz00_147, (BgL_iz00_3038 + 1L)));
											{	/* Llib/unicode.scm 1691 */
												bool_t BgL_test4412z00_11266;

												if ((BgL_mz00_3047 >= 128L))
													{	/* Llib/unicode.scm 1691 */
														BgL_test4412z00_11266 = (BgL_mz00_3047 <= 191L);
													}
												else
													{	/* Llib/unicode.scm 1691 */
														BgL_test4412z00_11266 = ((bool_t) 0);
													}
												if (BgL_test4412z00_11266)
													{
														obj_t BgL_charsetz00_11272;
														long BgL_iz00_11270;

														BgL_iz00_11270 = (BgL_iz00_3038 + 2L);
														BgL_charsetz00_11272 =
															BGl_symbol3741z00zz__unicodez00;
														BgL_charsetz00_3039 = BgL_charsetz00_11272;
														BgL_iz00_3038 = BgL_iz00_11270;
														goto BgL_zc3z04anonymousza32841ze3z87_3040;
													}
												else
													{	/* Llib/unicode.scm 1691 */
														return BGl_symbol3704z00zz__unicodez00;
													}
											}
										}
									else
										{	/* Llib/unicode.scm 1689 */
											return BGl_symbol3704z00zz__unicodez00;
										}
								}
						}
				}
			}
		}

	}



/* &utf8-string-minimal-charset */
	obj_t BGl_z62utf8zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t
		BgL_envz00_7005, obj_t BgL_strz00_7006)
	{
		{	/* Llib/unicode.scm 1678 */
			{	/* Llib/unicode.scm 1680 */
				obj_t BgL_auxz00_11273;

				if (STRINGP(BgL_strz00_7006))
					{	/* Llib/unicode.scm 1680 */
						BgL_auxz00_11273 = BgL_strz00_7006;
					}
				else
					{
						obj_t BgL_auxz00_11276;

						BgL_auxz00_11276 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(67447L), BGl_string3744z00zz__unicodez00,
							BGl_string3694z00zz__unicodez00, BgL_strz00_7006);
						FAILURE(BgL_auxz00_11276, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2minimalzd2charsetzd2zz__unicodez00
					(BgL_auxz00_11273);
			}
		}

	}



/* ucs2-string-minimal-charset */
	BGL_EXPORTED_DEF obj_t
		BGl_ucs2zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t BgL_strz00_148)
	{
		{	/* Llib/unicode.scm 1703 */
			{	/* Llib/unicode.scm 1705 */
				long BgL_lenz00_3058;

				BgL_lenz00_3058 = ((long) (UCS2_STRING_LENGTH(BgL_strz00_148)) - 1L);
				{
					long BgL_iz00_3061;
					obj_t BgL_charsetz00_3062;

					BgL_iz00_3061 = 0L;
					BgL_charsetz00_3062 = BGl_symbol3695z00zz__unicodez00;
				BgL_zc3z04anonymousza32856ze3z87_3063:
					if ((BgL_iz00_3061 >= BgL_lenz00_3058))
						{	/* Llib/unicode.scm 1708 */
							return BgL_charsetz00_3062;
						}
					else
						{	/* Llib/unicode.scm 1710 */
							int BgL_nz00_3065;

							{	/* Llib/unicode.scm 1710 */
								ucs2_t BgL_arg2868z00_3075;

								{	/* Llib/unicode.scm 277 */
									int BgL_tmpz00_11286;

									BgL_tmpz00_11286 = (int) (BgL_iz00_3061);
									BgL_arg2868z00_3075 =
										UCS2_STRING_REF(BgL_strz00_148, BgL_tmpz00_11286);
								}
								{	/* Llib/unicode.scm 1710 */
									obj_t BgL_tmpz00_11289;

									BgL_tmpz00_11289 = BUCS2(BgL_arg2868z00_3075);
									BgL_nz00_3065 = CUCS2(BgL_tmpz00_11289);
							}}
							if (((long) (BgL_nz00_3065) <= 127L))
								{
									long BgL_iz00_11295;

									BgL_iz00_11295 = (BgL_iz00_3061 + 1L);
									BgL_iz00_3061 = BgL_iz00_11295;
									goto BgL_zc3z04anonymousza32856ze3z87_3063;
								}
							else
								{	/* Llib/unicode.scm 1712 */
									if (((long) (BgL_nz00_3065) <= 255L))
										{
											obj_t BgL_charsetz00_11302;
											long BgL_iz00_11300;

											BgL_iz00_11300 = (BgL_iz00_3061 + 1L);
											if (
												(BgL_charsetz00_3062 ==
													BGl_symbol3745z00zz__unicodez00))
												{	/* Llib/unicode.scm 1715 */
													BgL_charsetz00_11302 =
														BGl_symbol3745z00zz__unicodez00;
												}
											else
												{	/* Llib/unicode.scm 1715 */
													BgL_charsetz00_11302 =
														BGl_symbol3741z00zz__unicodez00;
												}
											BgL_charsetz00_3062 = BgL_charsetz00_11302;
											BgL_iz00_3061 = BgL_iz00_11300;
											goto BgL_zc3z04anonymousza32856ze3z87_3063;
										}
									else
										{	/* Llib/unicode.scm 1716 */
											bool_t BgL_test4419z00_11305;

											if (((long) (BgL_nz00_3065) < 56320L))
												{	/* Llib/unicode.scm 1716 */
													BgL_test4419z00_11305 = ((bool_t) 1);
												}
											else
												{	/* Llib/unicode.scm 1716 */
													BgL_test4419z00_11305 =
														((long) (BgL_nz00_3065) > 56319L);
												}
											if (BgL_test4419z00_11305)
												{
													obj_t BgL_charsetz00_11313;
													long BgL_iz00_11311;

													BgL_iz00_11311 = (BgL_iz00_3061 + 1L);
													BgL_charsetz00_11313 =
														BGl_symbol3745z00zz__unicodez00;
													BgL_charsetz00_3062 = BgL_charsetz00_11313;
													BgL_iz00_3061 = BgL_iz00_11311;
													goto BgL_zc3z04anonymousza32856ze3z87_3063;
												}
											else
												{	/* Llib/unicode.scm 1716 */
													return BGl_symbol3747z00zz__unicodez00;
												}
										}
								}
						}
				}
			}
		}

	}



/* &ucs2-string-minimal-charset */
	obj_t BGl_z62ucs2zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t
		BgL_envz00_7007, obj_t BgL_strz00_7008)
	{
		{	/* Llib/unicode.scm 1703 */
			{	/* Llib/unicode.scm 1705 */
				obj_t BgL_auxz00_11314;

				if (UCS2_STRINGP(BgL_strz00_7008))
					{	/* Llib/unicode.scm 1705 */
						BgL_auxz00_11314 = BgL_strz00_7008;
					}
				else
					{
						obj_t BgL_auxz00_11317;

						BgL_auxz00_11317 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3651z00zz__unicodez00,
							BINT(68449L), BGl_string3749z00zz__unicodez00,
							BGl_string3656z00zz__unicodez00, BgL_strz00_7008);
						FAILURE(BgL_auxz00_11317, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2minimalzd2charsetzd2zz__unicodez00
					(BgL_auxz00_11314);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string3750z00zz__unicodez00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string3750z00zz__unicodez00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(43287392L,
				BSTRING_TO_STRING(BGl_string3750z00zz__unicodez00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string3750z00zz__unicodez00));
			return
				BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string3750z00zz__unicodez00));
		}

	}

#ifdef __cplusplus
}
#endif
