tool-shed 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/Gemfile +3 -1
  2. data/Gemfile.lock +82 -0
  3. data/README.md +7 -5
  4. data/bin/as-asset-detector +0 -0
  5. data/lib/shed/asdoc_package.rb +1 -1
  6. data/lib/shed/manifest.rb +12 -4
  7. data/lib/shed/opts/manifest_opts.rb +11 -4
  8. data/lib/shed/opts/tool_opts.rb +8 -5
  9. data/lib/shed/opts/unused_asset_opts.rb +1 -1
  10. data/lib/shed/opts/unused_class_opts.rb +16 -1
  11. data/lib/shed/opts/unused_style_opts.rb +1 -1
  12. data/lib/shed/search.rb +6 -5
  13. data/lib/shed/tool.rb +16 -3
  14. data/lib/shed/unused_asset.rb +37 -12
  15. data/lib/shed/unused_class.rb +4 -4
  16. data/lib/shed/version.rb +1 -1
  17. data/rakefile.rb +20 -84
  18. data/test/fixtures/unused-asset/src/org/helvector/ToolBox.mxml +4 -0
  19. data/test/test_helper.rb +13 -0
  20. data/test/unit/test_manifest.rb +23 -2
  21. data/test/unit/test_manifest_opts.rb +15 -0
  22. data/test/unit/test_search.rb +16 -4
  23. data/test/unit/test_unused_asset.rb +24 -14
  24. data/test/unit/test_unused_class_opts.rb +28 -1
  25. metadata +41 -69
  26. data/coverage/unit/index.html +0 -330
  27. data/coverage/unit/jquery-1.3.2.min.js +0 -19
  28. data/coverage/unit/jquery.tablesorter.min.js +0 -15
  29. data/coverage/unit/lib-hel-asdoc_package_rb.html +0 -447
  30. data/coverage/unit/lib-hel-manifest_rb.html +0 -555
  31. data/coverage/unit/lib-hel-opts-asdoc_package_opts_rb.html +0 -195
  32. data/coverage/unit/lib-hel-opts-manifest_opts_rb.html +0 -195
  33. data/coverage/unit/lib-hel-opts-tool_opts_rb.html +0 -531
  34. data/coverage/unit/lib-hel-opts-unused_class_opts_rb.html +0 -207
  35. data/coverage/unit/lib-hel-opts-unused_style_opts_rb.html +0 -201
  36. data/coverage/unit/lib-hel-project_tools_rb.html +0 -423
  37. data/coverage/unit/lib-hel-search_rb.html +0 -363
  38. data/coverage/unit/lib-hel-stripper_rb.html +0 -357
  39. data/coverage/unit/lib-hel-tool_rb.html +0 -423
  40. data/coverage/unit/lib-hel-unused_class_rb.html +0 -675
  41. data/coverage/unit/lib-hel-unused_style_rb.html +0 -747
  42. data/coverage/unit/lib-hel-version_rb.html +0 -135
  43. data/coverage/unit/lib-hel_tools_rb.html +0 -165
  44. data/coverage/unit/print.css +0 -12
  45. data/coverage/unit/rcov.js +0 -42
  46. data/coverage/unit/screen.css +0 -270
  47. data/coverage.data +0 -0
  48. data/rdoc/classes/ASDocPackage.html +0 -281
  49. data/rdoc/classes/ASDocPackageOpts.html +0 -204
  50. data/rdoc/classes/Manifest.html +0 -323
  51. data/rdoc/classes/ManifestOpts.html +0 -205
  52. data/rdoc/classes/ProjectTools.html +0 -302
  53. data/rdoc/classes/Search.html +0 -203
  54. data/rdoc/classes/Stripper.html +0 -223
  55. data/rdoc/classes/Tool.html +0 -313
  56. data/rdoc/classes/ToolOpts.html +0 -297
  57. data/rdoc/classes/UnusedClass.html +0 -258
  58. data/rdoc/classes/UnusedClassOpts.html +0 -206
  59. data/rdoc/classes/UnusedStyle.html +0 -277
  60. data/rdoc/classes/UnusedStyleOpts.html +0 -205
  61. data/rdoc/created.rid +0 -1
  62. data/rdoc/files/LICENSE.html +0 -129
  63. data/rdoc/files/README_md.html +0 -138
  64. data/rdoc/files/lib/hel/asdoc_package_rb.html +0 -107
  65. data/rdoc/files/lib/hel/manifest_rb.html +0 -107
  66. data/rdoc/files/lib/hel/opts/asdoc_package_opts_rb.html +0 -107
  67. data/rdoc/files/lib/hel/opts/manifest_opts_rb.html +0 -107
  68. data/rdoc/files/lib/hel/opts/tool_opts_rb.html +0 -114
  69. data/rdoc/files/lib/hel/opts/unused_class_opts_rb.html +0 -107
  70. data/rdoc/files/lib/hel/opts/unused_style_opts_rb.html +0 -107
  71. data/rdoc/files/lib/hel/project_tools_rb.html +0 -107
  72. data/rdoc/files/lib/hel/search_rb.html +0 -114
  73. data/rdoc/files/lib/hel/stripper_rb.html +0 -107
  74. data/rdoc/files/lib/hel/tool_rb.html +0 -107
  75. data/rdoc/files/lib/hel/unused_class_rb.html +0 -107
  76. data/rdoc/files/lib/hel/unused_style_rb.html +0 -107
  77. data/rdoc/files/lib/hel/version_rb.html +0 -107
  78. data/rdoc/files/lib/hel_tools_rb.html +0 -127
  79. data/rdoc/fr_class_index.html +0 -39
  80. data/rdoc/fr_file_index.html +0 -43
  81. data/rdoc/fr_method_index.html +0 -75
  82. data/rdoc/index.html +0 -24
  83. data/rdoc/rdoc-style.css +0 -208
  84. data/tool-shed-0.0.3.gem +0 -0
  85. data/tool-shed.gemspec +0 -41
