os/graphics/graphicsdeviceinterface/screendriver/sbit/LUTAB.CPP
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
//
sl@0
    15
sl@0
    16
#include <e32std.h>
sl@0
    17
sl@0
    18
extern const TUint32 wordlutab[256]=
sl@0
    19
	{	0x0000,	0x0003,	0x000c,	0x000f,	0x0030,	0x0033,	0x003c,	0x003f,
sl@0
    20
		0x00c0,	0x00c3,	0x00cc,	0x00cf,	0x00f0,	0x00f3,	0x00fc,	0x00ff,
sl@0
    21
		0x0300,	0x0303,	0x030c,	0x030f,	0x0330,	0x0333,	0x033c,	0x033f,
sl@0
    22
		0x03c0,	0x03c3,	0x03cc,	0x03cf,	0x03f0,	0x03f3,	0x03fc,	0x03ff,
sl@0
    23
		0x0c00,	0x0c03,	0x0c0c,	0x0c0f,	0x0c30,	0x0c33,	0x0c3c,	0x0c3f,
sl@0
    24
		0x0cc0,	0x0cc3,	0x0ccc,	0x0ccf,	0x0cf0,	0x0cf3,	0x0cfc,	0x0cff,
sl@0
    25
		0x0f00,	0x0f03,	0x0f0c,	0x0f0f,	0x0f30,	0x0f33,	0x0f3c,	0x0f3f,
sl@0
    26
		0x0fc0,	0x0fc3,	0x0fcc,	0x0fcf,	0x0ff0,	0x0ff3,	0x0ffc,	0x0fff,
sl@0
    27
		0x3000,	0x3003,	0x300c,	0x300f,	0x3030,	0x3033,	0x303c,	0x303f,
sl@0
    28
		0x30c0,	0x30c3,	0x30cc,	0x30cf,	0x30f0,	0x30f3,	0x30fc,	0x30ff,
sl@0
    29
		0x3300,	0x3303,	0x330c,	0x330f,	0x3330,	0x3333,	0x333c,	0x333f,
sl@0
    30
		0x33c0,	0x33c3,	0x33cc,	0x33cf,	0x33f0,	0x33f3,	0x33fc,	0x33ff,
sl@0
    31
		0x3c00,	0x3c03,	0x3c0c,	0x3c0f,	0x3c30,	0x3c33,	0x3c3c,	0x3c3f,
sl@0
    32
		0x3cc0,	0x3cc3,	0x3ccc,	0x3ccf,	0x3cf0,	0x3cf3,	0x3cfc,	0x3cff,
sl@0
    33
		0x3f00,	0x3f03,	0x3f0c,	0x3f0f,	0x3f30,	0x3f33,	0x3f3c,	0x3f3f,
sl@0
    34
		0x3fc0,	0x3fc3,	0x3fcc,	0x3fcf,	0x3ff0,	0x3ff3,	0x3ffc,	0x3fff,
sl@0
    35
		0xc000,	0xc003,	0xc00c,	0xc00f,	0xc030,	0xc033,	0xc03c,	0xc03f,
sl@0
    36
		0xc0c0,	0xc0c3,	0xc0cc,	0xc0cf,	0xc0f0,	0xc0f3,	0xc0fc,	0xc0ff,
sl@0
    37
		0xc300,	0xc303,	0xc30c,	0xc30f,	0xc330,	0xc333,	0xc33c,	0xc33f,
sl@0
    38
		0xc3c0,	0xc3c3,	0xc3cc,	0xc3cf,	0xc3f0,	0xc3f3,	0xc3fc,	0xc3ff,
sl@0
    39
		0xcc00,	0xcc03,	0xcc0c,	0xcc0f,	0xcc30,	0xcc33,	0xcc3c,	0xcc3f,
sl@0
    40
		0xccc0,	0xccc3,	0xcccc,	0xcccf,	0xccf0,	0xccf3,	0xccfc,	0xccff,
sl@0
    41
		0xcf00,	0xcf03,	0xcf0c,	0xcf0f,	0xcf30,	0xcf33,	0xcf3c,	0xcf3f,
sl@0
    42
		0xcfc0,	0xcfc3,	0xcfcc,	0xcfcf,	0xcff0,	0xcff3,	0xcffc,	0xcfff,
sl@0
    43
		0xf000,	0xf003,	0xf00c,	0xf00f,	0xf030,	0xf033,	0xf03c,	0xf03f,
sl@0
    44
		0xf0c0,	0xf0c3,	0xf0cc,	0xf0cf,	0xf0f0,	0xf0f3,	0xf0fc,	0xf0ff,
sl@0
    45
		0xf300,	0xf303,	0xf30c,	0xf30f,	0xf330,	0xf333,	0xf33c,	0xf33f,
sl@0
    46
		0xf3c0,	0xf3c3,	0xf3cc,	0xf3cf,	0xf3f0,	0xf3f3,	0xf3fc,	0xf3ff,
sl@0
    47
		0xfc00,	0xfc03,	0xfc0c,	0xfc0f,	0xfc30,	0xfc33,	0xfc3c,	0xfc3f,
sl@0
    48
		0xfcc0,	0xfcc3,	0xfccc,	0xfccf,	0xfcf0,	0xfcf3,	0xfcfc,	0xfcff,
sl@0
    49
		0xff00,	0xff03,	0xff0c,	0xff0f,	0xff30,	0xff33,	0xff3c,	0xff3f,
sl@0
    50
		0xffc0,	0xffc3,	0xffcc,	0xffcf,	0xfff0,	0xfff3,	0xfffc,	0xffff	};
