static const byte k1KallakWritingSeqDOS[2037] = {
	0x00, 0x00, 0x01, 0x0E, 0x1A, 0x1B, 0x17, 0x00,
	0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C,
	0x00, 0x19, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00,
	0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x14,
	0x0F, 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10,
	0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00,
	0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00,
	0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00,
	0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00,
	0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00,
	0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10,
	0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00,
	0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00,
	0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07,
	0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00,
	0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00,
	0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00,
	0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F,
	0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00,
	0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00,
	0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D,
	0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00,
	0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00,
	0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00,
	0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10,
	0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00,
	0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00,
	0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07,
	0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00,
	0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00,
	0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00,
	0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30,
	0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00,
	0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00,
	0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10,
	0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07,
	0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00,
	0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10,
	0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00,
	0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00,
	0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07,
	0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00,
	0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D,
	0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02,
	0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00,
	0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10,
	0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00,
	0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10,
	0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01,
	0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00,
	0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00,
	0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07,
	0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10,
	0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00,
	0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00,
	0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00,
	0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00,
	0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00,
	0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07,
	0x06, 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F,
	0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05,
	0x00, 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02,
	0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95,
	0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02,
	0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94,
	0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01,
	0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B,
	0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
	0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06,
	0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05,
	0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18,
	0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05,
	0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02,
	0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D,
	0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05,
	0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B,
	0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06,
	0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14,
	0x07, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00,
	0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06,
	0x00, 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00,
	0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06,
	0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05,
	0x01, 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02,
	0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C,
	0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02,
	0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79,
	0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C,
	0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20,
	0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D,
	0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B,
	0x07, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00,
	0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06,
	0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05,
	0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18,
	0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05,
	0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02,
	0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67,
	0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02,
	0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65,
	0x00, 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00,
	0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12,
	0x06, 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F,
	0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00,
	0x20, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02,
	0x00, 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00,
	0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A,
	0x00, 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06,
	0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10,
	0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24,
	0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00,
	0x25, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18,
	0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07,
	0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10,
	0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28,
	0x00, 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18,
	0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E,
	0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07,
	0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03,
	0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06,
	0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E,
	0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07,
	0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03,
	0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06,
	0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00,
	0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00,
	0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03,
	0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06,
	0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00,
	0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00,
	0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07,
	0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18,
	0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00,
	0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00,
	0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07,
	0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03,
	0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06,
	0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00,
	0x07, 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x06,
	0x3C, 0x00, 0x01, 0x00, 0x1D
};

static const ByteProvider k1KallakWritingSeqDOSProvider = { ARRAYSIZE(k1KallakWritingSeqDOS), k1KallakWritingSeqDOS };

static const byte k1MalcolmTreeSeqDOS[534] = {
	0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00,
	0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x01,
	0x0D, 0x01, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00,
	0x10, 0x19, 0x03, 0x09, 0x18, 0x1E, 0x14, 0x18,
	0x1F, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00,
	0x0B, 0x00, 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01,
	0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F,
	0x00, 0x18, 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D,
	0x05, 0x0A, 0x02, 0x03, 0x01, 0x06, 0x06, 0x00,
	0x0B, 0x02, 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03,
	0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06,
	0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x24,
	0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18,
	0x1E, 0x0A, 0x03, 0x03, 0x01, 0x06, 0x06, 0x00,
	0x0B, 0x03, 0x15, 0x00, 0x10, 0x16, 0x50, 0x00,
	0x2D, 0x05, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06,
	0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E,
	0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06,
	0x06, 0x00, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06,
	0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01,
	0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00,
	0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18,
	0x1A, 0x18, 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06,
	0x06, 0x00, 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A,
	0x06, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06,
	0x14, 0x00, 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17,
	0x50, 0x00, 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A,
	0x07, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07,
	0x06, 0x00, 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10,
	0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06,
	0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03,
	0x01, 0x06, 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01,
	0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00,
	0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06,
	0x06, 0x00, 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01,
	0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09,
	0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04,
	0x00, 0x18, 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06,
	0x06, 0x00, 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14,
	0x00, 0x10, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03,
	0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06,
	0x00, 0x0A, 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00,
	0x04, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, 0x06,
	0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03,
	0x01, 0x06, 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00,
	0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06,
	0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x10,
	0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03,
	0x01, 0x06, 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00,
	0x03, 0x01, 0x01, 0x01, 0x11, 0x15, 0x00, 0x02,
	0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00,
	0x10, 0x10, 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06,
	0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x06, 0x06,
	0x00, 0x11, 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02,
	0x06, 0x06, 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10,
	0x1D, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03,
	0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06,
	0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02,
	0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00,
	0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02,
	0x00, 0x10, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A,
	0x11, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02,
	0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00,
	0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06,
	0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B,
	0x11, 0x02, 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19,
	0x01, 0x01, 0x01, 0x01, 0x02, 0x1D
};

static const ByteProvider k1MalcolmTreeSeqDOSProvider = { ARRAYSIZE(k1MalcolmTreeSeqDOS), k1MalcolmTreeSeqDOS };

static const byte k1WestwoodLogoSeqDOS[75] = {
	0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, 0x00, 0x00,
	0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06,
	0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, 0x03, 0x03,
	0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C,
	0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x03, 0x16,
	0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00,
	0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00,
	0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04,
	0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, 0x13,
	0x01, 0x03, 0x1D
};

static const ByteProvider k1WestwoodLogoSeqDOSProvider = { ARRAYSIZE(k1WestwoodLogoSeqDOS), k1WestwoodLogoSeqDOS };

static const byte k1KyrandiaLogoSeqDOS[92] = {
	0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02,
	0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06,
	0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00,
	0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00,
	0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03,
	0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06,
	0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06,
	0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06,
	0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06,
	0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02,
	0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00,
	0x13, 0x01, 0x06, 0x1D
};

static const ByteProvider k1KyrandiaLogoSeqDOSProvider = { ARRAYSIZE(k1KyrandiaLogoSeqDOS), k1KyrandiaLogoSeqDOS };

static const byte k1KallakMalcolmSeqDOS[619] = {
	0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00,
	0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x03,
	0x0D, 0x00, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01,
	0xC7, 0x0C, 0x02, 0x19, 0x00, 0x02, 0x04, 0x00,
	0x10, 0x00, 0x3A, 0x09, 0x19, 0x00, 0x19, 0x05,
	0x14, 0x18, 0x23, 0x0A, 0x00, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x0B, 0x00, 0x22, 0x00, 0x10, 0x02,
	0x50, 0x00, 0x3A, 0x05, 0x0A, 0x01, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x0B, 0x01, 0x07, 0x00, 0x06,
	0x3C, 0x00, 0x10, 0x03, 0x50, 0x00, 0x3A, 0x05,
	0x0A, 0x02, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B,
	0x02, 0x17, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x04,
	0x50, 0x00, 0x3A, 0x05, 0x0A, 0x03, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x0B, 0x03, 0x0A, 0x00, 0x06,
	0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x10, 0x05, 0xF0, 0x00, 0x3A, 0x0F, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x06,
	0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x04, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x0B, 0x04, 0x12, 0x00, 0x06,
	0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x78,
	0x00, 0x10, 0x07, 0xF0, 0x00, 0x3A, 0x0F, 0x0A,
	0x05, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x05,
	0x11, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10,
	0x08, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x06, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x0B, 0x06, 0x07, 0x00,
	0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00,
	0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x10, 0x09, 0x50, 0x00, 0x3A, 0x05,
	0x0A, 0x07, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B,
	0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x10, 0x0A, 0x50, 0x00, 0x3A,
	0x05, 0x0A, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00,
	0x0B, 0x08, 0x10, 0x00, 0x06, 0x3C, 0x00, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x10, 0x0B, 0xF0, 0x00,
	0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00,
	0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x10, 0x0C, 0xF0, 0x00, 0x3A, 0x0F,
	0x0A, 0x09, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B,
	0x09, 0x0E, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00,
	0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x10, 0x0D, 0x50, 0x00,
	0x3A, 0x05, 0x0A, 0x0A, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x0B, 0x0A, 0x0E, 0x00, 0x06, 0x3C, 0x00,
	0x0A, 0x0B, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B,
	0x0B, 0x02, 0x00, 0x18, 0x20, 0x0A, 0x0C, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x0B, 0x0C, 0x06, 0x00,
	0x18, 0x21, 0x0A, 0x0D, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x0B, 0x0D, 0x0C, 0x00, 0x18, 0x22, 0x0A,
	0x0E, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0E,
	0x0B, 0x00, 0x10, 0x0E, 0x50, 0x00, 0x3A, 0x05,
	0x0A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B,
	0x0F, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04,
	0x07, 0x07, 0x00, 0x10, 0x0F, 0x50, 0x00, 0x3A,
	0x05, 0x0A, 0x10, 0x03, 0x04, 0x07, 0x07, 0x00,
	0x0B, 0x10, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03,
	0x04, 0x07, 0x07, 0x00, 0x10, 0x10, 0x50, 0x00,
	0x3A, 0x05, 0x0A, 0x11, 0x03, 0x04, 0x07, 0x07,
	0x00, 0x0B, 0x11, 0x0F, 0x00, 0x06, 0x3C, 0x00,
	0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x11, 0x50,
	0x00, 0x3A, 0x05, 0x0A, 0x12, 0x03, 0x04, 0x07,
	0x07, 0x00, 0x0B, 0x12, 0x14, 0x00, 0x06, 0x3C,
	0x00, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00,
	0x0B, 0x13, 0x06, 0x00, 0x18, 0x23, 0x0A, 0x13,
	0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x07,
	0x00, 0x11, 0x06, 0x3C, 0x00, 0x13, 0x19, 0x01,
	0x01, 0x04, 0x1D
};

