codin_rep 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/codin_rep.rb +86 -0
- data/lib/codin_rep/add_employee.rb +47 -0
- data/lib/codin_rep/command.rb +113 -0
- data/lib/codin_rep/communication.rb +124 -0
- data/lib/codin_rep/del_employee.rb +38 -0
- data/lib/codin_rep/employee_command.rb +93 -0
- data/lib/codin_rep/get_afd_header.rb +53 -0
- data/lib/codin_rep/get_records.rb +156 -0
- data/lib/codin_rep/get_time.rb +57 -0
- data/lib/codin_rep/set_time.rb +61 -0
- data/lib/codin_rep/time_util.rb +51 -0
- data/lib/codin_rep/version.rb +23 -0
- data/test/coverage/assets/0.10.0/application.css +799 -0
- data/test/coverage/assets/0.10.0/application.js +1707 -0
- data/test/coverage/assets/0.10.0/colorbox/border.png +0 -0
- data/test/coverage/assets/0.10.0/colorbox/controls.png +0 -0
- data/test/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
- data/test/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
- data/test/coverage/assets/0.10.0/favicon_green.png +0 -0
- data/test/coverage/assets/0.10.0/favicon_red.png +0 -0
- data/test/coverage/assets/0.10.0/favicon_yellow.png +0 -0
- data/test/coverage/assets/0.10.0/loading.gif +0 -0
- data/test/coverage/assets/0.10.0/magnify.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/coverage/index.html +6162 -0
- data/test/coverage/rcov/assets/0.2.3/jquery-1.3.2.min.js +19 -0
- data/test/coverage/rcov/assets/0.2.3/jquery.tablesorter.min.js +15 -0
- data/test/coverage/rcov/assets/0.2.3/print.css +12 -0
- data/test/coverage/rcov/assets/0.2.3/rcov.js +42 -0
- data/test/coverage/rcov/assets/0.2.3/screen.css +270 -0
- data/test/coverage/rcov/index.html +280 -0
- data/test/coverage/rcov/lib-codin_rep-add_employee_rb.html +200 -0
- data/test/coverage/rcov/lib-codin_rep-command_rb.html +398 -0
- data/test/coverage/rcov/lib-codin_rep-communication_rb.html +431 -0
- data/test/coverage/rcov/lib-codin_rep-del_employee_rb.html +173 -0
- data/test/coverage/rcov/lib-codin_rep-employee_command_rb.html +338 -0
- data/test/coverage/rcov/lib-codin_rep-get_afd_header_rb.html +218 -0
- data/test/coverage/rcov/lib-codin_rep-get_identification_rb.html +212 -0
- data/test/coverage/rcov/lib-codin_rep-get_records_rb.html +527 -0
- data/test/coverage/rcov/lib-codin_rep-get_time_rb.html +230 -0
- data/test/coverage/rcov/lib-codin_rep-set_employee_rb.html +248 -0
- data/test/coverage/rcov/lib-codin_rep-set_time_rb.html +242 -0
- data/test/coverage/rcov/lib-codin_rep-time_util_rb.html +212 -0
- data/test/coverage/rcov/lib-codin_rep-version_rb.html +128 -0
- data/test/coverage/rcov/lib-codin_rep_rb.html +317 -0
- data/test/mock_time_clock.rb +184 -0
- data/test/reports/TEST-GetTimeTest.xml +5 -0
- data/test/test_helper.rb +25 -0
- data/test/unit/add_employee_test.rb +43 -0
- data/test/unit/del_employee_test.rb +44 -0
- data/test/unit/get_employer_test.rb +48 -0
- data/test/unit/get_records_test.rb +45 -0
- data/test/unit/get_serial_number_test.rb +42 -0
- data/test/unit/get_time_test.rb +40 -0
- data/test/unit/set_time_test.rb +42 -0
- metadata +165 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# codin_rep - Gem para acesso de REPs da Telebyte
|
|
3
|
+
# Copyright (C) 2016 O.S. Systems Softwares Ltda.
|
|
4
|
+
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Affero General Public License as
|
|
7
|
+
# published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
# License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Affero General Public License for more details.
|
|
14
|
+
|
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
# Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
|
|
19
|
+
# e-mail: contato@ossystems.com.br
|
|
20
|
+
|
|
21
|
+
require "codin_rep/get_records"
|
|
22
|
+
|
|
23
|
+
module CodinRep
|
|
24
|
+
class GetAfdHeader < GetRecords
|
|
25
|
+
ONLY_RECORD_COMMAND = "PGREP009Z".freeze
|
|
26
|
+
|
|
27
|
+
def initialize(*args)
|
|
28
|
+
super(nil, *args)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def get_first_command
|
|
32
|
+
"#{START_COMMAND}000000000000000001"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def execute
|
|
36
|
+
@command_data = get_first_command
|
|
37
|
+
@response = ""
|
|
38
|
+
@parser = AfdParser.new(false)
|
|
39
|
+
@records = []
|
|
40
|
+
|
|
41
|
+
begin
|
|
42
|
+
@response = communicate!
|
|
43
|
+
@command_data = ONLY_RECORD_COMMAND
|
|
44
|
+
@response = communicate!
|
|
45
|
+
raw_record = get_response_payload
|
|
46
|
+
current_record = @parser.parse_line(raw_record, nil)
|
|
47
|
+
return current_record
|
|
48
|
+
ensure
|
|
49
|
+
@communication.close if @communication
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# codin_rep - Gem para acesso de REPs da Telebyte
|
|
3
|
+
# Copyright (C) 2016 O.S. Systems Softwares Ltda.
|
|
4
|
+
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Affero General Public License as
|
|
7
|
+
# published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
# License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Affero General Public License for more details.
|
|
14
|
+
|
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
# Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
|
|
19
|
+
# e-mail: contato@ossystems.com.br
|
|
20
|
+
|
|
21
|
+
require "afd_parser"
|
|
22
|
+
require "codin_rep/command"
|
|
23
|
+
|
|
24
|
+
module CodinRep
|
|
25
|
+
class GetRecords < Command
|
|
26
|
+
class UnknownAfdRecord < StandardError
|
|
27
|
+
def initialize(afd_record_id)
|
|
28
|
+
@afd_record_id = afd_record_id
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def message
|
|
32
|
+
message = "The REP returned an unknown AFD record of id '#{@afd_record_id}'"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
START_COMMAND = "PGREP0289".freeze
|
|
37
|
+
NEXT_RECORD_COMMAND = "PGREP009,".freeze
|
|
38
|
+
START_HEADER = 'REP0029['.freeze
|
|
39
|
+
END_HEADER = 'REP0029]'.freeze
|
|
40
|
+
AFD_DATA_START_HEADER = 'REP3029'.freeze
|
|
41
|
+
AFD_DATA_CONTINUATION_HEADER = 'REP0379'.freeze
|
|
42
|
+
AFD_DATA_ONLY_HEADER = 'REP2359'.freeze
|
|
43
|
+
AFD_DATA_END_HEADER = 'REP0909'.freeze
|
|
44
|
+
HEADER_SIZE = 8
|
|
45
|
+
AFD_SIZES_BY_TYPE = {
|
|
46
|
+
'1' => 233,
|
|
47
|
+
'2' => 300,
|
|
48
|
+
'3' => 35,
|
|
49
|
+
'4' => 35,
|
|
50
|
+
'5' => 88
|
|
51
|
+
}.freeze
|
|
52
|
+
|
|
53
|
+
def initialize(first_id, *args)
|
|
54
|
+
super(*args)
|
|
55
|
+
@first_id = first_id.to_i
|
|
56
|
+
@first_id = 1 if @first_id < 1
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def execute
|
|
60
|
+
@command_data = get_first_command
|
|
61
|
+
@response = ""
|
|
62
|
+
@parser = AfdParser.new(false)
|
|
63
|
+
@records = []
|
|
64
|
+
|
|
65
|
+
get_afd_records
|
|
66
|
+
|
|
67
|
+
return @parser
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def get_afd_records
|
|
71
|
+
begin
|
|
72
|
+
while !@command_data.match(/^#{NEXT_RECORD_COMMAND}/) || @response != END_HEADER
|
|
73
|
+
@response = communicate!
|
|
74
|
+
current_record = nil
|
|
75
|
+
if @has_response_payload
|
|
76
|
+
raw_record = get_response_payload
|
|
77
|
+
current_record = @parser.parse_line(raw_record, nil)
|
|
78
|
+
end
|
|
79
|
+
@records << current_record
|
|
80
|
+
|
|
81
|
+
@command_data = NEXT_RECORD_COMMAND
|
|
82
|
+
end
|
|
83
|
+
ensure
|
|
84
|
+
@communication.close if @communication
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
afd_start_date = @parser.first_creation_date
|
|
88
|
+
afd_end_date = @parser.last_creation_date
|
|
89
|
+
|
|
90
|
+
employer_command = CodinRep::GetAfdHeader.new(@host_address, @tcp_port)
|
|
91
|
+
employer = employer_command.execute
|
|
92
|
+
|
|
93
|
+
@parser.create_header(employer.employer_type, employer.employer_document,
|
|
94
|
+
employer.employer_cei, employer.employer_name,
|
|
95
|
+
employer.rep_serial_number, afd_start_date,
|
|
96
|
+
afd_end_date, Time.now)
|
|
97
|
+
@parser.create_trailer
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def get_expected_response_size
|
|
101
|
+
proc do |partial_data|
|
|
102
|
+
@has_response_payload = true
|
|
103
|
+
case partial_data
|
|
104
|
+
when START_HEADER
|
|
105
|
+
@has_response_payload = false
|
|
106
|
+
expected_size = 0
|
|
107
|
+
when END_HEADER
|
|
108
|
+
@has_response_payload = false
|
|
109
|
+
expected_size = 0
|
|
110
|
+
when /^#{AFD_DATA_START_HEADER}/
|
|
111
|
+
@start_header_received = true
|
|
112
|
+
expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)
|
|
113
|
+
when /^#{AFD_DATA_ONLY_HEADER}/
|
|
114
|
+
@start_header_received = true
|
|
115
|
+
expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)
|
|
116
|
+
when /^#{AFD_DATA_CONTINUATION_HEADER}/
|
|
117
|
+
expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)
|
|
118
|
+
when /^#{AFD_DATA_END_HEADER}/
|
|
119
|
+
@end_header_received = true
|
|
120
|
+
expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)
|
|
121
|
+
else
|
|
122
|
+
if partial_data.size < HEADER_SIZE
|
|
123
|
+
# new command, get only the header:
|
|
124
|
+
expected_size = HEADER_SIZE
|
|
125
|
+
else
|
|
126
|
+
header = partial_data[0..(HEADER_SIZE-1)]
|
|
127
|
+
command_name = self.class.name.split('::')[1]
|
|
128
|
+
raise UnknownHeader.new(header, command_name)
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
expected_size
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def get_afd_data_type_size(partial_data)
|
|
136
|
+
if partial_data.size < 17
|
|
137
|
+
expected_size = 17
|
|
138
|
+
else
|
|
139
|
+
afd_record_id = partial_data[16]
|
|
140
|
+
expected_size = AFD_SIZES_BY_TYPE[afd_record_id]
|
|
141
|
+
raise UnknownAfdRecord.new(afd_record_id) if expected_size.nil?
|
|
142
|
+
end
|
|
143
|
+
expected_size
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def get_response_payload
|
|
147
|
+
@response_payload = @response[7..-1]
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def get_first_command
|
|
151
|
+
"#{START_COMMAND}#{@first_id.to_s.rjust(9, '0')}99999999"
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
require "codin_rep/get_afd_header"
|
|
156
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# codin_rep - Gem para acesso de REPs da Telebyte
|
|
3
|
+
# Copyright (C) 2016 O.S. Systems Softwares Ltda.
|
|
4
|
+
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Affero General Public License as
|
|
7
|
+
# published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
# License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Affero General Public License for more details.
|
|
14
|
+
|
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
# Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
|
|
19
|
+
# e-mail: contato@ossystems.com.br
|
|
20
|
+
|
|
21
|
+
require "codin_rep/command"
|
|
22
|
+
require 'codin_rep/time_util'
|
|
23
|
+
|
|
24
|
+
module CodinRep
|
|
25
|
+
class GetTime < Command
|
|
26
|
+
COMMAND_CODE = "009b".freeze
|
|
27
|
+
EXPECTED_HEADER = 'REP008b'.freeze
|
|
28
|
+
|
|
29
|
+
def generate_command_payload
|
|
30
|
+
""
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def get_expected_response_size
|
|
34
|
+
14
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def check_response_header
|
|
38
|
+
unless @response.match(/^#{EXPECTED_HEADER}/)
|
|
39
|
+
raise UnknownHeader.new @response[0..6], 'get time', EXPECTED_HEADER
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def get_response_payload
|
|
44
|
+
@response_payload = @response[7..-1]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def get_data_from_response_payload
|
|
48
|
+
@time = nil
|
|
49
|
+
begin
|
|
50
|
+
@time = CodinRep::TimeUtil.unpack @response_payload
|
|
51
|
+
rescue ArgumentError
|
|
52
|
+
raise MalformedResponsePayload.new 'get time'
|
|
53
|
+
end
|
|
54
|
+
return @time
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# codin_rep - Gem para acesso de REPs da Telebyte
|
|
3
|
+
# Copyright (C) 2016 O.S. Systems Softwares Ltda.
|
|
4
|
+
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Affero General Public License as
|
|
7
|
+
# published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
# License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Affero General Public License for more details.
|
|
14
|
+
|
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
# Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
|
|
19
|
+
# e-mail: contato@ossystems.com.br
|
|
20
|
+
|
|
21
|
+
require "codin_rep/command"
|
|
22
|
+
|
|
23
|
+
module CodinRep
|
|
24
|
+
class SetTime < Command
|
|
25
|
+
COMMAND_CODE = "016A".freeze
|
|
26
|
+
EXPECTED_HEADER = 'REP008A'.freeze
|
|
27
|
+
|
|
28
|
+
def initialize(time, *args)
|
|
29
|
+
super(*args)
|
|
30
|
+
@time = time
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def generate_command_payload
|
|
34
|
+
CodinRep::TimeUtil.pack @time
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def get_expected_response_size
|
|
38
|
+
14
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def check_response_header
|
|
42
|
+
unless @response.match(/^#{EXPECTED_HEADER}/)
|
|
43
|
+
raise UnknownHeader.new @response[0..6], 'set time', EXPECTED_HEADER
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def get_response_payload
|
|
48
|
+
@response_payload = @response[7..-1]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def get_data_from_response_payload
|
|
52
|
+
new_time = nil
|
|
53
|
+
begin
|
|
54
|
+
new_time = CodinRep::TimeUtil.unpack @response_payload
|
|
55
|
+
rescue ArgumentError
|
|
56
|
+
raise MalformedResponsePayload.new 'set time'
|
|
57
|
+
end
|
|
58
|
+
return new_time
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# codin_rep - Gem para acesso de REPs da Telebyte
|
|
3
|
+
# Copyright (C) 2016 O.S. Systems Softwares Ltda.
|
|
4
|
+
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Affero General Public License as
|
|
7
|
+
# published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
# License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Affero General Public License for more details.
|
|
14
|
+
|
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
# Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
|
|
19
|
+
# e-mail: contato@ossystems.com.br
|
|
20
|
+
|
|
21
|
+
module CodinRep
|
|
22
|
+
module TimeUtil
|
|
23
|
+
class << self
|
|
24
|
+
def pack(time=nil)
|
|
25
|
+
# The current weekday is expected by the REP in the following format: 1
|
|
26
|
+
# for Sunday, 2 for Monday and so on. However there's no direct
|
|
27
|
+
# transformation using Time#strftime for the weekday. So we use
|
|
28
|
+
# String#next, which adds + 1 to the last character on it, which is
|
|
29
|
+
# exactly what the format requires.
|
|
30
|
+
formated_time = time.strftime('%H %M %S %d %m %y 0%w').next
|
|
31
|
+
codified_time = formated_time.split.collect{|c| c.to_i(16)}.pack('C*')
|
|
32
|
+
codified_time
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def unpack(time)
|
|
36
|
+
hours, minutes, seconds,
|
|
37
|
+
day, month, year,
|
|
38
|
+
weekday = time.unpack('H2H2H2H2H2H2C').collect{|c| c.to_i}
|
|
39
|
+
# Year is in 2-digit format, so add 2000 to it:
|
|
40
|
+
year += 2000
|
|
41
|
+
time = Time.new(year, month, day, hours, minutes, seconds)
|
|
42
|
+
if weekday - 1 != time.wday
|
|
43
|
+
message = "Received weekday is wrong. Expected: #{time.wday + 1}; " +
|
|
44
|
+
"received: #{weekday}"
|
|
45
|
+
raise WrongWeekday.new(message)
|
|
46
|
+
end
|
|
47
|
+
time
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# codin_rep - Gem para acesso de REPs da Telebyte
|
|
3
|
+
# Copyright (C) 2016 O.S. Systems Softwares Ltda.
|
|
4
|
+
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Affero General Public License as
|
|
7
|
+
# published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
# License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Affero General Public License for more details.
|
|
14
|
+
|
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
# Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.
|
|
19
|
+
# e-mail: contato@ossystems.com.br
|
|
20
|
+
|
|
21
|
+
module CodinRep
|
|
22
|
+
VERSION = "0.1.0".freeze
|
|
23
|
+
end
|
|
@@ -0,0 +1,799 @@
|
|
|
1
|
+
/* -----------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
Blueprint CSS Framework 0.9
|
|
5
|
+
http://blueprintcss.org
|
|
6
|
+
|
|
7
|
+
* Copyright (c) 2007-Present. See LICENSE for more info.
|
|
8
|
+
* See README for instructions on how to use Blueprint.
|
|
9
|
+
* For credits and origins, see AUTHORS.
|
|
10
|
+
* This is a compressed file. See the sources in the 'src' directory.
|
|
11
|
+
|
|
12
|
+
----------------------------------------------------------------------- */
|
|
13
|
+
|
|
14
|
+
/* reset.css */
|
|
15
|
+
|
|
16
|
+
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
|
|
17
|
+
article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
|
|
18
|
+
body {line-height:1.5;}
|
|
19
|
+
table {border-collapse:separate;border-spacing:0;}
|
|
20
|
+
caption, th, td {text-align:left;font-weight:normal;}
|
|
21
|
+
table, td, th {vertical-align:middle;}
|
|
22
|
+
blockquote:before, blockquote:after, q:before, q:after {content:"";}
|
|
23
|
+
blockquote, q {quotes:"" "";}
|
|
24
|
+
a img {border:none;}
|
|
25
|
+
|
|
26
|
+
/* typography.css */
|
|
27
|
+
html {font-size:100.01%;}
|
|
28
|
+
body {font-size:82%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
|
|
29
|
+
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
|
|
30
|
+
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
|
|
31
|
+
h2 {font-size:2em;margin-bottom:0.75em;}
|
|
32
|
+
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
|
|
33
|
+
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
|
|
34
|
+
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
|
|
35
|
+
h6 {font-size:1em;font-weight:bold;}
|
|
36
|
+
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
|
|
37
|
+
p {margin:0 0 1.5em;}
|
|
38
|
+
p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
|
|
39
|
+
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
|
|
40
|
+
a:focus, a:hover {color:#000;}
|
|
41
|
+
a {color:#009;text-decoration:underline;}
|
|
42
|
+
blockquote {margin:1.5em;color:#666;font-style:italic;}
|
|
43
|
+
strong {font-weight:bold;}
|
|
44
|
+
em, dfn {font-style:italic;}
|
|
45
|
+
dfn {font-weight:bold;}
|
|
46
|
+
sup, sub {line-height:0;}
|
|
47
|
+
abbr, acronym {border-bottom:1px dotted #666;}
|
|
48
|
+
address {margin:0 0 1.5em;font-style:italic;}
|
|
49
|
+
del {color:#666;}
|
|
50
|
+
pre {margin:1.5em 0;white-space:pre;}
|
|
51
|
+
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
|
|
52
|
+
li ul, li ol {margin:0;}
|
|
53
|
+
ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
|
|
54
|
+
ul {list-style-type:disc;}
|
|
55
|
+
ol {list-style-type:decimal;}
|
|
56
|
+
dl {margin:0 0 1.5em 0;}
|
|
57
|
+
dl dt {font-weight:bold;}
|
|
58
|
+
dd {margin-left:1.5em;}
|
|
59
|
+
table {margin-bottom:1.4em;width:100%;}
|
|
60
|
+
th {font-weight:bold;}
|
|
61
|
+
thead th {background:#c3d9ff;}
|
|
62
|
+
th, td, caption {padding:4px 10px 4px 5px;}
|
|
63
|
+
tr.even td {background:#efefef;}
|
|
64
|
+
tfoot {font-style:italic;}
|
|
65
|
+
caption {background:#eee;}
|
|
66
|
+
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
|
|
67
|
+
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
|
|
68
|
+
.hide {display:none;}
|
|
69
|
+
.quiet {color:#666;}
|
|
70
|
+
.loud {color:#000;}
|
|
71
|
+
.highlight {background:#ff0;}
|
|
72
|
+
.added {background:#060;color:#fff;}
|
|
73
|
+
.removed {background:#900;color:#fff;}
|
|
74
|
+
.first {margin-left:0;padding-left:0;}
|
|
75
|
+
.last {margin-right:0;padding-right:0;}
|
|
76
|
+
.top {margin-top:0;padding-top:0;}
|
|
77
|
+
.bottom {margin-bottom:0;padding-bottom:0;}
|
|
78
|
+
|
|
79
|
+
/* forms.css */
|
|
80
|
+
label {font-weight:bold;}
|
|
81
|
+
fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
|
|
82
|
+
legend {font-weight:bold;font-size:1.2em;}
|
|
83
|
+
input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
|
|
84
|
+
input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
|
|
85
|
+
input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
|
|
86
|
+
input.text, input.title {width:300px;padding:5px;}
|
|
87
|
+
input.title {font-size:1.5em;}
|
|
88
|
+
textarea {width:390px;height:250px;padding:5px;}
|
|
89
|
+
input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
|
|
90
|
+
form.inline {line-height:3;}
|
|
91
|
+
form.inline p {margin-bottom:0;}
|
|
92
|
+
.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
|
|
93
|
+
.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
|
|
94
|
+
.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
|
|
95
|
+
.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
|
|
96
|
+
.error a {color:#8a1f11;}
|
|
97
|
+
.notice a {color:#514721;}
|
|
98
|
+
.success a {color:#264409;}
|
|
99
|
+
.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
|
|
100
|
+
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
|
|
101
|
+
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
|
102
|
+
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
|
|
103
|
+
.clearfix, .container {display:block;}
|
|
104
|
+
.clear {clear:both;}
|
|
105
|
+
/*
|
|
106
|
+
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
pre code {
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
pre .comment,
|
|
114
|
+
pre .template_comment,
|
|
115
|
+
pre .diff .header,
|
|
116
|
+
pre .javadoc {
|
|
117
|
+
color: #998;
|
|
118
|
+
font-style: italic
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
pre .keyword,
|
|
122
|
+
pre .css .rule .keyword,
|
|
123
|
+
pre .winutils,
|
|
124
|
+
pre .javascript .title,
|
|
125
|
+
pre .lisp .title {
|
|
126
|
+
color: #000;
|
|
127
|
+
font-weight: bold
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
pre .number,
|
|
131
|
+
pre .hexcolor {
|
|
132
|
+
color: #458
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
pre .string,
|
|
137
|
+
pre .tag .value,
|
|
138
|
+
pre .phpdoc,
|
|
139
|
+
pre .tex .formula {
|
|
140
|
+
color: #d14
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
pre .subst {
|
|
144
|
+
color: #712;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
pre .constant,
|
|
148
|
+
pre .title,
|
|
149
|
+
pre .id {
|
|
150
|
+
color: #900;
|
|
151
|
+
font-weight: bold
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
pre .javascript .title,
|
|
155
|
+
pre .lisp .title,
|
|
156
|
+
pre .subst {
|
|
157
|
+
font-weight: normal
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
pre .class .title,
|
|
161
|
+
pre .haskell .label,
|
|
162
|
+
pre .tex .command {
|
|
163
|
+
color: #458;
|
|
164
|
+
font-weight: bold
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
pre .tag,
|
|
168
|
+
pre .tag .title,
|
|
169
|
+
pre .rules .property,
|
|
170
|
+
pre .django .tag .keyword {
|
|
171
|
+
color: #000080;
|
|
172
|
+
font-weight: normal
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
pre .attribute,
|
|
176
|
+
pre .variable,
|
|
177
|
+
pre .instancevar,
|
|
178
|
+
pre .lisp .body {
|
|
179
|
+
color: #008080
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
pre .regexp {
|
|
183
|
+
color: #009926
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
pre .class {
|
|
187
|
+
color: #458;
|
|
188
|
+
font-weight: bold
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
pre .symbol,
|
|
192
|
+
pre .ruby .symbol .string,
|
|
193
|
+
pre .ruby .symbol .keyword,
|
|
194
|
+
pre .ruby .symbol .keymethods,
|
|
195
|
+
pre .lisp .keyword,
|
|
196
|
+
pre .tex .special,
|
|
197
|
+
pre .input_number {
|
|
198
|
+
color: #990073
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
pre .builtin,
|
|
202
|
+
pre .built_in,
|
|
203
|
+
pre .lisp .title {
|
|
204
|
+
color: #0086b3
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
pre .preprocessor,
|
|
208
|
+
pre .pi,
|
|
209
|
+
pre .doctype,
|
|
210
|
+
pre .shebang,
|
|
211
|
+
pre .cdata {
|
|
212
|
+
color: #999;
|
|
213
|
+
font-weight: bold
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
pre .deletion {
|
|
217
|
+
background: #fdd
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
pre .addition {
|
|
221
|
+
background: #dfd
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
pre .diff .change {
|
|
225
|
+
background: #0086b3
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
pre .chunk {
|
|
229
|
+
color: #aaa
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
pre .tex .formula {
|
|
233
|
+
opacity: 0.5;
|
|
234
|
+
}
|
|
235
|
+
/*
|
|
236
|
+
* jQuery UI CSS Framework @VERSION
|
|
237
|
+
*
|
|
238
|
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
|
239
|
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
|
240
|
+
* http://jquery.org/license
|
|
241
|
+
*
|
|
242
|
+
* http://docs.jquery.com/UI/Theming/API
|
|
243
|
+
*/
|
|
244
|
+
|
|
245
|
+
/* Layout helpers
|
|
246
|
+
----------------------------------*/
|
|
247
|
+
|
|
248
|
+
.ui-helper-hidden { display: none; }
|
|
249
|
+
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
|
250
|
+
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
|
251
|
+
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
|
252
|
+
.ui-helper-clearfix { display: inline-block; }
|
|
253
|
+
/* required comment for clearfix to work in Opera \*/
|
|
254
|
+
* html .ui-helper-clearfix { height:1%; }
|
|
255
|
+
.ui-helper-clearfix { display:block; }
|
|
256
|
+
/* end clearfix */
|
|
257
|
+
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
/* Interaction Cues
|
|
261
|
+
----------------------------------*/
|
|
262
|
+
.ui-state-disabled { cursor: default !important; }
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
/* Icons
|
|
266
|
+
----------------------------------*/
|
|
267
|
+
|
|
268
|
+
/* states and images */
|
|
269
|
+
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
/* Misc visuals
|
|
273
|
+
----------------------------------*/
|
|
274
|
+
|
|
275
|
+
/* Overlays */
|
|
276
|
+
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
/*
|
|
280
|
+
* jQuery UI CSS Framework @VERSION
|
|
281
|
+
*
|
|
282
|
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
|
283
|
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
|
284
|
+
* http://jquery.org/license
|
|
285
|
+
*
|
|
286
|
+
* http://docs.jquery.com/UI/Theming/API
|
|
287
|
+
*
|
|
288
|
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
|
289
|
+
*/
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
/* Component containers
|
|
293
|
+
----------------------------------*/
|
|
294
|
+
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
|
295
|
+
.ui-widget .ui-widget { font-size: 1em; }
|
|
296
|
+
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
|
297
|
+
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
|
|
298
|
+
.ui-widget-content a { color: #222222; }
|
|
299
|
+
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
|
300
|
+
.ui-widget-header a { color: #222222; }
|
|
301
|
+
|
|
302
|
+
/* Interaction states
|
|
303
|
+
----------------------------------*/
|
|
304
|
+
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
|
|
305
|
+
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
|
|
306
|
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
|
307
|
+
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
|
|
308
|
+
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
|
309
|
+
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
|
|
310
|
+
.ui-widget :active { outline: none; }
|
|
311
|
+
|
|
312
|
+
/* Interaction Cues
|
|
313
|
+
----------------------------------*/
|
|
314
|
+
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
|
|
315
|
+
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
|
316
|
+
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
|
|
317
|
+
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
|
|
318
|
+
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
|
|
319
|
+
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
|
320
|
+
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
|
321
|
+
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
|
322
|
+
|
|
323
|
+
/* Icons
|
|
324
|
+
----------------------------------*/
|
|
325
|
+
|
|
326
|
+
/* states and images */
|
|
327
|
+
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
|
328
|
+
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
|
329
|
+
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
|
330
|
+
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
|
|
331
|
+
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
|
332
|
+
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
|
333
|
+
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
|
|
334
|
+
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
|
|
335
|
+
|
|
336
|
+
/* positioning */
|
|
337
|
+
.ui-icon-carat-1-n { background-position: 0 0; }
|
|
338
|
+
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
|
339
|
+
.ui-icon-carat-1-e { background-position: -32px 0; }
|
|
340
|
+
.ui-icon-carat-1-se { background-position: -48px 0; }
|
|
341
|
+
.ui-icon-carat-1-s { background-position: -64px 0; }
|
|
342
|
+
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
|
343
|
+
.ui-icon-carat-1-w { background-position: -96px 0; }
|
|
344
|
+
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
|
345
|
+
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
|
346
|
+
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
|
347
|
+
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
|
348
|
+
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
|
349
|
+
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
|
350
|
+
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
|
351
|
+
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
|
352
|
+
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
|
353
|
+
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
|
354
|
+
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
|
355
|
+
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
|
356
|
+
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
|
357
|
+
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
|
358
|
+
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
|
359
|
+
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
|
360
|
+
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
|
361
|
+
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
|
362
|
+
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
|
363
|
+
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
|
364
|
+
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
|
365
|
+
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
|
366
|
+
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
|
367
|
+
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
|
368
|
+
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
|
369
|
+
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
|
370
|
+
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
|
371
|
+
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
|
372
|
+
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
|
373
|
+
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
|
374
|
+
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
|
375
|
+
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
|
376
|
+
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
|
377
|
+
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
|
378
|
+
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
|
379
|
+
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
|
380
|
+
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
|
381
|
+
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
|
382
|
+
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
|
383
|
+
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
|
384
|
+
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
|
385
|
+
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
|
386
|
+
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
|
387
|
+
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
|
388
|
+
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
|
389
|
+
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
|
390
|
+
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
|
391
|
+
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
|
392
|
+
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
|
393
|
+
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
|
394
|
+
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
|
395
|
+
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
|
396
|
+
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
|
397
|
+
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
|
398
|
+
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
|
399
|
+
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
|
400
|
+
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
|
401
|
+
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
|
402
|
+
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
|
403
|
+
.ui-icon-extlink { background-position: -32px -80px; }
|
|
404
|
+
.ui-icon-newwin { background-position: -48px -80px; }
|
|
405
|
+
.ui-icon-refresh { background-position: -64px -80px; }
|
|
406
|
+
.ui-icon-shuffle { background-position: -80px -80px; }
|
|
407
|
+
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
|
408
|
+
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
|
409
|
+
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
|
410
|
+
.ui-icon-folder-open { background-position: -16px -96px; }
|
|
411
|
+
.ui-icon-document { background-position: -32px -96px; }
|
|
412
|
+
.ui-icon-document-b { background-position: -48px -96px; }
|
|
413
|
+
.ui-icon-note { background-position: -64px -96px; }
|
|
414
|
+
.ui-icon-mail-closed { background-position: -80px -96px; }
|
|
415
|
+
.ui-icon-mail-open { background-position: -96px -96px; }
|
|
416
|
+
.ui-icon-suitcase { background-position: -112px -96px; }
|
|
417
|
+
.ui-icon-comment { background-position: -128px -96px; }
|
|
418
|
+
.ui-icon-person { background-position: -144px -96px; }
|
|
419
|
+
.ui-icon-print { background-position: -160px -96px; }
|
|
420
|
+
.ui-icon-trash { background-position: -176px -96px; }
|
|
421
|
+
.ui-icon-locked { background-position: -192px -96px; }
|
|
422
|
+
.ui-icon-unlocked { background-position: -208px -96px; }
|
|
423
|
+
.ui-icon-bookmark { background-position: -224px -96px; }
|
|
424
|
+
.ui-icon-tag { background-position: -240px -96px; }
|
|
425
|
+
.ui-icon-home { background-position: 0 -112px; }
|
|
426
|
+
.ui-icon-flag { background-position: -16px -112px; }
|
|
427
|
+
.ui-icon-calendar { background-position: -32px -112px; }
|
|
428
|
+
.ui-icon-cart { background-position: -48px -112px; }
|
|
429
|
+
.ui-icon-pencil { background-position: -64px -112px; }
|
|
430
|
+
.ui-icon-clock { background-position: -80px -112px; }
|
|
431
|
+
.ui-icon-disk { background-position: -96px -112px; }
|
|
432
|
+
.ui-icon-calculator { background-position: -112px -112px; }
|
|
433
|
+
.ui-icon-zoomin { background-position: -128px -112px; }
|
|
434
|
+
.ui-icon-zoomout { background-position: -144px -112px; }
|
|
435
|
+
.ui-icon-search { background-position: -160px -112px; }
|
|
436
|
+
.ui-icon-wrench { background-position: -176px -112px; }
|
|
437
|
+
.ui-icon-gear { background-position: -192px -112px; }
|
|
438
|
+
.ui-icon-heart { background-position: -208px -112px; }
|
|
439
|
+
.ui-icon-star { background-position: -224px -112px; }
|
|
440
|
+
.ui-icon-link { background-position: -240px -112px; }
|
|
441
|
+
.ui-icon-cancel { background-position: 0 -128px; }
|
|
442
|
+
.ui-icon-plus { background-position: -16px -128px; }
|
|
443
|
+
.ui-icon-plusthick { background-position: -32px -128px; }
|
|
444
|
+
.ui-icon-minus { background-position: -48px -128px; }
|
|
445
|
+
.ui-icon-minusthick { background-position: -64px -128px; }
|
|
446
|
+
.ui-icon-close { background-position: -80px -128px; }
|
|
447
|
+
.ui-icon-closethick { background-position: -96px -128px; }
|
|
448
|
+
.ui-icon-key { background-position: -112px -128px; }
|
|
449
|
+
.ui-icon-lightbulb { background-position: -128px -128px; }
|
|
450
|
+
.ui-icon-scissors { background-position: -144px -128px; }
|
|
451
|
+
.ui-icon-clipboard { background-position: -160px -128px; }
|
|
452
|
+
.ui-icon-copy { background-position: -176px -128px; }
|
|
453
|
+
.ui-icon-contact { background-position: -192px -128px; }
|
|
454
|
+
.ui-icon-image { background-position: -208px -128px; }
|
|
455
|
+
.ui-icon-video { background-position: -224px -128px; }
|
|
456
|
+
.ui-icon-script { background-position: -240px -128px; }
|
|
457
|
+
.ui-icon-alert { background-position: 0 -144px; }
|
|
458
|
+
.ui-icon-info { background-position: -16px -144px; }
|
|
459
|
+
.ui-icon-notice { background-position: -32px -144px; }
|
|
460
|
+
.ui-icon-help { background-position: -48px -144px; }
|
|
461
|
+
.ui-icon-check { background-position: -64px -144px; }
|
|
462
|
+
.ui-icon-bullet { background-position: -80px -144px; }
|
|
463
|
+
.ui-icon-radio-off { background-position: -96px -144px; }
|
|
464
|
+
.ui-icon-radio-on { background-position: -112px -144px; }
|
|
465
|
+
.ui-icon-pin-w { background-position: -128px -144px; }
|
|
466
|
+
.ui-icon-pin-s { background-position: -144px -144px; }
|
|
467
|
+
.ui-icon-play { background-position: 0 -160px; }
|
|
468
|
+
.ui-icon-pause { background-position: -16px -160px; }
|
|
469
|
+
.ui-icon-seek-next { background-position: -32px -160px; }
|
|
470
|
+
.ui-icon-seek-prev { background-position: -48px -160px; }
|
|
471
|
+
.ui-icon-seek-end { background-position: -64px -160px; }
|
|
472
|
+
.ui-icon-seek-start { background-position: -80px -160px; }
|
|
473
|
+
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
|
474
|
+
.ui-icon-seek-first { background-position: -80px -160px; }
|
|
475
|
+
.ui-icon-stop { background-position: -96px -160px; }
|
|
476
|
+
.ui-icon-eject { background-position: -112px -160px; }
|
|
477
|
+
.ui-icon-volume-off { background-position: -128px -160px; }
|
|
478
|
+
.ui-icon-volume-on { background-position: -144px -160px; }
|
|
479
|
+
.ui-icon-power { background-position: 0 -176px; }
|
|
480
|
+
.ui-icon-signal-diag { background-position: -16px -176px; }
|
|
481
|
+
.ui-icon-signal { background-position: -32px -176px; }
|
|
482
|
+
.ui-icon-battery-0 { background-position: -48px -176px; }
|
|
483
|
+
.ui-icon-battery-1 { background-position: -64px -176px; }
|
|
484
|
+
.ui-icon-battery-2 { background-position: -80px -176px; }
|
|
485
|
+
.ui-icon-battery-3 { background-position: -96px -176px; }
|
|
486
|
+
.ui-icon-circle-plus { background-position: 0 -192px; }
|
|
487
|
+
.ui-icon-circle-minus { background-position: -16px -192px; }
|
|
488
|
+
.ui-icon-circle-close { background-position: -32px -192px; }
|
|
489
|
+
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
|
490
|
+
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
|
491
|
+
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
|
492
|
+
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
|
493
|
+
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
|
494
|
+
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
|
495
|
+
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
|
496
|
+
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
|
497
|
+
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
|
498
|
+
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
|
499
|
+
.ui-icon-circle-check { background-position: -208px -192px; }
|
|
500
|
+
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
|
501
|
+
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
|
502
|
+
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
|
503
|
+
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
|
504
|
+
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
|
505
|
+
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
|
506
|
+
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
|
507
|
+
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
|
508
|
+
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
|
509
|
+
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
|
510
|
+
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
|
511
|
+
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
/* Misc visuals
|
|
515
|
+
----------------------------------*/
|
|
516
|
+
|
|
517
|
+
/* Corner radius */
|
|
518
|
+
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
|
519
|
+
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
|
520
|
+
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
|
521
|
+
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
|
522
|
+
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
|
523
|
+
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
|
524
|
+
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
|
525
|
+
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
|
526
|
+
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
|
|
527
|
+
|
|
528
|
+
/* Overlays */
|
|
529
|
+
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
|
530
|
+
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
|
|
531
|
+
/*
|
|
532
|
+
ColorBox Core Style:
|
|
533
|
+
The following CSS is consistent between example themes and should not be altered.
|
|
534
|
+
*/
|
|
535
|
+
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
|
|
536
|
+
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
|
537
|
+
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
|
538
|
+
#cboxContent{position:relative;}
|
|
539
|
+
#cboxLoadedContent{overflow:auto;}
|
|
540
|
+
#cboxTitle{margin:0;}
|
|
541
|
+
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
|
542
|
+
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
|
543
|
+
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
|
|
544
|
+
.cboxIframe{width:100%; height:100%; display:block; border:0;}
|
|
545
|
+
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;}
|
|
546
|
+
|
|
547
|
+
/*
|
|
548
|
+
User Style:
|
|
549
|
+
Change the following styles to modify the appearance of ColorBox. They are
|
|
550
|
+
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
|
551
|
+
*/
|
|
552
|
+
#cboxOverlay{background:#000;}
|
|
553
|
+
#colorbox{}
|
|
554
|
+
#cboxTopLeft{width:14px; height:14px; background:url(colorbox/controls.png) no-repeat 0 0;}
|
|
555
|
+
#cboxTopCenter{height:14px; background:url(colorbox/border.png) repeat-x top left;}
|
|
556
|
+
#cboxTopRight{width:14px; height:14px; background:url(colorbox/controls.png) no-repeat -36px 0;}
|
|
557
|
+
#cboxBottomLeft{width:14px; height:43px; background:url(colorbox/controls.png) no-repeat 0 -32px;}
|
|
558
|
+
#cboxBottomCenter{height:43px; background:url(colorbox/border.png) repeat-x bottom left;}
|
|
559
|
+
#cboxBottomRight{width:14px; height:43px; background:url(colorbox/controls.png) no-repeat -36px -32px;}
|
|
560
|
+
#cboxMiddleLeft{width:14px; background:url(colorbox/controls.png) repeat-y -175px 0;}
|
|
561
|
+
#cboxMiddleRight{width:14px; background:url(colorbox/controls.png) repeat-y -211px 0;}
|
|
562
|
+
#cboxContent{background:#fff; overflow:visible;}
|
|
563
|
+
.cboxIframe{background:#fff;}
|
|
564
|
+
#cboxError{padding:50px; border:1px solid #ccc;}
|
|
565
|
+
#cboxLoadedContent{margin-bottom:5px;}
|
|
566
|
+
#cboxLoadingOverlay{background:url(colorbox/loading_background.png) no-repeat center center;}
|
|
567
|
+
#cboxLoadingGraphic{background:url(colorbox/loading.gif) no-repeat center center;}
|
|
568
|
+
#cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
|
|
569
|
+
#cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
|
|
570
|
+
|
|
571
|
+
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(colorbox/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
|
|
572
|
+
#cboxPrevious{left:0px; background-position: -51px -25px;}
|
|
573
|
+
#cboxPrevious:hover{background-position:-51px 0px;}
|
|
574
|
+
#cboxNext{left:27px; background-position:-75px -25px;}
|
|
575
|
+
#cboxNext:hover{background-position:-75px 0px;}
|
|
576
|
+
#cboxClose{right:0; background-position:-100px -25px;}
|
|
577
|
+
#cboxClose:hover{background-position:-100px 0px;}
|
|
578
|
+
|
|
579
|
+
.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
|
|
580
|
+
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
|
|
581
|
+
.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
|
|
582
|
+
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
|
|
583
|
+
#loading {
|
|
584
|
+
position: fixed;
|
|
585
|
+
left: 40%;
|
|
586
|
+
top: 50%; }
|
|
587
|
+
|
|
588
|
+
a {
|
|
589
|
+
color: #333333;
|
|
590
|
+
text-decoration: none; }
|
|
591
|
+
a:hover {
|
|
592
|
+
color: black;
|
|
593
|
+
text-decoration: underline; }
|
|
594
|
+
|
|
595
|
+
body {
|
|
596
|
+
font-family: "Lucida Grande", Helvetica, "Helvetica Neue", Arial, sans-serif;
|
|
597
|
+
padding: 12px;
|
|
598
|
+
background-color: #333333; }
|
|
599
|
+
|
|
600
|
+
h1, h2, h3, h4 {
|
|
601
|
+
color: #1c2324;
|
|
602
|
+
margin: 0;
|
|
603
|
+
padding: 0;
|
|
604
|
+
margin-bottom: 12px; }
|
|
605
|
+
|
|
606
|
+
table {
|
|
607
|
+
width: 100%; }
|
|
608
|
+
|
|
609
|
+
#content {
|
|
610
|
+
clear: left;
|
|
611
|
+
background-color: white;
|
|
612
|
+
border: 2px solid #dddddd;
|
|
613
|
+
border-top: 8px solid #dddddd;
|
|
614
|
+
padding: 18px;
|
|
615
|
+
-webkit-border-bottom-left-radius: 5px;
|
|
616
|
+
-webkit-border-bottom-right-radius: 5px;
|
|
617
|
+
-webkit-border-top-right-radius: 5px;
|
|
618
|
+
-moz-border-radius-bottomleft: 5px;
|
|
619
|
+
-moz-border-radius-bottomright: 5px;
|
|
620
|
+
-moz-border-radius-topright: 5px;
|
|
621
|
+
border-bottom-left-radius: 5px;
|
|
622
|
+
border-bottom-right-radius: 5px;
|
|
623
|
+
border-top-right-radius: 5px; }
|
|
624
|
+
|
|
625
|
+
.dataTables_filter, .dataTables_info {
|
|
626
|
+
padding: 2px 6px; }
|
|
627
|
+
|
|
628
|
+
abbr.timeago {
|
|
629
|
+
text-decoration: none;
|
|
630
|
+
border: none;
|
|
631
|
+
font-weight: bold; }
|
|
632
|
+
|
|
633
|
+
.timestamp {
|
|
634
|
+
float: right;
|
|
635
|
+
color: #dddddd; }
|
|
636
|
+
|
|
637
|
+
.group_tabs {
|
|
638
|
+
list-style: none;
|
|
639
|
+
float: left;
|
|
640
|
+
margin: 0;
|
|
641
|
+
padding: 0; }
|
|
642
|
+
.group_tabs li {
|
|
643
|
+
display: inline;
|
|
644
|
+
float: left; }
|
|
645
|
+
.group_tabs li a {
|
|
646
|
+
font-family: Helvetica, Arial, sans-serif;
|
|
647
|
+
display: block;
|
|
648
|
+
float: left;
|
|
649
|
+
text-decoration: none;
|
|
650
|
+
padding: 4px 8px;
|
|
651
|
+
background-color: #aaaaaa;
|
|
652
|
+
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#dddddd), to(#aaaaaa));
|
|
653
|
+
background: -moz-linear-gradient(#dddddd, #aaaaaa);
|
|
654
|
+
background: linear-gradient(#dddddd, #aaaaaa);
|
|
655
|
+
text-shadow: #e5e5e5 1px 1px 0px;
|
|
656
|
+
border-bottom: none;
|
|
657
|
+
color: #333333;
|
|
658
|
+
font-weight: bold;
|
|
659
|
+
margin-right: 8px;
|
|
660
|
+
border-top: 1px solid #efefef;
|
|
661
|
+
-webkit-border-top-left-radius: 2px;
|
|
662
|
+
-webkit-border-top-right-radius: 2px;
|
|
663
|
+
-moz-border-radius-topleft: 2px;
|
|
664
|
+
-moz-border-radius-topright: 2px;
|
|
665
|
+
border-top-left-radius: 2px;
|
|
666
|
+
border-top-right-radius: 2px; }
|
|
667
|
+
.group_tabs li a:hover {
|
|
668
|
+
background-color: #cccccc;
|
|
669
|
+
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#eeeeee), to(#aaaaaa));
|
|
670
|
+
background: -moz-linear-gradient(#eeeeee, #aaaaaa);
|
|
671
|
+
background: linear-gradient(#eeeeee, #aaaaaa); }
|
|
672
|
+
.group_tabs li a:active {
|
|
673
|
+
padding-top: 5px;
|
|
674
|
+
padding-bottom: 3px; }
|
|
675
|
+
.group_tabs li.active a {
|
|
676
|
+
color: black;
|
|
677
|
+
text-shadow: white 1px 1px 0px;
|
|
678
|
+
background-color: #dddddd;
|
|
679
|
+
background: -webkit-gradient(linear, 0 0, 0 bottom, from(white), to(#dddddd));
|
|
680
|
+
background: -moz-linear-gradient(white, #dddddd);
|
|
681
|
+
background: linear-gradient(white, #dddddd); }
|
|
682
|
+
|
|
683
|
+
.file_list {
|
|
684
|
+
margin-bottom: 18px; }
|
|
685
|
+
|
|
686
|
+
a.src_link {
|
|
687
|
+
background: url("./magnify.png") no-repeat left 50%;
|
|
688
|
+
padding-left: 18px; }
|
|
689
|
+
|
|
690
|
+
tr, td {
|
|
691
|
+
margin: 0;
|
|
692
|
+
padding: 0; }
|
|
693
|
+
|
|
694
|
+
th {
|
|
695
|
+
white-space: nowrap; }
|
|
696
|
+
th.ui-state-default {
|
|
697
|
+
cursor: pointer; }
|
|
698
|
+
th span.ui-icon {
|
|
699
|
+
float: left; }
|
|
700
|
+
|
|
701
|
+
td {
|
|
702
|
+
padding: 4px 8px; }
|
|
703
|
+
td.strong {
|
|
704
|
+
font-weight: bold; }
|
|
705
|
+
|
|
706
|
+
.source_table h3, .source_table h4 {
|
|
707
|
+
padding: 0;
|
|
708
|
+
margin: 0;
|
|
709
|
+
margin-bottom: 4px; }
|
|
710
|
+
.source_table .header {
|
|
711
|
+
padding: 10px; }
|
|
712
|
+
.source_table pre {
|
|
713
|
+
margin: 0;
|
|
714
|
+
padding: 0;
|
|
715
|
+
white-space: normal;
|
|
716
|
+
color: black;
|
|
717
|
+
font-family: "Monaco", "Inconsolata", "Consolas", monospace; }
|
|
718
|
+
.source_table code {
|
|
719
|
+
color: black;
|
|
720
|
+
font-family: "Monaco", "Inconsolata", "Consolas", monospace; }
|
|
721
|
+
.source_table pre {
|
|
722
|
+
background-color: #333333; }
|
|
723
|
+
.source_table pre ol {
|
|
724
|
+
margin: 0px;
|
|
725
|
+
padding: 0px;
|
|
726
|
+
margin-left: 45px;
|
|
727
|
+
font-size: 12px;
|
|
728
|
+
color: white; }
|
|
729
|
+
.source_table pre li {
|
|
730
|
+
margin: 0px;
|
|
731
|
+
padding: 2px 6px;
|
|
732
|
+
border-left: 5px solid white; }
|
|
733
|
+
.source_table pre li code {
|
|
734
|
+
white-space: pre;
|
|
735
|
+
white-space: pre-wrap; }
|
|
736
|
+
.source_table pre .hits {
|
|
737
|
+
float: right;
|
|
738
|
+
margin-left: 10px;
|
|
739
|
+
padding: 2px 4px;
|
|
740
|
+
background-color: #444444;
|
|
741
|
+
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#222222), to(#666666));
|
|
742
|
+
background: -moz-linear-gradient(#222222, #666666);
|
|
743
|
+
background: linear-gradient(#222222, #666666);
|
|
744
|
+
color: white;
|
|
745
|
+
font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
|
|
746
|
+
font-size: 10px;
|
|
747
|
+
font-weight: bold;
|
|
748
|
+
text-align: center;
|
|
749
|
+
border-radius: 6px; }
|
|
750
|
+
|
|
751
|
+
#footer {
|
|
752
|
+
color: #dddddd;
|
|
753
|
+
font-size: 12px;
|
|
754
|
+
font-weight: bold;
|
|
755
|
+
margin-top: 12px;
|
|
756
|
+
text-align: right; }
|
|
757
|
+
#footer a {
|
|
758
|
+
color: #eeeeee;
|
|
759
|
+
text-decoration: underline; }
|
|
760
|
+
#footer a:hover {
|
|
761
|
+
color: white;
|
|
762
|
+
text-decoration: none; }
|
|
763
|
+
|
|
764
|
+
.green {
|
|
765
|
+
color: #009900; }
|
|
766
|
+
|
|
767
|
+
.red {
|
|
768
|
+
color: #990000; }
|
|
769
|
+
|
|
770
|
+
.yellow {
|
|
771
|
+
color: #ddaa00; }
|
|
772
|
+
|
|
773
|
+
.source_table .covered {
|
|
774
|
+
border-color: #009900; }
|
|
775
|
+
.source_table .missed {
|
|
776
|
+
border-color: #990000; }
|
|
777
|
+
.source_table .never {
|
|
778
|
+
border-color: black; }
|
|
779
|
+
.source_table .skipped {
|
|
780
|
+
border-color: #ffcc00; }
|
|
781
|
+
.source_table .covered:nth-child(odd) {
|
|
782
|
+
background-color: #cdf2cd; }
|
|
783
|
+
.source_table .covered:nth-child(even) {
|
|
784
|
+
background-color: #dbf2db; }
|
|
785
|
+
.source_table .missed:nth-child(odd) {
|
|
786
|
+
background-color: #f7c0c0; }
|
|
787
|
+
.source_table .missed:nth-child(even) {
|
|
788
|
+
background-color: #f7cfcf; }
|
|
789
|
+
.source_table .never:nth-child(odd) {
|
|
790
|
+
background-color: #efefef; }
|
|
791
|
+
.source_table .never:nth-child(even) {
|
|
792
|
+
background-color: #f4f4f4; }
|
|
793
|
+
.source_table .skipped:nth-child(odd) {
|
|
794
|
+
background-color: #fbf0c0; }
|
|
795
|
+
.source_table .skipped:nth-child(even) {
|
|
796
|
+
background-color: #fbffcf; }
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
|