sl@0
    51
sl@0
    52
extern const TUint32 modelutab[256]=
sl@0
    53
	{	0x0000,	0x0005,	0x000a,	0x000f,	0x0050,	0x0055,	0x005a,	0x005f,
sl@0
    54
		0x00a0,	0x00a5,	0x00aa,	0x00af,	0x00f0,	0x00f5,	0x00fa,	0x00ff,
sl@0
    55
		0x0500,	0x0505,	0x050a,	0x050f,	0x0550,	0x0555,	0x055a,	0x055f,
sl@0
    56
		0x05a0,	0x05a5,	0x05aa,	0x05af,	0x05f0,	0x05f5,	0x05fa,	0x05ff,
sl@0
    57
		0x0a00,	0x0a05,	0x0a0a,	0x0a0f,	0x0a50,	0x0a55,	0x0a5a,	0x0a5f,
sl@0
    58
		0x0aa0,	0x0aa5,	0x0aaa,	0x0aaf,	0x0af0,	0x0af5,	0x0afa,	0x0aff,
sl@0
    59
		0x0f00,	0x0f05,	0x0f0a,	0x0f0f,	0x0f50,	0x0f55,	0x0f5a,	0x0f5f,
sl@0
    60
		0x0fa0,	0x0fa5,	0x0faa,	0x0faf,	0x0ff0,	0x0ff5,	0x0ffa,	0x0fff,
sl@0
    61
		0x5000,	0x5005,	0x500a,	0x500f,	0x5050,	0x5055,	0x505a,	0x505f,
sl@0
    62
		0x50a0,	0x50a5,	0x50aa,	0x50af,	0x50f0,	0x50f5,	0x50fa,	0x50ff,
sl@0
    63
		0x5500,	0x5505,	0x550a,	0x550f,	0x5550,	0x5555,	0x555a,	0x555f,
sl@0
    64
		0x55a0,	0x55a5,	0x55aa,	0x55af,	0x55f0,	0x55f5,	0x55fa,	0x55ff,
sl@0
    65
		0x5a00,	0x5a05,	0x5a0a,	0x5a0f,	0x5a50,	0x5a55,	0x5a5a,	0x5a5f,
sl@0
    66
		0x5aa0,	0x5aa5,	0x5aaa,	0x5aaf,	0x5af0,	0x5af5,	0x5afa,	0x5aff,
sl@0
    67
		0x5f00,	0x5f05,	0x5f0a,	0x5f0f,	0x5f50,	0x5f55,	0x5f5a,	0x5f5f,
sl@0
    68
		0x5fa0,	0x5fa5,	0x5faa,	0x5faf,	0x5ff0,	0x5ff5,	0x5ffa,	0x5fff,
sl@0
    69
		0xa000,	0xa005,	0xa00a,	0xa00f,	0xa050,	0xa055,	0xa05a,	0xa05f,
sl@0
    70
		0xa0a0,	0xa0a5,	0xa0aa,	0xa0af,	0xa0f0,	0xa0f5,	0xa0fa,	0xa0ff,
sl@0
    71
		0xa500,	0xa505,	0xa50a,	0xa50f,	0xa550,	0xa555,	0xa55a,	0xa55f,
sl@0
    72
		0xa5a0,	0xa5a5,	0xa5aa,	0xa5af,	0xa5f0,	0xa5f5,	0xa5fa,	0xa5ff,
sl@0
    73
		0xaa00,	0xaa05,	0xaa0a,	0xaa0f,	0xaa50,	0xaa55,	0xaa5a,	0xaa5f,
sl@0
    74
		0xaaa0,	0xaaa5,	0xaaaa,	0xaaaf,	0xaaf0,	0xaaf5,	0xaafa,	0xaaff,
sl@0
    75
		0xaf00,	0xaf05,	0xaf0a,	0xaf0f,	0xaf50,	0xaf55,	0xaf5a,	0xaf5f,
sl@0
    76
		0xafa0,	0xafa5,	0xafaa,	0xafaf,	0xaff0,	0xaff5,	0xaffa,	0xafff,
sl@0
    77
		0xf000,	0xf005,	0xf00a,	0xf00f,	0xf050,	0xf055,	0xf05a,	0xf05f,
sl@0
    78
		0xf0a0,	0xf0a5,	0xf0aa,	0xf0af,	0xf0f0,	0xf0f5,	0xf0fa,	0xf0ff,
sl@0
    79
		0xf500,	0xf505,	0xf50a,	0xf50f,	0xf550,	0xf555,	0xf55a,	0xf55f,
sl@0
    80
		0xf5a0,	0xf5a5,	0xf5aa,	0xf5af,	0xf5f0,	0xf5f5,	0xf5fa,	0xf5ff,
sl@0
    81
		0xfa00,	0xfa05,	0xfa0a,	0xfa0f,	0xfa50,	0xfa55,	0xfa5a,	0xfa5f,
sl@0
    82
		0xfaa0,	0xfaa5,	0xfaaa,	0xfaaf,	0xfaf0,	0xfaf5,	0xfafa,	0xfaff,
sl@0
    83
		0xff00,	0xff05,	0xff0a,	0xff0f,	0xff50,	0xff55,	0xff5a,	0xff5f,
sl@0
    84
		0xffa0,	0xffa5,	0xffaa,	0xffaf,	0xfff0,	0xfff5,	0xfffa,	0xffff	};
