thinreports 0.10.3 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +39 -0
  3. data/CHANGELOG.md +20 -0
  4. data/Dockerfile +12 -0
  5. data/Gemfile +5 -0
  6. data/README.md +37 -13
  7. data/Rakefile +1 -0
  8. data/lib/thinreports/core/shape/image_block.rb +1 -1
  9. data/lib/thinreports/core/shape/list.rb +1 -1
  10. data/lib/thinreports/core/shape/page_number.rb +1 -1
  11. data/lib/thinreports/core/shape/text.rb +1 -1
  12. data/lib/thinreports/core/shape/text_block.rb +1 -1
  13. data/lib/thinreports/core/shape/text_block/formatter/number.rb +6 -1
  14. data/lib/thinreports/core/shape/text_block/internal.rb +0 -2
  15. data/lib/thinreports/generator/pdf/prawn_ext/width_of.rb +6 -0
  16. data/lib/thinreports/layout/base.rb +1 -1
  17. data/lib/thinreports/layout/version.rb +1 -1
  18. data/lib/thinreports/report/internal.rb +2 -0
  19. data/lib/thinreports/version.rb +1 -1
  20. data/thinreports.gemspec +5 -9
  21. metadata +6 -204
  22. data/.travis.yml +0 -32
  23. data/test/data/font.ttf +0 -0
  24. data/test/data/image_normal.jpg +0 -0
  25. data/test/data/image_normal.png +0 -0
  26. data/test/data/image_normal_jpg_noext +0 -0
  27. data/test/data/image_normal_png_noext +0 -0
  28. data/test/data/image_pallete_based.png +0 -0
  29. data/test/data/legacy_layout/all-items.tlf +0 -1
  30. data/test/features/dynamic_style/expect.pdf +0 -3714
  31. data/test/features/dynamic_style/image.png +0 -0
  32. data/test/features/dynamic_style/templates/styles.tlf +0 -1835
  33. data/test/features/dynamic_style/templates/styles_in_list.tlf +0 -344
  34. data/test/features/dynamic_style/test_dynamic_style.rb +0 -152
  35. data/test/features/eudc/eudc.ttf +0 -0
  36. data/test/features/eudc/expect.pdf +0 -0
  37. data/test/features/eudc/template.tlf +0 -180
  38. data/test/features/eudc/test_eudc.rb +0 -27
  39. data/test/features/feature_test.rb +0 -58
  40. data/test/features/graphics/expect.pdf +0 -475
  41. data/test/features/graphics/template.tlf +0 -309
  42. data/test/features/graphics/test_graphics.rb +0 -12
  43. data/test/features/hidden_item/expect.pdf +0 -0
  44. data/test/features/hidden_item/template.tlf +0 -449
  45. data/test/features/hidden_item/test_hidden_item.rb +0 -12
  46. data/test/features/image_block/expect.pdf +0 -0
  47. data/test/features/image_block/img200x100.png +0 -0
  48. data/test/features/image_block/img50x50.png +0 -0
  49. data/test/features/image_block/template.tlf +0 -661
  50. data/test/features/image_block/test_image_block.rb +0 -35
  51. data/test/features/list_events/expect.pdf +0 -659
  52. data/test/features/list_events/template.tlf +0 -361
  53. data/test/features/list_events/test_list_events.rb +0 -36
  54. data/test/features/list_manually/expect.pdf +0 -599
  55. data/test/features/list_manually/template.tlf +0 -132
  56. data/test/features/list_manually/test_list_manually.rb +0 -25
  57. data/test/features/page_number/expect.pdf +0 -400
  58. data/test/features/page_number/template.tlf +0 -215
  59. data/test/features/page_number/test_page_number.rb +0 -24
  60. data/test/features/page_number_with_list/expect.pdf +0 -721
  61. data/test/features/page_number_with_list/template.tlf +0 -254
  62. data/test/features/page_number_with_list/test_page_number_with_list.rb +0 -21
  63. data/test/features/palleted_png/expect.pdf +0 -0
  64. data/test/features/palleted_png/palleted_png.png +0 -0
  65. data/test/features/palleted_png/template.tlf +0 -47
  66. data/test/features/palleted_png/test_palleted_png.rb +0 -14
  67. data/test/features/report_callbacks/expect.pdf +0 -169
  68. data/test/features/report_callbacks/template.tlf +0 -147
  69. data/test/features/report_callbacks/test_report_callbacks.rb +0 -18
  70. data/test/features/text_align/expect.pdf +0 -0
  71. data/test/features/text_align/template.tlf +0 -241
  72. data/test/features/text_align/test_text_align.rb +0 -12
  73. data/test/features/text_block_overflow/expect.pdf +0 -0
  74. data/test/features/text_block_overflow/template.tlf +0 -538
  75. data/test/features/text_block_overflow/test_text_block_overflow.rb +0 -25
  76. data/test/features/text_block_singleline/expect.pdf +0 -0
  77. data/test/features/text_block_singleline/template.tlf +0 -170
  78. data/test/features/text_block_singleline/test_text_block_singleline.rb +0 -15
  79. data/test/features/text_block_style/expect.pdf +0 -1391
  80. data/test/features/text_block_style/templates/basic_styles.tlf +0 -889
  81. data/test/features/text_block_style/templates/font_size.tlf +0 -383
  82. data/test/features/text_block_style/test_text_block_style.rb +0 -47
  83. data/test/features/text_character_spacing/expect.pdf +0 -0
  84. data/test/features/text_character_spacing/template.tlf +0 -293
  85. data/test/features/text_character_spacing/test_text_character_spacing.rb +0 -12
  86. data/test/features/text_word_wrap/expect.pdf +0 -0
  87. data/test/features/text_word_wrap/template.tlf +0 -297
  88. data/test/features/text_word_wrap/test_text_word_wrap.rb +0 -30
  89. data/test/schema_helper.rb +0 -122
  90. data/test/test_helper.rb +0 -39
  91. data/test/units/core/format/test_base.rb +0 -152
  92. data/test/units/core/shape/base/test_internal.rb +0 -87
  93. data/test/units/core/shape/basic/test_block_format.rb +0 -23
  94. data/test/units/core/shape/basic/test_block_interface.rb +0 -29
  95. data/test/units/core/shape/basic/test_block_internal.rb +0 -55
  96. data/test/units/core/shape/basic/test_format.rb +0 -37
  97. data/test/units/core/shape/basic/test_interface.rb +0 -108
  98. data/test/units/core/shape/basic/test_internal.rb +0 -55
  99. data/test/units/core/shape/image_block/test_interface.rb +0 -24
  100. data/test/units/core/shape/image_block/test_internal.rb +0 -31
  101. data/test/units/core/shape/list/test_format.rb +0 -111
  102. data/test/units/core/shape/list/test_manager.rb +0 -67
  103. data/test/units/core/shape/list/test_page.rb +0 -156
  104. data/test/units/core/shape/list/test_page_state.rb +0 -31
  105. data/test/units/core/shape/list/test_section_format.rb +0 -36
  106. data/test/units/core/shape/list/test_section_interface.rb +0 -75
  107. data/test/units/core/shape/list/test_section_internal.rb +0 -50
  108. data/test/units/core/shape/manager/test_format.rb +0 -38
  109. data/test/units/core/shape/manager/test_internal.rb +0 -132
  110. data/test/units/core/shape/manager/test_target.rb +0 -140
  111. data/test/units/core/shape/page_number/test_format.rb +0 -55
  112. data/test/units/core/shape/page_number/test_interface.rb +0 -33
  113. data/test/units/core/shape/page_number/test_internal.rb +0 -81
  114. data/test/units/core/shape/styles/test_base.rb +0 -191
  115. data/test/units/core/shape/styles/test_basic.rb +0 -24
  116. data/test/units/core/shape/styles/test_graphic.rb +0 -50
  117. data/test/units/core/shape/styles/test_text.rb +0 -97
  118. data/test/units/core/shape/text/test_format.rb +0 -44
  119. data/test/units/core/shape/text/test_internal.rb +0 -20
  120. data/test/units/core/shape/text_block/formatter/test_basic.rb +0 -24
  121. data/test/units/core/shape/text_block/formatter/test_datetime.rb +0 -49
  122. data/test/units/core/shape/text_block/formatter/test_number.rb +0 -76
  123. data/test/units/core/shape/text_block/formatter/test_padding.rb +0 -77
  124. data/test/units/core/shape/text_block/test_format.rb +0 -169
  125. data/test/units/core/shape/text_block/test_formatter.rb +0 -28
  126. data/test/units/core/shape/text_block/test_interface.rb +0 -63
  127. data/test/units/core/shape/text_block/test_internal.rb +0 -128
  128. data/test/units/core/test_shape.rb +0 -52
  129. data/test/units/core/test_utils.rb +0 -68
  130. data/test/units/generator/pdf/document/graphics/test_attributes.rb +0 -135
  131. data/test/units/generator/pdf/document/graphics/test_basic.rb +0 -46
  132. data/test/units/generator/pdf/document/graphics/test_image.rb +0 -46
  133. data/test/units/generator/pdf/document/graphics/test_text.rb +0 -171
  134. data/test/units/generator/pdf/document/test_font.rb +0 -110
  135. data/test/units/generator/pdf/document/test_graphics.rb +0 -42
  136. data/test/units/generator/pdf/document/test_page.rb +0 -122
  137. data/test/units/generator/pdf/document/test_parse_color.rb +0 -30
  138. data/test/units/generator/pdf/prawn_ext/test_calc_image_dimensions.rb +0 -41
  139. data/test/units/generator/pdf/prawn_ext/test_width_of.rb +0 -22
  140. data/test/units/generator/pdf/test_document.rb +0 -22
  141. data/test/units/generator/test_pdf.rb +0 -26
  142. data/test/units/layout/test_base.rb +0 -41
  143. data/test/units/layout/test_format.rb +0 -100
  144. data/test/units/layout/test_legacy_schema.rb +0 -576
  145. data/test/units/layout/test_version.rb +0 -26
  146. data/test/units/report/test_base.rb +0 -248
  147. data/test/units/report/test_internal.rb +0 -206
  148. data/test/units/test_config.rb +0 -36
  149. data/test/units/test_layout.rb +0 -12
  150. data/test/units/test_report.rb +0 -18
