annotate src/scanner.cpp @ 164:5809bcdc325b stable-6-0-4

spamassassin changes
author carl
date Sun, 26 Aug 2007 19:43:35 -0700
parents c7fc218686f5
children 4db1457cd11a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1 /*
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
2
152
c7fc218686f5 gpl3, block mail to recipients that cannot reply
carl
parents: 147
diff changeset
3 Copyright (c) 2007 Carl Byington - 510 Software Group, released under
c7fc218686f5 gpl3, block mail to recipients that cannot reply
carl
parents: 147
diff changeset
4 the GPL version 3 or any later version at your choice available at
c7fc218686f5 gpl3, block mail to recipients that cannot reply
carl
parents: 147
diff changeset
5 http://www.gnu.org/licenses/gpl-3.0.txt
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
6
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
7 */
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
8
119
d9d2f8699621 uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 117
diff changeset
9 #include <sys/socket.h>
d9d2f8699621 uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 117
diff changeset
10 #include <netinet/in.h>
d9d2f8699621 uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 117
diff changeset
11 #include <arpa/inet.h>
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
12 #include "includes.h"
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
13
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
14 static char* scanner_version="$Id$";
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
15
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
16 ////////////////////////////////////////////////
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
17 // finite state machine
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
18 //
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
19 enum state {// host name recognizer states
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
20 h_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
21 h_host,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
22
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
23 // html tag discarder states
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
24 t_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
25 t_tag1, // seen opening <
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
26 t_tag2, // not comment
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
27 t_com1, // seen !
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
28 t_com2, // seen first -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
29 t_com3, // seen second -, looking for -->
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
30 t_com4, // seen first -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
31 t_com5, // seen second -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
32 t_disc, // looking for closing >
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
33
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
34 // url recognizer states
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
35 u_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
36 u_http,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
37 u_sla,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
38 u_url,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
39
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
40 // url decoder states %xx
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
41 d_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
42 d_pcnt,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
43 d_1,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
44
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
45 // html entity decoder states &#nnn;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
46 e_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
47 e_amp,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
48 e_num,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
49
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
50 // mime decoder states =xx
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
51 m_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
52 m_eq,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
53 m_1,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
54
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
55 // base64 decoder states
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
56 b_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
57 b_lf,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
58 b_lf2,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
59 b_64,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
60
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
61 // uuencoding decoder states
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
62 uu_init,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
63 uu_lf,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
64 uu_lf2,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
65 uu_64,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
66
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
67 // counter for number of columns in the table
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
68 end_state,
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
69
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
70 // temporary states
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
71 h_end,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
72 t_bin,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
73 t_end,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
74 u_reco,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
75 d_2,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
76 e_semi,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
77 m_2,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
78 m_cr,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
79 m_nl,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
80 b_cr,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
81 uu_cr
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
82 };
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
83
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
84 static char* state_names[] = {"h_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
85 "h_host",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
86 "t_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
87 "t_tag1",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
88 "t_tag2",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
89 "t_com1",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
90 "t_com2",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
91 "t_com3",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
92 "t_com4",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
93 "t_com5",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
94 "t_disc",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
95 "u_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
96 "u_http",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
97 "u_sla",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
98 "u_url",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
99 "d_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
100 "d_pcnt",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
101 "d_1",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
102 "e_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
103 "e_amp",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
104 "e_num",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
105 "m_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
106 "m_eq",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
107 "m_1",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
108 "b_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
109 "b_lf",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
110 "b_lf2",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
111 "b_64",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
112 "uu_init",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
113 "uu_lf",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
114 "uu_lf2",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
115 "uu_64",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
116 "end_state",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
117 "h_end",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
118 "t_bin",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
119 "t_end",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
120 "u_reco",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
121 "d_2",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
122 "e_semi",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
123 "m_2",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
124 "m_cr",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
125 "m_nl",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
126 "b_cr",
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
127 "uu_cr"};
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
128
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
129 #define PENDING_LIMIT 100
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
130 class fsa {
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
131 char *myname;
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
132 u_char pending[PENDING_LIMIT];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
133 int count;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
134 state st;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
135 state init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
136 fsa *next1;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
137 fsa *next2;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
138 recorder *memory;
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
139
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
140 public:
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
141 fsa(char *myname_, state init, fsa *next1_, fsa *next2_, recorder *memory_);
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
142 void push(u_char *buf, int len);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
143 void pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
144 void validhost();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
145 void error(char *err);
75
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
146 };
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
147
1142e46be550 start coding on new config syntax
carl
parents: 74
diff changeset
148
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
149 typedef state PARSE[end_state];
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
150
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
151 static PARSE parse_table[256] = {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
152 // h_init, h_host, t_init, t_tag1, t_tag2, t_com1, t_com2, t_com3, t_com4, t_com5, t_disc, u_init, u_http, u_sla , u_url, d_init, d_pcnt, d_1, e_init, e_amp, e_num, m_init, m_eq, m_1, b_init, b_lf, b_lf2, b_64 uu_init, uu_lf, uu_lf2, uu_64
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
153
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
154 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x00
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
155 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x01
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
156 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x02
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
157 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x03
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
158 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x04
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
159 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x05
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
160 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x06
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
161 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x07
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
162 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x08
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
163 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x09 <tab>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
164 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_nl, m_init, b_lf, b_init, b_lf2, b_init, uu_lf, uu_init, uu_lf2, uu_init, }, // 0x0a <lf>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
165 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
166 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
167 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_cr, m_init, b_init, b_init, b_init, b_cr, uu_init, uu_init, uu_init, uu_cr, }, // 0x0d <cr>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
168 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
169 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
170 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x10
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
171 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x11 xon char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
172 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x12
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
173 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x13 xoff char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
174 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x14
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
175 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x15
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
176 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x16
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
177 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x17
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
178 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x18
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
179 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x19
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
180 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
181 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
182 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
183 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
184 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
185 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
186 {h_init, h_end, t_init, t_end, t_end, t_end, t_end, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x20 space
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
187 {h_init, h_end, t_init, t_com1, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x21 !
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
188 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x22 ""
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
189 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_num, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x23 #
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
190 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x24 $
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
191 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_pcnt, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x25 %
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
192 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_amp, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x26 &
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
193 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x27 '
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
194 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x28 (
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
195 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x29 )
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
196 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2A *
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
197 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x2B +
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
198 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2C ,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
199 {h_host, h_host, t_init, t_disc, t_disc, t_com2, t_com3, t_com4, t_com5, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2D -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
200 {h_host, h_host, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2E .
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
201 {h_init, h_end, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_sla, u_sla, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x2F /
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
202 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x30 0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
203 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x31 1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
204 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x32 2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
205 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x33 3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
206 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x34 4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
207 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x35 5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
208 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x36 6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
209 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x37 7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
210 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x38 8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
211 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x39 9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
212 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3A :
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
213 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_semi, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3B ;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
214 {h_init, h_end, t_tag1, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3C <
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
215 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_eq, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x3D =
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
216 {h_init, h_end, t_init, t_end, t_end, t_end, t_end, t_com3, t_com3, t_end, t_end, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3E >
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
217 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3F ?
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
218 {h_init, h_host, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x40 @
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
219 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x41 A
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
220 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x42 B
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
221 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x43 C
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
222 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x44 D
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
223 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x45 E
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
224 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x46 F
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
225 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x47 G
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
226 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x48 H
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
227 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x49 I
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
228 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4A J
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
229 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4B K
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
230 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4C L
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
231 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4D M
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
232 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4E N
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
233 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4F O
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
234 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x50 P
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
235 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x51 Q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
236 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x52 R
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
237 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x53 S
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
238 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x54 T
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
239 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x55 U
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
240 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x56 V
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
241 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x57 W
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
242 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_num, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x58 X
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
243 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x59 Y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
244 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x5A Z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
245 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5B [
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
246 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5C backslash
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
247 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5D ]
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
248 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5E ^
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
249 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5F _
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
250 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x60 `
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
251 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x61 a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
252 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x62 b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
253 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x63 c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
254 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x64 d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
255 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x65 e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
256 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x66 f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
257 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x67 g
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
258 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x68 h
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
259 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x69 i
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
260 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6A j
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
261 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6B k
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
262 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6C l
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
263 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6D m
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
264 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6E n
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
265 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6F o
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
266 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x70 p
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
267 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x71 q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
268 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x72 r
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
269 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x73 s
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
270 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x74 t
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
271 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x75 u
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
272 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x76 v
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
273 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x77 w
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
274 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_num, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x78 x
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
275 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x79 y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
276 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x7A z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
277 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7B {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
278 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7C |
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
279 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7D }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
280 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7E ~
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
281 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
282 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x80
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
283 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x81
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
284 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x82
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
285 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x83
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
286 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x84
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
287 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x85
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
288 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x86
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
289 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x87
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
290 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x88
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
291 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x89
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
292 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
293 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
294 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
295 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
296 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
297 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
298 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x90
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
299 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x91
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
300 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x92
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
301 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x93
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
302 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x94
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
303 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x95
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
304 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x96
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
305 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x97
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
306 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x98
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
307 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x99
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
308 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
309 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
310 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
311 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
312 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
313 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
314 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
315 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
316 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
317 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
318 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
319 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
320 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
321 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
322 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
323 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
324 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xaa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
325 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xab
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
326 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xac
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
327 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xad
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
328 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xae
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
329 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xaf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
330 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
331 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
332 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
333 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
334 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
335 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
336 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
337 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
338 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
339 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
340 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xba
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
341 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
342 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
343 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
344 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
345 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
346 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
347 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
348 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
349 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
350 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
351 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
352 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
353 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
354 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
355 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
356 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xca
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
357 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
358 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
359 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
360 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xce
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
361 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
362 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
363 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
364 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
365 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
366 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
367 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
368 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
369 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
370 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
371 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
372 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xda
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
373 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
374 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
375 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
376 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xde
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
377 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
378 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
379 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
380 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
381 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
382 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
383 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
384 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
385 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
386 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
387 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
388 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xea
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
389 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xeb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
390 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xec
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
391 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xed
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
392 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xee
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
393 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xef
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
394 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
395 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
396 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
397 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
398 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
399 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
400 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
401 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
402 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
403 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
404 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
405 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
406 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
407 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
408 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
409 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xff
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
410 };
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
411
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
412
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
413 u_char hex_decode[256] = {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
414 0, // 0x00
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
415 0, // 0x01
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
416 0, // 0x02
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
417 0, // 0x03
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
418 0, // 0x04
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
419 0, // 0x05
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
420 0, // 0x06
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
421 0, // 0x07
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
422 0, // 0x08
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
423 0, // 0x09 <tab>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
424 0, // 0x0a <lf>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
425 0, // 0x0b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
426 0, // 0x0c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
427 0, // 0x0d <cr>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
428 0, // 0x0e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
429 0, // 0x0f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
430 0, // 0x10
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
431 0, // 0x11 xon char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
432 0, // 0x12
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
433 0, // 0x13 xoff char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
434 0, // 0x14
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
435 0, // 0x15
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
436 0, // 0x16
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
437 0, // 0x17
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
438 0, // 0x18
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
439 0, // 0x19
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
440 0, // 0x1a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
441 0, // 0x1b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
442 0, // 0x1c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
443 0, // 0x1d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
444 0, // 0x1e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
445 0, // 0x1f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
446 0, // 0x20 space
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
447 0, // 0x21 !
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
448 0, // 0x22 ""
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
449 0, // 0x23 #
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
450 0, // 0x24 $
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
451 0, // 0x25 %
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
452 0, // 0x26 &
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
453 0, // 0x27 '
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
454 0, // 0x28 (
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
455 0, // 0x29 )
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
456 0, // 0x2A *
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
457 0, // 0x2B +
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
458 0, // 0x2C ,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
459 0, // 0x2D -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
460 0, // 0x2E .
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
461 0, // 0x2F /
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
462 0, // 0x30 0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
463 1, // 0x31 1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
464 2, // 0x32 2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
465 3, // 0x33 3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
466 4, // 0x34 4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
467 5, // 0x35 5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
468 6, // 0x36 6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
469 7, // 0x37 7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
470 8, // 0x38 8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
471 9, // 0x39 9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
472 0, // 0x3A :
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
473 0, // 0x3B ;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
474 0, // 0x3C <
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
475 0, // 0x3D =
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
476 0, // 0x3E >
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
477 0, // 0x3F ?
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
478 0, // 0x40 @
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
479 10, // 0x41 A
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
480 11, // 0x42 B
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
481 12, // 0x43 C
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
482 13, // 0x44 D
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
483 14, // 0x45 E
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
484 15, // 0x46 F
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
485 0, // 0x47 G
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
486 0, // 0x48 H
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
487 0, // 0x49 I
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
488 0, // 0x4A J
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
489 0, // 0x4B K
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
490 0, // 0x4C L
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
491 0, // 0x4D M
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
492 0, // 0x4E N
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
493 0, // 0x4F O
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
494 0, // 0x50 P
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
495 0, // 0x51 Q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
496 0, // 0x52 R
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
497 0, // 0x53 S
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
498 0, // 0x54 T
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
499 0, // 0x55 U
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
500 0, // 0x56 V
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
501 0, // 0x57 W
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
502 0, // 0x58 X
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
503 0, // 0x59 Y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
504 0, // 0x5A Z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
505 0, // 0x5B [
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
506 0, // 0x5C backslash
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
507 0, // 0x5D ]
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
508 0, // 0x5E ^
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
509 0, // 0x5F _
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
510 0, // 0x60 `
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
511 10, // 0x61 a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
512 11, // 0x62 b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
513 12, // 0x63 c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
514 13, // 0x64 d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
515 14, // 0x65 e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
516 15, // 0x66 f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
517 0, // 0x67 g
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
518 0, // 0x68 h
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
519 0, // 0x69 i
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
520 0, // 0x6A j
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
521 0, // 0x6B k
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
522 0, // 0x6C l
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
523 0, // 0x6D m
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
524 0, // 0x6E n
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
525 0, // 0x6F o
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
526 0, // 0x70 p
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
527 0, // 0x71 q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
528 0, // 0x72 r
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
529 0, // 0x73 s
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
530 0, // 0x74 t
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
531 0, // 0x75 u
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
532 0, // 0x76 v
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
533 0, // 0x77 w
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
534 0, // 0x78 x
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
535 0, // 0x79 y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
536 0, // 0x7A z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
537 0, // 0x7B {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
538 0, // 0x7C |
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
539 0, // 0x7D }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
540 0, // 0x7E ~
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
541 0, // 0x7f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
542 0, // 0x80
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
543 0, // 0x81
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
544 0, // 0x82
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
545 0, // 0x83
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
546 0, // 0x84
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
547 0, // 0x85
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
548 0, // 0x86
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
549 0, // 0x87
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
550 0, // 0x88
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
551 0, // 0x89
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
552 0, // 0x8a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
553 0, // 0x8b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
554 0, // 0x8c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
555 0, // 0x8d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
556 0, // 0x8e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
557 0, // 0x8f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
558 0, // 0x90
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
559 0, // 0x91
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
560 0, // 0x92
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
561 0, // 0x93
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
562 0, // 0x94
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
563 0, // 0x95
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
564 0, // 0x96
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
565 0, // 0x97
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
566 0, // 0x98
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
567 0, // 0x99
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
568 0, // 0x9a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
569 0, // 0x9b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
570 0, // 0x9c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
571 0, // 0x9d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
572 0, // 0x9e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
573 0, // 0x9f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
574 0, // 0xa0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
575 0, // 0xa1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
576 0, // 0xa2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
577 0, // 0xa3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
578 0, // 0xa4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
579 0, // 0xa5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
580 0, // 0xa6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
581 0, // 0xa7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
582 0, // 0xa8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
583 0, // 0xa9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
584 0, // 0xaa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
585 0, // 0xab
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
586 0, // 0xac
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
587 0, // 0xad
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
588 0, // 0xae
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
589 0, // 0xaf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
590 0, // 0xb0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
591 0, // 0xb1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
592 0, // 0xb2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
593 0, // 0xb3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
594 0, // 0xb4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
595 0, // 0xb5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
596 0, // 0xb6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
597 0, // 0xb7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
598 0, // 0xb8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
599 0, // 0xb9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
600 0, // 0xba
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
601 0, // 0xbb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
602 0, // 0xbc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
603 0, // 0xbd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
604 0, // 0xbe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
605 0, // 0xbf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
606 0, // 0xc0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
607 0, // 0xc1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
608 0, // 0xc2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
609 0, // 0xc3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
610 0, // 0xc4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
611 0, // 0xc5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
612 0, // 0xc6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
613 0, // 0xc7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
614 0, // 0xc8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
615 0, // 0xc9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
616 0, // 0xca
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
617 0, // 0xcb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
618 0, // 0xcc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
619 0, // 0xcd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
620 0, // 0xce
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
621 0, // 0xcf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
622 0, // 0xd0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
623 0, // 0xd1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
624 0, // 0xd2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
625 0, // 0xd3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
626 0, // 0xd4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
627 0, // 0xd5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
628 0, // 0xd6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
629 0, // 0xd7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
630 0, // 0xd8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
631 0, // 0xd9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
632 0, // 0xda
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
633 0, // 0xdb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
634 0, // 0xdc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
635 0, // 0xdd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
636 0, // 0xde
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
637 0, // 0xdf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
638 0, // 0xe0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
639 0, // 0xe1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
640 0, // 0xe2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
641 0, // 0xe3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
642 0, // 0xe4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
643 0, // 0xe5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
644 0, // 0xe6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
645 0, // 0xe7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
646 0, // 0xe8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
647 0, // 0xe9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
648 0, // 0xea
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
649 0, // 0xeb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
650 0, // 0xec
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
651 0, // 0xed
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
652 0, // 0xee
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
653 0, // 0xef
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
654 0, // 0xf0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
655 0, // 0xf1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
656 0, // 0xf2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
657 0, // 0xf3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
658 0, // 0xf4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
659 0, // 0xf5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
660 0, // 0xf6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
661 0, // 0xf7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
662 0, // 0xf8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
663 0, // 0xf9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
664 0, // 0xfa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
665 0, // 0xfb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
666 0, // 0xfc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
667 0, // 0xfd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
668 0, // 0xfe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
669 0, // 0xff
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
670 };
7
93ff6d1ef647 stable standalone scanner module
carl
parents: 6
diff changeset
671
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
672 u_char b64_decode[256] = {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
673 0, // 0x00
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
674 0, // 0x01
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
675 0, // 0x02
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
676 0, // 0x03
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
677 0, // 0x04
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
678 0, // 0x05
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
679 0, // 0x06
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
680 0, // 0x07
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
681 0, // 0x08
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
682 0, // 0x09 <tab>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
683 0, // 0x0a <lf>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
684 0, // 0x0b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
685 0, // 0x0c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
686 0, // 0x0d <cr>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
687 0, // 0x0e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
688 0, // 0x0f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
689 0, // 0x10
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
690 0, // 0x11 xon char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
691 0, // 0x12
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
692 0, // 0x13 xoff char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
693 0, // 0x14
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
694 0, // 0x15
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
695 0, // 0x16
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
696 0, // 0x17
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
697 0, // 0x18
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
698 0, // 0x19
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
699 0, // 0x1a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
700 0, // 0x1b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
701 0, // 0x1c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
702 0, // 0x1d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
703 0, // 0x1e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
704 0, // 0x1f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
705 0, // 0x20 space
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
706 0, // 0x21 !
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
707 0, // 0x22 "
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
708 0, // 0x23 #
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
709 0, // 0x24 $
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
710 0, // 0x25 %
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
711 0, // 0x26 &
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
712 0, // 0x27 '
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
713 0, // 0x28 (
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
714 0, // 0x29 )
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
715 0, // 0x2A *
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
716 62, // 0x2B +
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
717 0, // 0x2C ,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
718 0, // 0x2D -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
719 0, // 0x2E .
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
720 63, // 0x2F /
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
721 52, // 0x30 0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
722 53, // 0x31 1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
723 54, // 0x32 2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
724 55, // 0x33 3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
725 56, // 0x34 4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
726 57, // 0x35 5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
727 58, // 0x36 6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
728 59, // 0x37 7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
729 60, // 0x38 8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
730 61, // 0x39 9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
731 0, // 0x3A :
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
732 0, // 0x3B ;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
733 0, // 0x3C <
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
734 0, // 0x3D =
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
735 0, // 0x3E >
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
736 0, // 0x3F ?
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
737 0, // 0x40 @
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
738 0, // 0x41 A
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
739 1, // 0x42 B
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
740 2, // 0x43 C
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
741 3, // 0x44 D
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
742 4, // 0x45 E
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
743 5, // 0x46 F
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
744 6, // 0x47 G
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
745 7, // 0x48 H
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
746 8, // 0x49 I
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
747 9, // 0x4A J
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
748 10, // 0x4B K
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
749 11, // 0x4C L
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
750 12, // 0x4D M
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
751 13, // 0x4E N
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
752 14, // 0x4F O
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
753 15, // 0x50 P
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
754 16, // 0x51 Q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
755 17, // 0x52 R
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
756 18, // 0x53 S
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
757 19, // 0x54 T
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
758 20, // 0x55 U
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
759 21, // 0x56 V
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
760 22, // 0x57 W
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
761 23, // 0x58 X
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
762 24, // 0x59 Y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
763 25, // 0x5A Z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
764 0, // 0x5B [
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
765 0, // 0x5C backslash
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
766 0, // 0x5D ]
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
767 0, // 0x5E ^
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
768 0, // 0x5F _
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
769 0, // 0x60 `
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
770 26, // 0x61 a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
771 27, // 0x62 b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
772 28, // 0x63 c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
773 29, // 0x64 d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
774 30, // 0x65 e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
775 31, // 0x66 f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
776 32, // 0x67 g
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
777 33, // 0x68 h
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
778 34, // 0x69 i
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
779 35, // 0x6A j
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
780 36, // 0x6B k
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
781 37, // 0x6C l
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
782 38, // 0x6D m
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
783 39, // 0x6E n
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
784 40, // 0x6F o
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
785 41, // 0x70 p
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
786 42, // 0x71 q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
787 43, // 0x72 r
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
788 44, // 0x73 s
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
789 45, // 0x74 t
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
790 46, // 0x75 u
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
791 47, // 0x76 v
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
792 48, // 0x77 w
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
793 49, // 0x78 x
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
794 50, // 0x79 y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
795 51, // 0x7A z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
796 0, // 0x7B {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
797 0, // 0x7C |
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
798 0, // 0x7D }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
799 0, // 0x7E ~
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
800 0, // 0x7f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
801 0, // 0x80
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
802 0, // 0x81
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
803 0, // 0x82
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
804 0, // 0x83
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
805 0, // 0x84
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
806 0, // 0x85
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
807 0, // 0x86
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
808 0, // 0x87
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
809 0, // 0x88
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
810 0, // 0x89
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
811 0, // 0x8a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
812 0, // 0x8b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
813 0, // 0x8c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
814 0, // 0x8d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
815 0, // 0x8e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
816 0, // 0x8f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
817 0, // 0x90
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
818 0, // 0x91
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
819 0, // 0x92
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
820 0, // 0x93
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
821 0, // 0x94
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
822 0, // 0x95
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
823 0, // 0x96
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
824 0, // 0x97
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
825 0, // 0x98
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
826 0, // 0x99
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
827 0, // 0x9a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
828 0, // 0x9b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
829 0, // 0x9c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
830 0, // 0x9d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
831 0, // 0x9e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
832 0, // 0x9f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
833 0, // 0xa0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
834 0, // 0xa1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
835 0, // 0xa2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
836 0, // 0xa3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
837 0, // 0xa4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
838 0, // 0xa5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
839 0, // 0xa6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
840 0, // 0xa7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
841 0, // 0xa8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
842 0, // 0xa9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
843 0, // 0xaa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
844 0, // 0xab
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
845 0, // 0xac
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
846 0, // 0xad
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
847 0, // 0xae
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
848 0, // 0xaf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
849 0, // 0xb0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
850 0, // 0xb1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
851 0, // 0xb2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
852 0, // 0xb3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
853 0, // 0xb4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
854 0, // 0xb5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
855 0, // 0xb6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
856 0, // 0xb7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
857 0, // 0xb8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
858 0, // 0xb9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
859 0, // 0xba
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
860 0, // 0xbb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
861 0, // 0xbc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
862 0, // 0xbd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
863 0, // 0xbe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
864 0, // 0xbf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
865 0, // 0xc0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
866 0, // 0xc1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
867 0, // 0xc2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
868 0, // 0xc3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
869 0, // 0xc4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
870 0, // 0xc5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
871 0, // 0xc6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
872 0, // 0xc7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
873 0, // 0xc8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
874 0, // 0xc9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
875 0, // 0xca
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
876 0, // 0xcb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
877 0, // 0xcc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
878 0, // 0xcd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
879 0, // 0xce
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
880 0, // 0xcf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
881 0, // 0xd0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
882 0, // 0xd1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
883 0, // 0xd2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
884 0, // 0xd3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
885 0, // 0xd4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
886 0, // 0xd5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
887 0, // 0xd6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
888 0, // 0xd7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
889 0, // 0xd8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
890 0, // 0xd9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
891 0, // 0xda
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
892 0, // 0xdb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
893 0, // 0xdc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
894 0, // 0xdd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
895 0, // 0xde
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
896 0, // 0xdf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
897 0, // 0xe0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
898 0, // 0xe1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
899 0, // 0xe2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
900 0, // 0xe3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
901 0, // 0xe4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
902 0, // 0xe5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
903 0, // 0xe6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
904 0, // 0xe7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
905 0, // 0xe8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
906 0, // 0xe9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
907 0, // 0xea
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
908 0, // 0xeb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
909 0, // 0xec
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
910 0, // 0xed
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
911 0, // 0xee
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
912 0, // 0xef
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
913 0, // 0xf0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
914 0, // 0xf1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
915 0, // 0xf2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
916 0, // 0xf3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
917 0, // 0xf4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
918 0, // 0xf5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
919 0, // 0xf6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
920 0, // 0xf7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
921 0, // 0xf8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
922 0, // 0xf9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
923 0, // 0xfa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
924 0, // 0xfb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
925 0, // 0xfc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
926 0, // 0xfd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
927 0, // 0xfe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
928 0, // 0xff
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
929 };
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
930
67
a39c813e8f7b add uuencode decoding
carl
parents: 52
diff changeset
931 u_char uu_decode[256] = {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
932 0, // 0x00
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
933 0, // 0x01
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
934 0, // 0x02
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
935 0, // 0x03
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
936 0, // 0x04
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
937 0, // 0x05
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
938 0, // 0x06
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
939 0, // 0x07
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
940 0, // 0x08
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
941 0, // 0x09 <tab>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
942 0, // 0x0a <lf>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
943 0, // 0x0b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
944 0, // 0x0c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
945 0, // 0x0d <cr>
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
946 0, // 0x0e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
947 0, // 0x0f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
948 0, // 0x10
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
949 0, // 0x11 xon char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
950 0, // 0x12
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
951 0, // 0x13 xoff char
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
952 0, // 0x14
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
953 0, // 0x15
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
954 0, // 0x16
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
955 0, // 0x17
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
956 0, // 0x18
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
957 0, // 0x19
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
958 0, // 0x1a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
959 0, // 0x1b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
960 0, // 0x1c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
961 0, // 0x1d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
962 0, // 0x1e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
963 0, // 0x1f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
964 0, // 0x20 space
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
965 1, // 0x21 !
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
966 2, // 0x22 "
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
967 3, // 0x23 #
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
968 4, // 0x24 $
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
969 5, // 0x25 %
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
970 6, // 0x26 &
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
971 7, // 0x27 '
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
972 8, // 0x28 (
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
973 9, // 0x29 )
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
974 10, // 0x2A *
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
975 11, // 0x2B +
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
976 12, // 0x2C ,
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
977 13, // 0x2D -
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
978 14, // 0x2E .
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
979 15, // 0x2F /
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
980 16, // 0x30 0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
981 17, // 0x31 1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
982 18, // 0x32 2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
983 19, // 0x33 3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
984 20, // 0x34 4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
985 21, // 0x35 5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
986 22, // 0x36 6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
987 23, // 0x37 7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
988 24, // 0x38 8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
989 25, // 0x39 9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
990 26, // 0x3A :
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
991 27, // 0x3B ;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
992 28, // 0x3C <
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
993 29, // 0x3D =
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
994 30, // 0x3E >
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
995 31, // 0x3F ?
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
996 32, // 0x40 @
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
997 33, // 0x41 A
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
998 34, // 0x42 B
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
999 35, // 0x43 C
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1000 36, // 0x44 D
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1001 37, // 0x45 E
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1002 38, // 0x46 F
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1003 39, // 0x47 G
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1004 40, // 0x48 H
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1005 41, // 0x49 I
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1006 42, // 0x4A J
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1007 43, // 0x4B K
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1008 44, // 0x4C L
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1009 45, // 0x4D M
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1010 46, // 0x4E N
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1011 47, // 0x4F O
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1012 48, // 0x50 P
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1013 49, // 0x51 Q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1014 50, // 0x52 R
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1015 51, // 0x53 S
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1016 52, // 0x54 T
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1017 53, // 0x55 U
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1018 54, // 0x56 V
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1019 55, // 0x57 W
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1020 56, // 0x58 X
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1021 57, // 0x59 Y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1022 58, // 0x5A Z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1023 59, // 0x5B [
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1024 60, // 0x5C backslash
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1025 61, // 0x5D ]
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1026 62, // 0x5E ^
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1027 63, // 0x5F _
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1028 0, // 0x60 `
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1029 0, // 0x61 a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1030 0, // 0x62 b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1031 0, // 0x63 c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1032 0, // 0x64 d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1033 0, // 0x65 e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1034 0, // 0x66 f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1035 0, // 0x67 g
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1036 0, // 0x68 h
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1037 0, // 0x69 i
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1038 0, // 0x6A j
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1039 0, // 0x6B k
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1040 0, // 0x6C l
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1041 0, // 0x6D m
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1042 0, // 0x6E n
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1043 0, // 0x6F o
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1044 0, // 0x70 p
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1045 0, // 0x71 q
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1046 0, // 0x72 r
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1047 0, // 0x73 s
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1048 0, // 0x74 t
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1049 0, // 0x75 u
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1050 0, // 0x76 v
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1051 0, // 0x77 w
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1052 0, // 0x78 x
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1053 0, // 0x79 y
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1054 0, // 0x7A z
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1055 0, // 0x7B {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1056 0, // 0x7C |
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1057 0, // 0x7D }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1058 0, // 0x7E ~
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1059 0, // 0x7f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1060 0, // 0x80
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1061 0, // 0x81
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1062 0, // 0x82
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1063 0, // 0x83
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1064 0, // 0x84
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1065 0, // 0x85
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1066 0, // 0x86
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1067 0, // 0x87
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1068 0, // 0x88
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1069 0, // 0x89
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1070 0, // 0x8a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1071 0, // 0x8b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1072 0, // 0x8c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1073 0, // 0x8d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1074 0, // 0x8e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1075 0, // 0x8f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1076 0, // 0x90
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1077 0, // 0x91
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1078 0, // 0x92
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1079 0, // 0x93
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1080 0, // 0x94
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1081 0, // 0x95
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1082 0, // 0x96
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1083 0, // 0x97
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1084 0, // 0x98
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1085 0, // 0x99
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1086 0, // 0x9a
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1087 0, // 0x9b
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1088 0, // 0x9c
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1089 0, // 0x9d
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1090 0, // 0x9e
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1091 0, // 0x9f
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1092 0, // 0xa0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1093 0, // 0xa1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1094 0, // 0xa2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1095 0, // 0xa3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1096 0, // 0xa4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1097 0, // 0xa5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1098 0, // 0xa6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1099 0, // 0xa7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1100 0, // 0xa8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1101 0, // 0xa9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1102 0, // 0xaa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1103 0, // 0xab
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1104 0, // 0xac
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1105 0, // 0xad
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1106 0, // 0xae
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1107 0, // 0xaf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1108 0, // 0xb0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1109 0, // 0xb1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1110 0, // 0xb2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1111 0, // 0xb3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1112 0, // 0xb4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1113 0, // 0xb5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1114 0, // 0xb6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1115 0, // 0xb7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1116 0, // 0xb8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1117 0, // 0xb9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1118 0, // 0xba
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1119 0, // 0xbb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1120 0, // 0xbc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1121 0, // 0xbd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1122 0, // 0xbe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1123 0, // 0xbf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1124 0, // 0xc0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1125 0, // 0xc1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1126 0, // 0xc2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1127 0, // 0xc3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1128 0, // 0xc4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1129 0, // 0xc5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1130 0, // 0xc6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1131 0, // 0xc7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1132 0, // 0xc8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1133 0, // 0xc9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1134 0, // 0xca
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1135 0, // 0xcb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1136 0, // 0xcc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1137 0, // 0xcd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1138 0, // 0xce
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1139 0, // 0xcf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1140 0, // 0xd0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1141 0, // 0xd1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1142 0, // 0xd2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1143 0, // 0xd3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1144 0, // 0xd4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1145 0, // 0xd5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1146 0, // 0xd6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1147 0, // 0xd7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1148 0, // 0xd8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1149 0, // 0xd9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1150 0, // 0xda
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1151 0, // 0xdb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1152 0, // 0xdc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1153 0, // 0xdd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1154 0, // 0xde
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1155 0, // 0xdf
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1156 0, // 0xe0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1157 0, // 0xe1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1158 0, // 0xe2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1159 0, // 0xe3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1160 0, // 0xe4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1161 0, // 0xe5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1162 0, // 0xe6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1163 0, // 0xe7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1164 0, // 0xe8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1165 0, // 0xe9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1166 0, // 0xea
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1167 0, // 0xeb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1168 0, // 0xec
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1169 0, // 0xed
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1170 0, // 0xee
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1171 0, // 0xef
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1172 0, // 0xf0
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1173 0, // 0xf1
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1174 0, // 0xf2
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1175 0, // 0xf3
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1176 0, // 0xf4
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1177 0, // 0xf5
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1178 0, // 0xf6
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1179 0, // 0xf7
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1180 0, // 0xf8
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1181 0, // 0xf9
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1182 0, // 0xfa
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1183 0, // 0xfb
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1184 0, // 0xfc
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1185 0, // 0xfd
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1186 0, // 0xfe
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1187 0, // 0xff
67
a39c813e8f7b add uuencode decoding
carl
parents: 52
diff changeset
1188 };
a39c813e8f7b add uuencode decoding
carl
parents: 52
diff changeset
1189
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1190
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1191 ////////////////////////////////////////////////
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1192 //
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1193 //
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1194 recorder::recorder(mlfiPriv *priv_, string_set &html_tags_, string_set &tlds_, string_set &cctlds_) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1195 priv = priv_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1196 html_tags = &html_tags_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1197 tlds = &tlds_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1198 cctlds = &cctlds_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1199 bad_html_tags = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1200 binary_tags = 0;
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1201 }
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1202 void recorder::empty() {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1203 bad_html_tags = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1204 binary_tags = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1205 discard(hosts);
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1206 }
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1207 void recorder::new_url(char *host) {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1208 register_string(hosts, host);
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1209 }
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1210 void recorder::binary() {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1211 binary_tags++;
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1212 }
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1213 void recorder::new_tag(char *tag) {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1214 string_set::iterator i = html_tags->find(tag);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1215 if (i == html_tags->end()) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1216 bad_html_tags++;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1217 if ((debug_syslog > 2) && (bad_html_tags < 10)) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1218 // only log the first 10 bad tags
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1219 char buf[200];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1220 snprintf(buf, sizeof(buf), "bad html tag %s", tag);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1221 my_syslog(priv, buf);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1222 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1223 }
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1224 }
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1225
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1226
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1227 ////////////////////////////////////////////////
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1228 //
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1229 //
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1230 fsa::fsa(char *myname_, state init_, fsa *next1_, fsa *next2_, recorder *memory_) {
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1231 myname = myname_;
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1232 count = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1233 st = init_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1234 init = init_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1235 next1 = next1_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1236 next2 = next2_;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1237 memory = memory_;
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1238 }
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1239
19
b8f5fa3dd5b8 fix problems in the state transitions causing impossible states
carl
parents: 18
diff changeset
1240 void fsa::error(char *err) {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1241 count = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1242 st = init;
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1243 if (err) memory->syslog(err);
19
b8f5fa3dd5b8 fix problems in the state transitions causing impossible states
carl
parents: 18
diff changeset
1244 }
b8f5fa3dd5b8 fix problems in the state transitions causing impossible states
carl
parents: 18
diff changeset
1245
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1246 void fsa::pusher() {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1247 if (next1) next1->push(pending, count);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1248 if (next2) next2->push(pending, count);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1249 count = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1250 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1251
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1252 void fsa::validhost () {
130
e316f6fd9c39 uribl lookups fully qualified; allow two component host names
carl
parents: 119
diff changeset
1253 // remove trailing periods
e316f6fd9c39 uribl lookups fully qualified; allow two component host names
carl
parents: 119
diff changeset
1254 while (count && (pending[count-1]== '.')) pending[--count] = '\0';
e316f6fd9c39 uribl lookups fully qualified; allow two component host names
carl
parents: 119
diff changeset
1255 if (!count) return; // empty string
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1256 if (!strchr((const char *)pending, '@')) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1257 // not an email address or message id
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1258 char *p1 = strchr((const char *)pending, '.');
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1259 char *p2 = strrchr((const char *)pending, '.');
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1260 char *p3 = strstr((const char *)pending, "..");
131
df355d117199 uribl lookups fully qualified; allow two component host names
carl
parents: 130
diff changeset
1261 if (p1 && (p1 != (char*)pending) & !p3) {
130
e316f6fd9c39 uribl lookups fully qualified; allow two component host names
carl
parents: 119
diff changeset
1262 // have a period, so at least two components, and no empty components
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1263 in_addr ip;
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1264 if (inet_aton((const char*)pending, &ip)) {
143
ecb40aa3eaa5 require two periods for ip addresses
carl
parents: 131
diff changeset
1265 // have an ip address if at least two periods
ecb40aa3eaa5 require two periods for ip addresses
carl
parents: 131
diff changeset
1266 if (p1 != p2) memory->new_url((char*)pending);
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1267 }
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1268 else {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1269 for (int i=0; i<count; i++) pending[i] = tolower(pending[i]);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1270 // is last component a tld?
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1271 string_set::iterator i = memory->get_tlds()->find(p2+1);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1272 if (i != memory->get_tlds()->end()) memory->new_url((char*)pending);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1273 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1274 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1275 }
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1276 }
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1277
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1278 void fsa::push(u_char *buf, int len) {
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1279 if (debug_syslog > 10) {
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1280 char msg[200], mbuf[200];
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1281 int n = sizeof(mbuf) - 1;
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1282 if (len < n) n = len;
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1283 memcpy(mbuf, buf, n);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1284 mbuf[n] = '\0';
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1285 snprintf(msg, sizeof(msg), "%s sees %s", myname, mbuf);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1286 msg[sizeof(msg)-1] = '\0';
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1287 memory->syslog(msg);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1288 }
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1289 for (int i=0; i<len; i++) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1290 if (count == (PENDING_LIMIT-1)) error(NULL);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1291 if (st >= end_state) error("finite state machine impossible state");
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1292 u_char c = buf[i];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1293 pending[count++] = c;
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1294 if (debug_syslog > 10) {
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1295 char *old1 = state_names[st];
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1296 char *new1 = state_names[parse_table[c][st]];
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1297 char msg[200];
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1298 snprintf(msg, sizeof(msg), "%s at (%d,%c) switches from %s to %s", myname, i, c, old1, new1);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1299 memory->syslog(msg);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1300 }
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1301 st = parse_table[c][st];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1302 switch (st) {
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1303
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1304 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1305 // host name recognizer
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1306 case h_end: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1307 if (count > 5) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1308 // need some minimal length host name
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1309 //otherwise binary files likely to generate false positives
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1310 pending[--count] = '\0'; // null terminate host name by overwriting the terminator
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1311 validhost();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1312 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1313 st = h_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1314 } // fall thru
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1315
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1316 case h_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1317 count = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1318 } break;
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1319
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1320
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1321 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1322 // html tag discarder
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1323 case t_bin: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1324 memory->binary();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1325 st = t_disc;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1326 count = 0; // discard all characters
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1327 } break;
25
6176e7b2e8af better scanning for bad html tags, allow binary zip and gz files with random char sequences
carl
parents: 24
diff changeset
1328
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1329 case t_end: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1330 if (count > 1) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1331 pending[--count] = '\0'; // null terminate html tag
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1332 for (int i=0; i<count; i++) pending[i] = tolower(pending[i]);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1333 memory->new_tag((char*)pending);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1334 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1335 st = (c == ' ') ? t_disc : t_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1336 } // fall thru
25
6176e7b2e8af better scanning for bad html tags, allow binary zip and gz files with random char sequences
carl
parents: 24
diff changeset
1337
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1338 case t_tag1:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1339 case t_com2:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1340 case t_com3:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1341 case t_com4:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1342 case t_com5:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1343 case t_disc: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1344 count = 0; // discard all characters
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1345 } break;
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1346
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1347 case t_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1348 pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1349 } break;
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1350
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1351
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1352 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1353 // url recognizer
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1354 case u_reco: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1355 if (count > 11) { // need some minimal length host name after the protocol
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1356 pending[--count] = '\0'; // null terminate host name by overwriting the terminator
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1357 // must start with protocol
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1358 if (strncasecmp((const char *)pending, "http", 4) == 0) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1359 char *p = strrchr((const char *)pending, '/');
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1360 if (p) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1361 count = strlen(p+1);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1362 memmove(pending, p+1, count+1);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1363 validhost();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1364 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1365 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1366 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1367 st = u_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1368 } // fall thru
7
93ff6d1ef647 stable standalone scanner module
carl
parents: 6
diff changeset
1369
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1370 case u_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1371 count = 0; // discard all characters
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1372 } break;
7
93ff6d1ef647 stable standalone scanner module
carl
parents: 6
diff changeset
1373
93ff6d1ef647 stable standalone scanner module
carl
parents: 6
diff changeset
1374
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1375 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1376 // url decoder %xx
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1377 case d_2: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1378 pending[0] = hex_decode[pending[1]] * 16 + hex_decode[pending[2]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1379 count = 1;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1380 st = d_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1381 } // fall thru
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1382
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1383 case d_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1384 pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1385 } break;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1386
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1387
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1388 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1389 // html entity decoder &#nnn; &#xnnn;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1390 case e_semi: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1391 pending[--count] = '\0'; // null terminate the digit string by overwriting the semicolon
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1392 u_char f = pending[2];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1393 if ((f == 'x') || (f == 'X')) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1394 pending[0] = strtol((const char *)pending+2, (char **)NULL, 16);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1395 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1396 else {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1397 pending[0] = atoi((const char *)pending+2);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1398 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1399 count = 1;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1400 st = e_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1401 } // fall thru
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1402
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1403 case e_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1404 pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1405 } break;
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1406
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1407
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1408 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1409 // mime decoder =xx
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1410 case m_2: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1411 pending[0] = hex_decode[pending[1]] * 16 + hex_decode[pending[2]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1412 count = 1;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1413 st = m_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1414 } // fall thru
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1415
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1416 case m_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1417 pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1418 } break;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1419
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1420 case m_cr: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1421 count = 1;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1422 st = m_eq;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1423 } break;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1424
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1425 case m_nl: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1426 count = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1427 st = m_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1428 } break;
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1429
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1430
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1431 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1432 // base64 decoder
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1433 case b_lf2: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1434 count--;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1435 } break;
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1436
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1437 case b_cr: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1438 if ((count % 4) == 1) { // base64 data with trailing cr
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1439 count--; // ignore this cr
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1440 // might have proper b64 data
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1441 int cnt = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1442 for (int i=0; i<count; i+=4) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1443 unsigned long a1 = b64_decode[pending[i]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1444 unsigned long a2 = b64_decode[pending[i+1]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1445 unsigned long a3 = b64_decode[pending[i+2]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1446 unsigned long a4 = b64_decode[pending[i+3]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1447 unsigned long a = (a1 << 18) | (a2 << 12) | (a3 << 6) | a4;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1448 pending[cnt++] = (a & 0x00ff0000) >> 16;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1449 pending[cnt++] = (a & 0x0000ff00) >> 8;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1450 pending[cnt++] = (a & 0x000000ff);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1451 if ((char)pending[i+3] == '=') cnt--;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1452 if ((char)pending[i+2] == '=') cnt--;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1453 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1454 count = cnt;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1455 st = b_lf2;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1456 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1457 else st = b_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1458 } // fall thru
16
2ae8d953f1d0 add scanning for bare hostnames
carl
parents: 12
diff changeset
1459
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1460 case b_lf:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1461 case b_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1462 pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1463 } break;
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1464
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1465
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1466 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1467 // uuencoding decoder
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1468 case uu_lf2: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1469 count--;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1470 } break;
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1471
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1472 case uu_cr: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1473 if ((count % 4) == 2) { // leading count byte, uuencoded data, trailing cr
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1474 count--; // ignore this cr
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1475 int bytes = uu_decode[pending[0]]; // bytes we are supposed to get from this line
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1476 int size = (bytes+2)/3*4; // encoded size of those bytes
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1477 if (size == count-1) { // encoded size matches line length
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1478 // might have proper uu data
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1479 int cnt = 0;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1480 for (int i=1; i<count; i+=4) {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1481 unsigned long a1 = uu_decode[pending[i]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1482 unsigned long a2 = uu_decode[pending[i+1]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1483 unsigned long a3 = uu_decode[pending[i+2]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1484 unsigned long a4 = uu_decode[pending[i+3]];
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1485 unsigned long a = (a1 << 18) | (a2 << 12) | (a3 << 6) | a4;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1486 pending[cnt++] = (a & 0x00ff0000) >> 16;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1487 pending[cnt++] = (a & 0x0000ff00) >> 8;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1488 pending[cnt++] = (a & 0x000000ff);
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1489 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1490 count = bytes;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1491 st = uu_lf2;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1492 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1493 else st = uu_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1494 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1495 else st = uu_init;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1496 } // fall thru
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1497
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1498 case uu_lf:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1499 case uu_init: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1500 pusher();
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1501 } break;
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1502
23
06de5ab6a232 add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents: 19
diff changeset
1503
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1504 //////////////////////////////
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1505 // states that just accumulate characters in the pending buffer
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1506 case h_host:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1507 case t_tag2:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1508 case t_com1:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1509 case u_http:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1510 case u_url:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1511 case u_sla:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1512 case d_pcnt:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1513 case d_1:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1514 case e_amp:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1515 case e_num:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1516 case m_eq:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1517 case m_1:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1518 case b_64:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1519 case uu_64:
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1520 default: {
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1521 } break;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1522 }
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1523 }
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1524 }
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1525
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1526
73
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1527 ////////////////////////////////////////////////
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1528 //
2b369f7db7bf start coding on new config syntax
carl
parents: 69
diff changeset
1529 //
24
2e23b7184d2b start coding for bad html tag detection
carl
parents: 23
diff changeset
1530 url_scanner::url_scanner(recorder *memory) {
147
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1531 host_parser = new fsa("host_parser", h_init, NULL, NULL, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1532 tags_parser = new fsa("tags_parser", t_init, host_parser, NULL, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1533 urls_parser = new fsa("urls_parser", u_init, NULL, NULL, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1534 urld_parser = new fsa("urld_parser", d_init, urls_parser, tags_parser, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1535 html_parser = new fsa("html_parser", e_init, urld_parser, NULL, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1536 mime_parser = new fsa("mime_parser", m_init, html_parser, NULL, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1537 b64_parser = new fsa("b64_parser ", b_init, mime_parser, NULL, memory);
812c80305f26 fix 5.23 bug and add fsa debug logging
carl
parents: 143
diff changeset
1538 uu_parser = new fsa("uu_parser ", uu_init, b64_parser, NULL, memory);
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1539 }
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1540
8
dbe18921f741 integration work on url scanner
carl
parents: 7
diff changeset
1541 url_scanner::~url_scanner() {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1542 delete host_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1543 delete tags_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1544 delete urls_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1545 delete urld_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1546 delete html_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1547 delete mime_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1548 delete b64_parser;
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1549 delete uu_parser;
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1550 }
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1551
8
dbe18921f741 integration work on url scanner
carl
parents: 7
diff changeset
1552 void url_scanner::scan(u_char *buffer, size_t length) {
117
aa07452e641b uribl patch from Jeff Evans <jeffe@tricab.com>
carl
parents: 86
diff changeset
1553 uu_parser->push(buffer, length);
6
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1554 }
cea50d98a6cf start work on content url scanner
carl
parents:
diff changeset
1555