sl@0
    85
sl@0
    86
extern const TUint8 ditherlutab[16][4]=
sl@0
    87
	{{	0x0,	0x0,	0x0,	0x0,	},
sl@0
    88
	{	0x5,	0x0,	0x0,	0x0,	},
sl@0
    89
	{	0x5,	0x0,	0x0,	0x5,	},
sl@0
    90
	{	0x5,	0x0,	0x0,	0x5,	},
sl@0
    91
	{	0x5,	0x0,	0x5,	0x5,	},
sl@0
    92
	{	0x5,	0x5,	0x5,	0x5,	},
sl@0
    93
	{	0xa,	0x5,	0x5,	0x5,	},
sl@0
    94
	{	0xa,	0x5,	0x5,	0xa,	},
sl@0
    95
	{	0xa,	0x5,	0x5,	0xa,	},
sl@0
    96
	{	0xa,	0x5,	0xa,	0xa,	},
sl@0
    97
	{	0xa,	0xa,	0xa,	0xa,	},
sl@0
    98
	{	0xf,	0xa,	0xa,	0xa,	},
sl@0
    99
	{	0xf,	0xa,	0xa,	0xf,	},
sl@0
   100
	{	0xf,	0xa,	0xa,	0xf,	},
sl@0
   101
	{	0xf,	0xa,	0xf,	0xf,	},
sl@0
   102
	{	0xf,	0xf,	0xf,	0xf		}};
sl@0
   103
sl@0
   104