@@ -1,206 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: UnusedClassOpts</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">UnusedClassOpts</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/hel/opts/unused_class_opts_rb.html">
59
- lib/hel/opts/unused_class_opts.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="ToolOpts.html">
69
- ToolOpts
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- Manages the command line interface for the unused classes detection tool.
86
- </p>
87
-
88
- </div>
89
-
90
-
91
- </div>
92
-
93
- <div id="method-list">
94
- <h3 class="section-bar">Methods</h3>
95
-
96
- <div class="name-list">
97
- <a href="#M000024">default_config</a>&nbsp;&nbsp;
98
- <a href="#M000023">description</a>&nbsp;&nbsp;
99
- <a href="#M000022">name</a>&nbsp;&nbsp;
100
- </div>
101
- </div>
102
-
103
- </div>
104
-
105
-
106
- <!-- if includes -->
107
-
108
- <div id="section">
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
- <!-- if method_list -->
118
- <div id="methods">
119
- <h3 class="section-bar">Public Class methods</h3>
120
-
121
- <div id="method-M000024" class="method-detail">
122
- <a name="M000024"></a>
123
-
124
- <div class="method-heading">
125
- <a href="#M000024" class="method-signature">
126
- <span class="method-name">default_config</span><span class="method-args">()</span>
127
- </a>
128
- </div>
129
-
130
- <div class="method-description">
131
- <p><a class="source-toggle" href="#"
132
- onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
133
- <div class="method-source-code" id="M000024-source">
134
- <pre>
135
- <span class="ruby-comment cmt"># File lib/hel/opts/unused_class_opts.rb, line 16</span>
136
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">default_config</span>
137
- <span class="ruby-identifier">dc</span> = <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">default_config</span>
138
- <span class="ruby-identifier">dc</span>[<span class="ruby-identifier">:output</span>] = <span class="ruby-value str">'classes.txt'</span>
139
- <span class="ruby-identifier">dc</span>[<span class="ruby-identifier">:manifest</span>] = <span class="ruby-value str">'manifest.xml'</span>
140
- <span class="ruby-identifier">dc</span>[<span class="ruby-identifier">:link_report</span>] = <span class="ruby-value str">'link-report.xml'</span>
141
- <span class="ruby-identifier">dc</span>
142
- <span class="ruby-keyword kw">end</span>
143
- </pre>
144
- </div>
145
- </div>
146
- </div>
147
-
148
- <div id="method-M000023" class="method-detail">
149
- <a name="M000023"></a>
150
-
151
- <div class="method-heading">
152
- <a href="#M000023" class="method-signature">
153
- <span class="method-name">description</span><span class="method-args">()</span>
154
- </a>
155
- </div>
156
-
157
- <div class="method-description">
158
- <p><a class="source-toggle" href="#"
159
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
160
- <div class="method-source-code" id="M000023-source">
161
- <pre>
162
- <span class="ruby-comment cmt"># File lib/hel/opts/unused_class_opts.rb, line 12</span>
163
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">description</span>
164
- <span class="ruby-value str">&quot;Helvector ActionScript Unused Class Detection Tool&quot;</span>
165
- <span class="ruby-keyword kw">end</span>
166
- </pre>
167
- </div>
168
- </div>
169
- </div>
170
-
171
- <div id="method-M000022" class="method-detail">
172
- <a name="M000022"></a>
173
-
174
- <div class="method-heading">
175
- <a href="#M000022" class="method-signature">
176
- <span class="method-name">name</span><span class="method-args">()</span>
177
- </a>
178
- </div>
179
-
180
- <div class="method-description">
181
- <p><a class="source-toggle" href="#"
182
- onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
183
- <div class="method-source-code" id="M000022-source">
184
- <pre>
185
- <span class="ruby-comment cmt"># File lib/hel/opts/unused_class_opts.rb, line 8</span>
186
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>
187
- <span class="ruby-value str">&quot;hel-unused-class-detector&quot;</span>
188
- <span class="ruby-keyword kw">end</span>
189
- </pre>
190
- </div>
191
- </div>
192
- </div>
193
-
194
-
195
- </div>
196
-
197
-
198
- </div>
199
-
200
-
201
- <div id="validator-badges">
202
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
203
- </div>
204
-
205
- </body>
206
- </html>
@@ -1,277 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: UnusedStyle</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">UnusedStyle</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/hel/unused_style_rb.html">
59
- lib/hel/unused_style.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Tool.html">
69
- Tool
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- Detects styles that are not used in a Flex application.
86
- </p>
87
- <p>
88
- This needs to be provided with a source directory to search for used
89
- styles, and a directory containing css files which will be loaded and
90
- parsed for style definitions.
91
- </p>
92
- <p>
93
- NOTE: This tool needs further work before it can be considerd to cover all
94
- </p>
95
- <pre>
96
- use cases.
97
- </pre>
98
-
99
- </div>
100
-
101
-
102
- </div>
103
-
104
- <div id="method-list">
105
- <h3 class="section-bar">Methods</h3>
106
-
107
- <div class="name-list">
108
- <a href="#M000012">detect</a>&nbsp;&nbsp;
109
- <a href="#M000010">new</a>&nbsp;&nbsp;
110
- <a href="#M000011">valid_opts</a>&nbsp;&nbsp;
111
- </div>
112
- </div>
113
-
114
- </div>
115
-
116
-
117
- <!-- if includes -->
118
-
119
- <div id="section">
120
-
121
-
122
-
123
-
124
-
125
- <div id="attribute-list">
126
- <h3 class="section-bar">Attributes</h3>
127
-
128
- <div class="name-list">
129
- <table>
130
- <tr class="top-aligned-row context-row">
131
- <td class="context-item-name">declared</td>
132
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
133
- <td class="context-item-desc"></td>
134
- </tr>
135
- <tr class="top-aligned-row context-row">
136
- <td class="context-item-name">report</td>
137
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
138
- <td class="context-item-desc"></td>
139
- </tr>
140
- <tr class="top-aligned-row context-row">
141
- <td class="context-item-name">undeclared</td>
142
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
143
- <td class="context-item-desc"></td>
144
- </tr>
145
- <tr class="top-aligned-row context-row">
146
- <td class="context-item-name">unused</td>
147
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
148
- <td class="context-item-desc"></td>
149
- </tr>
150
- <tr class="top-aligned-row context-row">
151
- <td class="context-item-name">used</td>
152
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
153
- <td class="context-item-desc"></td>
154
- </tr>
155
- </table>
156
- </div>
157
- </div>
158
-
159
-
160
-
161
- <!-- if method_list -->
162
- <div id="methods">
163
- <h3 class="section-bar">Public Class methods</h3>
164
-
165
- <div id="method-M000010" class="method-detail">
166
- <a name="M000010"></a>
167
-
168
- <div class="method-heading">
169
- <a href="#M000010" class="method-signature">
170
- <span class="method-name">new</span><span class="method-args">(opt,out=STDOUT)</span>
171
- </a>
172
- </div>
173
-
174
- <div class="method-description">
175
- <p><a class="source-toggle" href="#"
176
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
177
- <div class="method-source-code" id="M000010-source">
178
- <pre>
179
- <span class="ruby-comment cmt"># File lib/hel/unused_style.rb, line 20</span>
180
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opt</span>,<span class="ruby-identifier">out</span>=<span class="ruby-constant">STDOUT</span>)
181
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">opt</span>,<span class="ruby-identifier">out</span>)
182
-
183
- <span class="ruby-ivar">@css_dir</span> = <span class="ruby-identifier">opt</span>[<span class="ruby-identifier">:css_dir</span>]
184
-
185
- <span class="ruby-ivar">@style_regex</span> = <span class="ruby-regexp re">/styleName\s*=\s*[&quot;']\s*\{?\s*([\w.]+)\s*\}?\s*[&quot;']/</span>
186
- <span class="ruby-ivar">@declared_regex</span> = <span class="ruby-regexp re">/^\.(\w+)/</span>
187
-
188
- <span class="ruby-ivar">@declared</span>, <span class="ruby-ivar">@used</span>, <span class="ruby-ivar">@unused</span>, <span class="ruby-ivar">@undeclared</span> = []
189
-
190
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">valid_opts</span>
191
- <span class="ruby-ivar">@out</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{INVALID_OPTS} The directory specified as containging css files does not exist, or does not contain css files.&quot;</span>
192
- <span class="ruby-keyword kw">return</span>
193
- <span class="ruby-keyword kw">end</span>
194
-
195
- <span class="ruby-identifier">detect</span>
196
-
197
- <span class="ruby-ivar">@report</span> = <span class="ruby-identifier">describe</span>
198
- <span class="ruby-keyword kw">end</span>
199
- </pre>
200
- </div>
201
- </div>
202
- </div>
203
-
204
- <h3 class="section-bar">Public Instance methods</h3>
205
-
206
- <div id="method-M000012" class="method-detail">
207
- <a name="M000012"></a>
208
-
209
- <div class="method-heading">
210
- <a href="#M000012" class="method-signature">
211
- <span class="method-name">detect</span><span class="method-args">()</span>
212
- </a>
213
- </div>
214
-
215
- <div class="method-description">
216
- <p><a class="source-toggle" href="#"
217
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
218
- <div class="method-source-code" id="M000012-source">
219
- <pre>
220
- <span class="ruby-comment cmt"># File lib/hel/unused_style.rb, line 50</span>
221
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">detect</span>
222
- <span class="ruby-ivar">@declared</span> = <span class="ruby-identifier">scan_dirs</span>(<span class="ruby-regexp re">/\.(css)/</span>, <span class="ruby-ivar">@css_dir</span>, <span class="ruby-ivar">@declared_regex</span>)
223
- <span class="ruby-ivar">@used</span> = <span class="ruby-identifier">scan_dirs</span>(<span class="ruby-regexp re">/\.(as|mxml)/</span>, <span class="ruby-ivar">@src</span>, <span class="ruby-ivar">@style_regex</span>)
224
-
225
- <span class="ruby-comment cmt">#Find any style names used in the source which haven't been declared.</span>
226
- <span class="ruby-ivar">@undeclared</span> = <span class="ruby-ivar">@used</span><span class="ruby-operator">-</span><span class="ruby-ivar">@declared</span>
227
-
228
- <span class="ruby-comment cmt">#Find any style names declared in the css but not used in the src.</span>
229
- <span class="ruby-ivar">@unused</span> = <span class="ruby-ivar">@declared</span><span class="ruby-operator">-</span><span class="ruby-ivar">@used</span>
230
- <span class="ruby-keyword kw">end</span>
231
- </pre>
232
- </div>
233
- </div>
234
- </div>
235
-
236
- <div id="method-M000011" class="method-detail">
237
- <a name="M000011"></a>
238
-
239
- <div class="method-heading">
240
- <a href="#M000011" class="method-signature">
241
- <span class="method-name">valid_opts</span><span class="method-args">()</span>
242
- </a>
243
- </div>
244
-
245
- <div class="method-description">
246
- <p><a class="source-toggle" href="#"
247
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
248
- <div class="method-source-code" id="M000011-source">
249
- <pre>
250
- <span class="ruby-comment cmt"># File lib/hel/unused_style.rb, line 40</span>
251
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid_opts</span>
252
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-ivar">@css_dir</span>)
253
-
254
- <span class="ruby-identifier">found</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-node">&quot;#{@css_dir}&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
255
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-value str">'*.css'</span>)
256
- <span class="ruby-keyword kw">end</span>
257
-
258
- <span class="ruby-identifier">found</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
259
- <span class="ruby-keyword kw">end</span>
260
- </pre>
261
- </div>
262
- </div>
263
- </div>
264
-
265
-
266
- </div>
267
-
268
-
269
- </div>
270
-
271
-
272
- <div id="validator-badges">
273
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
274
- </div>
275
-
276
- </body>
277
- </html>