~rabbits/uxn-playdate

d7fa8bc00634f2bd233d1c9a425477b68f0136fc — neauoire 5 months ago eef020c
Drawing catclock
4 files changed, 648 insertions(+), 54 deletions(-)

M .gitignore
M build.sh
A etc/catclock.tal
M src/main.c
M .gitignore => .gitignore +4 -1
@@ 8,5 8,8 @@
*snarf
*theme

*rom
*png~
*autosave.kra
\ No newline at end of file
*autosave.kra



M build.sh => build.sh +1 -1
@@ 1,6 1,6 @@
#!/bin/sh -e

TARGET=etc/controller.tal
TARGET=etc/catclock.tal

rm -rf bin
mkdir bin

A etc/catclock.tal => etc/catclock.tal +398 -0
@@ 0,0 1,398 @@
( catclock )

|00 @System &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1

|0000

@timer
	&frame $1 &anim $1 &last $1
@center
	&x $2 &y $2
@line
	&x $2 &y $2 &dx $2 &dy $2 &e1 $2
@needles
	&hx $2 &hy $2
	&mx $2 &my $2
	&sx $2 &sy $2

(
@|vectors )

|0100 ( -> )

	( theme )
	#0ff0 .System/r DEO2
	#0f00 .System/g DEO2
	#0f00 .System/b DEO2

	( vectors )
	;on-frame .Screen/vector DEO2

	( resize )
	#0060 .Screen/width DEO2
	#00c0 .Screen/height DEO2

	( center )
	.Screen/width DEI2 #01 SFT2 .center/x STZ2
	.Screen/height DEI2 #01 SFT2 #0018 ADD2 .center/y STZ2

	( init )
	#05 .timer/frame STZ
	;clear-screen JSR2
	.center/y LDZ2 #0050 SUB2 .Screen/y DEO2
	#08 ;spritesheet/head ;draw-body JSR2

@on-frame ( -> )

	( once per second )
	.DateTime/second DEI
	DUP .timer/last LDZ EQU ,&same-sec JCN
		;make-needles JSR2
		;draw-needles JSR2
		DUP .timer/last STZ
		&same-sec
	POP
	( every 5th frame )
	.timer/frame LDZ #05 NEQ ,&no-anim JCN
		.timer/anim LDZ ;draw-animation JSR2
		.timer/anim LDZk INC #0f AND SWP STZ
		#00 .timer/frame STZ
		&no-anim
	( incr timer )
	.timer/frame LDZk INC SWP STZ

BRK

(
@|helpers )

