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
Binary file
@@ -1,180 +0,0 @@
1
- {
2
- "version": "0.9.0",
3
- "items": [
4
- {
5
- "id": "",
6
- "type": "text",
7
- "display": true,
8
- "description": "",
9
- "x": 105.4,
10
- "y": 60,
11
- "width": 631,
12
- "height": 100,
13
- "style": {
14
- "font-family": [
15
- "IPAMincho"
16
- ],
17
- "font-size": 36,
18
- "color": "#000000",
19
- "text-align": "center",
20
- "vertical-align": "middle",
21
- "line-height": "",
22
- "line-height-ratio": "",
23
- "letter-spacing": "",
24
- "font-style": []
25
- },
26
- "texts": [
27
- "日本で生まれ世界が育てた言語 Ruby"
28
- ]
29
- },
30
- {
31
- "id": "eudc",
32
- "type": "text-block",
33
- "display": true,
34
- "description": "",
35
- "x": 20,
36
- "y": 154.3,
37
- "width": 801.8,
38
- "height": 61,
39
- "style": {
40
- "font-family": [
41
- "IPAMincho"
42
- ],
43
- "font-size": 36,
44
- "color": "#000000",
45
- "text-align": "center",
46
- "vertical-align": "middle",
47
- "line-height": "",
48
- "line-height-ratio": "",
49
- "letter-spacing": null,
50
- "font-style": [],
51
- "overflow": "truncate",
52
- "word-wrap": "break-word"
53
- },
54
- "reference-id": "",
55
- "value": "",
56
- "multiple-line": true,
57
- "format": {
58
- "base": "",
59
- "type": ""
60
- }
61
- },
62
- {
63
- "id": "eudc_bold",
64
- "type": "text-block",
65
- "display": true,
66
- "description": "",
67
- "x": 249.2,
68
- "y": 249,
69
- "width": 343.3,
70
- "height": 61,
71
- "style": {
72
- "font-family": [
73
- "IPAMincho"
74
- ],
75
- "font-size": 36,
76
- "color": "#000000",
77
- "text-align": "center",
78
- "vertical-align": "middle",
79
- "line-height": "",
80
- "line-height-ratio": "",
81
- "letter-spacing": null,
82
- "font-style": [
83
- "bold"
84
- ],
85
- "overflow": "truncate",
86
- "word-wrap": "break-word"
87
- },
88
- "reference-id": "",
89
- "value": "",
90
- "multiple-line": true,
91
- "format": {
92
- "base": "",
93
- "type": ""
94
- }
95
- },
96
- {
97
- "id": "eudc_italic",
98
- "type": "text-block",
99
- "display": true,
100
- "description": "",
101
- "x": 249.2,
102
- "y": 329.1,
103
- "width": 343.3,
104
- "height": 61,
105
- "style": {
106
- "font-family": [
107
- "IPAMincho"
108
- ],
109
- "font-size": 36,
110
- "color": "#000000",
111
- "text-align": "center",
112
- "vertical-align": "middle",
113
- "line-height": "",
114
- "line-height-ratio": "",
115
- "letter-spacing": null,
116
- "font-style": [
117
- "italic"
118
- ],
119
- "overflow": "truncate",
120
- "word-wrap": "break-word"
121
- },
122
- "reference-id": "",
123
- "value": "",
124
- "multiple-line": true,
125
- "format": {
126
- "base": "",
127
- "type": ""
128
- }
129
- },
130
- {
131
- "id": "eudc_bold_italic",
132
- "type": "text-block",
133
- "display": true,
134
- "description": "",
135
- "x": 249.2,
136
- "y": 409,
137
- "width": 343.3,
138
- "height": 61,
139
- "style": {
140
- "font-family": [
141
- "IPAMincho"
142
- ],
143
- "font-size": 36,
144
- "color": "#000000",
145
- "text-align": "center",
146
- "vertical-align": "middle",
147
- "line-height": "",
148
- "line-height-ratio": "",
149
- "letter-spacing": null,
150
- "font-style": [
151
- "bold",
152
- "italic"
153
- ],
154
- "overflow": "truncate",
155
- "word-wrap": "break-word"
156
- },
157
- "reference-id": "",
158
- "value": "",
159
- "multiple-line": true,
160
- "format": {
161
- "base": "",
162
- "type": ""
163
- }
164
- }
165
- ],
166
- "state": {
167
- "layout-guides": []
168
- },
169
- "title": "EUDC",
170
- "report": {
171
- "paper-type": "A4",
172
- "orientation": "landscape",
173
- "margin": [
174
- 20,
175
- 20,
176
- 20,
177
- 20
178
- ]
179
- }
180
- }
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'feature_test'
4
-
5
- class TestEudc < FeatureTest
6
- feature :eudc do
7
- Thinreports.configure do |config|
8
- config.fallback_fonts = path_of('eudc.ttf')
9
- end
10
-
11
- report = Thinreports::Report.new layout: template_path
12
- report.start_new_page do |page|
13
- page.item(:eudc).value('日本で生まれ世界が育てた言語 Ruby')
14
- page.values(
15
- eudc_bold: '太字',
16
- eudc_italic: '斜体',
17
- eudc_bold_italic: '太字斜体'
18
- )
19
- end
20
-
21
- assert_pdf report.generate
22
- end
23
-
24
- def teardown
25
- Thinreports.config.fallback_fonts = []
26
- end
27
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'minitest/autorun'
4
- require 'minitest/unit'
5
- require 'pathname'
6
- require 'thinreports'
7
-
8
- class FeatureTest < Minitest::Test
9
- class << self
10
- attr_reader :name, :desc
11
-
12
- def feature(name, desc = nil, &block)
13
- @name = name
14
- @desc = desc
15
- define_method(:test_feature, &block)
16
- end
17
- end
18
-
19
- def dir
20
- @dir ||= Pathname.new(__dir__).join(feature_name.to_s)
21
- end
22
-
23
- def path_of(filename)
24
- dir.join(filename).to_path
25
- end
26
-
27
- def assert_pdf(actual)
28
- actual_pdf.binwrite(actual)
29
-
30
- if expect_pdf.exist?
31
- assert match_expect_pdf?, 'Does not match expect.pdf. Check diff.pdf for details.'
32
- else
33
- flunk 'expect.pdf does not exist.'
34
- end
35
- end
36
-
37
- def template_path(filename = 'template.tlf')
38
- dir.join(filename).to_path
39
- end
40
-
41
- private
42
-
43
- def feature_name
44
- self.class.name
45
- end
46
-
47
- def match_expect_pdf?
48
- system("diff-pdf --output-diff=#{path_of('diff.pdf')} #{expect_pdf} #{actual_pdf}")
49
- end
50
-
51
- def actual_pdf
52
- dir.join('actual.pdf')
53
- end
54
-
55
- def expect_pdf
56
- dir.join('expect.pdf')
57
- end
58
- end
@@ -1,475 +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 1
18
- /Kids [7 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 98
45
- >>
46
- stream
47
- q
48
- 0.9 w
49
- /Stamp1 Do
50
- /Stamp2 Do
51
- /Stamp3 Do
52
- /Stamp4 Do
53
- /Stamp5 Do
54
- /Stamp6 Do
55
- /Stamp7 Do
56
- /Stamp8 Do
57
- Q
58
-
59
- endstream
60
- endobj
61
- 7 0 obj
62
- << /Type /Page
63
- /Parent 3 0 R
64
- /MediaBox [0 0 595.28 841.89]
65
- /CropBox [0 0 595.28 841.89]
66
- /BleedBox [0 0 595.28 841.89]
67
- /TrimBox [0 0 595.28 841.89]
68
- /ArtBox [0 0 595.28 841.89]
69
- /Contents 6 0 R
70
- /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
71
- /XObject << /Stamp1 8 0 R
72
- /Stamp2 10 0 R
73
- /Stamp3 11 0 R
74
- /Stamp4 12 0 R
75
- /Stamp5 13 0 R
76
- /Stamp6 14 0 R
77
- /Stamp7 15 0 R
78
- /Stamp8 16 0 R
79
- >>
80
- >>
81
- >>
82
- endobj
83
- 8 0 obj
84
- << /Type /XObject
85
- /Subtype /Form
86
- /BBox [0 0 595.28 841.89]
87
- /Resources << /Font << /F1.0 9 0 R
88
- >>
89
- >>
90
- /Length 1659
91
- >>
92
- stream
93
- q
94
- /DeviceRGB cs
95
- 0.0 0.0 0.0 scn
96
- /DeviceRGB CS
97
- 0.0 0.0 0.0 SCN
98
- 0.9 w
99
- 0 J
100
- 0 j
101
- [] 0 d
102
- q
103
- 0.9 w
104
- /DeviceRGB cs
105
- 1.0 1.0 1.0 scn
106
- /DeviceRGB CS
107
- 0.0 0.0 0.0 SCN
108
- 20.0 720.89 120.1 62.0 re
109
- b
110
- Q
111
- q
112
- 0.9 w
113
- /DeviceRGB cs
114
- 1.0 1.0 1.0 scn
115
- /DeviceRGB CS
116
- 0.0 0.0 0.0 SCN
117
- 165.0 782.89 m
118
- 265.1 782.89 l
119
- 270.6228 782.89 275.1 778.4128 275.1 772.89 c
120
- 275.1 730.89 l
121
- 275.1 725.3672 270.6228 720.89 265.1 720.89 c
122
- 165.0 720.89 l
123
- 159.4772 720.89 155.0 725.3672 155.0 730.89 c
124
- 155.0 772.89 l
125
- 155.0 778.4128 159.4772 782.89 165.0 782.89 c
126
- h
127
- b
128
- Q
129
- q
130
- /DeviceRGB cs
131
- 0.0 0.0 0.0 scn
132
-
133
- BT
134
- 20.0 808.966 Td
135
- /F1.0 18 Tf
136
- [<52656374a02873746174696329>] TJ
137
- ET
138
-
139
- Q
140
- q
141
- [2.0 2.0] 0.0 d
142
- 0.9 w
143
- /DeviceRGB cs
144
- 1.0 1.0 1.0 scn
145
- /DeviceRGB CS
146
- 0.0 0.0 0.0 SCN
147
- 300.0 782.89 m
148
- 400.1 782.89 l
149
- 405.6228 782.89 410.1 778.4128 410.1 772.89 c
150
- 410.1 730.89 l
151
- 410.1 725.3672 405.6228 720.89 400.1 720.89 c
152
- 300.0 720.89 l
153
- 294.4772 720.89 290.0 725.3672 290.0 730.89 c
154
- 290.0 772.89 l
155
- 290.0 778.4128 294.4772 782.89 300.0 782.89 c
156
- h
157
- b
158
- Q
159
- q
160
- [1.0 2.0] 0.0 d
161
- 0.9 w
162
- /DeviceRGB cs
163
- 1.0 1.0 1.0 scn
164
- /DeviceRGB CS
165
- 0.0 0.0 0.0 SCN
166
- 435.0 782.89 m
167
- 535.1 782.89 l
168
- 540.6228 782.89 545.1 778.4128 545.1 772.89 c
169
- 545.1 730.89 l
170
- 545.1 725.3672 540.6228 720.89 535.1 720.89 c
171
- 435.0 720.89 l
172
- 429.4772 720.89 425.0 725.3672 425.0 730.89 c
173
- 425.0 772.89 l
174
- 425.0 778.4128 429.4772 782.89 435.0 782.89 c
175
- h
176
- b
177
- Q
178
- q
179
- 0.9 w
180
- /DeviceRGB cs
181
- 1.0 1.0 1.0 scn
182
- /DeviceRGB CS
183
- 1.0 0.0 0.0 SCN
184
- 20.0 639.89 120.1 62.0 re
185
- b
186
- Q
187
- q
188
- /DeviceRGB cs
189
- 1.0 0.0 0.0 scn
190
- 155.0 639.89 120.1 62.0 re
191
- f
192
- Q
193
- q
194
- 0.9 w
195
- /DeviceRGB CS
196
- 0.0 0.4392 0.7529 SCN
197
- 250.0 658.89 97.1 43.0 re
198
- S
199
- Q
200
- q
201
- /DeviceRGB cs
202
- 0.0 0.0 0.0 scn
203
-
204
- BT
205
- 20.0 603.966 Td
206
- /F1.0 18 Tf
207
- [<52656374a02864796e616d696329>] TJ
208
- ET
209
-
210
- Q
211
- Q
212
-
213
- endstream
214
- endobj
215
- 9 0 obj
216
- << /Type /Font
217
- /Subtype /Type1
218
- /BaseFont /Helvetica
219
- /Encoding /WinAnsiEncoding
220
- >>
221
- endobj
222
- 10 0 obj
223
- << /Type /XObject
224
- /Subtype /Form
225
- /BBox [0 0 595.28 841.89]
226
- /Length 183
227
- >>
228
- stream
229
- q
230
- /DeviceRGB cs
231
- 0.0 0.0 0.0 scn
232
- /DeviceRGB CS
233
- 0.0 0.0 0.0 SCN
234
- 0.9 w
235
- 0 J
236
- 0 j
237
- [] 0 d
238
- q
239
- 0.9 w
240
- /DeviceRGB cs
241
- 1.0 1.0 1.0 scn
242
- /DeviceRGB CS
243
- 0.0 0.0 0.0 SCN
244
- 20.0 514.89 120.1 62.0 re
245
- b
246
- Q
247
- Q
248
-
249
- endstream
250
- endobj
251
- 11 0 obj
252
- << /Type /XObject
253
- /Subtype /Form
254
- /BBox [0 0 595.28 841.89]
255
- /Length 418
256
- >>
257
- stream
258
- q
259
- /DeviceRGB cs
260
- 0.0 0.0 0.0 scn
261
- /DeviceRGB CS
262
- 0.0 0.0 0.0 SCN
263
- 0.9 w
264
- 0 J
265
- 0 j
266
- [] 0 d
267
- q
268
- 0.9 w
269
- /DeviceRGB cs
270
- 1.0 1.0 1.0 scn
271
- /DeviceRGB CS
272
- 0.0 0.0 0.0 SCN
273
- 165.0 576.89 m
274
- 265.1 576.89 l
275
- 270.6228 576.89 275.1 572.4128 275.1 566.89 c
276
- 275.1 524.89 l
277
- 275.1 519.3672 270.6228 514.89 265.1 514.89 c
278
- 165.0 514.89 l
279
- 159.4772 514.89 155.0 519.3672 155.0 524.89 c
280
- 155.0 566.89 l
281
- 155.0 572.4128 159.4772 576.89 165.0 576.89 c
282
- h
283
- b
284
- Q
285
- Q
286
-
287
- endstream
288
- endobj
289
- 12 0 obj
290
- << /Type /XObject
291
- /Subtype /Form
292
- /BBox [0 0 595.28 841.89]
293
- /Length 434
294
- >>
295
- stream
296
- q
297
- /DeviceRGB cs
298
- 0.0 0.0 0.0 scn
299
- /DeviceRGB CS
300
- 0.0 0.0 0.0 SCN
301
- 0.9 w
302
- 0 J
303
- 0 j
304
- [] 0 d
305
- q
306
- [2.0 2.0] 0.0 d
307
- 0.9 w
308
- /DeviceRGB cs
309
- 1.0 1.0 1.0 scn
310
- /DeviceRGB CS
311
- 0.0 0.0 0.0 SCN
312
- 300.0 576.89 m
313
- 400.1 576.89 l
314
- 405.6228 576.89 410.1 572.4128 410.1 566.89 c
315
- 410.1 524.89 l
316
- 410.1 519.3672 405.6228 514.89 400.1 514.89 c
317
- 300.0 514.89 l
318
- 294.4772 514.89 290.0 519.3672 290.0 524.89 c
319
- 290.0 566.89 l
320
- 290.0 572.4128 294.4772 576.89 300.0 576.89 c
321
- h
322
- b
323
- Q
324
- Q
325
-
326
- endstream
327
- endobj
328
- 13 0 obj
329
- << /Type /XObject
330
- /Subtype /Form
331
- /BBox [0 0 595.28 841.89]
332
- /Length 434
333
- >>
334
- stream
335
- q
336
- /DeviceRGB cs
337
- 0.0 0.0 0.0 scn
338
- /DeviceRGB CS
339
- 0.0 0.0 0.0 SCN
340
- 0.9 w
341
- 0 J
342
- 0 j
343
- [] 0 d
344
- q
345
- [1.0 2.0] 0.0 d
346
- 0.9 w
347
- /DeviceRGB cs
348
- 1.0 1.0 1.0 scn
349
- /DeviceRGB CS
350
- 0.0 0.0 0.0 SCN
351
- 435.0 576.89 m
352
- 535.1 576.89 l
353
- 540.6228 576.89 545.1 572.4128 545.1 566.89 c
354
- 545.1 524.89 l
355
- 545.1 519.3672 540.6228 514.89 535.1 514.89 c
356
- 435.0 514.89 l
357
- 429.4772 514.89 425.0 519.3672 425.0 524.89 c
358
- 425.0 566.89 l
359
- 425.0 572.4128 429.4772 576.89 435.0 576.89 c
360
- h
361
- b
362
- Q
363
- Q
364
-
365
- endstream
366
- endobj
367
- 14 0 obj
368
- << /Type /XObject
369
- /Subtype /Form
370
- /BBox [0 0 595.28 841.89]
371
- /Length 183
372
- >>
373
- stream
374
- q
375
- /DeviceRGB cs
376
- 0.0 0.0 0.0 scn
377
- /DeviceRGB CS
378
- 0.0 0.0 0.0 SCN
379
- 0.9 w
380
- 0 J
381
- 0 j
382
- [] 0 d
383
- q
384
- 0.9 w
385
- /DeviceRGB cs
386
- 1.0 1.0 1.0 scn
387
- /DeviceRGB CS
388
- 1.0 0.0 0.0 SCN
389
- 20.0 433.89 120.1 62.0 re
390
- b
391
- Q
392
- Q
393
-
394
- endstream
395
- endobj
396
- 15 0 obj
397
- << /Type /XObject
398
- /Subtype /Form
399
- /BBox [0 0 595.28 841.89]
400
- /Length 148
401
- >>
402
- stream
403
- q
404
- /DeviceRGB cs
405
- 0.0 0.0 0.0 scn
406
- /DeviceRGB CS
407
- 0.0 0.0 0.0 SCN
408
- 0.9 w
409
- 0 J
410
- 0 j
411
- [] 0 d
412
- q
413
- /DeviceRGB cs
414
- 1.0 0.0 0.0 scn
415
- 155.0 433.89 120.1 62.0 re
416
- f
417
- Q
418
- Q
419
-
420
- endstream
421
- endobj
422
- 16 0 obj
423
- << /Type /XObject
424
- /Subtype /Form
425
- /BBox [0 0 595.28 841.89]
426
- /Length 159
427
- >>
428
- stream
429
- q
430
- /DeviceRGB cs
431
- 0.0 0.0 0.0 scn
432
- /DeviceRGB CS
433
- 0.0 0.0 0.0 SCN
434
- 0.9 w
435
- 0 J
436
- 0 j
437
- [] 0 d
438
- q
439
- 0.9 w
440
- /DeviceRGB CS
441
- 0.0 0.4392 0.7529 SCN
442
- 250.0 452.89 97.1 43.0 re
443
- S
444
- Q
445
- Q
446
-
447
- endstream
448
- endobj
449
- xref
450
- 0 17
451
- 0000000000 65535 f
452
- 0000000015 00000 n
453
- 0000000291 00000 n
454
- 0000000340 00000 n
455
- 0000000397 00000 n
456
- 0000000454 00000 n
457
- 0000000716 00000 n
458
- 0000000864 00000 n
459
- 0000001270 00000 n
460
- 0000003078 00000 n
461
- 0000003175 00000 n
462
- 0000003466 00000 n
463
- 0000003992 00000 n
464
- 0000004534 00000 n
465
- 0000005076 00000 n
466
- 0000005367 00000 n
467
- 0000005623 00000 n
468
- trailer
469
- << /Size 17
470
- /Root 2 0 R
471
- /Info 1 0 R
472
- >>
473
- startxref
474
- 5890
475
- %%EOF