@@ -1,132 +0,0 @@
1
- {
2
- "version": "0.9.0",
3
- "items": [
4
- {
5
- "id": "default",
6
- "type": "list",
7
- "display": true,
8
- "description": "",
9
- "x": 20,
10
- "y": 22,
11
- "width": 555.2,
12
- "height": 320.1,
13
- "header": {
14
- "enabled": true,
15
- "height": 46.3,
16
- "translate": {
17
- "x": 0,
18
- "y": -35
19
- },
20
- "items": [
21
- {
22
- "id": "header",
23
- "type": "text-block",
24
- "display": true,
25
- "description": "",
26
- "x": 160.6,
27
- "y": 62,
28
- "width": 274.1,
29
- "height": 36,
30
- "style": {
31
- "font-family": [
32
- "Helvetica"
33
- ],
34
- "font-size": 36,
35
- "color": "#000000",
36
- "text-align": "center",
37
- "vertical-align": "top",
38
- "line-height": "",
39
- "line-height-ratio": "",
40
- "letter-spacing": "",
41
- "font-style": [],
42
- "overflow": "truncate",
43
- "word-wrap": "break-word"
44
- },
45
- "reference-id": "",
46
- "value": "",
47
- "multiple-line": false,
48
- "format": {
49
- "base": "Header#{value}",
50
- "type": ""
51
- }
52
- }
53
- ]
54
- },
55
- "detail": {
56
- "height": 57.7,
57
- "translate": {
58
- "x": 0,
59
- "y": -45.3
60
- },
61
- "items": [
62
- {
63
- "id": "detail",
64
- "type": "text-block",
65
- "display": true,
66
- "description": "",
67
- "x": 211.4,
68
- "y": 124.5,
69
- "width": 172.5,
70
- "height": 36,
71
- "style": {
72
- "font-family": [
73
- "Helvetica"
74
- ],
75
- "font-size": 36,
76
- "color": "#000000",
77
- "text-align": "center",
78
- "vertical-align": "top",
79
- "line-height": "",
80
- "line-height-ratio": "",
81
- "letter-spacing": "",
82
- "font-style": [],
83
- "overflow": "truncate",
84
- "word-wrap": "break-word"
85
- },
86
- "reference-id": "",
87
- "value": "",
88
- "multiple-line": false,
89
- "format": {
90
- "base": "Detail#{value}",
91
- "type": ""
92
- }
93
- }
94
- ]
95
- },
96
- "page-footer": {
97
- "enabled": false,
98
- "height": 0,
99
- "translate": {
100
- "x": 0,
101
- "y": -44.2
102
- },
103
- "items": []
104
- },
105
- "footer": {
106
- "enabled": false,
107
- "height": 0,
108
- "translate": {
109
- "x": 0,
110
- "y": -86.7
111
- },
112
- "items": []
113
- },
114
- "content-height": 273.8,
115
- "auto-page-break": false
116
- }
117
- ],
118
- "state": {
119
- "layout-guides": []
120
- },
121
- "title": "List Manual Generation",
122
- "report": {
123
- "paper-type": "A4",
124
- "orientation": "portrait",
125
- "margin": [
126
- 20,
127
- 20,
128
- 20,
129
- 20
130
- ]
131
- }
132
- }
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'feature_test'
4
-
5
- class TestListManually < FeatureTest
6
- feature :list_manually do
7
- report = Thinreports::Report.new layout: template_path
8
- report.list.header do |h|
9
- h.item(:header).value(report.page.no)
10
- end
11
-
12
- 25.times do |row_index|
13
- if report.list.overflow?
14
- report.start_new_page
15
- report.list.header header: report.page.no
16
- end
17
-
18
- report.list.page_break if row_index == 15
19
-
20
- report.list.add_row detail: row_index
21
- end
22
-
23
- assert_pdf report.generate
24
- end
25
- end
@@ -1,400 +0,0 @@
1
- %PDF-1.3
2
- %����
3
- 1 0 obj
4
- << /CreationDate (D:20181106102142+09'00')
5
- /Creator <feff005400680069006e007200650070006f007200740073002000470065006e0065007200610074006f007200200066006f00720020005200750062007900200030002e00310030002e0032>
6
- /Title <feff>
7
- /Producer <feff0050007200610077006e>
8
- >>
9
- endobj
10
- 2 0 obj
11
- << /Type /Catalog
12
- /Pages 3 0 R
13
- >>
14
- endobj
15
- 3 0 obj
16
- << /Type /Pages
17
- /Count 4
18
- /Kids [7 0 R 11 0 R 14 0 R 16 0 R]
19
- >>
20
- endobj
21
- 4 0 obj
22
- << /Length 8
23
- >>
24
- stream
25
- q
26
- 0.9 w
27
-
28
- endstream
29
- endobj
30
- 5 0 obj
31
- << /Type /Page
32
- /Parent 3 0 R
33
- /MediaBox [0 0 612.0 792.0]
34
- /CropBox [0 0 612.0 792.0]
35
- /BleedBox [0 0 612.0 792.0]
36
- /TrimBox [0 0 612.0 792.0]
37
- /ArtBox [0 0 612.0 792.0]
38
- /Contents 4 0 R
39
- /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
40
- >>
41
- >>
42
- endobj
43
- 6 0 obj
44
- << /Length 284
45
- >>
46
- stream
47
- q
48
- 0.9 w
49
- /Stamp1 Do
50
- q
51
- /DeviceRGB cs
52
- 0.0 0.0 0.0 scn
53
-
54
- BT
55
- 110.046 715.966 Td
56
- /F1.0 18 Tf
57
- [<31>] TJ
58
- ET
59
-
60
- Q
61
- q
62
- /DeviceRGB cs
63
- 0.0 0.0 0.0 scn
64
-
65
- 10.0 Tc
66
-
67
- BT
68
- 50.0 744.966 Td
69
- /F1.0 18 Tf
70
- [<31>] TJ
71
- ET
72
-
73
-
74
- 0.0 Tc
75
- Q
76
- q
77
- /DeviceRGB cs
78
- 0.0 0.0 0.0 scn
79
-
80
- BT
81
- 170.092 688.966 Td
82
- /F1.0 18 Tf
83
- [<31>] TJ
84
- ET
85
-
86
- Q
87
- Q
88
-
89
- endstream
90
- endobj
91
- 7 0 obj
92
- << /Type /Page
93
- /Parent 3 0 R
94
- /MediaBox [0 0 595.28 841.89]
95
- /CropBox [0 0 595.28 841.89]
96
- /BleedBox [0 0 595.28 841.89]
97
- /TrimBox [0 0 595.28 841.89]
98
- /ArtBox [0 0 595.28 841.89]
99
- /Contents 6 0 R
100
- /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
101
- /XObject << /Stamp1 8 0 R
102
- >>
103
- /Font << /F1.0 9 0 R
104
- >>
105
- >>
106
- >>
107
- endobj
108
- 8 0 obj
109
- << /Type /XObject
110
- /Subtype /Form
111
- /BBox [0 0 595.28 841.89]
112
- /Resources << /Font << /F1.0 9 0 R
113
- >>
114
- >>
115
- /Length 493
116
- >>
117
- stream
118
- q
119
- /DeviceRGB cs
120
- 0.0 0.0 0.0 scn
121
- /DeviceRGB CS
122
- 0.0 0.0 0.0 SCN
123
- 0.9 w
124
- 0 J
125
- 0 j
126
- [] 0 d
127
- q
128
- /DeviceRGB cs
129
- 0.0 0.0 0.0 scn
130
-
131
- BT
132
- 20.0 782.966 Td
133
- /F1.0 18 Tf
134
- [<4261736973>] TJ
135
- ET
136
-
137
- Q
138
- q
139
- /DeviceRGB cs
140
- 0.0 0.0 0.0 scn
141
-
142
- BT
143
- 195.0 717.838 Td
144
- /F1.0 14 Tf
145
- [<2843656e746572a0416c69676e6d656e7429>] TJ
146
- ET
147
-
148
- Q
149
- q
150
- /DeviceRGB cs
151
- 0.0 0.0 0.0 scn
152
-
153
- BT
154
- 195.0 688.838 Td
155
- /F1.0 14 Tf
156
- [<285269676874a0416c69676e6d656e7429>] TJ
157
- ET
158
-
159
- Q
160
- q
161
- /DeviceRGB cs
162
- 0.0 0.0 0.0 scn
163
-
164
- BT
165
- 20.0 648.966 Td
166
- /F1.0 18 Tf
167
- [<57697468a04944>] TJ
168
- ET
169
-
170
- Q
171
- Q
172
-
173
- endstream
174
- endobj
175
- 9 0 obj
176
- << /Type /Font
177
- /Subtype /Type1
178
- /BaseFont /Helvetica
179
- /Encoding /WinAnsiEncoding
180
- >>
181
- endobj
182
- 10 0 obj
183
- << /Length 453
184
- >>
185
- stream
186
- q
187
- 0.9 w
188
- /Stamp1 Do
189
- q
190
- /DeviceRGB cs
191
- 1.0 0.0 0.0 scn
192
-
193
- BT
194
- 102.036 623.966 Td
195
- /F2.0 18 Tf
196
- [<32a02fa033>] TJ
197
- ET
198
-
199
- 102.036 622.716 m
200
- 137.064 622.716 l
201
- S
202
- 102.036 627.8432 m
203
- 137.064 627.8432 l
204
- S
205
- Q
206
- q
207
- /DeviceRGB cs
208
- 0.0 0.0 0.0 scn
209
-
210
- BT
211
- 110.046 715.966 Td
212
- /F1.0 18 Tf
213
- [<32>] TJ
214
- ET
215
-
216
- Q
217
- q
218
- /DeviceRGB cs
219
- 0.0 0.0 0.0 scn
220
-
221
- 10.0 Tc
222
-
223
- BT
224
- 50.0 744.966 Td
225
- /F1.0 18 Tf
226
- [<32>] TJ
227
- ET
228
-
229
-
230
- 0.0 Tc
231
- Q
232
- q
233
- /DeviceRGB cs
234
- 0.0 0.0 0.0 scn
235
-
236
- BT
237
- 170.092 688.966 Td
238
- /F1.0 18 Tf
239
- [<32>] TJ
240
- ET
241
-
242
- Q
243
- Q
244
-
245
- endstream
246
- endobj
247
- 11 0 obj
248
- << /Type /Page
249
- /Parent 3 0 R
250
- /MediaBox [0 0 595.28 841.89]
251
- /CropBox [0 0 595.28 841.89]
252
- /BleedBox [0 0 595.28 841.89]
253
- /TrimBox [0 0 595.28 841.89]
254
- /ArtBox [0 0 595.28 841.89]
255
- /Contents 10 0 R
256
- /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
257
- /XObject << /Stamp1 8 0 R
258
- >>
259
- /Font << /F2.0 12 0 R
260
- /F1.0 9 0 R
261
- >>
262
- >>
263
- >>
264
- endobj
265
- 12 0 obj
266
- << /Type /Font
267
- /Subtype /Type1
268
- /BaseFont /Helvetica-Bold
269
- /Encoding /WinAnsiEncoding
270
- >>
271
- endobj
272
- 13 0 obj
273
- << /Length 21
274
- >>
275
- stream
276
- q
277
- 0.9 w
278
- /Stamp1 Do
279
- Q
280
-
281
- endstream
282
- endobj
283
- 14 0 obj
284
- << /Type /Page
285
- /Parent 3 0 R
286
- /MediaBox [0 0 595.28 841.89]
287
- /CropBox [0 0 595.28 841.89]
288
- /BleedBox [0 0 595.28 841.89]
289
- /TrimBox [0 0 595.28 841.89]
290
- /ArtBox [0 0 595.28 841.89]
291
- /Contents 13 0 R
292
- /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
293
- /XObject << /Stamp1 8 0 R
294
- >>
295
- >>
296
- >>
297
- endobj
298
- 15 0 obj
299
- << /Length 375
300
- >>
301
- stream
302
- q
303
- 0.9 w
304
- /Stamp1 Do
305
- q
306
- /DeviceRGB cs
307
- 0.0 0.0 0.0 scn
308
-
309
- BT
310
- 102.036 623.966 Td
311
- /F1.0 18 Tf
312
- [<33a02fa033>] TJ
313
- ET
314
-
315
- Q
316
- q
317
- /DeviceRGB cs
318
- 0.0 0.0 0.0 scn
319
-
320
- BT
321
- 110.046 715.966 Td
322
- /F1.0 18 Tf
323
- [<33>] TJ
324
- ET
325
-
326
- Q
327
- q
328
- /DeviceRGB cs
329
- 0.0 0.0 0.0 scn
330
-
331
- 10.0 Tc
332
-
333
- BT
334
- 50.0 744.966 Td
335
- /F1.0 18 Tf
336
- [<33>] TJ
337
- ET
338
-
339
-
340
- 0.0 Tc
341
- Q
342
- q
343
- /DeviceRGB cs
344
- 0.0 0.0 0.0 scn
345
-
346
- BT
347
- 170.092 688.966 Td
348
- /F1.0 18 Tf
349
- [<33>] TJ
350
- ET
351
-
352
- Q
353
- Q
354
-
355
- endstream
356
- endobj
357
- 16 0 obj
358
- << /Type /Page
359
- /Parent 3 0 R
360
- /MediaBox [0 0 595.28 841.89]
361
- /CropBox [0 0 595.28 841.89]
362
- /BleedBox [0 0 595.28 841.89]
363
- /TrimBox [0 0 595.28 841.89]
364
- /ArtBox [0 0 595.28 841.89]
365
- /Contents 15 0 R
366
- /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
367
- /XObject << /Stamp1 8 0 R
368
- >>
369
- /Font << /F1.0 9 0 R
370
- >>
371
- >>
372
- >>
373
- endobj
374
- xref
375
- 0 17
376
- 0000000000 65535 f
377
- 0000000015 00000 n
378
- 0000000291 00000 n
379
- 0000000340 00000 n
380
- 0000000418 00000 n
381
- 0000000475 00000 n
382
- 0000000737 00000 n
383
- 0000001072 00000 n
384
- 0000001397 00000 n
385
- 0000002038 00000 n
386
- 0000002135 00000 n
387
- 0000002640 00000 n
388
- 0000002980 00000 n
389
- 0000003083 00000 n
390
- 0000003155 00000 n
391
- 0000003458 00000 n
392
- 0000003885 00000 n
393
- trailer
394
- << /Size 17
395
- /Root 2 0 R
396
- /Info 1 0 R
397
- >>
398
- startxref
399
- 4212
400
- %%EOF