static const ByteProvider k1KallakMalcolmSeqDOSProvider = { ARRAYSIZE(k1KallakMalcolmSeqDOS), k1KallakMalcolmSeqDOS };

static const byte k1ForestSeqDOS[405] = {
	0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02,
	0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00,
	0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16,
	0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00,
	0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98,
	0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09,
	0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00,
	0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00,
	0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38,
	0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03,
	0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16,
	0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05,
	0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B,
	0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02,
	0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16,
	0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05,
	0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03,
	0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01,
	0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06,
	0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98,
	0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09,
	0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00,
	0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03,
	0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16,
	0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07,
	0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16,
	0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05,
	0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03,
	0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06,
	0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09,
	0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03,
	0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00,
	0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07,
	0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E,
	0x00, 0x18, 0x17, 0x0A, 0x01, 0x03, 0x07, 0x03,
	0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00,
	0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, 0x0A, 0x07,
	0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B,
	0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, 0x07, 0x03,
	0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00,
	0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03,
	0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16,
	0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07,
	0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09,
	0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16,
	0x03, 0x06, 0x09, 0x00, 0x06, 0x12, 0x00, 0x18,
	0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, 0x05, 0x16,
	0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0B, 0x02,
	0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, 0x16, 0x02,
	0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, 0x00, 0x13,
	0x01, 0x07, 0x01, 0x05, 0x1D
};

static const ByteProvider k1ForestSeqDOSProvider = { ARRAYSIZE(k1ForestSeqDOS), k1ForestSeqDOS };

static const char *const k1IntroCPSStringsDOS[2] = {
	"gemcut.cps",
	"tree.cps"
};

static const StringListProvider k1IntroCPSStringsDOSProvider = { ARRAYSIZE(k1IntroCPSStringsDOS), k1IntroCPSStringsDOS };

static const char *const k1IntroCOLStringsDOS[4] = {
	"kallak.col",
	"tree_exp.col",
	"ww.col",
	"mal-kal.col"
};

static const StringListProvider k1IntroCOLStringsDOSProvider = { ARRAYSIZE(k1IntroCOLStringsDOS), k1IntroCOLStringsDOS };

static const char *const k1IntroWSAStringsDOS[11] = {
	"kallak.wsa",
	"tree1.wsa",
	"tree2.wsa",
	"westwood.wsa",
	"mal-kal.wsa",
	"destruct.wsa",
	"kyrandia.wsa",
	"shore.wsa",
	"reunion.wsa",
	"reuniont.wsa",
	"latern.wsa"
};

static const StringListProvider k1IntroWSAStringsDOSProvider = { ARRAYSIZE(k1IntroWSAStringsDOS), k1IntroWSAStringsDOS };