extern const TUint8 shadowlutab[256]=
sl@0
   105
	{	0x00,	0x00,	0x00,	0x00,	0x00,	0x00,	0x01,	0x02,
sl@0
   106
		0x03,	0x04,	0x05,	0x06,	0x07,	0x08,	0x09,	0x0a,
sl@0
   107
		0x00,	0x00,	0x00,	0x00,	0x00,	0x00,	0x01,	0x02,
sl@0
   108
		0x03,	0x04,	0x05,	0x06,	0x07,	0x08,	0x09,	0x0a,
sl@0
   109
		0x00,	0x00,	0x00,	0x00,	0x00,	0x00,	0x01,	0x02,
sl@0
   110
		0x03,	0x04,	0x05,	0x06,	0x07,	0x08,	0x09,	0x0a,
sl@0
   111
		0x00,	0x00,	0x00,	0x00,	0x00,	0x00,	0x01,	0x02,
sl@0
   112
		0x03,	0x04,	0x05,	0x06,	0x07,	0x08,	0x09,	0x0a,
sl@0
   113
		0x00,	0x00,	0x00,	0x00,	0x00,	0x00,	0x01,	0x02,
sl@0
   114
		0x03,	0x04,	0x05,	0x06,	0x07,	0x08,	0x09,	0x0a,
sl@0
   115
		0x00,	0x00,	0x00,	0x00,	0x00,	0x00,	0x01,	0x02,
sl@0
   116
		0x03,	0x04,	0x05,	0x06,	0x07,	0x08,	0x09,	0x0a,
sl@0
   117
		0x10,	0x10,	0x10,	0x10,	0x10,	0x10,	0x11,	0x12,
sl@0
   118
		0x13,	0x14,	0x15,	0x16,	0x17,	0x18,	0x19,	0x1a,
sl@0
   119
		0x20,	0x20,	0x20,	0x20,	0x20,	0x20,	0x21,	0x22,
sl@0
   120
		0x23,	0x24,	0x25,	0x26,	0x27,	0x28,	0x29,	0x2a,
sl@0
   121
		0x30,	0x30,	0x30,	0x30,	0x30,	0x30,	0x31,	0x32,
sl@0
   122
		0x33,	0x34,	0x35,	0x36,	0x37,	0x38,	0x39,	0x3a,
sl@0
   123
		0x40,	0x40,	0x40,	0x40,	0x40,	0x40,	0x41,	0x42,
sl@0
   124
		0x43,	0x44,	0x45,	0x46,	0x47,	0x48,	0x49,	0x4a,
sl@0
   125
		0x50,	0x50,	0x50,	0x50,	0x50,	0x50,	0x51,	0x52,
sl@0
   126
		0x53,	0x54,	0x55,	0x56,	0x57,	0x58,	0x59,	0x5a,
sl@0
   127
		0x60,	0x60,	0x60,	0x60,	0x60,	0x60,	0x61,	0x62,
sl@0
   128
		0x63,	0x64,	0x65,	0x66,	0x67,	0x68,	0x69,	0x6a,
sl@0
   129
		0x70,	0x70,	0x70,	0x70,	0x70,	0x70,	0x71,	0x72,
sl@0
   130
		0x73,	0x74,	0x75,	0x76,	0x77,	0x78,	0x79,	0x7a,
sl@0
   131
		0x80,	0x80,	0x80,	0x80,	0x80,	0x80,	0x81,	0x82,
sl@0
   132
		0x83,	0x84,	0x85,	0x86,	0x87,	0x88,	0x89,	0x8a,
sl@0
   133
		0x90,	0x90,	0x90,	0x90,	0x90,	0x90,	0x91,	0x92,
sl@0
   134
		0x93,	0x94,	0x95,	0x96,	0x97,	0x98,	0x99,	0x9a,
sl@0
   135
		0xa0,	0xa0,	0xa0,	0xa0,	0xa0,	0xa0,	0xa1,	0xa2,
sl@0
   136
		0xa3,	0xa4,	0xa5,	0xa6,	0xa7,	0xa8,	0xa9,	0xaa	};
sl@0
   137
sl@0
   138
extern const TUint8 color256shadowlutab[256] = {
sl@0
   139
	0,	0,	1,	2,	3,	4,
sl@0
   140
	0,	0,	1,	2,	3,	4,
sl@0
   141
	6,	6,	7,	8,	9,	10,
sl@0
   142
	12,	12,	13,	14,	15,	16,
sl@0
   143
	18,	18,	19,	20,	21,	22,
sl@0
   144
	24,	24,	25,	26,	27,	28,
sl@0
   145
sl@0
   146
	0,	0,	1,	2,	3,	4,
sl@0
   147
	0,	0,	1,	2,	3,	4,
sl@0
   148
	6,	6,	7,	8,	9,	10,
sl@0
   149
	12,	12,	13,	14,	15,	16,
sl@0
   150
	18,	18,	19,	20,	21,	22,
sl@0
   151
	24,	24,	25,	26,	27,	28,
sl@0
   152
sl@0
   153
	36,	36,	37,	38,	39,	40,
sl@0
   154
	36,	36,	37,	38,	39,	40,
sl@0
   155
	42,	42,	43,	44,	45,	46,
sl@0
   156
	48,	48,	49,	50,	51,	52,
sl@0
   157
	54,	54,	55,	56,	57,	58,
sl@0
   158
	60,	60,	61,	62,	63,	64,
sl@0
   159
sl@0
   160
	0, 0, 108, 109, 110,
sl@0
   161
	0, 0, 113, 114, 115,
sl@0
   162
	0, 0, 118, 119, 120,
sl@0
   163
	0, 0, 123, 124, 125,
sl@0
   164
sl@0
   165
	126, 127, 128, 129, 130,
sl@0
   166
	121, 122, 133, 134, 135,
sl@0
   167
	116, 117, 138, 139, 140,
sl@0
   168
	111, 112, 143, 144, 145,
sl@0
   169
sl@0
   170
	72,	72,	73,	74,	75,	76,
sl@0
   171
	72,	72,	73,	74,	75,	76,
sl@0
   172
	78,	78,	79,	80,	81,	82,
sl@0
   173
	84,	84,	85,	86,	87,	88,
sl@0
   174
	90,	90,	91,	92,	93,	94,
sl@0
   175
	96,	96,	97,	98,	99,	100,
sl@0
   176
sl@0
   177
	148, 148, 149, 150, 151, 152,
sl@0
   178
	148, 148, 149, 150, 151, 152,
sl@0
   179
	154, 154, 155, 156, 157, 158,
sl@0
   180
	160, 160, 161, 162, 163, 164,
sl@0
   181
	166, 166, 167, 168, 169, 170,
sl@0
   182
	172, 172, 173, 174, 175, 176,
sl@0
   183
sl@0
   184
	184, 184, 185, 186, 187, 188,
sl@0
   185
	184, 184, 185, 186, 187, 188,
sl@0
   186
	190, 190, 191, 192, 193, 194,
sl@0
   187
	196, 196, 197, 198, 199, 200,
sl@0
   188
	202, 202, 203, 204, 205, 206,
sl@0
   189
	208, 208, 209, 210, 211, 212
sl@0
   190
	};