@make-needles ( -- )

	[ #00 .DateTime/second DEI ] DUP2 ADD2 ;sin60 ADD2 LDA2
		#0090 ,circle JSR .needles/sx STZ2 .needles/sy STZ2
	[ #00 .DateTime/minute DEI ] DUP2 ADD2 ;sin60 ADD2 LDA2
		#0090 ,circle JSR .needles/mx STZ2 .needles/my STZ2
	[ #00 .DateTime/hour DEI #0c ( mod ) DIVk MUL SUB #20 SFTk NIP ADD ]
	[ #00 .DateTime/minute DEI #0f DIV ADD2 ] DUP2 ADD2 ;sin60 ADD2 LDA2
		#00b0 ,circle JSR .needles/hx STZ2 .needles/hy STZ2

JMP2r

@circle ( cx cy radius* -- y* x* )

	STH2 SWP
	#00 SWP #40 SFT2 STH2kr DIV2 .center/x LDZ2 ADD2 #0800 STH2kr DIV2 SUB2
	STH2 SWP2r
	#00 SWP #40 SFT2 STH2kr DIV2 .center/y LDZ2 ADD2 #0800 STH2kr DIV2 SUB2
	POP2r STH2r

JMP2r

@draw-animation ( state -- )

	DUP STHk
	#04 .Screen/auto DEO
	( eyes )
	( reverse ) DUP #08 LTH ,&no-rev JCN #0f SWP SUB &no-rev
	#0c MUL #00 SWP #30 SFT2 ;spritesheet/eyes ADD2 .Screen/addr DEO2
	#0c00
	&loop-eyes
		DUP #06 ( mod ) DIVk MUL SUB #00 SWP #30 SFT2 .center/x LDZ2 #0018 SUB2 ADD2 .Screen/x DEO2
		DUP #06 DIV #00 SWP #30 SFT2 .center/y LDZ2 #0030 SUB2 ADD2 .Screen/y DEO2
		#01 .Screen/sprite DEO
		INC GTHk ,&loop-eyes JCN
	POP2

	STHr #07 GTH ,&tail-reverse JCN

	( tail )

	#0c MUL #00 SWP #30 SFT2 ;spritesheet/tail ADD2 .Screen/addr DEO2
	#0c00
	&loop-tail
		#00 OVRk
			( x ) #03 AND #30 SFT2 .center/x LDZ2 ADD2 #0010 SUB2 .Screen/x DEO2
			( y ) #32 SFT2 .center/y LDZ2 ADD2 #0015 ADD2 .Screen/y DEO2
		#04 .Screen/sprite DEO
		INC GTHk ,&loop-tail JCN
	POP2

JMP2r

&tail-reverse ( state -- )

	#07 AND #0c MUL #00 SWP #30 SFT2 ;spritesheet/tail ADD2 .Screen/addr DEO2
	#0c00
	&loop-tail-reverse
		#00 OVRk
			( x ) #03 AND [ #04 SWP SUB ] #30 SFT2 .center/x LDZ2 ADD2 #0018 SUB2 .Screen/x DEO2
			( y ) #32 SFT2 .center/y LDZ2 ADD2 #0015 ADD2 .Screen/y DEO2
		#14 .Screen/sprite DEO
		INC GTHk ,&loop-tail-reverse JCN
	POP2

JMP2r

@draw-needles ( mask -- )

	.center/y LDZ2 #0010 SUB2 .Screen/y DEO2
	#05 ;spritesheet/body ;draw-body JSR2
	( draw )
	#00 .Screen/auto DEO
	.center/x LDZ2 .center/y LDZ2
		OVR2 OVR2 .needles/sx LDZ2 .needles/sy LDZ2 #02 ,draw-line JSR
		OVR2 OVR2 .needles/mx LDZ2 .needles/my LDZ2 #00 ,draw-line JSR
		OVR2 OVR2 .needles/hx LDZ2 .needles/hy LDZ2 #00 ,draw-line JSR
	( middle )
	#0001 SUB2 .Screen/y DEO2
	#0001 SUB2 .Screen/x DEO2
	;middle-icn .Screen/addr DEO2
	#0a .Screen/sprite DEO

JMP2r

@draw-body ( height addr* -- )

	#76 .Screen/auto DEO
	.center/x LDZ2 #0020 SUB2 .Screen/x DEO2
	.Screen/addr DEO2
	#00
	&ver
		#04 .Screen/sprite DEO
		INC GTHk ,&ver JCN
	POP2

JMP2r

@draw-line ( x1* y1* x2* y2* color -- )

	( load ) STH ,&y STR2 ,&x STR2 .line/y STZ2 .line/x STZ2
	,&x LDR2 .line/x LDZ2 SUB2 ;abs2 JSR2 .line/dx STZ2
	#0000 ,&y LDR2 .line/y LDZ2 SUB2 ;abs2 JSR2 SUB2 .line/dy STZ2
	#ffff #00 .line/x LDZ2 ,&x LDR2 ;lts2 JSR2 DUP2 ADD2 ADD2 ,&sx STR2
	#ffff #00 .line/y LDZ2 ,&y LDR2 ;lts2 JSR2 DUP2 ADD2 ADD2 ,&sy STR2
	.line/dx LDZ2 .line/dy LDZ2 ADD2 .line/e1 STZ2
	&loop
		.line/x LDZ2 DUP2 .Screen/x DEO2 [ LIT2 &x $2 ] EQU2
		.line/y LDZ2 DUP2 .Screen/y DEO2 [ LIT2 &y $2 ] EQU2
			STHkr .Screen/pixel DEO
			AND ,&end JCN
		.line/e1 LDZ2 DUP2 ADD2 DUP2
		.line/dy LDZ2 ;lts2 JSR2 ,&skipy JCN
			.line/e1 LDZ2 .line/dy LDZ2 ADD2 .line/e1 STZ2
			.line/x LDZ2 [ LIT2 &sx $2 ] ADD2 .line/x STZ2
		&skipy
		.line/dx LDZ2 ;gts2 JSR2 ,&skipx JCN
			.line/e1 LDZ2 .line/dx LDZ2 ADD2 .line/e1 STZ2
			.line/y LDZ2 [ LIT2 &sy $2 ] ADD2 .line/y STZ2
		&skipx
		,&loop JMP
	&end
	POPr

JMP2r

@clear-screen ( -- )

	.Screen/width DEI2 #03 SFT2 NIP ,&x STR
	.Screen/height DEI2 #02 SFT2 NIP ,&y STR
	;fill-icn .Screen/addr DEO2
	#0000 DUP2 .Screen/x DEO2 .Screen/y DEO2
	#11 .Screen/auto DEO
	[ LIT &y $1 ] #00
	&v
		[ LIT &x $1 ] #00
		&h
			#01 .Screen/sprite DEO
			INC GTHk ,&h JCN
		POP2
		#0000 .Screen/x DEO2
		.Screen/y DEI2k #0010 ADD2 ROT DEO2
		INC GTHk ,&v JCN
	POP2

JMP2r

(
@|stdlib )

@abs2 DUP2 #0f SFT2 EQU #05 JCN #0000 SWP2 SUB2 JMP2r
@lts2 #8000 STH2k ADD2 SWP2 STH2r ADD2 GTH2 JMP2r
@gts2 #8000 STH2k ADD2 SWP2 STH2r ADD2 LTH2 JMP2r

(
@|tables )

@sin60 ( 60 positions on a circle )
	8000 8d00 9a02 a706 b40b c011 cb18 d520
	df2a e734 ee40 f44b f958 fd65 ff72 ff80
	ff8d fd9a f9a7 f4b4 eec0 e7cb dfd5 d5df
	cbe7 c0ee b4f4 a7f9 9afd 8dff 80ff 72ff
	65fd 58f9 4bf4 40ee 34e7 2adf 20d5 18cb
	11c0 0bb4 06a7 029a 008d 0080 0072 0265
	0658 0b4b 113f 1834 202a 2a20 3418 3f11
	4b0b 5806 6502 7200

(
@|assets )

@middle-icn
	40e0 4000 0000 0000
@fill-icn
	ffff ffff ffff ffff

@spritesheet
	&head ( 08 x 0d )
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0103 070f 0f1f 0000 80c0 c0e0 e0f0
	0000 0103 0307 070f 0000 80c0 e0f0 f0f8
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0001
	3f3f 7f7f 7fff fffd f0f0 f8f8 fcfc fefe
	0f0f 1f1f 3f3f 7f7f fcfc fefe feff ffbf
	0000 0000 0000 0080 0000 0000 0000 0000
	0000 0001 0101 0000 0101 01c1 e1f3 f77f
	fcfc f8f8 ffff ffff ffff 7f7f ffff ffff
	ffff fefe ffff ffff 3f3f 1f1f ffff ffff
	8080 8083 87cf effe 0000 0080 8080 0000
	0707 0703 0001 0307 3fbf ffff ffff ffff
	ffff ffff ffff ff0f ffff ffff efc7 efff
	ffff ffff f7e3 f7ff ffff ffff ffff fff0
	fcfd ffff ffff ffff e0e0 e0c0 0080 c0e0
	070f 1f1f 3f3f 3f3f f800 0000 0000 0000
	0000 0000 0000 0000 ff00 0000 0000 0000
	ff00 0000 0000 0000 0000 0000 0000 0000
	1f00 0000 0000 0000 e0f0 f8f8 fcfc fcfc
	3f3f 3f3f 3f3f 3f20 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 fcfc fcfc fcfc fc04
	1010 0908 0402 0100 0010 8c03 4090 10c0
	0000 01fe 0000 0102 0049 8600 0000 e017
	0092 6100 0000 07e8 0000 807f 0000 8040
	0008 31c0 0209 0803 0808 9010 2040 8000
	0000 0000 0000 0000 3807 0001 0608 1020
	02fe 9e26 0f07 0f7f 0808 3808 088f f000
	1010 1c10 10f1 0f00 407f 7964 f0e0 f0fe
	1ce0 0080 6010 0804 0000 0000 0000 0000
	&body
	0000 0000 0000 0000 4041 8387 4f3f 1f3f
	fcf8 f1e1 c181 0100 0202 4242 4240 4000
	c020 6181 e101 0100 3f1f 0f07 0301 0000
	0282 c1e1 f2fc f8fc 0000 0000 0000 0000
	0000 0000 0000 0000 3e7e 7c7c fcf8 f8f9
	4854 5454 4800 8040 0000 0000 0000 0000
	0000 0000 0000 0000 1804 0c10 1c00 0300
	7c7e 3e3e 3f1f 1f9f 0000 0000 0000 0000
	0000 0000 1f28 2430 f8f8 f8f8 7cfc 7c3e
	c040 8000 0010 2810 0000 0000 0000 0000
	0000 0000 0000 0000 0300 0300 0004 0c14
	1f9f 1f1f 3e3f 3e7c 0000 0000 f814 240c
	2810 1008 0402 0100 1e0f 0733 3919 8163
	2810 80c0 e0f0 f8fe 0000 7010 2141 4100
	0000 03c2 0380 4380 1e04 8103 078f 1f7f
	78f0 e0cc 9c98 81c6 1408 0810 2040 8000
	0000 0000 0000 0000 1c00 0000 0000 0000
	ff7f 1f07 0000 0000 e0ff ffff ff00 0000
	07ff ffff ff00 0000 fffe f8e0 0000 0000
	3800 0000 0000 0000 0000 0000 0000 0000
	&eyes
	0f3f 7361 c1c3 c3c3 ffff ffff ffff ffff
	80c0 e0f0 f0f0 f8fb 0103 070e 0c1c 1cdc
	ffff 3f1f 1f3f 3f3f f0fc fefe ffff ffff
	c3c3 c3c3 c161 73bf ffff ffff ffff ffff
	fbfb fbfb f7f6 efde dcdc dcdc ec6e f77b
	3f3f 3f3f 1f1f 3fff ffff ffff fefe fdff
	0f3f 7970 e0e1 e1e1 ffff ffff ffff ffff
	80c0 e0f0 f0f0 f8fb 0103 070f 0e1e 1ede
	ffff 9f0f 0f1f 1f1f f0fc fefe ffff ffff
	e1e1 e1e1 e070 79bf ffff ffff ffff ffff
	fbfb fbfb f7f6 efde dede dede ee6f f77b
	1f1f 1f1f 0f0f 9fff ffff ffff fefe fdff
	0f3f 7e7c f8f8 f8f8 ffff 7f3f 3f3f 3f3f
	80c0 e0f0 f0f0 f8fb 0103 070f 0f1f 1fdf
	ffff e7c3 8383 8383 f0fc fefe ffff ffff
	f8f8 f8f8 f87c 7ebf 3f3f 3f3f 3f3f 7fff
	fbfb fbfb f7f6 efde dfdf dfdf ef6f f77b
	8383 8383 83c3 e7ff ffff ffff fefe fdff
	0f3f 7f7f fefe fefe ffff 9f0f 0707 0707
	80c0 e0f0 f0f0 f8fb 0103 070f 0f1f 1fdf
	ffff f9f0 e0e0 e0e0 f0fc fefe 7f7f 7f7f
	fefe fefe fe7f 7fbf 0707 0707 070f 9fff
	fbfb fbfb f7f6 efde dfdf dfdf ef6f f77b
	e0e0 e0e0 e0f0 f9ff 7f7f 7f7f 7efe fdff
	0f3f 7f7f ffff ffff ffff e7c3 c1c1 c1c1
	80c0 e0f0 f0f0 f8fb 0103 070f 0f1f 1fdf
	ffff fefc fcfc fcfc f0fc 7e3e 1f1f 1f1f
	ffff ffff ff7f 7fbf c1c1 c1c1 c1c3 e7ff
	fbfb fbfb f7f6 efde dfdf dfdf ef6f f77b
	fcfc fcfc fcfc feff 1f1f 1f1f 1e3e 7dff
	0f3f 7f7f ffff ffff ffff f9f0 f0f0 f8f8
	80c0 e0f0 7070 787b 0103 070f 0f1f 1fdf
	ffff ffff ffff ffff f0fc 9e0e 0787 8787
	ffff ffff ff7f 7fbf f8f8 f8f0 f0f0 f9ff
	7b7b 7b7b 77f6 efde dfdf dfdf ef6f f77b
	ffff ffff ffff ffff 8787 8707 060e 9dff
	0f3f 7f7f ffff ffff ffff fcf8 f8fc fcfc
	80c0 e070 3030 383b 0103 070f 0f1f 1fdf
	ffff ffff ffff ffff f0fc ce86 83c3 c3c3
	ffff ffff ff7f 7fbf fcfc fcfc f8f8 fcff
	3b3b 3b3b 3776 efde dfdf dfdf ef6f f77b
	ffff ffff ffff ffff c3c3 c3c3 8286 cdff
	0f3f 7f7f ffff ffff ffff fefc fcfe fefe
	80c0 6030 1010 181b 0103 070f 0f1f 1fdf
	ffff ffff ffff ffff f0fc e6c2 c1e1 e1e1
	ffff ffff ff7f 7fbf fefe fefe fcfc feff
	1b1b 1b1b 1736 6fde dfdf dfdf ef6f f77b
	ffff ffff ffff ffff e1e1 e1e1 c0c2 e5ff
	&tail
	0000 0000 0000 0000 0101 0303 0303 0303
	0080 80c0 c0c0 c0c0 0000 0000 0000 0000
	0000 0000 0000 0000 0303 0303 0707 0707
	c0c0 c0c0 e0e0 e0e0 0000 0000 0000 0000
	0000 0000 0000 0000 0707 0707 0301 0000
	e0e0 e0e0 c080 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0103 070f 1f1e 3e3c
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 7c7c 7cfc fcfc fefe
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 7f7f 3f1f 0e00 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0001 0303 0107 1f7f fefc f8f0
	0080 8000 0000 0000 0000 0000 0000 0000
	0707 0707 0707 0707 f0e0 e0e0 e0f0 f0f0
	0000 0000 0000 0000 0000 0000 0000 0000
	0303 0100 0000 0000 f0f0 e000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0007 1f3f 7f7f 0107 ffff fef8 e000
	0080 8000 0000 0000 0000 0000 0000 0000
	fefc fcfe fefe 7e3c 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 071f 3f7f fffe 01ff ffff fec0 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	fcfc fefe fe7c 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0103 0707 0f1f 3efe
	0080 8000 0000 0000 0000 0000 0000 0000
	033f 7fff ffff 7e00 fcfc f8f0 e080 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0103 0303 0707 0f0f
	0080 8080 8000 0000 0000 0000 0000 0000
	0000 0000 0107 0f1f 1f3f 7efe fcfc f8f8
	0000 0000 0000 0000 0000 0000 0000 0000
	1f1f 0f00 0000 0000 f0c0 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0101 0103 0303 0707
	0080 8080 8080 8080 0000 0000 0000 0000
	0000 0000 0000 0103 0f1f 1f3f 7fff fefc
	8080 8000 0000 0000 0000 0000 0000 0000
	0707 0707 0300 0000 fcf8 f0e0 8000 0000
	0000 0000 0000 0000 0000 0000 0000 0000

M src/main.c => src/main.c +245 -52
@@ 2,6 2,7 @@
#include "uxn.h"
#include "devices/apu.h"
#include "devices/ppu.h"
#include <time.h>

static PlaydateAPI *pd = NULL;



@@ 9,58 10,223 @@ Uxn u;
Ppu ppu;

unsigned char rom[] = {
	0xa0, 0x0f, 0xff, 0x80, 0x08, 0x37, 0xa0, 0x0f, 0x0f, 0x80, 0x0a, 0x37, 0xa0, 0x0f, 0x0f, 0x80, 
	0x0c, 0x37, 0x80, 0x22, 0x36, 0x80, 0x01, 0x3f, 0x80, 0x00, 0x31, 0x80, 0x24, 0x36, 0x80, 0x01, 
	0x3f, 0x80, 0x02, 0x31, 0xa0, 0x00, 0x68, 0x80, 0x04, 0x31, 0xa0, 0x00, 0x30, 0x80, 0x06, 0x31, 
	0x80, 0x00, 0x30, 0x80, 0x04, 0x30, 0x80, 0x01, 0x3f, 0x39, 0x80, 0x08, 0x31, 0x80, 0x02, 0x30, 
	0x80, 0x06, 0x30, 0x80, 0x01, 0x3f, 0x39, 0x80, 0x0a, 0x31, 0x80, 0x08, 0x30, 0x80, 0x04, 0x30, 
	0x38, 0x80, 0x0c, 0x31, 0x80, 0x0a, 0x30, 0x80, 0x06, 0x30, 0x38, 0x80, 0x0e, 0x31, 0xa0, 0x01, 
	0x7a, 0x80, 0x80, 0x37, 0x80, 0x08, 0x30, 0x80, 0x0a, 0x30, 0x80, 0x0c, 0x30, 0x80, 0x0e, 0x30, 
	0x80, 0x03, 0xa0, 0x03, 0x22, 0x2e, 0x80, 0x11, 0x0e, 0x00, 0x80, 0x0d, 0x0e, 0x80, 0x82, 0x16, 
	0x80, 0x08, 0x08, 0x0c, 0x00, 0xa0, 0x01, 0x0e, 0x17, 0x00, 0x80, 0x82, 0x16, 0x0f, 0x80, 0x08, 
	0x30, 0xa0, 0x00, 0x10, 0x38, 0x80, 0x28, 0x37, 0x80, 0x0a, 0x30, 0xa0, 0x00, 0x10, 0x38, 0x80, 
	0x2a, 0x37, 0xa0, 0x03, 0x8e, 0x80, 0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 0x04, 0x1f, 0x80, 0x01, 
	0x1c, 0x19, 0x80, 0x2f, 0x17, 0x80, 0x2a, 0x36, 0xa0, 0x00, 0x10, 0x38, 0x80, 0x2a, 0x37, 0xa0, 
	0x03, 0x96, 0x80, 0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 0x05, 0x1f, 0x80, 0x01, 0x1c, 0x19, 0x80, 
	0x2f, 0x17, 0x80, 0x2a, 0x36, 0xa0, 0x00, 0x08, 0x39, 0x80, 0x2a, 0x37, 0x80, 0x28, 0x36, 0xa0, 
	0x00, 0x08, 0x39, 0x80, 0x28, 0x37, 0xa0, 0x03, 0x9e, 0x80, 0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 
	0x06, 0x1f, 0x80, 0x01, 0x1c, 0x19, 0x80, 0x2f, 0x17, 0x80, 0x28, 0x36, 0xa0, 0x00, 0x10, 0x38, 
	0x80, 0x28, 0x37, 0xa0, 0x03, 0xa6, 0x80, 0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 0x07, 0x1f, 0x80, 
	0x01, 0x1c, 0x19, 0x80, 0x2f, 0x17, 0x80, 0x28, 0x36, 0xa0, 0x00, 0x08, 0x39, 0x80, 0x28, 0x37, 
	0xa0, 0x03, 0x86, 0x80, 0x2c, 0x37, 0x80, 0x03, 0x80, 0x2f, 0x17, 0x80, 0x02, 0x30, 0xa0, 0x00, 
	0x09, 0x38, 0x80, 0x2a, 0x37, 0x80, 0x00, 0x30, 0xa0, 0x00, 0x09, 0x39, 0x80, 0x28, 0x37, 0xa0, 
	0x03, 0xae, 0x80, 0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 0x03, 0x1f, 0x80, 0x01, 0x1c, 0x19, 0x80, 
	0x2f, 0x17, 0x80, 0x00, 0x30, 0xa0, 0x00, 0x04, 0x38, 0x80, 0x28, 0x37, 0xa0, 0x03, 0xae, 0x80, 
	0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 0x02, 0x1f, 0x80, 0x01, 0x1c, 0x19, 0x80, 0x2f, 0x17, 0x80, 
	0x02, 0x30, 0x80, 0x2a, 0x37, 0x80, 0x00, 0x30, 0xa0, 0x00, 0x18, 0x38, 0x80, 0x28, 0x37, 0xa0, 
	0x03, 0xb6, 0x80, 0x2c, 0x37, 0x80, 0x03, 0xcf, 0x80, 0x01, 0x1f, 0x80, 0x01, 0x1c, 0x19, 0x80, 
	0x2f, 0x17, 0x80, 0x2a, 0x36, 0xa0, 0x00, 0x0a, 0x38, 0x80, 0x2a, 0x37, 0xa0, 0x04, 0x16, 0x80, 
	0x2c, 0x37, 0x80, 0x03, 0x80, 0x2f, 0x17, 0x80, 0x02, 0x30, 0x80, 0x2a, 0x37, 0x80, 0x00, 0x30, 
	0xa0, 0x00, 0x24, 0x38, 0x80, 0x28, 0x37, 0xa0, 0x03, 0xb6, 0x80, 0x2c, 0x37, 0x80, 0x03, 0x4f, 
	0x80, 0x01, 0x1c, 0x19, 0x80, 0x2f, 0x17, 0x80, 0x2a, 0x36, 0xa0, 0x00, 0x0a, 0x38, 0x80, 0x2a, 
	0x37, 0xa0, 0x04, 0x0e, 0x80, 0x2c, 0x37, 0x80, 0x03, 0x80, 0x2f, 0x17, 0x80, 0x00, 0x30, 0xa0, 
	0x00, 0x10, 0x39, 0x80, 0x28, 0x37, 0x80, 0x02, 0x30, 0xa0, 0x00, 0x10, 0x39, 0x80, 0x2a, 0x37, 
	0x80, 0x01, 0x80, 0x26, 0x17, 0x80, 0x82, 0x36, 0x80, 0x06, 0x0e, 0x80, 0x00, 0x80, 0x26, 0x17, 
	0x6c, 0x04, 0x80, 0x00, 0x0e, 0x06, 0x80, 0x04, 0x1f, 0x80, 0x00, 0x0e, 0x80, 0x00, 0x04, 0x80, 
	0x0f, 0x1c, 0x80, 0x30, 0x3f, 0xa0, 0x03, 0xbe, 0x38, 0x80, 0x2c, 0x37, 0x80, 0x03, 0x80, 0x2f, 
	0x17, 0x6c, 0x0f, 0x26, 0x80, 0x3c, 0x33, 0x80, 0x2b, 0x33, 0x26, 0x80, 0x49, 0x33, 0x80, 0x0f, 
	0x33, 0x26, 0x80, 0x31, 0x33, 0x80, 0x13, 0x33, 0x26, 0x80, 0x31, 0x33, 0x80, 0x05, 0x33, 0xa0, 
	0x00, 0x00, 0x21, 0xa0, 0x00, 0x00, 0x26, 0x80, 0x28, 0x37, 0xa0, 0x00, 0x00, 0x80, 0x2a, 0x37, 
	0xcf, 0x80, 0x2e, 0x97, 0xa0, 0x00, 0x00, 0x80, 0x2a, 0x37, 0x17, 0x21, 0xaa, 0x80, 0xe6, 0x0d, 
	0x22, 0x22, 0xa0, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x26, 0x80, 0x2a, 0x37, 0xa0, 0x00, 0x00, 0x80, 
	0x28, 0x37, 0xcf, 0x80, 0x2e, 0x97, 0xa0, 0x00, 0x00, 0x80, 0x28, 0x37, 0x17, 0x21, 0xaa, 0x80, 
	0xe6, 0x0d, 0x22, 0x22, 0x42, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 
	0xe7, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xe7, 0xff, 0x7e, 0x7f, 0xff, 
	0xef, 0xcf, 0xcf, 0xef, 0xff, 0x7f, 0xfe, 0xff, 0xf7, 0xf3, 0xf3, 0xf7, 0xff, 0xfe, 0x00, 0x00, 
	0x7e, 0xff, 0xff, 0x7e, 0x00, 0x00, 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x7c, 
	0x82, 0x82, 0x82, 0x82, 0x82, 0x7c, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x7c, 
	0x82, 0x02, 0x7c, 0x80, 0x80, 0xfe, 0x00, 0x7c, 0x82, 0x02, 0x1c, 0x02, 0x82, 0x7c, 0x00, 0x0c, 
	0x14, 0x24, 0x44, 0x84, 0xfe, 0x04, 0x00, 0xfe, 0x80, 0x80, 0x7c, 0x02, 0x82, 0x7c, 0x00, 0x7c, 
	0x82, 0x80, 0xfc, 0x82, 0x82, 0x7c, 0x00, 0xfe, 0x02, 0x02, 0x04, 0x08, 0x10, 0x10, 0x00, 0x7c, 
	0x82, 0x82, 0x7c, 0x82, 0x82, 0x7c, 0x00, 0x7c, 0x82, 0x82, 0x7e, 0x02, 0x82, 0x7c, 0x00, 0x7c, 
	0x82, 0x02, 0x7e, 0x82, 0x82, 0x7e, 0x00, 0xfc, 0x82, 0x82, 0xfc, 0x82, 0x82, 0xfc, 0x00, 0x7c, 
	0x82, 0x80, 0x80, 0x80, 0x82, 0x7c, 0x00, 0xfc, 0x82, 0x82, 0x82, 0x82, 0x82, 0xfc, 0x00, 0xfe, 
	0x80, 0x80, 0xfe, 0x80, 0x80, 0xfe, 0x00, 0xfe, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 
	0xa0, 0x0f, 0xf0, 0x80, 0x08, 0x37, 0xa0, 0x0f, 0x00, 0x80, 0x0a, 0x37, 0xa0, 0x0f, 0x00, 0x80, 
	0x0c, 0x37, 0xa0, 0x01, 0x56, 0x80, 0x20, 0x37, 0xa0, 0x00, 0x60, 0x80, 0x22, 0x37, 0xa0, 0x00, 
	0xc0, 0x80, 0x24, 0x37, 0x80, 0x22, 0x36, 0x80, 0x01, 0x3f, 0x80, 0x03, 0x31, 0x80, 0x24, 0x36, 
	0x80, 0x01, 0x3f, 0xa0, 0x00, 0x18, 0x38, 0x80, 0x05, 0x31, 0x80, 0x05, 0x80, 0x00, 0x11, 0xa0, 
	0x04, 0x4b, 0x2e, 0x80, 0x05, 0x30, 0xa0, 0x00, 0x50, 0x39, 0x80, 0x2a, 0x37, 0x80, 0x08, 0xa0, 
	0x05, 0x47, 0xa0, 0x03, 0x65, 0x2e, 0x80, 0xc6, 0x16, 0x06, 0x80, 0x02, 0x10, 0x08, 0x80, 0x0c, 
	0x0d, 0xa0, 0x01, 0x93, 0x2e, 0xa0, 0x03, 0x06, 0x2e, 0x06, 0x80, 0x02, 0x11, 0x02, 0x80, 0x00, 
	0x10, 0x80, 0x05, 0x09, 0x80, 0x15, 0x0d, 0x80, 0x01, 0x10, 0xa0, 0x02, 0x1a, 0x2e, 0x80, 0x01, 
	0x90, 0x01, 0x80, 0x0f, 0x1c, 0x04, 0x11, 0x80, 0x00, 0x80, 0x00, 0x11, 0x80, 0x00, 0x90, 0x01, 
	0x04, 0x11, 0x00, 0x80, 0x00, 0x80, 0xc6, 0x16, 0x26, 0x38, 0xa0, 0x04, 0xbf, 0x38, 0x34, 0xa0, 
	0x00, 0x90, 0x80, 0x4a, 0x0e, 0x80, 0x19, 0x31, 0x80, 0x1b, 0x31, 0x80, 0x00, 0x80, 0xc5, 0x16, 
	0x26, 0x38, 0xa0, 0x04, 0xbf, 0x38, 0x34, 0xa0, 0x00, 0x90, 0x80, 0x32, 0x0e, 0x80, 0x15, 0x31, 
	0x80, 0x17, 0x31, 0x80, 0x00, 0x80, 0xc4, 0x16, 0x80, 0x0c, 0x9b, 0x1a, 0x19, 0x80, 0x20, 0x9f, 
	0x03, 0x18, 0x80, 0x00, 0x80, 0xc5, 0x16, 0x80, 0x0f, 0x1b, 0x38, 0x26, 0x38, 0xa0, 0x04, 0xbf, 
	0x38, 0x34, 0xa0, 0x00, 0xb0, 0x80, 0x07, 0x0e, 0x80, 0x11, 0x31, 0x80, 0x13, 0x31, 0x6c, 0x2f, 
	0x04, 0x80, 0x00, 0x04, 0x80, 0x40, 0x3f, 0xef, 0x3b, 0x80, 0x03, 0x30, 0x38, 0xa0, 0x08, 0x00, 
	0xef, 0x3b, 0x39, 0x2f, 0x64, 0x80, 0x00, 0x04, 0x80, 0x40, 0x3f, 0xef, 0x3b, 0x80, 0x05, 0x30, 
	0x38, 0xa0, 0x08, 0x00, 0xef, 0x3b, 0x39, 0x62, 0x6f, 0x6c, 0x06, 0x8f, 0x80, 0x04, 0x80, 0x26, 
	0x17, 0x06, 0x80, 0x08, 0x0b, 0x80, 0x04, 0x0d, 0x80, 0x0f, 0x04, 0x19, 0x80, 0x0c, 0x1a, 0x80, 
	0x00, 0x04, 0x80, 0x30, 0x3f, 0xa0, 0x08, 0x87, 0x38, 0x80, 0x2c, 0x37, 0xa0, 0x0c, 0x00, 0x06, 
	0x80, 0x06, 0x9b, 0x1a, 0x19, 0x80, 0x00, 0x04, 0x80, 0x30, 0x3f, 0x80, 0x03, 0x30, 0xa0, 0x00, 
	0x18, 0x39, 0x38, 0x80, 0x28, 0x37, 0x06, 0x80, 0x06, 0x1b, 0x80, 0x00, 0x04, 0x80, 0x30, 0x3f, 
	0x80, 0x05, 0x30, 0xa0, 0x00, 0x30, 0x39, 0x38, 0x80, 0x2a, 0x37, 0x80, 0x01, 0x80, 0x2f, 0x17, 
	0x01, 0x8a, 0x80, 0xca, 0x0d, 0x22, 0x4f, 0x80, 0x07, 0x0a, 0x80, 0x41, 0x0d, 0x80, 0x0c, 0x1a, 
	0x80, 0x00, 0x04, 0x80, 0x30, 0x3f, 0xa0, 0x0b, 0x87, 0x38, 0x80, 0x2c, 0x37, 0xa0, 0x0c, 0x00, 
	0x80, 0x00, 0x87, 0x80, 0x03, 0x1c, 0x80, 0x30, 0x3f, 0x80, 0x03, 0x30, 0x38, 0xa0, 0x00, 0x10, 
	0x39, 0x80, 0x28, 0x37, 0x80, 0x32, 0x3f, 0x80, 0x05, 0x30, 0x38, 0xa0, 0x00, 0x15, 0x38, 0x80, 
	0x2a, 0x37, 0x80, 0x04, 0x80, 0x2f, 0x17, 0x01, 0x8a, 0x80, 0xd4, 0x0d, 0x22, 0x6c, 0x80, 0x07, 
	0x1c, 0x80, 0x0c, 0x1a, 0x80, 0x00, 0x04, 0x80, 0x30, 0x3f, 0xa0, 0x0b, 0x87, 0x38, 0x80, 0x2c, 
	0x37, 0xa0, 0x0c, 0x00, 0x80, 0x00, 0x87, 0x80, 0x03, 0x1c, 0x80, 0x04, 0x04, 0x19, 0x80, 0x30, 
	0x3f, 0x80, 0x03, 0x30, 0x38, 0xa0, 0x00, 0x18, 0x39, 0x80, 0x28, 0x37, 0x80, 0x32, 0x3f, 0x80, 
	0x05, 0x30, 0x38, 0xa0, 0x00, 0x15, 0x38, 0x80, 0x2a, 0x37, 0x80, 0x14, 0x80, 0x2f, 0x17, 0x01, 
	0x8a, 0x80, 0xd0, 0x0d, 0x22, 0x6c, 0x80, 0x05, 0x30, 0xa0, 0x00, 0x10, 0x39, 0x80, 0x2a, 0x37, 
	0x80, 0x05, 0xa0, 0x07, 0x47, 0xa0, 0x03, 0x65, 0x2e, 0x80, 0x00, 0x80, 0x26, 0x17, 0x80, 0x03, 
	0x30, 0x80, 0x05, 0x30, 0x27, 0x27, 0x80, 0x19, 0x30, 0x80, 0x1b, 0x30, 0x80, 0x02, 0x80, 0x54, 
	0x0e, 0x27, 0x27, 0x80, 0x15, 0x30, 0x80, 0x17, 0x30, 0x80, 0x00, 0x80, 0x47, 0x0e, 0x27, 0x27, 
	0x80, 0x11, 0x30, 0x80, 0x13, 0x30, 0x80, 0x00, 0x80, 0x3a, 0x0e, 0xa0, 0x00, 0x01, 0x39, 0x80, 
	0x2a, 0x37, 0xa0, 0x00, 0x01, 0x39, 0x80, 0x28, 0x37, 0xa0, 0x05, 0x37, 0x80, 0x2c, 0x37, 0x80, 
	0x0a, 0x80, 0x2f, 0x17, 0x6c, 0x80, 0x76, 0x80, 0x26, 0x17, 0x80, 0x03, 0x30, 0xa0, 0x00, 0x20, 
	0x39, 0x80, 0x28, 0x37, 0x80, 0x2c, 0x37, 0x80, 0x00, 0x80, 0x04, 0x80, 0x2f, 0x17, 0x01, 0x8a, 
	0x80, 0xf6, 0x0d, 0x22, 0x6c, 0x0f, 0x80, 0x70, 0x33, 0x80, 0x62, 0x33, 0x80, 0x09, 0x31, 0x80, 
	0x07, 0x31, 0x80, 0x59, 0x32, 0x80, 0x07, 0x30, 0x39, 0xa0, 0x04, 0x9d, 0x2e, 0x80, 0x0b, 0x31, 
	0xa0, 0x00, 0x00, 0x80, 0x53, 0x32, 0x80, 0x09, 0x30, 0x39, 0xa0, 0x04, 0x9d, 0x2e, 0x39, 0x80, 
	0x0d, 0x31, 0xa0, 0xff, 0xff, 0x80, 0x00, 0x80, 0x07, 0x30, 0x80, 0x31, 0x32, 0xa0, 0x04, 0xab, 
	0x2e, 0x26, 0x38, 0x38, 0x80, 0x5b, 0x33, 0xa0, 0xff, 0xff, 0x80, 0x00, 0x80, 0x09, 0x30, 0x80, 
	0x27, 0x32, 0xa0, 0x04, 0xab, 0x2e, 0x26, 0x38, 0x38, 0x80, 0x64, 0x33, 0x80, 0x0b, 0x30, 0x80, 
	0x0d, 0x30, 0x38, 0x80, 0x0f, 0x31, 0x80, 0x07, 0x30, 0x26, 0x80, 0x28, 0x37, 0xa0, 0x00, 0x00, 
	0x28, 0x80, 0x09, 0x30, 0x26, 0x80, 0x2a, 0x37, 0xa0, 0x00, 0x00, 0x28, 0xcf, 0x80, 0x2e, 0x17, 
	0x1c, 0x80, 0x45, 0x0d, 0x80, 0x0f, 0x30, 0x26, 0x38, 0x26, 0x80, 0x0d, 0x30, 0xa0, 0x04, 0xab, 
	0x2e, 0x80, 0x14, 0x0d, 0x80, 0x0f, 0x30, 0x80, 0x0d, 0x30, 0x38, 0x80, 0x0f, 0x31, 0x80, 0x07, 
	0x30, 0xa0, 0x00, 0x00, 0x38, 0x80, 0x07, 0x31, 0x80, 0x0b, 0x30, 0xa0, 0x04, 0xb5, 0x2e, 0x80, 
	0x14, 0x0d, 0x80, 0x0f, 0x30, 0x80, 0x0b, 0x30, 0x38, 0x80, 0x0f, 0x31, 0x80, 0x09, 0x30, 0xa0, 
	0x00, 0x00, 0x38, 0x80, 0x09, 0x31, 0x80, 0x9d, 0x0c, 0x42, 0x6c, 0x80, 0x22, 0x36, 0x80, 0x03, 
	0x3f, 0x03, 0x80, 0x24, 0x13, 0x80, 0x24, 0x36, 0x80, 0x02, 0x3f, 0x03, 0x80, 0x16, 0x13, 0xa0, 
	0x05, 0x3f, 0x80, 0x2c, 0x37, 0xa0, 0x00, 0x00, 0x26, 0x80, 0x28, 0x37, 0x80, 0x2a, 0x37, 0x80, 
	0x11, 0x80, 0x26, 0x17, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x01, 0x80, 0x2f, 
	0x17, 0x01, 0x8a, 0x80, 0xf6, 0x0d, 0x22, 0xa0, 0x00, 0x00, 0x80, 0x28, 0x37, 0x80, 0x2a, 0xb6, 
	0xa0, 0x00, 0x10, 0x38, 0x05, 0x37, 0x01, 0x8a, 0x80, 0xdd, 0x0d, 0x22, 0x6c, 0x26, 0x80, 0x0f, 
	0x3f, 0x08, 0x80, 0x05, 0x0d, 0xa0, 0x00, 0x00, 0x24, 0x39, 0x6c, 0xa0, 0x80, 0x00, 0xaf, 0x38, 
	0x24, 0x6f, 0x38, 0x2a, 0x6c, 0xa0, 0x80, 0x00, 0xaf, 0x38, 0x24, 0x6f, 0x38, 0x2b, 0x6c, 0x80, 
	0x00, 0x8d, 0x00, 0x9a, 0x02, 0xa7, 0x06, 0xb4, 0x0b, 0xc0, 0x11, 0xcb, 0x18, 0xd5, 0x20, 0xdf, 
	0x2a, 0xe7, 0x34, 0xee, 0x40, 0xf4, 0x4b, 0xf9, 0x58, 0xfd, 0x65, 0xff, 0x72, 0xff, 0x80, 0xff, 
	0x8d, 0xfd, 0x9a, 0xf9, 0xa7, 0xf4, 0xb4, 0xee, 0xc0, 0xe7, 0xcb, 0xdf, 0xd5, 0xd5, 0xdf, 0xcb, 
	0xe7, 0xc0, 0xee, 0xb4, 0xf4, 0xa7, 0xf9, 0x9a, 0xfd, 0x8d, 0xff, 0x80, 0xff, 0x72, 0xff, 0x65, 
	0xfd, 0x58, 0xf9, 0x4b, 0xf4, 0x40, 0xee, 0x34, 0xe7, 0x2a, 0xdf, 0x20, 0xd5, 0x18, 0xcb, 0x11, 
	0xc0, 0x0b, 0xb4, 0x06, 0xa7, 0x02, 0x9a, 0x00, 0x8d, 0x00, 0x80, 0x00, 0x72, 0x02, 0x65, 0x06, 
	0x58, 0x0b, 0x4b, 0x11, 0x3f, 0x18, 0x34, 0x20, 0x2a, 0x2a, 0x20, 0x34, 0x18, 0x3f, 0x11, 0x4b, 
	0x0b, 0x58, 0x06, 0x65, 0x02, 0x72, 0x00, 0x40, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x00, 
	0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x00, 
	0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xfd, 0xf0, 
	0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xfc, 
	0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 
	0x01, 0x01, 0xc1, 0xe1, 0xf3, 0xf7, 0x7f, 0xfc, 0xfc, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 
	0x3f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x83, 0x87, 0xcf, 0xef, 0xfe, 0x00, 
	0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x07, 0x07, 0x07, 0x03, 0x00, 0x01, 0x03, 0x07, 0x3f, 
	0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 
	0xff, 0xff, 0xff, 0xef, 0xc7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xf7, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 
	0xe0, 0xe0, 0xc0, 0x00, 0x80, 0xc0, 0xe0, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf8, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 
	0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 
	0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x04, 0x10, 0x10, 0x09, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 
	0x10, 0x8c, 0x03, 0x40, 0x90, 0x10, 0xc0, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x01, 0x02, 0x00, 
	0x49, 0x86, 0x00, 0x00, 0x00, 0xe0, 0x17, 0x00, 0x92, 0x61, 0x00, 0x00, 0x00, 0x07, 0xe8, 0x00, 
	0x00, 0x80, 0x7f, 0x00, 0x00, 0x80, 0x40, 0x00, 0x08, 0x31, 0xc0, 0x02, 0x09, 0x08, 0x03, 0x08, 
	0x08, 0x90, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 
	0x07, 0x00, 0x01, 0x06, 0x08, 0x10, 0x20, 0x02, 0xfe, 0x9e, 0x26, 0x0f, 0x07, 0x0f, 0x7f, 0x08, 
	0x08, 0x38, 0x08, 0x08, 0x8f, 0xf0, 0x00, 0x10, 0x10, 0x1c, 0x10, 0x10, 0xf1, 0x0f, 0x00, 0x40, 
	0x7f, 0x79, 0x64, 0xf0, 0xe0, 0xf0, 0xfe, 0x1c, 0xe0, 0x00, 0x80, 0x60, 0x10, 0x08, 0x04, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 
	0x41, 0x83, 0x87, 0x4f, 0x3f, 0x1f, 0x3f, 0xfc, 0xf8, 0xf1, 0xe1, 0xc1, 0x81, 0x01, 0x00, 0x02, 
	0x02, 0x42, 0x42, 0x42, 0x40, 0x40, 0x00, 0xc0, 0x20, 0x61, 0x81, 0xe1, 0x01, 0x01, 0x00, 0x3f, 
	0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x02, 0x82, 0xc1, 0xe1, 0xf2, 0xfc, 0xf8, 0xfc, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 
	0x7e, 0x7c, 0x7c, 0xfc, 0xf8, 0xf8, 0xf9, 0x48, 0x54, 0x54, 0x54, 0x48, 0x00, 0x80, 0x40, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 
	0x04, 0x0c, 0x10, 0x1c, 0x00, 0x03, 0x00, 0x7c, 0x7e, 0x3e, 0x3e, 0x3f, 0x1f, 0x1f, 0x9f, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x28, 0x24, 0x30, 0xf8, 
	0xf8, 0xf8, 0xf8, 0x7c, 0xfc, 0x7c, 0x3e, 0xc0, 0x40, 0x80, 0x00, 0x00, 0x10, 0x28, 0x10, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
	0x00, 0x03, 0x00, 0x00, 0x04, 0x0c, 0x14, 0x1f, 0x9f, 0x1f, 0x1f, 0x3e, 0x3f, 0x3e, 0x7c, 0x00, 
	0x00, 0x00, 0x00, 0xf8, 0x14, 0x24, 0x0c, 0x28, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x1e, 
	0x0f, 0x07, 0x33, 0x39, 0x19, 0x81, 0x63, 0x28, 0x10, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0x00, 
	0x00, 0x70, 0x10, 0x21, 0x41, 0x41, 0x00, 0x00, 0x00, 0x03, 0xc2, 0x03, 0x80, 0x43, 0x80, 0x1e, 
	0x04, 0x81, 0x03, 0x07, 0x8f, 0x1f, 0x7f, 0x78, 0xf0, 0xe0, 0xcc, 0x9c, 0x98, 0x81, 0xc6, 0x14, 
	0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x1f, 0x07, 0x00, 0x00, 0x00, 0x00, 0xe0, 
	0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 
	0xfe, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x73, 0x61, 0xc1, 0xc3, 0xc3, 0xc3, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfb, 0x01, 
	0x03, 0x07, 0x0e, 0x0c, 0x1c, 0x1c, 0xdc, 0xff, 0xff, 0x3f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0xf0, 
	0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc1, 0x61, 0x73, 0xbf, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xfb, 0xf7, 0xf6, 0xef, 0xde, 0xdc, 
	0xdc, 0xdc, 0xdc, 0xec, 0x6e, 0xf7, 0x7b, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xff, 0x0f, 0x3f, 0x79, 0x70, 0xe0, 0xe1, 0xe1, 0xe1, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfb, 0x01, 
	0x03, 0x07, 0x0f, 0x0e, 0x1e, 0x1e, 0xde, 0xff, 0xff, 0x9f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0xf0, 
	0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe1, 0xe1, 0xe1, 0xe0, 0x70, 0x79, 0xbf, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xfb, 0xf7, 0xf6, 0xef, 0xde, 0xde, 
	0xde, 0xde, 0xde, 0xee, 0x6f, 0xf7, 0x7b, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x9f, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xff, 0x0f, 0x3f, 0x7e, 0x7c, 0xf8, 0xf8, 0xf8, 0xf8, 0xff, 
	0xff, 0x7f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfb, 0x01, 
	0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xe7, 0xc3, 0x83, 0x83, 0x83, 0x83, 0xf0, 
	0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x7c, 0x7e, 0xbf, 0x3f, 
	0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xfb, 0xfb, 0xfb, 0xfb, 0xf7, 0xf6, 0xef, 0xde, 0xdf, 
	0xdf, 0xdf, 0xdf, 0xef, 0x6f, 0xf7, 0x7b, 0x83, 0x83, 0x83, 0x83, 0x83, 0xc3, 0xe7, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xff, 0x0f, 0x3f, 0x7f, 0x7f, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 
	0xff, 0x9f, 0x0f, 0x07, 0x07, 0x07, 0x07, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfb, 0x01, 
	0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xf9, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 
	0xfc, 0xfe, 0xfe, 0x7f, 0x7f, 0x7f, 0x7f, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x7f, 0x7f, 0xbf, 0x07, 
	0x07, 0x07, 0x07, 0x07, 0x0f, 0x9f, 0xff, 0xfb, 0xfb, 0xfb, 0xfb, 0xf7, 0xf6, 0xef, 0xde, 0xdf, 
	0xdf, 0xdf, 0xdf, 0xef, 0x6f, 0xf7, 0x7b, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf9, 0xff, 0x7f, 
	0x7f, 0x7f, 0x7f, 0x7e, 0xfe, 0xfd, 0xff, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xe7, 0xc3, 0xc1, 0xc1, 0xc1, 0xc1, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf8, 0xfb, 0x01, 
	0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf0, 
	0xfc, 0x7e, 0x3e, 0x1f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xbf, 0xc1, 
	0xc1, 0xc1, 0xc1, 0xc1, 0xc3, 0xe7, 0xff, 0xfb, 0xfb, 0xfb, 0xfb, 0xf7, 0xf6, 0xef, 0xde, 0xdf, 
	0xdf, 0xdf, 0xdf, 0xef, 0x6f, 0xf7, 0x7b, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0x1f, 
	0x1f, 0x1f, 0x1f, 0x1e, 0x3e, 0x7d, 0xff, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xf9, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0x80, 0xc0, 0xe0, 0xf0, 0x70, 0x70, 0x78, 0x7b, 0x01, 
	0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 
	0xfc, 0x9e, 0x0e, 0x07, 0x87, 0x87, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xbf, 0xf8, 
	0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf9, 0xff, 0x7b, 0x7b, 0x7b, 0x7b, 0x77, 0xf6, 0xef, 0xde, 0xdf, 
	0xdf, 0xdf, 0xdf, 0xef, 0x6f, 0xf7, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 
	0x87, 0x87, 0x07, 0x06, 0x0e, 0x9d, 0xff, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xfc, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0x80, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x38, 0x3b, 0x01, 
	0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 
	0xfc, 0xce, 0x86, 0x83, 0xc3, 0xc3, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xbf, 0xfc, 
	0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xfc, 0xff, 0x3b, 0x3b, 0x3b, 0x3b, 0x37, 0x76, 0xef, 0xde, 0xdf, 
	0xdf, 0xdf, 0xdf, 0xef, 0x6f, 0xf7, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 
	0xc3, 0xc3, 0xc3, 0x82, 0x86, 0xcd, 0xff, 0x0f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x10, 0x18, 0x1b, 0x01, 
	0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 
	0xfc, 0xe6, 0xc2, 0xc1, 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xbf, 0xfe, 
	0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0x1b, 0x1b, 0x1b, 0x1b, 0x17, 0x36, 0x6f, 0xde, 0xdf, 
	0xdf, 0xdf, 0xdf, 0xef, 0x6f, 0xf7, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 
	0xe1, 0xe1, 0xe1, 0xc0, 0xc2, 0xe5, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
	0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
	0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
	0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
	0x03, 0x07, 0x0f, 0x1f, 0x1e, 0x3e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 
	0x7c, 0x7c, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 
	0x7f, 0x3f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 
	0x07, 0x1f, 0x7f, 0xfe, 0xfc, 0xf8, 0xf0, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xf0, 
	0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 
	0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x3f, 0x7f, 0x7f, 0x01, 
	0x07, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x7e, 0x3c, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x3f, 0x7f, 0xff, 0xfe, 0x01, 
	0xff, 0xff, 0xff, 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x7c, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
	0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3e, 0xfe, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0x7e, 0x00, 0xfc, 
	0xfc, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
	0x03, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f, 
	0x3f, 0x7e, 0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 
	0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
	0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 
	0x1f, 0x1f, 0x3f, 0x7f, 0xff, 0xfe, 0xfc, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0xfc, 
	0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

/* Varvara */


@@ 113,6 279,32 @@ console_deo(Uint8 *d, Uint8 port)
}

Uint8
datetime_dei(Uint8 *d, Uint8 port)
{
/*
	time_t seconds = time(NULL);
	struct tm zt = {0};
	struct tm *t = localtime(&seconds);
	if(t == NULL)
		t = &zt;
	switch(port) {
	case 0x0: return (t->tm_year + 1900) >> 8;
	case 0x1: return (t->tm_year + 1900);
	case 0x2: return t->tm_mon;
	case 0x3: return t->tm_mday;
	case 0x4: return t->tm_hour;
	case 0x5: return t->tm_min;
	case 0x6: return t->tm_sec;
	case 0x7: return t->tm_wday;
	case 0x8: return t->tm_yday >> 8;
	case 0x9: return t->tm_yday;
	case 0xa: return t->tm_isdst;
	default: return d[port];
	}
*/
}

Uint8
screen_dei(Uint8 *d, Uint8 port)
{
	switch(port) {


@@ 197,6 389,7 @@ emu_dei(Uxn *u, Uint8 addr)
	Uint8 p = addr & 0x0f, d = addr & 0xf0;
	switch(d) {
		case 0x20: return screen_dei(&u->dev[d], p);
		case 0xc0: return datetime_dei(&u->dev[d], p);
	}
	pd->system->logToConsole("%02x", addr);
	return u->dev[addr];