static const Room k1RoomListDOS[246] = {
	{  30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF },
	{  71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF },
	{  44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF },
	{  72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF },
	{  48, 0xFFFF, 0x0005, 0xFFFF, 0x000E },
	{  74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 },
	{  46, 0xFFFF, 0x000F, 0xFFFF, 0x000B },
	{  75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 },
	{  13, 0xFFFF, 0x000C, 0xFFFF, 0x000A },
	{   5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 },
	{  84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 },
	{  37, 0xFFFF, 0x0006, 0x000C, 0x0010 },
	{  51, 0x000B, 0xFFFF, 0x000D, 0x0008 },
	{  23, 0x000C, 0xFFFF, 0x0009, 0xFFFF },
	{  25, 0x0003, 0x0004, 0xFFFF, 0xFFFF },
	{  11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 },
	{  86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF },
	{  84, 0xFFFF, 0x0022, 0x0017, 0x0016 },
	{  51, 0x0020, 0x0014, 0x0024, 0x0015 },
	{  85, 0x0014, 0x0019, 0xFFFF, 0x0024 },
	{  33, 0x001C, 0xFFFF, 0x0013, 0x0012 },
	{  31, 0x0022, 0x0012, 0xFFFF, 0x0017 },
	{  25, 0x001F, 0x0011, 0xFFFF, 0xFFFF },
	{  25, 0x0011, 0x0015, 0xFFFF, 0xFFFF },
	{   2, 0xFFFF, 0x0007, 0xFFFF, 0x001A },
	{  82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 },
	{  77, 0xFFFF, 0x0018, 0x0021, 0xFFFF },
	{  15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF },
	{  16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 },
	{  19, 0xFFFF, 0x0021, 0xFFFF, 0x001F },
	{  12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 },
	{   7, 0x0023, 0x001D, 0x0016, 0xFFFF },
	{  20, 0x001E, 0x001C, 0x0012, 0x0022 },
	{  17, 0x001A, 0x001E, 0x0022, 0x001D },
	{  22, 0x0021, 0x0020, 0x0015, 0x0011 },
	{  24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF },
	{  32, 0x0012, 0x0013, 0xFFFF, 0xFFFF },
	{  87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF },
	{   8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 },
	{  88, 0xFFFF, 0x0035, 0x0037, 0x0026 },
	{  35, 0xFFFF, 0x0036, 0x0038, 0xFFFF },
	{  47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF },
	{  28, 0x0035, 0x002B, 0x002F, 0x0037 },
	{  36, 0xFFFF, 0x002C, 0xFFFF, 0x002A },
	{  78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B },
	{  10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C },
	{  51, 0x0037, 0x002F, 0x0040, 0x003C },
	{  38, 0x002A, 0x003D, 0x0041, 0x002E },
	{  81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF },
	{  50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF },
	{ 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 },
	{ 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 },
	{  37, 0x0027, 0x002A, 0x002E, 0x0049 },
	{  34, 0x0028, 0x0039, 0xFFFF, 0xFFFF },
	{  51, 0x0036, 0x003A, 0xFFFF, 0x0038 },
	{  84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 },
	{   1, 0x0029, 0xFFFF, 0x003E, 0x003A },
	{  37, 0x0049, 0x002E, 0x003F, 0xFFFF },
	{  33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F },
	{  34, 0x003B, 0x003F, 0xFFFF, 0xFFFF },
	{  85, 0x003C, 0x0040, 0xFFFF, 0x003E },
	{ 106, 0x002E, 0x0041, 0xFFFF, 0x003F },
	{  33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 },
	{  60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{   3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{   0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  23, 0xFFFF, 0x0037, 0x003C, 0xFFFF },
	{   6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  51, 0x0063, 0x0067, 0x006B, 0x0066 },
	{  66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  18, 0x0056, 0x005A, 0x005E, 0xFFFF },
	{   6, 0xFFFF, 0x0052, 0x0056, 0xFFFF },
	{   4, 0xFFFF, 0x0053, 0x0057, 0x0051 },
	{   3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 },
	{  37, 0x0034, 0x0055, 0x0058, 0x0053 },
	{  11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 },
	{  37, 0x0051, 0x0057, 0x0050, 0xFFFF },
	{  51, 0x0052, 0xFFFF, 0x005A, 0x0056 },
	{  51, 0x0054, 0x0059, 0x005C, 0xFFFF },
	{   1, 0x0055, 0xFFFF, 0x005D, 0x0058 },
	{ 106, 0x0057, 0x005B, 0xFFFF, 0x0050 },
	{  85, 0xFFFF, 0x005C, 0xFFFF, 0x005A },
	{  37, 0x0058, 0x005D, 0x005F, 0x005B },
	{  33, 0x0059, 0xFFFF, 0xFFFF, 0x005C },
	{  51, 0x0050, 0xFFFF, 0x0061, 0xFFFF },
	{  51, 0x005C, 0xFFFF, 0x0064, 0xFFFF },
	{  37, 0xFFFF, 0x0061, 0x0065, 0xFFFF },
	{  51, 0x005E, 0x0062, 0xFFFF, 0x0060 },
	{  84, 0xFFFF, 0x0063, 0x0066, 0x0061 },
	{  84, 0xFFFF, 0x0064, 0x004B, 0x0062 },
	{  33, 0x005F, 0xFFFF, 0x0067, 0x0063 },
	{  51, 0x0060, 0xFFFF, 0x0068, 0xFFFF },
	{  37, 0x0062, 0x004B, 0x006A, 0xFFFF },
	{   1, 0x0064, 0xFFFF, 0x006C, 0x004B },
	{  34, 0x0065, 0x0069, 0xFFFF, 0xFFFF },
	{  51, 0x0031, 0x006A, 0xFFFF, 0x0068 },
	{  85, 0x0066, 0x006B, 0xFFFF, 0x0069 },
	{ 106, 0x004B, 0x006C, 0xFFFF, 0x006A },
	{  33, 0x0067, 0xFFFF, 0xFFFF, 0x006B },
	{  55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 },
	{  52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 },
	{  64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C },
	{  57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC },
	{  53, 0x0078, 0xFFFF, 0x0079, 0xFFFF },
	{  29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 },
	{  69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 },
	{  59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  59, 0xFFFF, 0x0025, 0x0072, 0xFFFF },
	{  58, 0x0072, 0x007B, 0x00BB, 0xFFFF },
	{  58, 0xFFFF, 0x007F, 0x007B, 0xFFFF },
	{  59, 0x007A, 0xFFFF, 0x007C, 0x0079 },
	{  58, 0x007B, 0x0081, 0x00BC, 0xFFFF },
	{  58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF },
	{  58, 0xFFFF, 0x0085, 0x007F, 0xFFFF },
	{  59, 0x007E, 0x0086, 0x0080, 0x007A },
	{  58, 0x007F, 0x00BD, 0x0081, 0xFFFF },
	{  59, 0x0080, 0x0087, 0x0082, 0x007C },
	{  58, 0x0081, 0xFFFF, 0x0083, 0x00BC },
	{  59, 0x0082, 0x0089, 0x0084, 0x007D },
	{  58, 0x0083, 0x008A, 0xFFFF, 0xFFFF },
	{  59, 0xFFFF, 0x008B, 0x0086, 0x007E },
	{  58, 0x0085, 0x008C, 0x00BD, 0x007F },
	{  58, 0x00BD, 0x008E, 0x0088, 0x0081 },
	{  59, 0x0087, 0xFFFF, 0x0089, 0xFFFF },
	{  58, 0x0088, 0x0090, 0x008A, 0x0083 },
	{  59, 0x0089, 0x0091, 0xFFFF, 0x0084 },
	{  58, 0xFFFF, 0x0092, 0x008C, 0x0085 },
	{  59, 0x008B, 0x006F, 0x008D, 0x0086 },
	{  58, 0x008C, 0x0093, 0x008E, 0x00BD },
	{  59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 },
	{  58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF },
	{  59, 0x008F, 0x0095, 0x0091, 0x0089 },
	{  58, 0x0090, 0x0096, 0xFFFF, 0x008A },
	{  59, 0xFFFF, 0x0098, 0xFFFF, 0x008B },
	{  59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D },
	{  58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF },
	{  58, 0x00BE, 0xFFFF, 0x0096, 0x0090 },
	{  59, 0x0095, 0x006E, 0x0097, 0x0091 },
	{  58, 0x0096, 0x009D, 0xFFFF, 0xFFFF },
	{  58, 0xFFFF, 0x009E, 0x00BF, 0x0092 },
	{  58, 0x00BF, 0x00A0, 0x009A, 0xFFFF },
	{  59, 0x0099, 0xFFFF, 0x009B, 0x0094 },
	{  58, 0x009A, 0xFFFF, 0x009C, 0xFFFF },
	{  59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF },
	{  59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 },
	{  59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 },
	{  58, 0x009E, 0x00A4, 0x00A0, 0x00BF },
	{  59, 0x009F, 0x00A5, 0xFFFF, 0x0099 },
	{  58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF },
	{  58, 0x00C0, 0x00A8, 0xFFFF, 0x009C },
	{  58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D },
	{  59, 0xFFFF, 0x00AA, 0x00A5, 0x009F },
	{  58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 },
	{  59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 },
	{  58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 },
	{  59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 },
	{  58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 },
	{  58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 },
	{  59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 },
	{  58, 0x00AB, 0x0071, 0x00C2, 0x00A6 },
	{  58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 },
	{  59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 },
	{  58, 0xFFFF, 0x00C3, 0x0071, 0x00AB },
	{  59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD },
	{  58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF },
	{  59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF },
	{  59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF },
	{  58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 },
	{  58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF },
	{  59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 },
	{  58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 },
	{  59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 },
	{  59, 0x007C, 0x0082, 0x007D, 0xFFFF },
	{  59, 0x0086, 0x008D, 0x0087, 0x0080 },
	{  59, 0x0094, 0xFFFF, 0x0095, 0x008F },
	{  59, 0x0098, 0x009F, 0x0099, 0x006F },
	{  59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF },
	{  59, 0xFFFF, 0x00A9, 0x00A3, 0x006E },
	{  59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF },
	{  58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF },
	{  59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF },
	{  58, 0xFFFF, 0x0073, 0xFFFF, 0x006D },
	{  59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF },
	{  94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF },
	{  43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 },
	{  51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF },
	{  37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF },
	{  79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 },
	{  80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD },
	{  97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 },
	{ 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{ 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF },
	{  98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 },
	{ 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF },
	{  99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{  93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF },
	{  93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD },
	{  93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF },
	{  93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE },
	{  93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE },
	{  93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF },
	{  93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 },
	{  93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 },
	{  93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 },
	{  93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF },
	{  93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 },
	{  93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF },
	{  91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF },
	{  90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD },
	{  92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB },
	{  95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF },
	{  96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 },
	{  89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
	{ 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF },
	{ 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 },
	{ 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF },
	{ 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 },
	{ 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF },
	{ 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 },
	{ 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF },
	{ 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB },
	{ 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC },
	{ 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED },
	{ 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF },
	{ 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF },
	{ 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 },
	{ 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF },
	{ 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF },
	{ 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 },
	{ 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 }
};

static const RoomProvider k1RoomListDOSProvider = { ARRAYSIZE(k1RoomListDOS), k1RoomListDOS };

static const char *const k1RoomFilenamesDOS[107] = {
	"CLIFFB",
	"XEDGEB",
	"CAVEB",
	"NCLIFF",
	"NCLIFFB",
	"CAVE",
	"NWCLIFF",
	"OAKS",
	"PLATEAU",
	"POTHUT",
	"POTION",
	"NWCLIFB",
	"SONG",
	"SORROW",
	"SPELHUT",
	"SPELL",
	"SPRING",
	"SQUARE",
	"STUMP",
	"TEMPLE",
	"WELL",
	"WILLOW",
	"WISE",
	"XEDGE",
	"RUBY",
	"ZROCK",
	"ZROCKB",
	"FORESTD",
	"FOUNTN",
	"GATECV",
	"GEMCUT",
	"CLIFF",
	"DEAD",
	"EDGE",
	"EDGEB",
	"FALLS",
	"FORESTC",
	"FORESTB",
	"GLADE",
	"GEMHUT",
	"ALGAE",
	"MIX",
	"BRIDGE",
	"GRAVE",
	"HEALER",
	"HEALHUT",
	"ALTAR",
	"BURN",
	"SICKWIL",
	"LAGOON",
	"MAPLE",
	"FORESTA",
	"ARCH",
	"CHASM",
	"EMCAV",
	"ENTER",
	"FLOWERS",
	"GEMSLOT",
	"GEN_CAV",
	"GENCAVB",
	"GOLDEN",
	"GOLDENB",
	"ICE",
	"MARKET",
	"MOONCAV",
	"MSHCAV",
	"POOL",
	"SEASONS",
	"SHRINE",
	"TREECAV",
	"EXTGEM",
	"GEM",
	"EXTHEAL",
	"BASE",
	"TRUNK",
	"BROKEN",
	"LAVA",
	"EXTSPEL",
	"EXTPOT",
	"CASTLE",
	"CGATE",
	"LEPHOLE",
	"DRAGON",
	"XEDGEC",
	"FNORTH",
	"FSOUTH",
	"FGOWEST",
	"PLTCAVE",
	"BONKBG",
	"BALCONY",
	"DARMS",
	"BRINS",
	"ALCHEMY",
	"GENHALL",
	"LANDING",
	"BELROOM",
	"UPSTAIR",
	"DNSTAIR",
	"KITCHEN",
	"KYRAGEM",
	"LIBRARY",
	"FOYER",
	"CATACOM",
	"GRTHALL",
	"FESTSTH",
	"FWSTSTH",
	"FSOUTHB"
};

static const StringListProvider k1RoomFilenamesDOSProvider = { ARRAYSIZE(k1RoomFilenamesDOS), k1RoomFilenamesDOS };

static const char *const k1CharacterImageFilenamesDOS[20] = {
	"BRANDON.CPS",
	"DAPHNE.CPS",
	"MERITH.CPS",
	"HERMAN.CPS",
	"SMALL.CPS",
	"MALCOM.CPS",
	"DRINK.CPS",
	"SHRINK.CPS",
	"HEALBR1.CPS",
	"HEALBR2.CPS",
	"SNOW1A.CPS",
	"SNOW2A.CPS",
	"BRANWILL.CPS",
	"FLUTE1.CPS",
	"FLUTE2.CPS",
	"POISON1.CPS",
	"POISON2.CPS",
	"TELEKIN.CPS",
	"BRANSTON.CPS",
	"POISON.CPS"
};

static const StringListProvider k1CharacterImageFilenamesDOSProvider = { ARRAYSIZE(k1CharacterImageFilenamesDOS), k1CharacterImageFilenamesDOS };

static const Shape k1DefaultShapesDOS[166] = {
	{   0,   0,   0,   3,  48, -12, -48 },
	{   0,   3,   0,   3,  48, -12, -48 },
	{   0,   6,   0,   3,  48, -12, -48 },
	{   0,   9,   0,   3,  48, -12, -48 },
	{   0,  12,   0,   3,  48, -12, -48 },
	{   0,  15,   0,   3,  48, -12, -48 },
	{   0,  18,   0,   3,  48, -12, -48 },
	{   0,  21,   0,   3,  48, -12, -48 },
	{   0,  24,   0,   3,  48, -12, -48 },
	{   0,  27,   0,   3,  48, -12, -48 },
	{   0,   0,  51,   2,  11,  -2,  -8 },
	{   0,   2,  51,   2,  11,  -2,  -8 },
	{   0,   4,  51,   2,  11,  -2,  -8 },
	{   0,   6,  51,   2,  11,  -2,  -8 },
	{   0,   8,  51,   2,  11,  -2,  -8 },
	{   0,  10,  51,   2,  11,  -2,  -8 },
	{   0,  12,  51,   2,  11,  -2,  -8 },
	{   0,  14,  51,   2,  11,  -2,  -8 },
	{   0,  16,  51,   2,  11,  -2,  -8 },
	{   0,  18,  51,   2,  11,  -2,  -8 },
	{   0,  20,  51,   2,  11,  -2,  -8 },
	{   0,  22,  51,   2,  11,  -2,  -8 },
	{   0,   0,  80,   3,  48, -12, -48 },
	{   0,   3,  80,   3,  48, -12, -48 },
	{   0,   6,  80,   3,  48, -12, -48 },
	{   0,   9,  80,   3,  48, -12, -48 },
	{   0,  12,  80,   3,  48, -12, -48 },
	{   0,  15,  80,   3,  48, -12, -48 },
	{   0,   0, 129,   3,  48, -12, -48 },
	{   0,   3, 129,   3,  48, -12, -48 },
	{   0,   6, 129,   3,  48, -12, -48 },
	{   0,   9, 129,   3,  48, -12, -48 },
	{   0,  12, 129,   3,  48, -12, -48 },
	{   0,  15, 129,   3,  48, -12, -48 },
	{   2,   0,   0,   3,  48, -12, -48 },
	{   2,   3,   0,   3,  48, -12, -48 },
	{   2,   6,   0,   3,  48, -12, -48 },
	{   2,   9,   0,   3,  48, -12, -48 },
	{   2,  12,   0,   3,  48, -12, -48 },
	{   2,  15,   0,   3,  48, -12, -48 },
	{   2,  18,   0,   3,  48, -12, -48 },
	{   2,  21,   0,   3,  48, -12, -48 },
	{   2,  24,   0,   3,  48, -12, -48 },
	{   2,  27,   0,   3,  48, -12, -48 },
	{   2,  30,  10,   3,  38, -16, -38 },
	{   2,  27,  48,   4,  40,  -8, -40 },
	{   2,   0,  51,   2,  11,  -4,   0 },
	{   2,   2,  51,   2,  11,  -4,   0 },
	{   2,   4,  51,   2,  11,  -4,   0 },
	{   2,   6,  51,   2,  11,  -4,   0 },
	{   2,   8,  51,   2,  11,  -4,   0 },
	{   2,  10,  51,   2,  11,  -4,   0 },
	{   2,  12,  51,   2,  11,  -4,   0 },
	{   2,  14,  51,   2,  11,  -4,   0 },
	{   2,  16,  51,   2,  11,  -4,   0 },
	{   2,  18,  51,   2,  11,  -4,   0 },
	{   2,  20,  51,   2,  11,  -4,   0 },
	{   2,  22,  51,   2,  11,  -4,   0 },
	{ 255,   0,  80,   3,  48, -12, -48 },
	{ 255,   3,  80,   3,  48, -12, -48 },
	{ 255,   6,  80,   3,  48, -12, -48 },
	{ 255,   9,  80,   3,  48, -12, -48 },
	{ 255,  12,  80,   3,  48, -12, -48 },
	{ 255,  15,  80,   3,  48, -12, -48 },
	{ 255,   0, 129,   3,  48, -12, -48 },
	{ 255,   3, 129,   3,  48, -12, -48 },
	{ 255,   6, 129,   3,  48, -12, -48 },
	{ 255,   9, 129,   3,  48, -12, -48 },
	{ 255,  12, 129,   3,  48, -12, -48 },
	{ 255,  15, 129,   3,  48, -12, -48 },
	{   3,   0,   0,   3,  48, -12, -46 },
	{   3,   3,   0,   3,  48, -12, -48 },
	{   3,   6,   0,   3,  48, -12, -48 },
	{   3,   9,   0,   3,  48, -12, -48 },
	{   3,  12,   0,   3,  48, -12, -48 },
	{   3,  15,   0,   3,  48, -12, -48 },
	{   3,  18,   0,   3,  48, -12, -48 },
	{   3,  21,   0,   3,  48, -12, -48 },
	{   3,  24,   0,   3,  48, -12, -48 },
	{   3,  27,   0,   3,  48, -12, -46 },
	{   3,  30,   0,   3,  48, -14, -47 },
	{   3,  39, 199,   1,   1, -12, -48 },
	{   3,   0,  51,   2,  11,   0,  -7 },
	{   3,   2,  51,   2,  11,   0,  -7 },
	{   3,   4,  51,   2,  11,   0,  -7 },
	{   3,   6,  51,   2,  11,   0,  -7 },
	{   3,   8,  51,   2,  11,   0,  -7 },
	{   3,  10,  51,   2,  11,   0,  -7 },
	{   3,  12,  51,   2,  11,   0,  -7 },
	{   3,  14,  51,   2,  11,   0,  -7 },
	{   3,  16,  51,   2,  11,   0,  -7 },
	{   3,  18,  51,   2,  11,   0,  -7 },
	{   3,  20,  51,   2,  11,   0,  -7 },
	{   3,  22,  51,   2,  11,   0,  -7 },
	{   3,   0,  80,   3,  48, -12, -48 },
	{   3,   3,  80,   3,  48, -12, -48 },
	{   3,   6,  80,   3,  48, -12, -48 },
	{   3,   9,  80,   3,  48, -12, -48 },
	{   3,  12,  80,   3,  48, -12, -48 },
	{   3,  15,  80,   3,  48, -12, -48 },
	{   3,   0, 129,   3,  48, -12, -48 },
	{   3,   3, 129,   3,  48, -12, -48 },
	{   3,   6, 129,   3,  48, -12, -48 },
	{   3,   9, 129,   3,  48, -12, -48 },
	{   3,  12, 129,   3,  48, -12, -48 },
	{   3,  15, 129,   3,  48, -12, -48 },
	{  12,   0,  96,   5,  29, -20, -42 },
	{  12,   5,  96,   5,  29, -20, -42 },
	{  12,  10,  96,   5,  29, -20, -42 },
	{  12,  15,  96,   5,  29, -20, -42 },
	{  12,  20,  96,   5,  29, -20, -42 },
	{  12,  25,  96,   5,  29, -20, -42 },
	{  12,  30,  96,   5,  29, -20, -42 },
	{  12,  35,  96,   5,  29, -20, -42 },
	{  12,   0, 125,   5,  29, -20, -42 },
	{  12,   5, 125,   5,  29, -20, -42 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 },
	{ 255,   0,   0,   0,   0,   0,   0 }
};

static const ShapeProvider k1DefaultShapesDOSProvider = { ARRAYSIZE(k1DefaultShapesDOS), k1DefaultShapesDOS };

static const byte k1AmuleteAnimSeqDOS[42] = {
	0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01,
	0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05,
	0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07,
	0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
	0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
	0x16, 0xFF
};

static const ByteProvider k1AmuleteAnimSeqDOSProvider = { ARRAYSIZE(k1AmuleteAnimSeqDOS), k1AmuleteAnimSeqDOS };

static const byte k1SpecialPalette1DOS[21] = {
	0x36, 0x25, 0x1C, 0x31, 0x21, 0x19, 0x2C, 0x1D,
	0x16, 0x27, 0x19, 0x13, 0x22, 0x16, 0x11, 0x1D,
	0x12, 0x0D, 0x18, 0x0F, 0x0B
};

static const ByteProvider k1SpecialPalette1DOSProvider = { ARRAYSIZE(k1SpecialPalette1DOS), k1SpecialPalette1DOS };

static const byte k1SpecialPalette2DOS[51] = {
	0x03, 0x03, 0x00, 0x37, 0x29, 0x1D, 0x33, 0x25,
	0x1A, 0x2D, 0x21, 0x17, 0x2A, 0x1D, 0x13, 0x26,
	0x19, 0x11, 0x22, 0x16, 0x0E, 0x1E, 0x12, 0x0C,
	0x1A, 0x0F, 0x0A, 0x16, 0x0C, 0x08, 0x12, 0x0A,
	0x05, 0x0E, 0x08, 0x05, 0x2D, 0x1E, 0x13, 0x27,
	0x19, 0x0F, 0x22, 0x14, 0x0C, 0x1C, 0x11, 0x0A,
	0x17, 0x0C, 0x08
};

static const ByteProvider k1SpecialPalette2DOSProvider = { ARRAYSIZE(k1SpecialPalette2DOS), k1SpecialPalette2DOS };

static const byte k1SpecialPalette3DOS[51] = {
	0x03, 0x03, 0x00, 0x25, 0x30, 0x1B, 0x24, 0x2C,
	0x18, 0x23, 0x29, 0x15, 0x22, 0x25, 0x12, 0x21,
	0x22, 0x11, 0x1F, 0x1D, 0x0D, 0x1B, 0x18, 0x0B,
	0x18, 0x13, 0x0A, 0x14, 0x0E, 0x08, 0x11, 0x0A,
	0x05, 0x0E, 0x08, 0x05, 0x21, 0x22, 0x11, 0x1D,
	0x1C, 0x0C, 0x19, 0x15, 0x0A, 0x15, 0x0F, 0x08,
	0x11, 0x0A, 0x05
};

static const ByteProvider k1SpecialPalette3DOSProvider = { ARRAYSIZE(k1SpecialPalette3DOS), k1SpecialPalette3DOS };

static const byte k1SpecialPalette4DOS[51] = {
	0x06, 0x03, 0x01, 0x33, 0x25, 0x0A, 0x2F, 0x21,
	0x0A, 0x2B, 0x1D, 0x08, 0x28, 0x1A, 0x08, 0x24,
	0x17, 0x06, 0x21, 0x22, 0x06, 0x1D, 0x11, 0x05,
	0x19, 0x0E, 0x05, 0x16, 0x0B, 0x03, 0x12, 0x0A,
	0x03, 0x0F, 0x08, 0x03, 0x28, 0x1A, 0x08, 0x22,
	0x15, 0x05, 0x1D, 0x11, 0x05, 0x17, 0x0C, 0x03,
	0x12, 0x0A, 0x03
};

static const ByteProvider k1SpecialPalette4DOSProvider = { ARRAYSIZE(k1SpecialPalette4DOS), k1SpecialPalette4DOS };

static const byte k1SpecialPalette5DOS[51] = {
	0x03, 0x03, 0x00, 0x2A, 0x1D, 0x13, 0x27, 0x1A,
	0x11, 0x24, 0x18, 0x0F, 0x21, 0x15, 0x0D, 0x1E,
	0x13, 0x0C, 0x1C, 0x11, 0x0A, 0x19, 0x0F, 0x0A,
	0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, 0x11, 0x08,
	0x05, 0x0E, 0x08, 0x05, 0x1C, 0x11, 0x0A, 0x19,
	0x0E, 0x08, 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06,
	0x11, 0x08, 0x05
};

static const ByteProvider k1SpecialPalette5DOSProvider = { ARRAYSIZE(k1SpecialPalette5DOS), k1SpecialPalette5DOS };

static const byte k1SpecialPalette6DOS[51] = {
	0x00, 0x08, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x1B,
	0x00, 0x00, 0x19, 0x00, 0x00, 0x17, 0x00, 0x00,
	0x14, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00,
	0x00, 0x0E, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x0A,
	0x00, 0x00, 0x08, 0x00, 0x13, 0x21, 0x0F, 0x11,
	0x1F, 0x0D, 0x0E, 0x1D, 0x0C, 0x0C, 0x1B, 0x0B,
	0x0A, 0x19, 0x0A
};

static const ByteProvider k1SpecialPalette6DOSProvider = { ARRAYSIZE(k1SpecialPalette6DOS), k1SpecialPalette6DOS };

static const byte k1SpecialPalette7DOS[54] = {
	0x05, 0x2B, 0x00, 0x00, 0x22, 0x00, 0x00, 0x1E,
	0x00, 0x00, 0x16, 0x01, 0x00, 0x12, 0x03, 0x00,
	0x0F, 0x01, 0x00, 0x0B, 0x03, 0x0A, 0x19, 0x0A,
	0x2D, 0x2D, 0x32, 0x29, 0x29, 0x2D, 0x25, 0x25,
	0x2B, 0x1F, 0x1F, 0x26, 0x1B, 0x1B, 0x22, 0x14,
	0x16, 0x1D, 0x11, 0x11, 0x18, 0x0D, 0x0D, 0x14,
	0x0A, 0x0A, 0x0F, 0x06, 0x06, 0x0B
};

static const ByteProvider k1SpecialPalette7DOSProvider = { ARRAYSIZE(k1SpecialPalette7DOS), k1SpecialPalette7DOS };

static const byte k1SpecialPalette8DOS[54] = {
	0x12, 0x37, 0x3F, 0x14, 0x31, 0x3F, 0x14, 0x29,
	0x3F, 0x14, 0x22, 0x3F, 0x14, 0x1B, 0x3F, 0x14,
	0x14, 0x3F, 0x0E, 0x0F, 0x37, 0x14, 0x29, 0x3F,
	0x2F, 0x3F, 0x3D, 0x26, 0x3F, 0x3F, 0x15, 0x3F,
	0x3F, 0x14, 0x3B, 0x3F, 0x12, 0x37, 0x3F, 0x14,
	0x31, 0x3F, 0x14, 0x29, 0x3F, 0x14, 0x22, 0x3F,
	0x14, 0x1B, 0x3F, 0x14, 0x14, 0x3F
};

static const ByteProvider k1SpecialPalette8DOSProvider = { ARRAYSIZE(k1SpecialPalette8DOS), k1SpecialPalette8DOS };

static const byte k1SpecialPalette9DOS[45] = {
	0x36, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2F, 0x00,
	0x00, 0x2C, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26,
	0x00, 0x00, 0x23, 0x00, 0x00, 0x20, 0x00, 0x00,
	0x1C, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, 0x00,
	0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x0D,
	0x00, 0x00, 0x0A, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette9DOSProvider = { ARRAYSIZE(k1SpecialPalette9DOS), k1SpecialPalette9DOS };

static const byte k1SpecialPalette10DOS[45] = {
	0x29, 0x00, 0x00, 0x26, 0x00, 0x00, 0x24, 0x00,
	0x00, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x1E,
	0x00, 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00,
	0x17, 0x00, 0x00, 0x15, 0x00, 0x00, 0x12, 0x00,
	0x00, 0x11, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C,
	0x00, 0x00, 0x0A, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette10DOSProvider = { ARRAYSIZE(k1SpecialPalette10DOS), k1SpecialPalette10DOS };

static const byte k1SpecialPalette11DOS[45] = {
	0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00,
	0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, 0x18,
	0x00, 0x00, 0x16, 0x00, 0x00, 0x15, 0x00, 0x00,
	0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00,
	0x00, 0x0E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0B,
	0x00, 0x00, 0x0A, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette11DOSProvider = { ARRAYSIZE(k1SpecialPalette11DOS), k1SpecialPalette11DOS };

static const byte k1SpecialPalette12DOS[45] = {
	0x19, 0x00, 0x00, 0x18, 0x00, 0x00, 0x16, 0x00,
	0x00, 0x15, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13,
	0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x00,
	0x11, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0E, 0x00,
	0x00, 0x0D, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0B,
	0x00, 0x00, 0x0A, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette12DOSProvider = { ARRAYSIZE(k1SpecialPalette12DOS), k1SpecialPalette12DOS };

static const byte k1SpecialPalette13DOS[45] = {
	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
};

static const ByteProvider k1SpecialPalette13DOSProvider = { ARRAYSIZE(k1SpecialPalette13DOS), k1SpecialPalette13DOS };

static const byte k1SpecialPalette14DOS[60] = {
	0x0E, 0x28, 0x3F, 0x0C, 0x24, 0x3B, 0x0A, 0x20,
	0x38, 0x0A, 0x1C, 0x34, 0x08, 0x19, 0x31, 0x08,
	0x15, 0x2D, 0x05, 0x13, 0x2A, 0x05, 0x11, 0x27,
	0x03, 0x0D, 0x24, 0x03, 0x0A, 0x20, 0x03, 0x08,
	0x1D, 0x01, 0x06, 0x19, 0x01, 0x05, 0x16, 0x00,
	0x03, 0x13, 0x00, 0x01, 0x0F, 0x00, 0x01, 0x0C,
	0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00,
	0x03, 0x00, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette14DOSProvider = { ARRAYSIZE(k1SpecialPalette14DOS), k1SpecialPalette14DOS };

static const byte k1SpecialPalette15DOS[45] = {
	0x24, 0x00, 0x39, 0x21, 0x00, 0x36, 0x1F, 0x00,
	0x32, 0x1C, 0x00, 0x2D, 0x1A, 0x00, 0x2A, 0x17,
	0x00, 0x26, 0x15, 0x00, 0x22, 0x12, 0x00, 0x1E,
	0x11, 0x00, 0x1A, 0x0E, 0x00, 0x16, 0x0B, 0x00,
	0x12, 0x0A, 0x00, 0x0F, 0x06, 0x00, 0x0B, 0x05,
	0x00, 0x08, 0x01, 0x00, 0x03
};

static const ByteProvider k1SpecialPalette15DOSProvider = { ARRAYSIZE(k1SpecialPalette15DOS), k1SpecialPalette15DOS };

static const byte k1SpecialPalette16DOS[33] = {
	0x00, 0x3F, 0x3F, 0x00, 0x38, 0x38, 0x00, 0x34,
	0x34, 0x00, 0x30, 0x30, 0x00, 0x2D, 0x2D, 0x00,
	0x29, 0x29, 0x00, 0x25, 0x25, 0x00, 0x1F, 0x1F,
	0x00, 0x1B, 0x1B, 0x00, 0x16, 0x16, 0x00, 0x11,
	0x11
};

static const ByteProvider k1SpecialPalette16DOSProvider = { ARRAYSIZE(k1SpecialPalette16DOS), k1SpecialPalette16DOS };

static const byte k1SpecialPalette17DOS[33] = {
	0x3B, 0x3B, 0x3B, 0x36, 0x36, 0x36, 0x32, 0x32,
	0x32, 0x2D, 0x2D, 0x2D, 0x2A, 0x2A, 0x2A, 0x26,
	0x26, 0x26, 0x21, 0x21, 0x21, 0x1D, 0x1D, 0x1D,
	0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x11, 0x11,
	0x11
};

static const ByteProvider k1SpecialPalette17DOSProvider = { ARRAYSIZE(k1SpecialPalette17DOS), k1SpecialPalette17DOS };

static const byte k1SpecialPalette18DOS[21] = {
	0x0F, 0x23, 0x1C, 0x2A, 0x36, 0x3F, 0x24, 0x2F,
	0x38, 0x1F, 0x2A, 0x32, 0x1A, 0x24, 0x2B, 0x15,
	0x1E, 0x25, 0x11, 0x19, 0x1F
};

static const ByteProvider k1SpecialPalette18DOSProvider = { ARRAYSIZE(k1SpecialPalette18DOS), k1SpecialPalette18DOS };

static const byte k1SpecialPalette19DOS[21] = {
	0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00,
	0x38, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00,
	0x00, 0x25, 0x00, 0x00, 0x1F
};

static const ByteProvider k1SpecialPalette19DOSProvider = { ARRAYSIZE(k1SpecialPalette19DOS), k1SpecialPalette19DOS };

static const byte k1SpecialPalette20DOS[21] = {
	0x26, 0x1B, 0x1B, 0x3F, 0x34, 0x34, 0x3B, 0x2F,
	0x2F, 0x39, 0x2B, 0x2B, 0x36, 0x26, 0x27, 0x33,
	0x22, 0x23, 0x31, 0x1F, 0x20
};

static const ByteProvider k1SpecialPalette20DOSProvider = { ARRAYSIZE(k1SpecialPalette20DOS), k1SpecialPalette20DOS };

static const byte k1SpecialPalette21DOS[21] = {
	0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x38, 0x00,
	0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x25,
	0x00, 0x00, 0x1F, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette21DOSProvider = { ARRAYSIZE(k1SpecialPalette21DOS), k1SpecialPalette21DOS };

static const byte k1SpecialPalette22DOS[21] = {
	0x1F, 0x1F, 0x0C, 0x3F, 0x3F, 0x21, 0x3B, 0x3B,
	0x1F, 0x37, 0x37, 0x1D, 0x34, 0x34, 0x1B, 0x30,
	0x30, 0x19, 0x2D, 0x2D, 0x17
};

static const ByteProvider k1SpecialPalette22DOSProvider = { ARRAYSIZE(k1SpecialPalette22DOS), k1SpecialPalette22DOS };

static const byte k1SpecialPalette23DOS[21] = {
	0x1F, 0x1F, 0x00, 0x3F, 0x3F, 0x00, 0x3B, 0x3B,
	0x00, 0x37, 0x37, 0x00, 0x34, 0x34, 0x00, 0x30,
	0x30, 0x00, 0x2D, 0x2D, 0x00
};

static const ByteProvider k1SpecialPalette23DOSProvider = { ARRAYSIZE(k1SpecialPalette23DOS), k1SpecialPalette23DOS };

static const byte k1SpecialPalette24DOS[48] = {
	0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33,
	0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x18,
	0x26, 0x13, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D,
	0x0D, 0x1B, 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18,
	0x0A, 0x08, 0x17, 0x08, 0x08, 0x16, 0x08, 0x08,
	0x15, 0x06, 0x06, 0x14, 0x06, 0x06, 0x11, 0x06
};

static const ByteProvider k1SpecialPalette24DOSProvider = { ARRAYSIZE(k1SpecialPalette24DOS), k1SpecialPalette24DOS };

static const byte k1SpecialPalette25DOS[48] = {
	0x36, 0x38, 0x2C, 0x31, 0x36, 0x23, 0x2A, 0x33,
	0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x1E,
	0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F,
	0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, 0x1B,
	0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, 0x0A, 0x0A,
	0x18, 0x0A, 0x0A, 0x18, 0x0A, 0x06, 0x14, 0x06
};

static const ByteProvider k1SpecialPalette25DOSProvider = { ARRAYSIZE(k1SpecialPalette25DOS), k1SpecialPalette25DOS };

static const byte k1SpecialPalette26DOS[48] = {
	0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33,
	0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18,
	0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x11,
	0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D,
	0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0A,
	0x19, 0x0A, 0x0A, 0x19, 0x0A, 0x06, 0x13, 0x06
};

static const ByteProvider k1SpecialPalette26DOSProvider = { ARRAYSIZE(k1SpecialPalette26DOS), k1SpecialPalette26DOS };

static const byte k1SpecialPalette27DOS[48] = {
	0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33,
	0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18,
	0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F,
	0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D,
	0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D,
	0x19, 0x0C, 0x0D, 0x19, 0x0C, 0x08, 0x16, 0x08
};

static const ByteProvider k1SpecialPalette27DOSProvider = { ARRAYSIZE(k1SpecialPalette27DOS), k1SpecialPalette27DOS };

static const byte k1SpecialPalette28DOS[48] = {
	0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33,
	0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E,
	0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F,
	0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21,
	0x0F, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D,
	0x1B, 0x0C, 0x0D, 0x1B, 0x0C, 0x08, 0x17, 0x08
};

static const ByteProvider k1SpecialPalette28DOSProvider = { ARRAYSIZE(k1SpecialPalette28DOS), k1SpecialPalette28DOS };

static const byte k1SpecialPalette29DOS[48] = {
	0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33,
	0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E,
	0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F,
	0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21,
	0x0F, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E,
	0x1D, 0x0D, 0x0E, 0x1D, 0x0D, 0x08, 0x17, 0x08
};

static const ByteProvider k1SpecialPalette29DOSProvider = { ARRAYSIZE(k1SpecialPalette29DOS), k1SpecialPalette29DOS };

static const byte k1SpecialPalette30DOS[60] = {
	0x1E, 0x1D, 0x3F, 0x1A, 0x19, 0x3F, 0x14, 0x12,
	0x3B, 0x12, 0x11, 0x37, 0x11, 0x11, 0x33, 0x0F,
	0x0E, 0x2F, 0x0E, 0x0D, 0x2C, 0x0D, 0x0C, 0x28,
	0x0B, 0x0B, 0x24, 0x0A, 0x0A, 0x20, 0x0A, 0x0A,
	0x1D, 0x05, 0x05, 0x18, 0x03, 0x03, 0x13, 0x01,
	0x01, 0x11, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x05,
	0x00, 0x0A, 0x1A, 0x00, 0x0F, 0x13, 0x00, 0x14,
	0x11, 0x0F, 0x0D, 0x00
};

static const ByteProvider k1SpecialPalette30DOSProvider = { ARRAYSIZE(k1SpecialPalette30DOS), k1SpecialPalette30DOS };

static const byte k1SpecialPalette31DOS[39] = {
	0x2B, 0x19, 0x34, 0x27, 0x17, 0x30, 0x23, 0x14,
	0x2C, 0x20, 0x12, 0x27, 0x1C, 0x11, 0x23, 0x18,
	0x0E, 0x1E, 0x15, 0x0C, 0x1A, 0x11, 0x0A, 0x15,
	0x0E, 0x08, 0x11, 0x0A, 0x05, 0x0C, 0x06, 0x03,
	0x08, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette31DOSProvider = { ARRAYSIZE(k1SpecialPalette31DOS), k1SpecialPalette31DOS };

static const byte k1SpecialPalette32DOS[39] = {
	0x12, 0x12, 0x16, 0x11, 0x11, 0x14, 0x0F, 0x0F,
	0x12, 0x0D, 0x0D, 0x11, 0x0B, 0x0B, 0x0E, 0x0A,
	0x0A, 0x0C, 0x08, 0x08, 0x0A, 0x08, 0x08, 0x08,
	0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x03, 0x03,
	0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00
};

static const ByteProvider k1SpecialPalette32DOSProvider = { ARRAYSIZE(k1SpecialPalette32DOS), k1SpecialPalette32DOS };

static const byte k1SpecialPalette33DOS[60] = {
	0x3F, 0x3D, 0x2F, 0x3F, 0x3D, 0x29, 0x3F, 0x3D,
	0x23, 0x3F, 0x3D, 0x1D, 0x3F, 0x3B, 0x17, 0x3F,
	0x3B, 0x11, 0x3F, 0x3B, 0x0B, 0x3F, 0x3B, 0x05,
	0x3F, 0x3B, 0x00, 0x3D, 0x38, 0x00, 0x3B, 0x34,
	0x00, 0x39, 0x33, 0x00, 0x39, 0x30, 0x00, 0x37,
	0x2D, 0x00, 0x36, 0x2B, 0x00, 0x34, 0x28, 0x00,
	0x33, 0x26, 0x00, 0x32, 0x24, 0x00, 0x30, 0x22,
	0x00, 0x2F, 0x20, 0x00
};

static const ByteProvider k1SpecialPalette33DOSProvider = { ARRAYSIZE(k1SpecialPalette33DOS), k1SpecialPalette33DOS };

static const Shape k1Healing1ShapesDOS[22] = {
	{   8,   0,   0,   3,  48, -12, -48 },
	{   8,   3,   0,   3,  48, -12, -48 },
	{   8,   6,   0,   3,  48, -12, -48 },
	{   8,   9,   0,   3,  48, -12, -48 },
	{   8,  12,   0,   3,  48, -12, -48 },
	{   8,  15,   0,   3,  48, -12, -48 },
	{   8,  18,   0,   3,  48, -12, -48 },
	{   8,  21,   0,   3,  48, -12, -48 },
	{   8,  24,   0,   3,  48, -12, -48 },
	{   8,  27,   0,   3,  48, -12, -48 },
	{   8,  30,   0,   3,  48, -12, -48 },
	{   8,  33,   0,   3,  48, -12, -48 },
	{   8,   0,  48,   3,  48, -12, -48 },
	{   8,   3,  48,   3,  48, -12, -48 },
	{   8,   6,  48,   3,  48, -12, -48 },
	{   8,   9,  48,   3,  48, -12, -48 },
	{   8,  12,  48,   3,  48, -12, -48 },
	{   8,  15,  48,   3,  48, -12, -48 },
	{   8,  18,  48,   3,  48, -12, -48 },
	{   8,  21,  48,   3,  48, -12, -48 },
	{   8,  24,  48,   3,  48, -12, -48 },
	{   8,  27,  48,   3,  48, -12, -48 }
};

static const ShapeProvider k1Healing1ShapesDOSProvider = { ARRAYSIZE(k1Healing1ShapesDOS), k1Healing1ShapesDOS };

static const Shape k1Healing2ShapesDOS[30] = {
	{   9,   0,   0,   3,  48, -11, -48 },
	{   9,   3,   0,   3,  48, -11, -48 },
	{   9,   6,   0,   3,  48, -11, -48 },
	{   9,   9,   0,   3,  48, -11, -48 },
	{   9,  12,   0,   3,  48, -11, -48 },
	{   9,  15,   0,   3,  48, -11, -48 },
	{   9,  18,   0,   3,  48, -11, -48 },
	{   9,  21,   0,   3,  48, -11, -48 },
	{   9,  24,   0,   3,  48, -11, -48 },
	{   9,  27,   0,   3,  48, -11, -48 },
	{   9,  30,   0,   3,  48, -11, -48 },
	{   9,  33,   0,   3,  48, -11, -48 },
	{   9,   0,  48,   3,  48, -11, -48 },
	{   9,   3,  48,   3,  48, -11, -48 },
	{   9,   6,  48,   3,  48, -11, -48 },
	{   9,   9,  48,   3,  48, -11, -48 },
	{   9,  12,  48,   3,  48, -11, -48 },
	{   9,  15,  48,   3,  48, -11, -48 },
	{   9,  18,  48,   3,  48, -11, -48 },
	{   9,  21,  48,   3,  48, -11, -48 },
	{   9,  24,  48,   3,  48, -11, -48 },
	{   9,  27,  48,   3,  48, -11, -48 },
	{   9,  30,  48,   3,  48, -11, -48 },
	{   9,  33,  48,   3,  48, -11, -48 },
	{   9,   0,  96,   3,  48, -11, -48 },
	{   9,   3,  96,   3,  48, -11, -48 },
	{   9,   6,  96,   3,  48, -11, -48 },
	{   9,   9,  96,   3,  48, -11, -48 },
	{   9,  12,  96,   3,  48, -11, -48 },
	{   9,  15,  96,   3,  48, -11, -48 }
};

static const ShapeProvider k1Healing2ShapesDOSProvider = { ARRAYSIZE(k1Healing2ShapesDOS), k1Healing2ShapesDOS };

static const Shape k1PoisonDeathShapesDOS[20] = {
	{  19,   0,   0,   8,  48, -31, -48 },
	{  19,   8,   0,   8,  48, -31, -48 },
	{  19,  16,   0,   8,  48, -31, -48 },
	{  19,  24,   0,   8,  48, -31, -48 },
	{  19,  32,   0,   8,  48, -31, -48 },
	{  19,   0,  48,   8,  48, -31, -48 },
	{  19,   8,  48,   8,  48, -31, -48 },
	{  19,  16,  48,   8,  48, -31, -48 },
	{  19,  24,  48,   8,  48, -31, -48 },
	{  19,  32,  48,   8,  48, -31, -48 },
	{  19,   0,  96,   8,  48, -31, -48 },
	{  19,   8,  96,   8,  48, -31, -48 },
	{  19,  16,  96,   8,  48, -31, -48 },
	{  19,  24,  96,   8,  48, -31, -48 },
	{  19,  32,  96,   8,  48, -31, -48 },
	{  19,   0, 144,   8,  48, -31, -48 },
	{  19,   8, 144,   8,  48, -31, -48 },
	{  19,  16, 144,   8,  48, -31, -48 },
	{  19,  24, 144,   8,  48, -31, -48 },
	{  19,  32, 144,   8,  48, -31, -48 }
};

static const ShapeProvider k1PoisonDeathShapesDOSProvider = { ARRAYSIZE(k1PoisonDeathShapesDOS), k1PoisonDeathShapesDOS };

static const Shape k1FluteShapesDOS[36] = {
	{  13,   0,   0,   3,  75, -12, -75 },
	{  13,   3,   0,   3,  75, -12, -75 },
	{  13,   6,   0,   3,  75, -12, -75 },
	{  13,   9,   0,   3,  75, -12, -75 },
	{  13,  12,   0,   3,  75, -12, -75 },
	{  13,  15,   0,   3,  75, -12, -75 },
	{  13,  18,   0,   3,  75, -12, -75 },
	{  13,  21,   0,   3,  75, -12, -75 },
	{  13,  24,   0,   3,  75, -12, -75 },
	{  13,  27,   0,   3,  75, -12, -75 },
	{  13,  30,   0,   3,  75, -12, -75 },
	{  13,  33,   0,   3,  75, -12, -75 },
	{  13,  36,  75,   3,  75, -12, -75 },
	{  13,   0,  75,   3,  75, -12, -75 },
	{  13,   3,  75,   3,  75, -12, -75 },
	{  13,   6,  75,   3,  75, -12, -75 },
	{  13,   9,  75,   3,  75, -12, -75 },
	{  13,  12,  75,   3,  75, -12, -75 },
	{  13,  15,  75,   3,  75, -12, -75 },
	{  13,  18,  75,   3,  75, -12, -75 },
	{  13,  21,  75,   3,  75, -12, -75 },
	{  13,  24,  75,   3,  75, -12, -75 },
	{  13,  27,  75,   3,  75, -12, -75 },
	{  13,  30,  75,   3,  75, -12, -75 },
	{  13,  33,  75,   3,  75, -12, -75 },
	{  13,  36,  75,   3,  75, -12, -75 },
	{  14,   0,   0,   3,  75, -12, -75 },
	{  14,   3,   0,   3,  75, -12, -75 },
	{  14,   6,   0,   3,  75, -12, -75 },
	{  14,   9,   0,   3,  75, -12, -75 },
	{  14,  12,   0,   3,  75, -12, -75 },
	{  14,  15,   0,   3,  75, -12, -75 },
	{  14,  18,   0,   3,  75, -12, -75 },
	{  14,  21,   0,   3,  75, -12, -75 },
	{  14,  24,   0,   3,  75, -12, -75 },
	{  14,  27,   0,   3,  75, -12, -75 }
};

static const ShapeProvider k1FluteShapesDOSProvider = { ARRAYSIZE(k1FluteShapesDOS), k1FluteShapesDOS };

static const Shape k1Winter1ShapesDOS[7] = {
	{  10,   5,   0,   5,  66, -20, -65 },
	{  10,  10,   0,   5,  66, -20, -65 },
	{  10,  15,   0,   5,  66, -20, -65 },
	{  10,  20,   0,   5,  66, -20, -65 },
	{  10,  25,   0,   5,  66, -20, -65 },
	{  10,  30,   0,   5,  66, -20, -65 },
	{  10,  35,   0,   5,  66, -20, -65 }
};

static const ShapeProvider k1Winter1ShapesDOSProvider = { ARRAYSIZE(k1Winter1ShapesDOS), k1Winter1ShapesDOS };

static const Shape k1Winter2ShapesDOS[35] = {
	{  10,   0,  66,   5,  66, -20, -65 },
	{  10,   5,  66,   5,  66, -20, -65 },
	{  10,  10,  66,   5,  66, -20, -65 },
	{  10,  15,  66,   5,  66, -20, -65 },
	{  10,  20,  66,   5,  66, -20, -65 },
	{  10,  25,  66,   5,  66, -20, -65 },
	{  10,  30,  66,   5,  66, -20, -65 },
	{  10,  35,  66,   5,  66, -20, -65 },
	{  10,   0, 132,   5,  66, -20, -65 },
	{  10,   5, 132,   5,  66, -20, -65 },
	{  10,  10, 132,   5,  66, -20, -65 },
	{  10,  15, 132,   5,  66, -20, -65 },
	{  10,  20, 132,   5,  66, -20, -65 },
	{  10,  25, 132,   5,  66, -20, -65 },
	{  10,  30, 132,   5,  66, -20, -65 },
	{  10,  35, 132,   5,  66, -20, -65 },
	{  11,   0,   0,   5,  66, -20, -65 },
	{  11,   5,   0,   5,  66, -20, -65 },
	{  11,  10,   0,   5,  66, -20, -65 },
	{  11,  15,   0,   5,  66, -20, -65 },
	{  11,  20,   0,   5,  66, -20, -65 },
	{  11,  25,   0,   5,  66, -20, -65 },
	{  11,  30,   0,   5,  66, -20, -65 },
	{  11,  35,   0,   5,  66, -20, -65 },
	{  11,   0,  66,   5,  66, -20, -65 },
	{  11,   5,  66,   5,  66, -20, -65 },
	{  11,  10,  66,   5,  66, -20, -65 },
	{  11,  15,  66,   5,  66, -20, -65 },
	{  11,  20,  66,   5,  66, -20, -65 },
	{  11,  25,  66,   5,  66, -20, -65 },
	{  11,  30,  66,   5,  66, -20, -65 },
	{  11,  35,  66,   5,  66, -20, -65 },
	{  11,   0, 132,   5,  66, -20, -65 },
	{  11,   5, 132,   5,  66, -20, -65 },
	{  11,  10, 132,   5,  66, -20, -65 }
};

static const ShapeProvider k1Winter2ShapesDOSProvider = { ARRAYSIZE(k1Winter2ShapesDOS), k1Winter2ShapesDOS };

static const Shape k1Winter3ShapesDOS[4] = {
	{  11,  15, 132,   5,  66, -20, -65 },
	{  11,  20, 132,   5,  66, -20, -65 },
	{  11,  25, 132,   5,  66, -20, -65 },
	{  11,  30, 132,   5,  66, -20, -65 }
};

static const ShapeProvider k1Winter3ShapesDOSProvider = { ARRAYSIZE(k1Winter3ShapesDOS), k1Winter3ShapesDOS };

static const Shape k1DrinkShapesDOS[15] = {
	{   6,   0,   0,   4,  48, -20, -48 },
	{   6,   4,   0,   4,  48, -20, -48 },
	{   6,   8,   0,   4,  48, -20, -48 },
	{   6,  12,   0,   4,  48, -20, -48 },
	{   6,  16,   0,   4,  48, -20, -48 },
	{   6,  20,   0,   5,  48, -20, -48 },
	{   6,   0,  48,   5,  54, -20, -54 },
	{   6,   5,  48,   5,  54, -20, -54 },
	{   6,  10,  48,   5,  54, -20, -54 },
	{   7,   0,   0,   3,  43, -12, -43 },
	{   7,   3,   3,   2,  40,  -8, -40 },
	{   7,   5,   7,   2,  36,  -8, -36 },
	{   7,   7,  10,   2,  33,  -8, -33 },
	{   7,   9,  12,   2,  31,  -8, -31 },
	{   7,  11,  15,   2,  28,  -8, -28 }
};

static const ShapeProvider k1DrinkShapesDOSProvider = { ARRAYSIZE(k1DrinkShapesDOS), k1DrinkShapesDOS };

static const Shape k1WispShapesDOS[26] = {
	{  12,   0,   0,   5,  48, -20, -48 },
	{  12,   5,   0,   5,  48, -20, -48 },
	{  12,  10,   0,   5,  48, -20, -48 },
	{  12,  15,   0,   5,  48, -20, -48 },
	{  12,  20,   0,   5,  48, -20, -48 },
	{  12,  25,   0,   5,  48, -20, -48 },
	{  12,  30,   0,   5,  48, -20, -48 },
	{  12,  35,   0,   5,  48, -20, -48 },
	{  12,   0,  48,   5,  48, -20, -48 },
	{  12,   5,  48,   5,  48, -20, -48 },
	{  12,  10,  48,   5,  48, -20, -48 },
	{  12,  15,  48,   5,  48, -20, -48 },
	{  12,  20,  48,   5,  48, -20, -48 },
	{  12,  25,  48,   5,  48, -20, -48 },
	{  12,  30,  48,   5,  48, -20, -48 },
	{  12,  35,  48,   5,  48, -20, -48 },
	{  12,   0,  96,   5,  29, -20, -42 },
	{  12,   5,  96,   5,  29, -20, -42 },
	{  12,  10,  96,   5,  29, -20, -42 },
	{  12,  15,  96,   5,  29, -20, -42 },
	{  12,  20,  96,   5,  29, -20, -42 },
	{  12,  25,  96,   5,  29, -20, -42 },
	{  12,  30,  96,   5,  29, -20, -42 },
	{  12,  35,  96,   5,  29, -20, -42 },
	{  12,   0, 125,   5,  29, -20, -42 },
	{  12,   5, 125,   5,  29, -20, -42 }
};

static const ShapeProvider k1WispShapesDOSProvider = { ARRAYSIZE(k1WispShapesDOS), k1WispShapesDOS };

static const Shape k1MagicAnimShapesDOS[5] = {
	{  17,   0,   0,   8,  49, -32, -49 },
	{  17,   8,   0,   8,  49, -32, -49 },
	{  17,  16,   0,   8,  49, -32, -49 },
	{  17,  24,   0,   8,  49, -32, -49 },
	{  17,  32,   0,   8,  49, -32, -49 }
};

static const ShapeProvider k1MagicAnimShapesDOSProvider = { ARRAYSIZE(k1MagicAnimShapesDOS), k1MagicAnimShapesDOS };

static const Shape k1BranStoneShapesDOS[15] = {
	{  18,   0,   0,   5,  51, -20, -50 },
	{  18,   5,   0,   5,  51, -20, -50 },
	{  18,  10,   0,   5,  51, -20, -50 },
	{  18,  15,   0,   5,  51, -20, -50 },
	{  18,  20,   0,   5,  51, -20, -50 },
	{  18,  25,   0,   5,  51, -20, -50 },
	{  18,  30,   0,   5,  51, -20, -50 },
	{  18,  35,   0,   5,  51, -20, -50 },
	{  18,   0,  51,   5,  51, -20, -50 },
	{  18,   5,  51,   5,  51, -20, -50 },
	{  18,  10,  51,   5,  51, -20, -50 },
	{  18,  15,  51,   5,  51, -20, -50 },
	{  18,  20,  51,   5,  51, -20, -50 },
	{  18,  25,  51,   5,  51, -20, -50 },
	{   0,   0,   0,   0,   0,   0,   0 }
};

static const ShapeProvider k1BranStoneShapesDOSProvider = { ARRAYSIZE(k1BranStoneShapesDOS), k1BranStoneShapesDOS };

static const byte k1OutroReunionSeqDOS[1351] = {
	0x1A, 0x00, 0x08, 0x01, 0x06, 0x01, 0x00, 0x02,
	0x08, 0x00, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x14, 0x0A, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00,
	0x0B, 0x00, 0x09, 0x00, 0x10, 0x20, 0x5A, 0x00,
	0x3A, 0x02, 0x02, 0x08, 0x0D, 0x50, 0x00, 0x22,
	0x07, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, 0x00,
	0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0B,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08,
	0x0C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02,
	0x08, 0x0D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00,
	0x02, 0x08, 0x0E, 0x50, 0x00, 0x22, 0x07, 0x10,
	0x00, 0x0A, 0x01, 0x03, 0x08, 0x07, 0x08, 0x00,
	0x0B, 0x01, 0x04, 0x00, 0x10, 0x21, 0x5A, 0x00,
	0x3A, 0x02, 0x0A, 0x02, 0x02, 0x08, 0x14, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07,
	0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03,
	0x08, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, 0x08,
	0x00, 0x0B, 0x02, 0x01, 0x00, 0x03, 0x08, 0x07,
	0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03,
	0x08, 0x07, 0x08, 0x00, 0x10, 0x22, 0x5A, 0x00,
	0x3A, 0x02, 0x0A, 0x03, 0x03, 0x08, 0x07, 0x08,
	0x00, 0x0B, 0x03, 0x0B, 0x00, 0x10, 0x23, 0x78,
	0x00, 0x3A, 0x0F, 0x0A, 0x03, 0x03, 0x08, 0x07,
	0x08, 0x00, 0x0B, 0x03, 0x05, 0x00, 0x06, 0x28,
	0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07,
	0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22,
	0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00,
	0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08,
	0x2D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02,
	0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x24,
	0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, 0x33, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x34,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x35, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x36, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x37, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00,
	0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x36,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x37, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x06,
	0x0A, 0x00, 0x10, 0x25, 0x5A, 0x00, 0x3A, 0x02,
	0x02, 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00,
	0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x34, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x26,
	0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x38, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x39,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x38, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x3B, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x06, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x38,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x39, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x06, 0x3C, 0x00, 0x11, 0x02, 0x08, 0x33, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x32,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x31, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08,
	0x2E, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00,
	0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x42,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x43, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x44, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x45, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x27, 0x5A,
	0x00, 0x3A, 0x02, 0x02, 0x08, 0x4E, 0x50, 0x00,
	0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x4F, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x50,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x51, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x52, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x53, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x54, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x06, 0x78, 0x00, 0x10, 0x28,
	0x78, 0x00, 0x3A, 0x0F, 0x0A, 0x05, 0x02, 0x08,
	0x59, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02,
	0x08, 0x5A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00,
	0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, 0x07, 0x08,
	0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x07,
	0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x0B, 0x05, 0x01, 0x00, 0x06,
	0x28, 0x00, 0x10, 0x29, 0x78, 0x00, 0x3A, 0x0F,
	0x0A, 0x06, 0x02, 0x08, 0x59, 0x50, 0x00, 0x22,
	0x07, 0x08, 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00,
	0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50,
	0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5C,
	0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08,
	0x5D, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x0B,
	0x06, 0x01, 0x00, 0x06, 0x28, 0x00, 0x10, 0x2A,
	0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x5E, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x63,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, 0x5A,
	0x00, 0x11, 0x18, 0x69, 0x02, 0x08, 0x64, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x65,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x18, 0x74,
	0x02, 0x08, 0x66, 0x50, 0x00, 0x22, 0x07, 0x10,
	0x00, 0x02, 0x08, 0x67, 0x50, 0x00, 0x22, 0x07,
	0x10, 0x00, 0x18, 0x75, 0x02, 0x08, 0x68, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x69,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x10, 0x2B,
	0x96, 0x00, 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08,
	0x6B, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02,
	0x08, 0x6C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00,
	0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10,
	0x00, 0x02, 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07,
	0x10, 0x00, 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22,
	0x07, 0x10, 0x00, 0x02, 0x08, 0x70, 0x50, 0x00,
	0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x71, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01,
	0x00, 0x06, 0x1E, 0x00, 0x10, 0x2C, 0x96, 0x00,
	0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08,
	0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02,
	0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00,
	0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10,
	0x00, 0x02, 0x08, 0x70, 0x50, 0x00, 0x22, 0x07,
	0x10, 0x00, 0x02, 0x08, 0x71, 0x50, 0x00, 0x22,
	0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06,
	0x1E, 0x00, 0x10, 0x2D, 0x96, 0x00, 0x1C, 0x22,
	0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, 0x00, 0x22,
	0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, 0x50, 0x00,
	0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6D, 0x50,
	0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6E,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08,
	0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02,
	0x08, 0x70, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00,
	0x02, 0x08, 0x71, 0x50, 0x00, 0x22, 0x07, 0x10,
	0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, 0x1E, 0x00,
	0x02, 0x08, 0x72, 0x50, 0x00, 0x22, 0x07, 0x10,
	0x00, 0x02, 0x08, 0x73, 0x50, 0x00, 0x22, 0x07,
	0x10, 0x00, 0x06, 0x14, 0x00, 0x02, 0x08, 0x74,
	0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08,
	0x75, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06,
	0x78, 0x00, 0x13, 0x0E, 0x01, 0x08, 0x1D
};

static const ByteProvider k1OutroReunionSeqDOSProvider = { ARRAYSIZE(k1OutroReunionSeqDOS), k1OutroReunionSeqDOS };

static const char *const k1AudioTracksDOS[9] = {
	"KYRA1A",
	"KYRA1B",
	"KYRA2A",
	"KYRA3A",
	"KYRA4A",
	"KYRA4B",
	"KYRA5A",
	"KYRA5B",
	"KYRAMISC"
};

static const StringListProvider k1AudioTracksDOSProvider = { ARRAYSIZE(k1AudioTracksDOS), k1AudioTracksDOS };

static const char *const k1AudioTracksIntroDOS[1] = {
	"intro"
};

static const StringListProvider k1AudioTracksIntroDOSProvider = { ARRAYSIZE(k1AudioTracksIntroDOS), k1AudioTracksIntroDOS };