sl@0
   191
	
sl@0
   192
/**
sl@0
   193
This lookup table is used for outline and shadow fonts. Four entries of this table represents
sl@0
   194
% of Outline, Shadow, Fill and Background colour to be used to get the final colour to be 
sl@0
   195
displayed on screen.
sl@0
   196
sl@0
   197
While doing the blending of four colours it would use the following formula,
sl@0
   198
sl@0
   199
blendedXXXColor = (XXXOutlinePenColor * FourColorBlendLookup[index][KOutlineColorIndex] + 
sl@0
   200
			   		XXXShadowColor * FourColorBlendLookup[index][KShadowColorIndex] +
sl@0
   201
			  		XXXFillColor * FourColorBlendLookup[index][KFillColorIndex] + 
sl@0
   202
			  		backgroundColor.XXX() * FourColorBlendLookup[index][KBackgroundColorIndex]) >> 8;
sl@0
   203
where XXX can be Red, Green or Blue
sl@0
   204
and index is the 8-bit value which will be provided by the rasterizer to decide which 
sl@0
   205
entry of lookup table should be used. Right shift by eight will divide the calculated value in % with 
sl@0
   206
256 to get the actual colour.
sl@0
   207
sl@0
   208
This table is provided by Monotype and MUST NOT be changed.
sl@0
   209
*/
sl@0
   210
