ricardoo27-writeexcel 0.6.12.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitattributes +1 -0
- data/README.rdoc +136 -0
- data/Rakefile +52 -0
- data/VERSION +1 -0
- data/charts/chartex.rb +316 -0
- data/charts/demo1.rb +46 -0
- data/charts/demo101.bin +0 -0
- data/charts/demo2.rb +65 -0
- data/charts/demo201.bin +0 -0
- data/charts/demo3.rb +117 -0
- data/charts/demo301.bin +0 -0
- data/charts/demo4.rb +119 -0
- data/charts/demo401.bin +0 -0
- data/charts/demo5.rb +48 -0
- data/charts/demo501.bin +0 -0
- data/examples/a_simple.rb +43 -0
- data/examples/autofilter.rb +265 -0
- data/examples/bigfile.rb +30 -0
- data/examples/chart_area.rb +121 -0
- data/examples/chart_bar.rb +120 -0
- data/examples/chart_column.rb +120 -0
- data/examples/chart_line.rb +120 -0
- data/examples/chart_pie.rb +108 -0
- data/examples/chart_scatter.rb +121 -0
- data/examples/chart_stock.rb +148 -0
- data/examples/chess.rb +142 -0
- data/examples/colors.rb +129 -0
- data/examples/comments1.rb +27 -0
- data/examples/comments2.rb +352 -0
- data/examples/copyformat.rb +52 -0
- data/examples/data_validate.rb +279 -0
- data/examples/date_time.rb +87 -0
- data/examples/defined_name.rb +32 -0
- data/examples/demo.rb +124 -0
- data/examples/diag_border.rb +36 -0
- data/examples/formats.rb +490 -0
- data/examples/formula_result.rb +30 -0
- data/examples/header.rb +137 -0
- data/examples/hide_sheet.rb +29 -0
- data/examples/hyperlink.rb +43 -0
- data/examples/images.rb +63 -0
- data/examples/indent.rb +31 -0
- data/examples/merge1.rb +40 -0
- data/examples/merge2.rb +45 -0
- data/examples/merge3.rb +66 -0
- data/examples/merge4.rb +83 -0
- data/examples/merge5.rb +80 -0
- data/examples/merge6.rb +67 -0
- data/examples/outline.rb +255 -0
- data/examples/outline_collapsed.rb +209 -0
- data/examples/panes.rb +113 -0
- data/examples/password_protection.rb +33 -0
- data/examples/properties.rb +34 -0
- data/examples/properties_jp.rb +33 -0
- data/examples/protection.rb +47 -0
- data/examples/regions.rb +53 -0
- data/examples/repeat.rb +43 -0
- data/examples/republic.png +0 -0
- data/examples/right_to_left.rb +27 -0
- data/examples/row_wrap.rb +53 -0
- data/examples/set_first_sheet.rb +14 -0
- data/examples/stats.rb +74 -0
- data/examples/stocks.rb +81 -0
- data/examples/store_formula.rb +15 -0
- data/examples/tab_colors.rb +31 -0
- data/examples/utf8.rb +15 -0
- data/examples/write_arrays.rb +83 -0
- data/html/en/doc_en.html +5946 -0
- data/html/images/a_simple.jpg +0 -0
- data/html/images/area1.jpg +0 -0
- data/html/images/bar1.jpg +0 -0
- data/html/images/chart_area.xls +0 -0
- data/html/images/column1.jpg +0 -0
- data/html/images/data_validation.jpg +0 -0
- data/html/images/line1.jpg +0 -0
- data/html/images/pie1.jpg +0 -0
- data/html/images/regions.jpg +0 -0
- data/html/images/scatter1.jpg +0 -0
- data/html/images/stats.jpg +0 -0
- data/html/images/stock1.jpg +0 -0
- data/html/images/stocks.jpg +0 -0
- data/html/index.html +16 -0
- data/html/style.css +433 -0
- data/lib/writeexcel.rb +1159 -0
- data/lib/writeexcel/biffwriter.rb +223 -0
- data/lib/writeexcel/caller_info.rb +12 -0
- data/lib/writeexcel/cell_range.rb +332 -0
- data/lib/writeexcel/chart.rb +1968 -0
- data/lib/writeexcel/charts/area.rb +154 -0
- data/lib/writeexcel/charts/bar.rb +177 -0
- data/lib/writeexcel/charts/column.rb +156 -0
- data/lib/writeexcel/charts/external.rb +66 -0
- data/lib/writeexcel/charts/line.rb +154 -0
- data/lib/writeexcel/charts/pie.rb +169 -0
- data/lib/writeexcel/charts/scatter.rb +192 -0
- data/lib/writeexcel/charts/stock.rb +213 -0
- data/lib/writeexcel/col_info.rb +87 -0
- data/lib/writeexcel/colors.rb +68 -0
- data/lib/writeexcel/comments.rb +460 -0
- data/lib/writeexcel/compatibility.rb +65 -0
- data/lib/writeexcel/convert_date_time.rb +117 -0
- data/lib/writeexcel/data_validations.rb +370 -0
- data/lib/writeexcel/debug_info.rb +41 -0
- data/lib/writeexcel/embedded_chart.rb +35 -0
- data/lib/writeexcel/excelformula.y +139 -0
- data/lib/writeexcel/excelformulaparser.rb +587 -0
- data/lib/writeexcel/format.rb +1575 -0
- data/lib/writeexcel/formula.rb +987 -0
- data/lib/writeexcel/helper.rb +78 -0
- data/lib/writeexcel/image.rb +218 -0
- data/lib/writeexcel/olewriter.rb +305 -0
- data/lib/writeexcel/outline.rb +24 -0
- data/lib/writeexcel/properties.rb +242 -0
- data/lib/writeexcel/shared_string_table.rb +153 -0
- data/lib/writeexcel/storage_lite.rb +984 -0
- data/lib/writeexcel/workbook.rb +2478 -0
- data/lib/writeexcel/worksheet.rb +6925 -0
- data/lib/writeexcel/worksheets.rb +25 -0
- data/lib/writeexcel/write_file.rb +63 -0
- data/test/excelfile/Chart1.xls +0 -0
- data/test/excelfile/Chart2.xls +0 -0
- data/test/excelfile/Chart3.xls +0 -0
- data/test/excelfile/Chart4.xls +0 -0
- data/test/excelfile/Chart5.xls +0 -0
- data/test/helper.rb +31 -0
- data/test/perl_output/Chart1.xls.data +0 -0
- data/test/perl_output/Chart2.xls.data +0 -0
- data/test/perl_output/Chart3.xls.data +0 -0
- data/test/perl_output/Chart4.xls.data +0 -0
- data/test/perl_output/Chart5.xls.data +0 -0
- data/test/perl_output/README +31 -0
- data/test/perl_output/a_simple.xls +0 -0
- data/test/perl_output/autofilter.xls +0 -0
- data/test/perl_output/biff_add_continue_testdata +0 -0
- data/test/perl_output/chart_area.xls +0 -0
- data/test/perl_output/chart_bar.xls +0 -0
- data/test/perl_output/chart_column.xls +0 -0
- data/test/perl_output/chart_line.xls +0 -0
- data/test/perl_output/chess.xls +0 -0
- data/test/perl_output/colors.xls +0 -0
- data/test/perl_output/comments0.xls +0 -0
- data/test/perl_output/comments1.xls +0 -0
- data/test/perl_output/comments2.xls +0 -0
- data/test/perl_output/data_validate.xls +0 -0
- data/test/perl_output/date_time.xls +0 -0
- data/test/perl_output/defined_name.xls +0 -0
- data/test/perl_output/demo.xls +0 -0
- data/test/perl_output/demo101.bin +0 -0
- data/test/perl_output/demo201.bin +0 -0
- data/test/perl_output/demo301.bin +0 -0
- data/test/perl_output/demo401.bin +0 -0
- data/test/perl_output/demo501.bin +0 -0
- data/test/perl_output/diag_border.xls +0 -0
- data/test/perl_output/f_font_biff +0 -0
- data/test/perl_output/f_font_key +1 -0
- data/test/perl_output/f_xf_biff +0 -0
- data/test/perl_output/file_font_biff +0 -0
- data/test/perl_output/file_font_key +1 -0
- data/test/perl_output/file_xf_biff +0 -0
- data/test/perl_output/formula_result.xls +0 -0
- data/test/perl_output/headers.xls +0 -0
- data/test/perl_output/hidden.xls +0 -0
- data/test/perl_output/hide_zero.xls +0 -0
- data/test/perl_output/hyperlink.xls +0 -0
- data/test/perl_output/images.xls +0 -0
- data/test/perl_output/indent.xls +0 -0
- data/test/perl_output/merge1.xls +0 -0
- data/test/perl_output/merge2.xls +0 -0
- data/test/perl_output/merge3.xls +0 -0
- data/test/perl_output/merge4.xls +0 -0
- data/test/perl_output/merge5.xls +0 -0
- data/test/perl_output/merge6.xls +0 -0
- data/test/perl_output/ole_write_header +0 -0
- data/test/perl_output/outline.xls +0 -0
- data/test/perl_output/outline_collapsed.xls +0 -0
- data/test/perl_output/panes.xls +0 -0
- data/test/perl_output/password_protection.xls +0 -0
- data/test/perl_output/protection.xls +0 -0
- data/test/perl_output/regions.xls +0 -0
- data/test/perl_output/right_to_left.xls +0 -0
- data/test/perl_output/set_first_sheet.xls +0 -0
- data/test/perl_output/stats.xls +0 -0
- data/test/perl_output/stocks.xls +0 -0
- data/test/perl_output/store_formula.xls +0 -0
- data/test/perl_output/tab_colors.xls +0 -0
- data/test/perl_output/unicode_cyrillic.xls +0 -0
- data/test/perl_output/utf8.xls +0 -0
- data/test/perl_output/workbook1.xls +0 -0
- data/test/perl_output/workbook2.xls +0 -0
- data/test/perl_output/ws_colinfo +1 -0
- data/test/perl_output/ws_store_colinfo +0 -0
- data/test/perl_output/ws_store_dimensions +0 -0
- data/test/perl_output/ws_store_filtermode +0 -0
- data/test/perl_output/ws_store_filtermode_off +0 -0
- data/test/perl_output/ws_store_filtermode_on +0 -0
- data/test/perl_output/ws_store_selection +0 -0
- data/test/perl_output/ws_store_window2 +1 -0
- data/test/republic.png +0 -0
- data/test/test_00_IEEE_double.rb +13 -0
- data/test/test_01_add_worksheet.rb +10 -0
- data/test/test_02_merge_formats.rb +49 -0
- data/test/test_04_dimensions.rb +388 -0
- data/test/test_05_rows.rb +175 -0
- data/test/test_06_extsst.rb +74 -0
- data/test/test_11_date_time.rb +475 -0
- data/test/test_12_date_only.rb +525 -0
- data/test/test_13_date_seconds.rb +477 -0
- data/test/test_21_escher.rb +624 -0
- data/test/test_22_mso_drawing_group.rb +741 -0
- data/test/test_23_note.rb +57 -0
- data/test/test_24_txo.rb +74 -0
- data/test/test_25_position_object.rb +80 -0
- data/test/test_26_autofilter.rb +309 -0
- data/test/test_27_autofilter.rb +126 -0
- data/test/test_28_autofilter.rb +156 -0
- data/test/test_29_process_jpg.rb +670 -0
- data/test/test_30_validation_dval.rb +74 -0
- data/test/test_31_validation_dv_strings.rb +123 -0
- data/test/test_32_validation_dv_formula.rb +203 -0
- data/test/test_40_property_types.rb +188 -0
- data/test/test_41_properties.rb +235 -0
- data/test/test_42_set_properties.rb +434 -0
- data/test/test_50_name_stored.rb +295 -0
- data/test/test_51_name_print_area.rb +353 -0
- data/test/test_52_name_print_titles.rb +450 -0
- data/test/test_53_autofilter.rb +199 -0
- data/test/test_60_chart_generic.rb +574 -0
- data/test/test_61_chart_subclasses.rb +84 -0
- data/test/test_62_chart_formats.rb +268 -0
- data/test/test_63_chart_area_formats.rb +645 -0
- data/test/test_biff.rb +71 -0
- data/test/test_big_workbook.rb +17 -0
- data/test/test_compatibility.rb +12 -0
- data/test/test_example_match.rb +3246 -0
- data/test/test_format.rb +1189 -0
- data/test/test_formula.rb +61 -0
- data/test/test_ole.rb +102 -0
- data/test/test_storage_lite.rb +116 -0
- data/test/test_workbook.rb +146 -0
- data/test/test_worksheet.rb +106 -0
- data/utils/add_magic_comment.rb +80 -0
- data/writeexcel.gemspec +278 -0
- data/writeexcel.rdoc +1425 -0
- metadata +292 -0
@@ -0,0 +1,126 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
##########################################################################
|
3
|
+
# test_27_autofilter.rb
|
4
|
+
#
|
5
|
+
# Tests for the token extraction method used to parse autofilter expressions.
|
6
|
+
#
|
7
|
+
# reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
|
8
|
+
#
|
9
|
+
# original written in Perl by John McNamara
|
10
|
+
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
+
#
|
12
|
+
#########################################################################
|
13
|
+
require 'helper'
|
14
|
+
require 'stringio'
|
15
|
+
|
16
|
+
class TC_27_autofilter < Test::Unit::TestCase
|
17
|
+
|
18
|
+
def test_27_autofilter
|
19
|
+
@tests.each do |test|
|
20
|
+
expression = test[0]
|
21
|
+
expected = test[1]
|
22
|
+
result = @worksheet.__send__("extract_filter_tokens", expression)
|
23
|
+
|
24
|
+
testname = expression || 'none'
|
25
|
+
|
26
|
+
assert_equal(expected, result, testname)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def setup
|
31
|
+
@workbook = WriteExcel.new(StringIO.new)
|
32
|
+
@worksheet = @workbook.add_worksheet
|
33
|
+
@tests = [
|
34
|
+
[
|
35
|
+
nil,
|
36
|
+
[],
|
37
|
+
],
|
38
|
+
|
39
|
+
[
|
40
|
+
'',
|
41
|
+
[],
|
42
|
+
],
|
43
|
+
|
44
|
+
[
|
45
|
+
'0 < 2000',
|
46
|
+
[0, '<', 2000],
|
47
|
+
],
|
48
|
+
|
49
|
+
[
|
50
|
+
'x < 2000',
|
51
|
+
['x', '<', 2000],
|
52
|
+
],
|
53
|
+
|
54
|
+
[
|
55
|
+
'x > 2000',
|
56
|
+
['x', '>', 2000],
|
57
|
+
],
|
58
|
+
|
59
|
+
[
|
60
|
+
'x == 2000',
|
61
|
+
['x', '==', 2000],
|
62
|
+
],
|
63
|
+
|
64
|
+
[
|
65
|
+
'x > 2000 and x < 5000',
|
66
|
+
['x', '>', 2000, 'and', 'x', '<', 5000],
|
67
|
+
],
|
68
|
+
|
69
|
+
[
|
70
|
+
'x = "foo"',
|
71
|
+
['x', '=', 'foo'],
|
72
|
+
],
|
73
|
+
|
74
|
+
[
|
75
|
+
'x = foo',
|
76
|
+
['x', '=', 'foo'],
|
77
|
+
],
|
78
|
+
|
79
|
+
[
|
80
|
+
'x = "foo bar"',
|
81
|
+
['x', '=', 'foo bar'],
|
82
|
+
],
|
83
|
+
|
84
|
+
[
|
85
|
+
'x = "foo "" bar"',
|
86
|
+
['x', '=', 'foo " bar'],
|
87
|
+
],
|
88
|
+
|
89
|
+
[
|
90
|
+
'x = "foo bar" or x = "bar foo"',
|
91
|
+
['x', '=', 'foo bar', 'or', 'x', '=', 'bar foo'],
|
92
|
+
],
|
93
|
+
|
94
|
+
[
|
95
|
+
'x = "foo "" bar" or x = "bar "" foo"',
|
96
|
+
['x', '=', 'foo " bar', 'or', 'x', '=', 'bar " foo'],
|
97
|
+
],
|
98
|
+
|
99
|
+
[
|
100
|
+
'x = """"""""',
|
101
|
+
['x', '=', '"""'],
|
102
|
+
],
|
103
|
+
|
104
|
+
[
|
105
|
+
'x = Blanks',
|
106
|
+
['x', '=', 'Blanks'],
|
107
|
+
],
|
108
|
+
|
109
|
+
[
|
110
|
+
'x = NonBlanks',
|
111
|
+
['x', '=', 'NonBlanks'],
|
112
|
+
],
|
113
|
+
|
114
|
+
[
|
115
|
+
'top 10 %',
|
116
|
+
['top', 10, '%'],
|
117
|
+
],
|
118
|
+
|
119
|
+
[
|
120
|
+
'top 10 items',
|
121
|
+
['top', 10, 'items'],
|
122
|
+
],
|
123
|
+
|
124
|
+
]
|
125
|
+
end
|
126
|
+
end
|
@@ -0,0 +1,156 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
##########################################################################
|
3
|
+
# test_28_autofilter.rb
|
4
|
+
#
|
5
|
+
# Tests for the token parsing methods used to parse autofilter expressions.
|
6
|
+
#
|
7
|
+
# reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
|
8
|
+
#
|
9
|
+
# original written in Perl by John McNamara
|
10
|
+
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
+
#
|
12
|
+
#########################################################################
|
13
|
+
require 'helper'
|
14
|
+
require 'stringio'
|
15
|
+
|
16
|
+
class TC_28_autofilter < Test::Unit::TestCase
|
17
|
+
|
18
|
+
def test_28_autofilter
|
19
|
+
@tests.each do |test|
|
20
|
+
expression = test[0]
|
21
|
+
expected = test[1]
|
22
|
+
tokens = @worksheet.__send__("extract_filter_tokens", expression)
|
23
|
+
result = @worksheet.__send__("parse_filter_expression", expression, tokens)
|
24
|
+
|
25
|
+
testname = expression || 'none'
|
26
|
+
|
27
|
+
assert_equal(expected, result, testname)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def setup
|
32
|
+
@workbook = WriteExcel.new(StringIO.new)
|
33
|
+
@worksheet = @workbook.add_worksheet
|
34
|
+
@tests = [
|
35
|
+
[
|
36
|
+
'x = 2000',
|
37
|
+
[2, 2000],
|
38
|
+
],
|
39
|
+
|
40
|
+
[
|
41
|
+
'x == 2000',
|
42
|
+
[2, 2000],
|
43
|
+
],
|
44
|
+
|
45
|
+
[
|
46
|
+
'x =~ 2000',
|
47
|
+
[2, 2000],
|
48
|
+
],
|
49
|
+
|
50
|
+
[
|
51
|
+
'x eq 2000',
|
52
|
+
[2, 2000],
|
53
|
+
],
|
54
|
+
|
55
|
+
[
|
56
|
+
'x <> 2000',
|
57
|
+
[5, 2000],
|
58
|
+
],
|
59
|
+
|
60
|
+
[
|
61
|
+
'x != 2000',
|
62
|
+
[5, 2000],
|
63
|
+
],
|
64
|
+
|
65
|
+
[
|
66
|
+
'x ne 2000',
|
67
|
+
[5, 2000],
|
68
|
+
],
|
69
|
+
|
70
|
+
[
|
71
|
+
'x !~ 2000',
|
72
|
+
[5, 2000],
|
73
|
+
],
|
74
|
+
|
75
|
+
[
|
76
|
+
'x > 2000',
|
77
|
+
[4, 2000],
|
78
|
+
],
|
79
|
+
|
80
|
+
[
|
81
|
+
'x < 2000',
|
82
|
+
[1, 2000],
|
83
|
+
],
|
84
|
+
|
85
|
+
[
|
86
|
+
'x >= 2000',
|
87
|
+
[6, 2000],
|
88
|
+
],
|
89
|
+
|
90
|
+
[
|
91
|
+
'x <= 2000',
|
92
|
+
[3, 2000],
|
93
|
+
],
|
94
|
+
|
95
|
+
[
|
96
|
+
'x > 2000 and x < 5000',
|
97
|
+
[4, 2000, 0, 1, 5000],
|
98
|
+
],
|
99
|
+
|
100
|
+
[
|
101
|
+
'x > 2000 && x < 5000',
|
102
|
+
[4, 2000, 0, 1, 5000],
|
103
|
+
],
|
104
|
+
|
105
|
+
[
|
106
|
+
'x > 2000 or x < 5000',
|
107
|
+
[4, 2000, 1, 1, 5000],
|
108
|
+
],
|
109
|
+
|
110
|
+
[
|
111
|
+
'x > 2000 || x < 5000',
|
112
|
+
[4, 2000, 1, 1, 5000],
|
113
|
+
],
|
114
|
+
|
115
|
+
[
|
116
|
+
'x = Blanks',
|
117
|
+
[2, 'blanks'],
|
118
|
+
],
|
119
|
+
|
120
|
+
[
|
121
|
+
'x = NonBlanks',
|
122
|
+
[2, 'nonblanks'],
|
123
|
+
],
|
124
|
+
|
125
|
+
[
|
126
|
+
'x <> Blanks',
|
127
|
+
[2, 'nonblanks'],
|
128
|
+
],
|
129
|
+
|
130
|
+
[
|
131
|
+
'x <> NonBlanks',
|
132
|
+
[2, 'blanks'],
|
133
|
+
],
|
134
|
+
|
135
|
+
[
|
136
|
+
'Top 10 Items',
|
137
|
+
[30, 10],
|
138
|
+
],
|
139
|
+
|
140
|
+
[
|
141
|
+
'Top 20 %',
|
142
|
+
[31, 20],
|
143
|
+
],
|
144
|
+
|
145
|
+
[
|
146
|
+
'Bottom 5 Items',
|
147
|
+
[32, 5],
|
148
|
+
],
|
149
|
+
|
150
|
+
[
|
151
|
+
'Bottom 101 %',
|
152
|
+
[33, 101],
|
153
|
+
],
|
154
|
+
]
|
155
|
+
end
|
156
|
+
end
|
@@ -0,0 +1,670 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
##########################################################################
|
3
|
+
# test_29_process_jpg.rb
|
4
|
+
#
|
5
|
+
# Tests for the JPEG width and height processing.
|
6
|
+
#
|
7
|
+
# reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
|
8
|
+
#
|
9
|
+
# original written in Perl by John McNamara
|
10
|
+
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
+
#
|
12
|
+
#########################################################################
|
13
|
+
require 'helper'
|
14
|
+
require 'stringio'
|
15
|
+
|
16
|
+
class TC_29_process_jpg < Test::Unit::TestCase
|
17
|
+
|
18
|
+
def setup
|
19
|
+
@image = Writeexcel::Image.new(nil, nil, nil, nil)
|
20
|
+
@type = 5 # Excel Blip type (MSOBLIPTYPE).
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_valid_jpg_image_1
|
24
|
+
testname = '3w x 5h jpeg image.'
|
25
|
+
|
26
|
+
data = %w(
|
27
|
+
FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60
|
28
|
+
00 60 00 00 FF DB 00 43 00 06 04 05 06 05 04 06
|
29
|
+
06 05 06 07 07 06 08 0A 10 0A 0A 09 09 0A 14 0E
|
30
|
+
0F 0C 10 17 14 18 18 17 14 16 16 1A 1D 25 1F 1A
|
31
|
+
1B 23 1C 16 16 20 2C 20 23 26 27 29 2A 29 19 1F
|
32
|
+
2D 30 2D 28 30 25 28 29 28 FF DB 00 43 01 07 07
|
33
|
+
07 0A 08 0A 13 0A 0A 13 28 1A 16 1A 28 28 28 28
|
34
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
|
35
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
|
36
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 FF C0
|
37
|
+
00 11 08 00 05 00 03 03 01 22 00 02 11 01 03 11
|
38
|
+
01 FF C4 00 15 00 01 01 00 00 00 00 00 00 00 00
|
39
|
+
00 00 00 00 00 00 00 07 FF C4 00 14 10 01 00 00
|
40
|
+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF C4
|
41
|
+
00 15 01 01 01 00 00 00 00 00 00 00 00 00 00 00
|
42
|
+
00 00 00 06 08 FF C4 00 14 11 01 00 00 00 00 00
|
43
|
+
00 00 00 00 00 00 00 00 00 00 00 FF DA 00 0C 03
|
44
|
+
01 00 02 11 03 11 00 3F 00 9D 00 1C A4 5F FF D9
|
45
|
+
)
|
46
|
+
@image.__send__("process_jpg", [data.join('')].pack('H*'))
|
47
|
+
assert_equal(@type, @image.type)
|
48
|
+
assert_equal(3, @image.width)
|
49
|
+
assert_equal(5, @image.height)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_valid_jpg_image_2
|
53
|
+
testname = '5w x 3h jpeg image.'
|
54
|
+
|
55
|
+
data = %w(
|
56
|
+
FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60
|
57
|
+
00 60 00 00 FF DB 00 43 00 06 04 05 06 05 04 06
|
58
|
+
06 05 06 07 07 06 08 0A 10 0A 0A 09 09 0A 14 0E
|
59
|
+
0F 0C 10 17 14 18 18 17 14 16 16 1A 1D 25 1F 1A
|
60
|
+
1B 23 1C 16 16 20 2C 20 23 26 27 29 2A 29 19 1F
|
61
|
+
2D 30 2D 28 30 25 28 29 28 FF DB 00 43 01 07 07
|
62
|
+
07 0A 08 0A 13 0A 0A 13 28 1A 16 1A 28 28 28 28
|
63
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
|
64
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
|
65
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 FF C0
|
66
|
+
00 11 08 00 03 00 05 03 01 22 00 02 11 01 03 11
|
67
|
+
01 FF C4 00 15 00 01 01 00 00 00 00 00 00 00 00
|
68
|
+
00 00 00 00 00 00 00 07 FF C4 00 14 10 01 00 00
|
69
|
+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF C4
|
70
|
+
00 15 01 01 01 00 00 00 00 00 00 00 00 00 00 00
|
71
|
+
00 00 00 06 08 FF C4 00 14 11 01 00 00 00 00 00
|
72
|
+
00 00 00 00 00 00 00 00 00 00 00 FF DA 00 0C 03
|
73
|
+
01 00 02 11 03 11 00 3F 00 9D 00 1C A4 5F FF D9
|
74
|
+
)
|
75
|
+
|
76
|
+
@image.__send__("process_jpg", [data.join('')].pack('H*'))
|
77
|
+
assert_equal(@type, @image.type)
|
78
|
+
assert_equal(5, @image.width)
|
79
|
+
assert_equal(3, @image.height)
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_valid_jpg_image_3_ffco_marker_missing
|
83
|
+
testname = 'FFCO marker missing in image.'
|
84
|
+
|
85
|
+
data = %w(
|
86
|
+
FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60
|
87
|
+
00 60 00 00 FF DB 00 43 00 06 04 05 06 05 04 06
|
88
|
+
06 05 06 07 07 06 08 0A 10 0A 0A 09 09 0A 14 0E
|
89
|
+
0F 0C 10 17 14 18 18 17 14 16 16 1A 1D 25 1F 1A
|
90
|
+
1B 23 1C 16 16 20 2C 20 23 26 27 29 2A 29 19 1F
|
91
|
+
2D 30 2D 28 30 25 28 29 28 FF DB 00 43 01 07 07
|
92
|
+
07 0A 08 0A 13 0A 0A 13 28 1A 16 1A 28 28 28 28
|
93
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
|
94
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
|
95
|
+
28 28 28 28 28 28 28 28 28 28 28 28 28 28 FF C1
|
96
|
+
00 11 08 00 03 00 05 03 01 22 00 02 11 01 03 11
|
97
|
+
01 FF C4 00 15 00 01 01 00 00 00 00 00 00 00 00
|
98
|
+
00 00 00 00 00 00 00 07 FF C4 00 14 10 01 00 00
|
99
|
+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF C4
|
100
|
+
00 15 01 01 01 00 00 00 00 00 00 00 00 00 00 00
|
101
|
+
00 00 00 06 08 FF C4 00 14 11 01 00 00 00 00 00
|
102
|
+
00 00 00 00 00 00 00 00 00 00 00 FF DA 00 0C 03
|
103
|
+
01 00 02 11 03 11 00 3F 00 9D 00 1C A4 5F FF D9
|
104
|
+
)
|
105
|
+
|
106
|
+
assert_raise(RuntimeError, " \t" + testname) {
|
107
|
+
@image.__send__("process_jpg", [data.join('')].pack('H*'))
|
108
|
+
}
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_invalid_jpeg_image
|
112
|
+
testname = 'empty image'
|
113
|
+
image = ''
|
114
|
+
|
115
|
+
assert_raise(RuntimeError, " \t" + testname) {
|
116
|
+
@image.__send__("process_jpg", image)
|
117
|
+
}
|
118
|
+
end
|
119
|
+
|
120
|
+
###############################################################################
|
121
|
+
#
|
122
|
+
# Test 5. Progressive DCT-based JPEG image.
|
123
|
+
#
|
124
|
+
def test_progressive_dct_based_jpeg_image
|
125
|
+
testname = '35w x 35h progressive jpeg image.'
|
126
|
+
data = %w(
|
127
|
+
FF D8 FF E0 00 10 4A 46 49 46 00 01 02 01 00 96
|
128
|
+
00 96 00 00 FF E1 04 E7 45 78 69 66 00 00 4D 4D
|
129
|
+
00 2A 00 00 00 08 00 07 01 12 00 03 00 00 00 01
|
130
|
+
00 01 00 00 01 1A 00 05 00 00 00 01 00 00 00 62
|
131
|
+
01 1B 00 05 00 00 00 01 00 00 00 6A 01 28 00 03
|
132
|
+
00 00 00 01 00 02 00 00 01 31 00 02 00 00 00 14
|
133
|
+
00 00 00 72 01 32 00 02 00 00 00 14 00 00 00 86
|
134
|
+
87 69 00 04 00 00 00 01 00 00 00 9C 00 00 00 C8
|
135
|
+
00 00 00 96 00 00 00 01 00 00 00 96 00 00 00 01
|
136
|
+
41 64 6F 62 65 20 50 68 6F 74 6F 73 68 6F 70 20
|
137
|
+
37 2E 30 00 32 30 30 38 3A 30 39 3A 30 39 20 32
|
138
|
+
32 3A 32 33 3A 31 32 00 00 00 00 03 A0 01 00 03
|
139
|
+
00 00 00 01 FF FF 00 00 A0 02 00 04 00 00 00 01
|
140
|
+
00 00 00 23 A0 03 00 04 00 00 00 01 00 00 00 23
|
141
|
+
00 00 00 00 00 00 00 06 01 03 00 03 00 00 00 01
|
142
|
+
00 06 00 00 01 1A 00 05 00 00 00 01 00 00 01 16
|
143
|
+
01 1B 00 05 00 00 00 01 00 00 01 1E 01 28 00 03
|
144
|
+
00 00 00 01 00 02 00 00 02 01 00 04 00 00 00 01
|
145
|
+
00 00 01 26 02 02 00 04 00 00 00 01 00 00 03 B9
|
146
|
+
00 00 00 00 00 00 00 48 00 00 00 01 00 00 00 48
|
147
|
+
00 00 00 01 FF D8 FF E0 00 10 4A 46 49 46 00 01
|
148
|
+
02 01 00 48 00 48 00 00 FF ED 00 0C 41 64 6F 62
|
149
|
+
65 5F 43 4D 00 02 FF EE 00 0E 41 64 6F 62 65 00
|
150
|
+
64 80 00 00 00 01 FF DB 00 84 00 0C 08 08 08 09
|
151
|
+
08 0C 09 09 0C 11 0B 0A 0B 11 15 0F 0C 0C 0F 15
|
152
|
+
18 13 13 15 13 13 18 11 0C 0C 0C 0C 0C 0C 11 0C
|
153
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
154
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 01 0D 0B 0B 0D
|
155
|
+
0E 0D 10 0E 0E 10 14 0E 0E 0E 14 14 0E 0E 0E 0E
|
156
|
+
14 11 0C 0C 0C 0C 0C 11 11 0C 0C 0C 0C 0C 0C 11
|
157
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
158
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C FF C0 00 11
|
159
|
+
08 00 23 00 23 03 01 22 00 02 11 01 03 11 01 FF
|
160
|
+
DD 00 04 00 03 FF C4 01 3F 00 00 01 05 01 01 01
|
161
|
+
01 01 01 00 00 00 00 00 00 00 03 00 01 02 04 05
|
162
|
+
06 07 08 09 0A 0B 01 00 01 05 01 01 01 01 01 01
|
163
|
+
00 00 00 00 00 00 00 01 00 02 03 04 05 06 07 08
|
164
|
+
09 0A 0B 10 00 01 04 01 03 02 04 02 05 07 06 08
|
165
|
+
05 03 0C 33 01 00 02 11 03 04 21 12 31 05 41 51
|
166
|
+
61 13 22 71 81 32 06 14 91 A1 B1 42 23 24 15 52
|
167
|
+
C1 62 33 34 72 82 D1 43 07 25 92 53 F0 E1 F1 63
|
168
|
+
73 35 16 A2 B2 83 26 44 93 54 64 45 C2 A3 74 36
|
169
|
+
17 D2 55 E2 65 F2 B3 84 C3 D3 75 E3 F3 46 27 94
|
170
|
+
A4 85 B4 95 C4 D4 E4 F4 A5 B5 C5 D5 E5 F5 56 66
|
171
|
+
76 86 96 A6 B6 C6 D6 E6 F6 37 47 57 67 77 87 97
|
172
|
+
A7 B7 C7 D7 E7 F7 11 00 02 02 01 02 04 04 03 04
|
173
|
+
05 06 07 07 06 05 35 01 00 02 11 03 21 31 12 04
|
174
|
+
41 51 61 71 22 13 05 32 81 91 14 A1 B1 42 23 C1
|
175
|
+
52 D1 F0 33 24 62 E1 72 82 92 43 53 15 63 73 34
|
176
|
+
F1 25 06 16 A2 B2 83 07 26 35 C2 D2 44 93 54 A3
|
177
|
+
17 64 45 55 36 74 65 E2 F2 B3 84 C3 D3 75 E3 F3
|
178
|
+
46 94 A4 85 B4 95 C4 D4 E4 F4 A5 B5 C5 D5 E5 F5
|
179
|
+
56 66 76 86 96 A6 B6 C6 D6 E6 F6 27 37 47 57 67
|
180
|
+
77 87 97 A7 B7 C7 FF DA 00 0C 03 01 00 02 11 03
|
181
|
+
11 00 3F 00 F5 54 0B 33 71 AB 79 AC BF 75 83 53
|
182
|
+
5B 01 7B 84 F1 B9 95 EE 73 54 F2 1C E6 D1 63 9B
|
183
|
+
F4 9A C7 16 FC 40 5C F7 49 B7 1A FA 19 51 BF 23
|
184
|
+
1B 2C B4 3A EC 7B 2D 65 76 6E 23 DC FD 06 FB 58
|
185
|
+
FF 00 A4 CB 92 53 1E B9 F5 9B 3E 96 DB 8D 83 D3
|
186
|
+
B2 85 A7 DB 56 53 D8 1B 5C E9 EE 0F 7E E6 37 FE
|
187
|
+
B8 AF FD 5B FD AA 71 9E EE A2 CB 6A 26 36 D7 7B
|
188
|
+
C5 8F 07 5D EE DE 27 F4 7F 43 E9 21 E5 D5 85 8D
|
189
|
+
59 39 B9 04 56 EE 45 D9 6F F7 79 7A 6D 1E FF 00
|
190
|
+
EA AB 9D 0A C3 67 4D AC 9A AC C7 01 CF 0C A6 D2
|
191
|
+
4B DA D0 E7 7A 61 FE A4 BF E8 7E FA 4A 74 12 49
|
192
|
+
24 94 FF 00 FF D0 F5 2B DA 5D 4D 8D 1C B9 A4 7D
|
193
|
+
E1 66 F4 FB BA 7F 50 C3 C7 17 D4 CF 59 B5 33 F4
|
194
|
+
57 06 97 00 47 2D 9F CC 74 7D 26 2D 55 CC 7D 61
|
195
|
+
CD 7F 40 38 66 BA 99 76 16 4D CE AD EC B8 4B 69
|
196
|
+
2E 06 C6 7A 76 0F 73 37 D9 EC D8 EF EC 24 A7 61
|
197
|
+
95 74 7C 70 6F 6B 28 AF 61 FE 72 1B 20 8F DD 77
|
198
|
+
D2 44 E9 97 8C 8C 63 7B 5A E6 36 CB 2C 21 AE D1
|
199
|
+
D0 1E EA F5 1F D8 58 1F 57 FA 95 DD 6B 23 25 B5
|
200
|
+
D5 5E 23 31 F6 13 63 1A 1E F9 70 73 76 56 F7 7B
|
201
|
+
6A FE 6F 7F D0 FC F5 D3 63 D1 56 3D 2C A6 A6 ED
|
202
|
+
AD 82 1A 12 52 44 92 49 25 3F FF D1 F5 55 47 AD
|
203
|
+
C7 EC AC AD DE 84 7A 6E 9F B5 4F A3 11 FE 1B 67
|
204
|
+
BF 67 F5 17 CC 69 24 A7 E9 6F AB BB 7F 66 55 B7
|
205
|
+
EC BB 60 47 D8 B7 7A 5C 7F C2 7E 93 FC F5 A8 BE
|
206
|
+
55 49 25 3F 55 24 BE 55 49 25 3F FF D9 FF ED 09
|
207
|
+
94 50 68 6F 74 6F 73 68 6F 70 20 33 2E 30 00 38
|
208
|
+
42 49 4D 04 25 00 00 00 00 00 10 00 00 00 00 00
|
209
|
+
00 00 00 00 00 00 00 00 00 00 00 38 42 49 4D 03
|
210
|
+
ED 00 00 00 00 00 10 00 96 00 00 00 01 00 01 00
|
211
|
+
96 00 00 00 01 00 01 38 42 49 4D 04 26 00 00 00
|
212
|
+
00 00 0E 00 00 00 00 00 00 00 00 00 00 3F 80 00
|
213
|
+
00 38 42 49 4D 04 0D 00 00 00 00 00 04 00 00 00
|
214
|
+
1E 38 42 49 4D 04 19 00 00 00 00 00 04 00 00 00
|
215
|
+
1E 38 42 49 4D 03 F3 00 00 00 00 00 09 00 00 00
|
216
|
+
00 00 00 00 00 01 00 38 42 49 4D 04 0A 00 00 00
|
217
|
+
00 00 01 00 00 38 42 49 4D 27 10 00 00 00 00 00
|
218
|
+
0A 00 01 00 00 00 00 00 00 00 01 38 42 49 4D 03
|
219
|
+
F5 00 00 00 00 00 48 00 2F 66 66 00 01 00 6C 66
|
220
|
+
66 00 06 00 00 00 00 00 01 00 2F 66 66 00 01 00
|
221
|
+
A1 99 9A 00 06 00 00 00 00 00 01 00 32 00 00 00
|
222
|
+
01 00 5A 00 00 00 06 00 00 00 00 00 01 00 35 00
|
223
|
+
00 00 01 00 2D 00 00 00 06 00 00 00 00 00 01 38
|
224
|
+
42 49 4D 03 F8 00 00 00 00 00 70 00 00 FF FF FF
|
225
|
+
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
226
|
+
FF FF FF 03 E8 00 00 00 00 FF FF FF FF FF FF FF
|
227
|
+
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 03
|
228
|
+
E8 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF
|
229
|
+
FF FF FF FF FF FF FF FF FF FF FF 03 E8 00 00 00
|
230
|
+
00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
231
|
+
FF FF FF FF FF FF FF 03 E8 00 00 38 42 49 4D 04
|
232
|
+
08 00 00 00 00 00 10 00 00 00 01 00 00 02 40 00
|
233
|
+
00 02 40 00 00 00 00 38 42 49 4D 04 1E 00 00 00
|
234
|
+
00 00 04 00 00 00 00 38 42 49 4D 04 1A 00 00 00
|
235
|
+
00 03 59 00 00 00 06 00 00 00 00 00 00 00 00 00
|
236
|
+
00 00 23 00 00 00 23 00 00 00 12 00 54 00 43 00
|
237
|
+
50 00 5F 00 43 00 69 00 72 00 63 00 6C 00 65 00
|
238
|
+
5F 00 42 00 61 00 6C 00 6C 00 61 00 73 00 74 00
|
239
|
+
00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
|
240
|
+
00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
|
241
|
+
00 00 23 00 00 00 23 00 00 00 00 00 00 00 00 00
|
242
|
+
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00
|
243
|
+
00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 01
|
244
|
+
00 00 00 00 00 00 6E 75 6C 6C 00 00 00 02 00 00
|
245
|
+
00 06 62 6F 75 6E 64 73 4F 62 6A 63 00 00 00 01
|
246
|
+
00 00 00 00 00 00 52 63 74 31 00 00 00 04 00 00
|
247
|
+
00 00 54 6F 70 20 6C 6F 6E 67 00 00 00 00 00 00
|
248
|
+
00 00 4C 65 66 74 6C 6F 6E 67 00 00 00 00 00 00
|
249
|
+
00 00 42 74 6F 6D 6C 6F 6E 67 00 00 00 23 00 00
|
250
|
+
00 00 52 67 68 74 6C 6F 6E 67 00 00 00 23 00 00
|
251
|
+
00 06 73 6C 69 63 65 73 56 6C 4C 73 00 00 00 01
|
252
|
+
4F 62 6A 63 00 00 00 01 00 00 00 00 00 05 73 6C
|
253
|
+
69 63 65 00 00 00 12 00 00 00 07 73 6C 69 63 65
|
254
|
+
49 44 6C 6F 6E 67 00 00 00 00 00 00 00 07 67 72
|
255
|
+
6F 75 70 49 44 6C 6F 6E 67 00 00 00 00 00 00 00
|
256
|
+
06 6F 72 69 67 69 6E 65 6E 75 6D 00 00 00 0C 45
|
257
|
+
53 6C 69 63 65 4F 72 69 67 69 6E 00 00 00 0D 61
|
258
|
+
75 74 6F 47 65 6E 65 72 61 74 65 64 00 00 00 00
|
259
|
+
54 79 70 65 65 6E 75 6D 00 00 00 0A 45 53 6C 69
|
260
|
+
63 65 54 79 70 65 00 00 00 00 49 6D 67 20 00 00
|
261
|
+
00 06 62 6F 75 6E 64 73 4F 62 6A 63 00 00 00 01
|
262
|
+
00 00 00 00 00 00 52 63 74 31 00 00 00 04 00 00
|
263
|
+
00 00 54 6F 70 20 6C 6F 6E 67 00 00 00 00 00 00
|
264
|
+
00 00 4C 65 66 74 6C 6F 6E 67 00 00 00 00 00 00
|
265
|
+
00 00 42 74 6F 6D 6C 6F 6E 67 00 00 00 23 00 00
|
266
|
+
00 00 52 67 68 74 6C 6F 6E 67 00 00 00 23 00 00
|
267
|
+
00 03 75 72 6C 54 45 58 54 00 00 00 01 00 00 00
|
268
|
+
00 00 00 6E 75 6C 6C 54 45 58 54 00 00 00 01 00
|
269
|
+
00 00 00 00 00 4D 73 67 65 54 45 58 54 00 00 00
|
270
|
+
01 00 00 00 00 00 06 61 6C 74 54 61 67 54 45 58
|
271
|
+
54 00 00 00 01 00 00 00 00 00 0E 63 65 6C 6C 54
|
272
|
+
65 78 74 49 73 48 54 4D 4C 62 6F 6F 6C 01 00 00
|
273
|
+
00 08 63 65 6C 6C 54 65 78 74 54 45 58 54 00 00
|
274
|
+
00 01 00 00 00 00 00 09 68 6F 72 7A 41 6C 69 67
|
275
|
+
6E 65 6E 75 6D 00 00 00 0F 45 53 6C 69 63 65 48
|
276
|
+
6F 72 7A 41 6C 69 67 6E 00 00 00 07 64 65 66 61
|
277
|
+
75 6C 74 00 00 00 09 76 65 72 74 41 6C 69 67 6E
|
278
|
+
65 6E 75 6D 00 00 00 0F 45 53 6C 69 63 65 56 65
|
279
|
+
72 74 41 6C 69 67 6E 00 00 00 07 64 65 66 61 75
|
280
|
+
6C 74 00 00 00 0B 62 67 43 6F 6C 6F 72 54 79 70
|
281
|
+
65 65 6E 75 6D 00 00 00 11 45 53 6C 69 63 65 42
|
282
|
+
47 43 6F 6C 6F 72 54 79 70 65 00 00 00 00 4E 6F
|
283
|
+
6E 65 00 00 00 09 74 6F 70 4F 75 74 73 65 74 6C
|
284
|
+
6F 6E 67 00 00 00 00 00 00 00 0A 6C 65 66 74 4F
|
285
|
+
75 74 73 65 74 6C 6F 6E 67 00 00 00 00 00 00 00
|
286
|
+
0C 62 6F 74 74 6F 6D 4F 75 74 73 65 74 6C 6F 6E
|
287
|
+
67 00 00 00 00 00 00 00 0B 72 69 67 68 74 4F 75
|
288
|
+
74 73 65 74 6C 6F 6E 67 00 00 00 00 00 38 42 49
|
289
|
+
4D 04 11 00 00 00 00 00 01 01 00 38 42 49 4D 04
|
290
|
+
14 00 00 00 00 00 04 00 00 00 01 38 42 49 4D 04
|
291
|
+
0C 00 00 00 00 03 D5 00 00 00 01 00 00 00 23 00
|
292
|
+
00 00 23 00 00 00 6C 00 00 0E C4 00 00 03 B9 00
|
293
|
+
18 00 01 FF D8 FF E0 00 10 4A 46 49 46 00 01 02
|
294
|
+
01 00 48 00 48 00 00 FF ED 00 0C 41 64 6F 62 65
|
295
|
+
5F 43 4D 00 02 FF EE 00 0E 41 64 6F 62 65 00 64
|
296
|
+
80 00 00 00 01 FF DB 00 84 00 0C 08 08 08 09 08
|
297
|
+
0C 09 09 0C 11 0B 0A 0B 11 15 0F 0C 0C 0F 15 18
|
298
|
+
13 13 15 13 13 18 11 0C 0C 0C 0C 0C 0C 11 0C 0C
|
299
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
300
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 01 0D 0B 0B 0D 0E
|
301
|
+
0D 10 0E 0E 10 14 0E 0E 0E 14 14 0E 0E 0E 0E 14
|
302
|
+
11 0C 0C 0C 0C 0C 11 11 0C 0C 0C 0C 0C 0C 11 0C
|
303
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
304
|
+
0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C FF C0 00 11 08
|
305
|
+
00 23 00 23 03 01 22 00 02 11 01 03 11 01 FF DD
|
306
|
+
00 04 00 03 FF C4 01 3F 00 00 01 05 01 01 01 01
|
307
|
+
01 01 00 00 00 00 00 00 00 03 00 01 02 04 05 06
|
308
|
+
07 08 09 0A 0B 01 00 01 05 01 01 01 01 01 01 00
|
309
|
+
00 00 00 00 00 00 01 00 02 03 04 05 06 07 08 09
|
310
|
+
0A 0B 10 00 01 04 01 03 02 04 02 05 07 06 08 05
|
311
|
+
03 0C 33 01 00 02 11 03 04 21 12 31 05 41 51 61
|
312
|
+
13 22 71 81 32 06 14 91 A1 B1 42 23 24 15 52 C1
|
313
|
+
62 33 34 72 82 D1 43 07 25 92 53 F0 E1 F1 63 73
|
314
|
+
35 16 A2 B2 83 26 44 93 54 64 45 C2 A3 74 36 17
|
315
|
+
D2 55 E2 65 F2 B3 84 C3 D3 75 E3 F3 46 27 94 A4
|
316
|
+
85 B4 95 C4 D4 E4 F4 A5 B5 C5 D5 E5 F5 56 66 76
|
317
|
+
86 96 A6 B6 C6 D6 E6 F6 37 47 57 67 77 87 97 A7
|
318
|
+
B7 C7 D7 E7 F7 11 00 02 02 01 02 04 04 03 04 05
|
319
|
+
06 07 07 06 05 35 01 00 02 11 03 21 31 12 04 41
|
320
|
+
51 61 71 22 13 05 32 81 91 14 A1 B1 42 23 C1 52
|
321
|
+
D1 F0 33 24 62 E1 72 82 92 43 53 15 63 73 34 F1
|
322
|
+
25 06 16 A2 B2 83 07 26 35 C2 D2 44 93 54 A3 17
|
323
|
+
64 45 55 36 74 65 E2 F2 B3 84 C3 D3 75 E3 F3 46
|
324
|
+
94 A4 85 B4 95 C4 D4 E4 F4 A5 B5 C5 D5 E5 F5 56
|
325
|
+
66 76 86 96 A6 B6 C6 D6 E6 F6 27 37 47 57 67 77
|
326
|
+
87 97 A7 B7 C7 FF DA 00 0C 03 01 00 02 11 03 11
|
327
|
+
00 3F 00 F5 54 0B 33 71 AB 79 AC BF 75 83 53 5B
|
328
|
+
01 7B 84 F1 B9 95 EE 73 54 F2 1C E6 D1 63 9B F4
|
329
|
+
9A C7 16 FC 40 5C F7 49 B7 1A FA 19 51 BF 23 1B
|
330
|
+
2C B4 3A EC 7B 2D 65 76 6E 23 DC FD 06 FB 58 FF
|
331
|
+
00 A4 CB 92 53 1E B9 F5 9B 3E 96 DB 8D 83 D3 B2
|
332
|
+
85 A7 DB 56 53 D8 1B 5C E9 EE 0F 7E E6 37 FE B8
|
333
|
+
AF FD 5B FD AA 71 9E EE A2 CB 6A 26 36 D7 7B C5
|
334
|
+
8F 07 5D EE DE 27 F4 7F 43 E9 21 E5 D5 85 8D 59
|
335
|
+
39 B9 04 56 EE 45 D9 6F F7 79 7A 6D 1E FF 00 EA
|
336
|
+
AB 9D 0A C3 67 4D AC 9A AC C7 01 CF 0C A6 D2 4B
|
337
|
+
DA D0 E7 7A 61 FE A4 BF E8 7E FA 4A 74 12 49 24
|
338
|
+
94 FF 00 FF D0 F5 2B DA 5D 4D 8D 1C B9 A4 7D E1
|
339
|
+
66 F4 FB BA 7F 50 C3 C7 17 D4 CF 59 B5 33 F4 57
|
340
|
+
06 97 00 47 2D 9F CC 74 7D 26 2D 55 CC 7D 61 CD
|
341
|
+
7F 40 38 66 BA 99 76 16 4D CE AD EC B8 4B 69 2E
|
342
|
+
06 C6 7A 76 0F 73 37 D9 EC D8 EF EC 24 A7 61 95
|
343
|
+
74 7C 70 6F 6B 28 AF 61 FE 72 1B 20 8F DD 77 D2
|
344
|
+
44 E9 97 8C 8C 63 7B 5A E6 36 CB 2C 21 AE D1 D0
|
345
|
+
1E EA F5 1F D8 58 1F 57 FA 95 DD 6B 23 25 B5 D5
|
346
|
+
5E 23 31 F6 13 63 1A 1E F9 70 73 76 56 F7 7B 6A
|
347
|
+
FE 6F 7F D0 FC F5 D3 63 D1 56 3D 2C A6 A6 ED AD
|
348
|
+
82 1A 12 52 44 92 49 25 3F FF D1 F5 55 47 AD C7
|
349
|
+
EC AC AD DE 84 7A 6E 9F B5 4F A3 11 FE 1B 67 BF
|
350
|
+
67 F5 17 CC 69 24 A7 E9 6F AB BB 7F 66 55 B7 EC
|
351
|
+
BB 60 47 D8 B7 7A 5C 7F C2 7E 93 FC F5 A8 BE 55
|
352
|
+
49 25 3F 55 24 BE 55 49 25 3F FF D9 00 38 42 49
|
353
|
+
4D 04 21 00 00 00 00 00 55 00 00 00 01 01 00 00
|
354
|
+
00 0F 00 41 00 64 00 6F 00 62 00 65 00 20 00 50
|
355
|
+
00 68 00 6F 00 74 00 6F 00 73 00 68 00 6F 00 70
|
356
|
+
00 00 00 13 00 41 00 64 00 6F 00 62 00 65 00 20
|
357
|
+
00 50 00 68 00 6F 00 74 00 6F 00 73 00 68 00 6F
|
358
|
+
00 70 00 20 00 37 00 2E 00 30 00 00 00 01 00 38
|
359
|
+
42 49 4D 04 06 00 00 00 00 00 07 00 08 01 01 00
|
360
|
+
01 01 00 FF E1 12 48 68 74 74 70 3A 2F 2F 6E 73
|
361
|
+
2E 61 64 6F 62 65 2E 63 6F 6D 2F 78 61 70 2F 31
|
362
|
+
2E 30 2F 00 3C 3F 78 70 61 63 6B 65 74 20 62 65
|
363
|
+
67 69 6E 3D 27 EF BB BF 27 20 69 64 3D 27 57 35
|
364
|
+
4D 30 4D 70 43 65 68 69 48 7A 72 65 53 7A 4E 54
|
365
|
+
63 7A 6B 63 39 64 27 3F 3E 0A 3C 3F 61 64 6F 62
|
366
|
+
65 2D 78 61 70 2D 66 69 6C 74 65 72 73 20 65 73
|
367
|
+
63 3D 22 43 52 22 3F 3E 0A 3C 78 3A 78 61 70 6D
|
368
|
+
65 74 61 20 78 6D 6C 6E 73 3A 78 3D 27 61 64 6F
|
369
|
+
62 65 3A 6E 73 3A 6D 65 74 61 2F 27 20 78 3A 78
|
370
|
+
61 70 74 6B 3D 27 58 4D 50 20 74 6F 6F 6C 6B 69
|
371
|
+
74 20 32 2E 38 2E 32 2D 33 33 2C 20 66 72 61 6D
|
372
|
+
65 77 6F 72 6B 20 31 2E 35 27 3E 0A 3C 72 64 66
|
373
|
+
3A 52 44 46 20 78 6D 6C 6E 73 3A 72 64 66 3D 27
|
374
|
+
68 74 74 70 3A 2F 2F 77 77 77 2E 77 33 2E 6F 72
|
375
|
+
67 2F 31 39 39 39 2F 30 32 2F 32 32 2D 72 64 66
|
376
|
+
2D 73 79 6E 74 61 78 2D 6E 73 23 27 20 78 6D 6C
|
377
|
+
6E 73 3A 69 58 3D 27 68 74 74 70 3A 2F 2F 6E 73
|
378
|
+
2E 61 64 6F 62 65 2E 63 6F 6D 2F 69 58 2F 31 2E
|
379
|
+
30 2F 27 3E 0A 0A 20 3C 72 64 66 3A 44 65 73 63
|
380
|
+
72 69 70 74 69 6F 6E 20 61 62 6F 75 74 3D 27 75
|
381
|
+
75 69 64 3A 34 37 38 34 61 35 39 66 2D 37 65 64
|
382
|
+
66 2D 31 31 64 64 2D 39 61 37 39 2D 61 31 62 66
|
383
|
+
63 38 33 61 61 63 63 36 27 0A 20 20 78 6D 6C 6E
|
384
|
+
73 3A 78 61 70 4D 4D 3D 27 68 74 74 70 3A 2F 2F
|
385
|
+
6E 73 2E 61 64 6F 62 65 2E 63 6F 6D 2F 78 61 70
|
386
|
+
2F 31 2E 30 2F 6D 6D 2F 27 3E 0A 20 20 3C 78 61
|
387
|
+
70 4D 4D 3A 44 6F 63 75 6D 65 6E 74 49 44 3E 61
|
388
|
+
64 6F 62 65 3A 64 6F 63 69 64 3A 70 68 6F 74 6F
|
389
|
+
73 68 6F 70 3A 34 37 38 34 61 35 39 64 2D 37 65
|
390
|
+
64 66 2D 31 31 64 64 2D 39 61 37 39 2D 61 31 62
|
391
|
+
66 63 38 33 61 61 63 63 36 3C 2F 78 61 70 4D 4D
|
392
|
+
3A 44 6F 63 75 6D 65 6E 74 49 44 3E 0A 20 3C 2F
|
393
|
+
72 64 66 3A 44 65 73 63 72 69 70 74 69 6F 6E 3E
|
394
|
+
0A 0A 3C 2F 72 64 66 3A 52 44 46 3E 0A 3C 2F 78
|
395
|
+
3A 78 61 70 6D 65 74 61 3E 0A 20 20 20 20 20 20
|
396
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
397
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
398
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
399
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
400
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
401
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A 20
|
402
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
403
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
404
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
405
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
406
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
407
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
408
|
+
20 20 20 0A 20 20 20 20 20 20 20 20 20 20 20 20
|
409
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
410
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
411
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
412
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
413
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
414
|
+
20 20 20 20 20 20 20 20 0A 20 20 20 20 20 20 20
|
415
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
416
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
417
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
418
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
419
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
420
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 0A 20 20
|
421
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
422
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
423
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
424
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
425
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
426
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
427
|
+
20 20 0A 20 20 20 20 20 20 20 20 20 20 20 20 20
|
428
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
429
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
430
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
431
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
432
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
433
|
+
20 20 20 20 20 20 20 0A 20 20 20 20 20 20 20 20
|
434
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
435
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
436
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
437
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
438
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
439
|
+
20 20 20 20 20 20 20 20 20 20 20 20 0A 20 20 20
|
440
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
441
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
442
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
443
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
444
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
445
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
446
|
+
20 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
447
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
448
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
449
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
450
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
451
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
452
|
+
20 20 20 20 20 20 0A 20 20 20 20 20 20 20 20 20
|
453
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
454
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
455
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
456
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
457
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
458
|
+
20 20 20 20 20 20 20 20 20 20 20 0A 20 20 20 20
|
459
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
460
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
461
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
462
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
463
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
464
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
465
|
+
0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
466
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
467
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
468
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
469
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
470
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
471
|
+
20 20 20 20 20 0A 20 20 20 20 20 20 20 20 20 20
|
472
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
473
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
474
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
475
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
476
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
477
|
+
20 20 20 20 20 20 20 20 20 20 0A 20 20 20 20 20
|
478
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
479
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
480
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
481
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
482
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
483
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A
|
484
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
485
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
486
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
487
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
488
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
489
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
490
|
+
20 20 20 20 0A 20 20 20 20 20 20 20 20 20 20 20
|
491
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
492
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
493
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
494
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
495
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
496
|
+
20 20 20 20 20 20 20 20 20 0A 20 20 20 20 20 20
|
497
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
498
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
499
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
500
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
501
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
502
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A 20
|
503
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
504
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
505
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
506
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
507
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
508
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
509
|
+
20 20 20 0A 20 20 20 20 20 20 20 20 20 20 20 20
|
510
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
511
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
512
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
513
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
514
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
515
|
+
20 20 20 20 20 20 20 20 0A 20 20 20 20 20 20 20
|
516
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
517
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
518
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
519
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
520
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
521
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 0A 20 20
|
522
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
523
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
524
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
525
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
526
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
527
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
528
|
+
20 20 0A 20 20 20 20 20 20 20 20 20 20 20 20 20
|
529
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
530
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
531
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
532
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
533
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
534
|
+
20 20 20 20 20 20 20 0A 20 20 20 20 20 20 20 20
|
535
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
536
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
537
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
538
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
539
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
540
|
+
20 20 20 20 20 20 20 20 20 20 20 20 0A 20 20 20
|
541
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
542
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
543
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
544
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
545
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
546
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
547
|
+
20 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
548
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
549
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
550
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
551
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
552
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
553
|
+
20 20 20 20 20 20 0A 20 20 20 20 20 20 20 20 20
|
554
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
555
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
556
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
557
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
558
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
559
|
+
20 20 20 20 20 20 20 20 20 20 20 0A 20 20 20 20
|
560
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
561
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
562
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
563
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
564
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
565
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
566
|
+
0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
567
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
568
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
569
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
570
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
571
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
572
|
+
20 20 20 20 20 0A 20 20 20 20 20 20 20 20 20 20
|
573
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
574
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
575
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
576
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
577
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
578
|
+
20 20 20 20 20 20 20 20 20 20 0A 20 20 20 20 20
|
579
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
580
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
581
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
582
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
583
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
584
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A
|
585
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
586
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
587
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
588
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
589
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
590
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
591
|
+
20 20 20 20 0A 20 20 20 20 20 20 20 20 20 20 20
|
592
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
593
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
594
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
595
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
596
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
597
|
+
20 20 20 20 20 20 20 20 20 0A 20 20 20 20 20 20
|
598
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
599
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
600
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
601
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
602
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
603
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A 20
|
604
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
605
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
606
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
607
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
608
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
609
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
610
|
+
20 20 20 0A 20 20 20 20 20 20 20 20 20 20 20 20
|
611
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
612
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
613
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
614
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
615
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
616
|
+
20 20 20 20 20 20 20 20 0A 20 20 20 20 20 20 20
|
617
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
618
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
619
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
620
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
621
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
622
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 0A 20 20
|
623
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
624
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
625
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
626
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
627
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
628
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
629
|
+
20 20 0A 20 20 20 20 20 20 20 20 20 20 20 20 20
|
630
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
631
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
632
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
633
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
634
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
635
|
+
20 20 20 20 20 20 20 0A 20 20 20 20 20 20 20 20
|
636
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
637
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
638
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
639
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
640
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
641
|
+
20 20 20 20 20 20 20 20 20 20 20 20 0A 20 20 20
|
642
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
643
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
644
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
645
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
646
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
647
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
648
|
+
20 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
649
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
650
|
+
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
|
651
|
+
20 20 20 20 20 20 20 20 20 0A 3C 3F 78 70 61 63
|
652
|
+
6B 65 74 20 65 6E 64 3D 27 77 27 3F 3E FF EE 00
|
653
|
+
21 41 64 6F 62 65 00 64 40 00 00 00 01 03 00 10
|
654
|
+
03 02 03 06 00 00 00 00 00 00 00 00 00 00 00 00
|
655
|
+
FF DB 00 84 00 01 01 01 01 01 01 01 01 01 01 01
|
656
|
+
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
|
657
|
+
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
|
658
|
+
02 02 02 02 02 02 02 02 02 02 02 03 03 03 03 03
|
659
|
+
03 03 03 03 03 01 01 01 01 01 01 01 01 01 01 01
|
660
|
+
02 02 01 02 02 03 03 03 03 03 03 03 03 03 03 03
|
661
|
+
03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
|
662
|
+
03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
|
663
|
+
03 03 03 03 03 03 FF C2 00 11 08 00 23 00 23 03
|
664
|
+
)
|
665
|
+
@image.__send__("process_jpg", [data.join('')].pack('H*'))
|
666
|
+
assert_equal(@type, @image.type)
|
667
|
+
assert_equal(35, @image.width)
|
668
|
+
assert_equal(35, @image.height)
|
669
|
+
end
|
670
|
+
end
|