extern const TInt FourColorBlendLookup[256][4] = {
sl@0
   211
	{ 0, 0, 0, 255 },
sl@0
   212
	{ 0, 0, 17, 238 },
sl@0
   213
	{ 0, 0, 34, 221 },
sl@0
   214
	{ 0, 0, 51, 204 },
sl@0
   215
	{ 0, 0, 68, 187 },
sl@0
   216
	{ 0, 0, 85, 170 },
sl@0
   217
	{ 0, 0, 102, 153 },
sl@0
   218
	{ 0, 0, 119, 136 },
sl@0
   219
	{ 0, 0, 136, 119 },
sl@0
   220
	{ 0, 0, 153, 102 },
sl@0
   221
	{ 0, 0, 170, 85 },
sl@0
   222
	{ 0, 0, 187, 68 },
sl@0
   223
	{ 0, 0, 204, 51 },
sl@0
   224
	{ 0, 0, 221, 34 },
sl@0
   225
	{ 0, 0, 238, 17 },
sl@0
   226
	{ 0, 0, 255, 0 },
sl@0
   227
	{ 0, 17, 0, 238 },
sl@0
   228
	{ 0, 34, 0, 221 },
sl@0
   229
	{ 0, 51, 0, 204 },
sl@0
   230
	{ 0, 68, 0, 187 },
sl@0
   231
	{ 0, 85, 0, 170 },
sl@0
   232
	{ 0, 102, 0, 153 },
sl@0
   233
	{ 0, 119, 0, 136 },
sl@0
   234
	{ 0, 136, 0, 119 },
sl@0
   235
	{ 0, 153, 0, 102 },
sl@0
   236
	{ 0, 170, 0, 85 },
sl@0
   237
	{ 0, 187, 0, 68 },
sl@0
   238
	{ 0, 204, 0, 51 },
sl@0
   239
	{ 0, 221, 0, 34 },
sl@0
   240
	{ 0, 238, 0, 17 },
sl@0
   241
	{ 0, 255, 0, 0 },
sl@0
   242
	{ 17, 0, 0, 238 },
sl@0
   243
	{ 34, 0, 0, 221 },
sl@0
   244
	{ 51, 0, 0, 204 },
sl@0
   245
	{ 68, 0, 0, 187 },
sl@0
   246
	{ 85, 0, 0, 170 },
sl@0
   247
	{ 102, 0, 0, 153 },
sl@0
   248
	{ 119, 0, 0, 136 },
sl@0
   249
	{ 136, 0, 0, 119 },
sl@0
   250
	{ 153, 0, 0, 102 },
sl@0
   251
	{ 170, 0, 0, 85 },
sl@0
   252
	{ 187, 0, 0, 68 },
sl@0
   253
	{ 204, 0, 0, 51 },
sl@0
   254
	{ 221, 0, 0, 34 },
sl@0
   255
	{ 238, 0, 0, 17 },
sl@0
   256
	{ 255, 0, 0, 0 },
sl@0
   257
	{ 0, 17, 238, 0 },
sl@0
   258
	{ 0, 34, 221, 0 },
sl@0
   259
	{ 0, 51, 204, 0 },
sl@0
   260
	{ 0, 68, 187, 0 },
sl@0
   261
	{ 0, 85, 170, 0 },
sl@0
   262
	{ 0, 102, 153, 0 },
sl@0
   263
	{ 0, 119, 136, 0 },
sl@0
   264
	{ 0, 136, 119, 0 },
sl@0
   265
	{ 0, 153, 102, 0 },
sl@0
   266
	{ 0, 170, 85 ,0 },
sl@0
   267
	{ 0, 187, 68 ,0 },
sl@0
   268
	{ 0, 204, 51, 0 },
sl@0
   269
	{ 0, 221, 34, 0 },
sl@0
   270
	{ 0, 238, 17, 0 },
sl@0
   271
	{ 238, 17, 0, 0 },
sl@0
   272
	{ 221, 34, 0, 0 },
sl@0
   273
	{ 204, 51, 0, 0 },
sl@0
   274
	{ 187, 68, 0, 0 },
sl@0
   275
	{ 170, 85, 0, 0 },
sl@0
   276
	{ 153, 102, 0, 0 },
sl@0
   277
	{ 136, 119, 0, 0 },
sl@0
   278
	{ 119, 136, 0, 0 },
sl@0
   279
	{ 102, 153, 0, 0 },
sl@0
   280
	{ 85, 170, 0, 0 },
sl@0
   281
	{ 68, 187, 0, 0 },
sl@0
   282
	{ 51, 204, 0, 0 },
sl@0
   283
	{ 34, 221, 0, 0 },
sl@0
   284
	{ 17, 238, 0, 0 },
sl@0
   285
	{ 238, 0, 17, 0 },
sl@0
   286
	{ 221, 0, 34, 0 }, 
sl@0
   287
	{ 204, 0, 51, 0 },
sl@0
   288
	{ 187, 0, 68, 0 },
sl@0
   289
	{ 170, 0, 85, 0 },
sl@0
   290
	{ 153, 0, 102, 0 },
sl@0
   291
	{ 136, 0, 119, 0 },
sl@0
   292
	{ 119, 0, 136, 0 }, 
sl@0
   293
	{ 102, 0, 153, 0 }, 
sl@0
   294
	{ 85, 0, 170, 0 } ,
sl@0
   295
	{ 68, 0, 187, 0 },
sl@0
   296
	{ 51, 0, 204, 0 }, 
sl@0
   297
	{ 34, 0, 221, 0 }, 
sl@0
   298
	{ 17, 0, 238, 0 }, 
sl@0
   299
	{ 210, 23, 0, 22 }, 
sl@0
   300
	{ 179, 60, 0, 16 }, 
sl@0
   301
	{ 145, 94, 0, 16 }, 
sl@0
   302
	{ 119, 119, 0, 17 }, 
sl@0
   303
	{ 94, 145, 0, 16 }, 
sl@0
   304
	{ 60, 179, 0, 16 }, 
sl@0
   305
	{ 23, 210, 0, 22 }, 
sl@0
   306
	{ 176, 40, 0, 39 }, 
sl@0
   307
	{ 142, 74, 0, 39 }, 
sl@0
   308
	{ 113, 96, 0, 46 }, 
sl@0
   309
	{ 91, 125, 0, 39 }, 
sl@0
   310
	{ 62, 147, 0, 46 }, 
sl@0
   311
	{ 40, 176, 0, 39 }, 
sl@0
   312
	{ 179, 17, 0, 59 },
sl@0
   313
	{ 147, 45, 0, 63 },
sl@0
   314
	{ 17, 179, 0, 59 },
sl@0
   315
	{ 145, 17, 0, 93 },
sl@0
   316
	{ 125, 40, 0, 90 },
sl@0
   317
	{ 108, 74, 0, 73 },
sl@0
   318
	{ 74, 108, 0, 73 },
sl@0
   319
	{ 85, 85, 0, 85 },
sl@0
   320
	{ 40, 142, 0, 73 },
sl@0
   321
	{ 119, 17, 0, 119 },
sl@0
   322
	{ 96, 45, 0, 114 },
sl@0
   323
	{ 74, 74, 0, 107 },
sl@0
   324
	{ 45, 113, 0, 97 },
sl@0
   325
	{ 17, 145, 0, 93 },
sl@0
   326
	{ 94, 17, 0, 144 },
sl@0
   327
	{ 74, 40, 0, 141 },
sl@0
   328
	{ 45, 62, 0, 148 },
sl@0
   329
	{ 40, 91, 0, 124 },
sl@0
   330
	{ 17, 119, 0, 119 },
sl@0
   331
	{ 17, 94, 0, 144 }, 
sl@0
   332
	{ 60, 17, 0, 178 }, 
sl@0
   333
	{ 40, 40, 0, 175 }, 
sl@0
   334
	{ 17, 60, 0, 178 }, 
sl@0
   335
	{ 23, 23, 0, 209 }, 
sl@0
   336
	{ 0, 210, 23, 22 },
sl@0
   337
	{ 0, 179, 60, 16 },
sl@0
   338
	{ 0, 145, 94, 16 },
sl@0
   339
	{ 0, 119, 119, 17 },
sl@0
   340
	{ 0, 94 ,145, 16 },
sl@0
   341
	{ 0, 60 ,179, 16 },
sl@0
   342
	{ 0, 23, 210, 22 },
sl@0
   343
	{ 0, 176, 40, 39 },
sl@0
   344
	{ 0, 142, 74, 39 },
sl@0
   345
	{ 0, 113, 96, 46 },
sl@0
   346
	{ 0, 91, 125, 39 },
sl@0
   347
	{ 0, 62, 147, 46 },
sl@0
   348
	{ 0, 40, 176, 39 },
sl@0
   349
	{ 0, 179, 17, 59 },
sl@0
   350
	{ 0, 147, 45, 63 },
sl@0
   351
	{ 0, 17, 179, 59 },
sl@0
   352
	{ 0, 145, 17, 93 },
sl@0
   353
	{ 0, 125, 40, 90 },
sl@0
   354
	{ 0, 108, 74, 73 },
sl@0
   355
	{ 0, 74, 108, 73 },
sl@0
   356
	{ 0, 85, 85, 85 },
sl@0
   357
	{ 0, 40, 142, 73 }, 
sl@0
   358
	{ 0, 119, 17, 119 },
sl@0
   359
	{ 0, 96, 45, 114 },
sl@0
   360
	{ 0, 74, 74, 107 },
sl@0
   361
	{ 0, 45, 113, 97 },
sl@0
   362
	{ 0, 17, 145, 93 },
sl@0
   363
	{ 0, 94, 17, 144 },
sl@0
   364
	{ 0, 74, 40, 141 },
sl@0
   365
	{ 0, 45, 62, 148 },
sl@0
   366
	{ 0, 40, 91, 124 },
sl@0
   367
	{ 0, 17, 119, 119 },
sl@0
   368
	{ 0, 17, 94, 144 },
sl@0
   369
	{ 0, 60, 17, 178 },
sl@0
   370
	{ 0, 40, 40, 175 },
sl@0
   371
	{ 0, 17, 60, 178 },
sl@0
   372
	{ 0, 23, 23, 209 },
sl@0
   373
	{ 23, 0, 210, 22 },
sl@0
   374
	{ 60, 0, 179, 16 },
sl@0
   375
	{ 94, 0, 145, 16 },
sl@0
   376
	{ 119, 0, 119, 17 },
sl@0
   377
	{ 145, 0, 94, 16 },
sl@0
   378
	{ 179, 0, 60, 16 },
sl@0
   379
	{ 210, 0, 23, 22 },
sl@0
   380
	{ 40, 0, 176, 39 },
sl@0
   381
	{ 74, 0, 142, 39 },
sl@0
   382
	{ 96, 0, 113, 46 },
sl@0
   383
	{ 125, 0, 91, 39 },
sl@0
   384
	{ 147, 0, 62, 46 },
sl@0
   385
	{ 176, 0, 40, 39 },
sl@0
   386
	{ 17, 0, 179, 59 },
sl@0
   387
	{ 45, 0, 147, 63 },
sl@0
   388
	{ 179, 0, 17, 59 },
sl@0
   389
	{ 17, 0, 145, 93 },
sl@0
   390
	{ 40, 0, 125, 90 },
sl@0
   391
	{ 74, 0, 108, 73 },
sl@0
   392
	{ 108, 0, 74, 73 },
sl@0
   393
	{ 85, 0, 85, 85 },
sl@0
   394
	{ 142, 0, 40, 73 },
sl@0
   395
	{ 17, 0, 119, 119 },
sl@0
   396
	{ 45, 0, 96, 114 },
sl@0
   397
	{ 74, 0, 74, 107 },
sl@0
   398
	{ 113, 0, 45, 97 },
sl@0
   399
	{ 145, 0, 17, 93 },
sl@0
   400
	{ 17, 0, 94, 144 },
sl@0
   401
	{ 40, 0, 74, 141 },
sl@0
   402
	{ 62, 0, 45, 148 },
sl@0
   403
	{ 91, 0, 40, 124 },
sl@0
   404
	{ 119, 0, 17, 119 },
sl@0
   405
	{ 94, 0, 17, 144 },
sl@0
   406
	{ 17, 0, 60, 178 },
sl@0
   407
	{ 40, 0, 40, 175 },
sl@0
   408
	{ 60, 0, 17, 178 },
sl@0
   409
	{ 23, 0, 23, 209 },
sl@0
   410
	{ 209, 23, 23, 0 },
sl@0
   411
	{ 178, 17, 60, 0 },
sl@0
   412
	{ 144, 17, 94, 0 },
sl@0
   413
	{ 119, 17, 119, 0 },
sl@0
   414
	{ 93, 17, 145, 0 },
sl@0
   415
	{ 59, 17, 179, 0 },
sl@0
   416
	{ 22, 23, 210, 0 },
sl@0
   417
	{ 175, 40, 40, 0 },
sl@0
   418
	{ 141, 40, 74, 0 },
sl@0
   419
	{ 114, 45, 96, 0 },
sl@0
   420
	{ 90, 40, 125, 0 },
sl@0
   421
	{ 63, 45, 147, 0 },
sl@0
   422
	{ 39, 40, 176, 0 },
sl@0
   423
	{ 178, 60, 17, 0 },
sl@0
   424
	{ 148, 62, 45, 0 },
sl@0
   425
	{ 16, 60, 179, 0 },
sl@0
   426
	{ 144, 94, 17, 0 },
sl@0
   427
	{ 124, 91, 40, 0 },
sl@0
   428
	{ 107, 74, 74, 0 },
sl@0
   429
	{ 73, 74, 108, 0 },
sl@0
   430
	{ 85, 85, 85, 0 },
sl@0
   431
	{ 39, 74, 142, 0 }, 
sl@0
   432
	{ 119, 119, 17, 0 },
sl@0
   433
	{ 97, 113, 45, 0 },
sl@0
   434
	{ 73, 108, 74, 0 },
sl@0
   435
	{ 46, 96, 113, 0 },
sl@0
   436
	{ 16, 94, 145, 0 },
sl@0
   437
	{ 93, 145, 17, 0 },
sl@0
   438
	{ 73, 142, 40, 0 },
sl@0
   439
	{ 46, 147, 62, 0 },
sl@0
   440
	{ 39, 125, 91, 0 },
sl@0
   441
	{ 17, 119, 119, 0 },
sl@0
   442
	{ 16, 145, 94, 0 },
sl@0
   443
	{ 59, 179, 17, 0 },
sl@0
   444
	{ 39, 176, 40, 0 },
sl@0
   445
	{ 16, 179, 60, 0 },
sl@0
   446
	{ 22, 210, 23, 0 },
sl@0
   447
	{ 32, 32 ,32, 159 },
sl@0
   448
	{ 32, 32 ,74, 117 },
sl@0
   449
	{ 32, 32 ,116, 75 },
sl@0
   450
	{ 32, 32 ,158, 33 },
sl@0
   451
	{ 74, 32, 32, 117 },
sl@0
   452
	{ 74, 32, 74, 75 }, 
sl@0
   453
	{ 74, 32, 116, 33 },
sl@0
   454
	{ 116, 32, 32, 75 },
sl@0
   455
	{ 116, 32, 74, 33 },
sl@0
   456
	{ 158, 32, 32, 33 },
sl@0
   457
	{ 32, 74, 32, 117 },
sl@0
   458
	{ 32, 74, 74, 75 },
sl@0
   459
	{ 32, 74, 116, 33 },
sl@0
   460
	{ 74, 74, 32, 75 },
sl@0
   461
	{ 74, 74, 74, 33 },
sl@0
   462
	{ 116, 74, 32, 33 },
sl@0
   463
	{ 32, 116, 32, 75 },
sl@0
   464
	{ 32, 116, 74, 33 },
sl@0
   465
	{ 74, 116, 32, 33 },
sl@0
   466
	{ 32, 158, 32, 33 },
sl@0
   467
	};