auth0 4.17.1 → 5.0.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 +4 -4
- data/.gitignore +0 -1
- data/.yardoc/checksums +22 -0
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/CHANGELOG.md +33 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +19 -21
- data/README.md +1 -7
- data/Rakefile +0 -22
- data/auth0.gemspec +0 -1
- data/examples/ruby-api/.gitignore +0 -6
- data/lib/auth0/api/authentication_endpoints.rb +6 -220
- data/lib/auth0/api/v2/users.rb +7 -5
- data/lib/auth0/exception.rb +2 -7
- data/lib/auth0/mixins.rb +0 -1
- data/lib/auth0/mixins/access_token_struct.rb +2 -2
- data/lib/auth0/mixins/api_token_struct.rb +2 -2
- data/lib/auth0/mixins/initializer.rb +1 -7
- data/lib/auth0/mixins/permission_struct.rb +2 -2
- data/lib/auth0/mixins/validation.rb +1 -1
- data/lib/auth0/version.rb +1 -1
- data/spec/integration/lib/auth0/api/api_authentication_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +1 -1
- data/spec/lib/auth0/api/v2/roles_spec.rb +4 -4
- data/spec/lib/auth0/api/v2/users_spec.rb +19 -9
- data/spec/support/credentials.rb +0 -19
- metadata +7 -31
- data/deploy_documentation.sh +0 -29
- data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
- data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
- data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
- data/doc_config/templates/default/layout/html/footer.erb +0 -115
- data/doc_config/templates/default/layout/html/headers.erb +0 -17
- data/doc_config/templates/default/layout/html/layout.erb +0 -27
- data/lib/auth0/api/v1.rb +0 -19
- data/lib/auth0/api/v1/clients.rb +0 -58
- data/lib/auth0/api/v1/connections.rb +0 -68
- data/lib/auth0/api/v1/logs.rb +0 -43
- data/lib/auth0/api/v1/rules.rb +0 -57
- data/lib/auth0/api/v1/users.rb +0 -227
- data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -703
data/lib/auth0/api/v2/users.rb
CHANGED
@@ -43,13 +43,15 @@ module Auth0
|
|
43
43
|
# The attribute connection is always mandatory but depending on the type of connection you are using there
|
44
44
|
# could be others too. For instance, Auth0 DB Connections require email and password.
|
45
45
|
# @see https://auth0.com/docs/api/v2#!/Users/post_users
|
46
|
-
# @param
|
47
|
-
# @param options [hash]
|
48
|
-
# * :connection [string] The connection the user belongs to.
|
46
|
+
# @param connection [string] The connection the user belongs to.
|
47
|
+
# @param options [hash] See https://auth0.com/docs/api/management/v2#!/Users/post_users for available options
|
49
48
|
# @return [json] Returns the created user.
|
50
|
-
def create_user(
|
49
|
+
def create_user(connection, options = {})
|
50
|
+
if !connection.is_a?(String) || connection.empty?
|
51
|
+
raise Auth0::MissingParameter, 'Must supply a valid connection'
|
52
|
+
end
|
51
53
|
request_params = Hash[options.map { |(k, v)| [k.to_sym, v] }]
|
52
|
-
request_params[:
|
54
|
+
request_params[:connection] = connection
|
53
55
|
post(users_path, request_params)
|
54
56
|
end
|
55
57
|
|
data/lib/auth0/exception.rb
CHANGED
@@ -44,17 +44,12 @@ module Auth0
|
|
44
44
|
class AccessDenied < Auth0::HTTPError; end
|
45
45
|
# Invalid parameter passed, e.g. empty where ID is required
|
46
46
|
class InvalidParameter < Auth0::Exception; end
|
47
|
-
# Invalid
|
48
|
-
# or JWT for API v2/
|
47
|
+
# Invalid JWT
|
49
48
|
class InvalidCredentials < Auth0::Exception; end
|
50
49
|
# Invalid Auth0 API namespace
|
51
50
|
class InvalidApiNamespace < Auth0::Exception; end
|
52
51
|
# Auth0 API rate-limiting encountered
|
53
|
-
|
54
|
-
# of Auth0::HTTPError directly rather than Auth0::Unsupported.
|
55
|
-
# It's currently under Unsupported to avoid breaking compatibility
|
56
|
-
# with prior gem versions that treated 429 errors as unknown errors.
|
57
|
-
class RateLimitEncountered < Auth0::Unsupported
|
52
|
+
class RateLimitEncountered < Auth0::HTTPError
|
58
53
|
def reset
|
59
54
|
Time.at(headers['X-RateLimit-Reset']).utc
|
60
55
|
end
|
data/lib/auth0/mixins.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
ApiToken = Struct.new :access_token, :scope, :expires_in do
|
1
|
+
Auth0::ApiToken = Struct.new :access_token, :scope, :expires_in do
|
2
2
|
|
3
3
|
def token
|
4
4
|
access_token
|
@@ -7,4 +7,4 @@ ApiToken = Struct.new :access_token, :scope, :expires_in do
|
|
7
7
|
def scopes
|
8
8
|
scope.split
|
9
9
|
end
|
10
|
-
end
|
10
|
+
end
|
@@ -40,7 +40,7 @@ module Auth0
|
|
40
40
|
private
|
41
41
|
|
42
42
|
def initialize_api(options)
|
43
|
-
|
43
|
+
initialize_v2(options)
|
44
44
|
raise InvalidCredentials, 'Must supply a valid API token' if @token.nil?
|
45
45
|
if options.fetch(:authorization, nil) == 'Basic'
|
46
46
|
authorization_header_basic(options)
|
@@ -61,12 +61,6 @@ module Auth0
|
|
61
61
|
@token = api_token.token if @token.nil? && @client_id && @client_secret
|
62
62
|
end
|
63
63
|
|
64
|
-
def initialize_v1
|
65
|
-
extend Auth0::Api::V1
|
66
|
-
raise InvalidCredentials, 'Invalid API v1 client_id and client_secret' if @client_id.nil? || @client_secret.nil?
|
67
|
-
@token = obtain_access_token
|
68
|
-
end
|
69
|
-
|
70
64
|
def api_v2?(options)
|
71
65
|
version = options[:api_version] || 2
|
72
66
|
protocol = options[:protocols].to_s
|
@@ -1,3 +1,3 @@
|
|
1
|
-
Permission = Struct.new :permission_name, :resource_server_identifier do
|
1
|
+
Auth0::Permission = Struct.new :permission_name, :resource_server_identifier do
|
2
2
|
|
3
|
-
end
|
3
|
+
end
|
@@ -23,7 +23,7 @@ module Auth0
|
|
23
23
|
raise Auth0::InvalidParameter, 'Must supply an array of Permissions' unless permissions.kind_of?(Array)
|
24
24
|
raise Auth0::MissingParameter, 'Must supply an array of Permissions' if permissions.empty?
|
25
25
|
raise Auth0::InvalidParameter, 'All array elements must be Permissions' unless permissions.all? do |permission|
|
26
|
-
permission.kind_of? Permission
|
26
|
+
permission.kind_of? ::Auth0::Permission
|
27
27
|
end
|
28
28
|
permissions.map { |permission| permission.to_h }
|
29
29
|
end
|
data/lib/auth0/version.rb
CHANGED
@@ -60,7 +60,7 @@ describe Auth0::Api::AuthenticationEndpoints do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'should return the userinfo' do
|
63
|
-
tokens = @client.
|
63
|
+
tokens = @client.login_with_resource_owner(test_user_email, test_user_pwd)
|
64
64
|
expect(@client.userinfo(tokens['access_token'])).to(
|
65
65
|
include( 'email' => test_user_email )
|
66
66
|
)
|
@@ -14,7 +14,7 @@ describe Auth0::Api::V2::Roles do
|
|
14
14
|
@test_role_name = "#{entity_suffix}-test-role"
|
15
15
|
|
16
16
|
@test_permission_name = "#{entity_suffix}-test-permission"
|
17
|
-
@test_permission = Permission.new(@test_permission_name, @test_api_name)
|
17
|
+
@test_permission = ::Auth0::Permission.new(@test_permission_name , @test_api_name)
|
18
18
|
|
19
19
|
VCR.use_cassette('Auth0_Api_V2_Roles/create_test_user') do
|
20
20
|
@test_user ||= client.create_user(
|
@@ -14,7 +14,7 @@ describe Auth0::Api::V2::Users do
|
|
14
14
|
@test_api_scope = 'test:scope'
|
15
15
|
|
16
16
|
@test_permission_name = "#{entity_suffix}-test-permission-for-users"
|
17
|
-
@test_permission = Permission.new("#{entity_suffix}-test-permission-for-users", @test_api_name)
|
17
|
+
@test_permission = ::Auth0::Permission.new("#{entity_suffix}-test-permission-for-users", @test_api_name)
|
18
18
|
|
19
19
|
VCR.use_cassette('Auth0_Api_V2_Users/create_test_user') do
|
20
20
|
@test_user ||= client.create_user(
|
@@ -293,8 +293,8 @@ describe Auth0::Api::V2::Roles do
|
|
293
293
|
@instance.add_role_permissions(
|
294
294
|
'ROLE_ID',
|
295
295
|
[
|
296
|
-
Permission.new('permission-name-1', 'server-id-1'),
|
297
|
-
Permission.new('permission-name-2', 'server-id-2')
|
296
|
+
Auth0::Permission.new('permission-name-1', 'server-id-1'),
|
297
|
+
Auth0::Permission.new('permission-name-2', 'server-id-2')
|
298
298
|
]
|
299
299
|
)
|
300
300
|
end.not_to raise_error
|
@@ -352,8 +352,8 @@ describe Auth0::Api::V2::Roles do
|
|
352
352
|
@instance.remove_role_permissions(
|
353
353
|
'ROLE_ID',
|
354
354
|
[
|
355
|
-
Permission.new('permission-name-3', 'server-id-3'),
|
356
|
-
Permission.new('permission-name-4', 'server-id-4')
|
355
|
+
Auth0::Permission.new('permission-name-3', 'server-id-3'),
|
356
|
+
Auth0::Permission.new('permission-name-4', 'server-id-4')
|
357
357
|
]
|
358
358
|
)
|
359
359
|
end.not_to raise_error
|
@@ -86,18 +86,28 @@ describe Auth0::Api::V2::Users do
|
|
86
86
|
'/api/v2/users',
|
87
87
|
email: 'test@test.com',
|
88
88
|
password: 'password',
|
89
|
-
connection: 'conn'
|
90
|
-
name: 'name'
|
89
|
+
connection: 'conn'
|
91
90
|
)
|
92
91
|
expect do
|
93
92
|
@instance.create_user(
|
94
|
-
'
|
93
|
+
'conn',
|
95
94
|
email: 'test@test.com',
|
96
|
-
password: 'password'
|
97
|
-
connection: 'conn'
|
95
|
+
password: 'password'
|
98
96
|
)
|
99
97
|
end.not_to raise_error
|
100
98
|
end
|
99
|
+
|
100
|
+
it 'is expected to raise error if connection is not specified' do
|
101
|
+
expect(@instance).not_to receive(:delete)
|
102
|
+
expect {
|
103
|
+
@instance.create_user(
|
104
|
+
email: 'test@test.com',
|
105
|
+
password: 'password'
|
106
|
+
)
|
107
|
+
}.to raise_exception(
|
108
|
+
Auth0::MissingParameter
|
109
|
+
)
|
110
|
+
end
|
101
111
|
end
|
102
112
|
|
103
113
|
context '.delete_users' do
|
@@ -451,8 +461,8 @@ describe Auth0::Api::V2::Users do
|
|
451
461
|
@instance.remove_user_permissions(
|
452
462
|
'USER_ID',
|
453
463
|
[
|
454
|
-
Permission.new('permission-name-1', 'server-id-1'),
|
455
|
-
Permission.new('permission-name-2', 'server-id-2')
|
464
|
+
Auth0::Permission.new('permission-name-1', 'server-id-1'),
|
465
|
+
Auth0::Permission.new('permission-name-2', 'server-id-2')
|
456
466
|
]
|
457
467
|
)
|
458
468
|
end.not_to raise_error
|
@@ -496,8 +506,8 @@ describe Auth0::Api::V2::Users do
|
|
496
506
|
@instance.add_user_permissions(
|
497
507
|
'USER_ID',
|
498
508
|
[
|
499
|
-
Permission.new('permission-name-1', 'server-id-1'),
|
500
|
-
Permission.new('permission-name-2', 'server-id-2')
|
509
|
+
Auth0::Permission.new('permission-name-1', 'server-id-1'),
|
510
|
+
Auth0::Permission.new('permission-name-2', 'server-id-2')
|
501
511
|
]
|
502
512
|
)
|
503
513
|
end.not_to raise_error
|
data/spec/support/credentials.rb
CHANGED
@@ -1,24 +1,5 @@
|
|
1
1
|
module Credentials
|
2
2
|
module_function
|
3
|
-
|
4
|
-
def v1_creds
|
5
|
-
{
|
6
|
-
client_id: ENV['CLIENT_ID'],
|
7
|
-
client_secret: ENV['CLIENT_SECRET'],
|
8
|
-
domain: ENV['DOMAIN'],
|
9
|
-
api_version: 1
|
10
|
-
}
|
11
|
-
end
|
12
|
-
|
13
|
-
def v1_global_creds
|
14
|
-
{
|
15
|
-
client_id: ENV['GLOBAL_CLIENT_ID'],
|
16
|
-
client_secret: ENV['GLOBAL_CLIENT_SECRET'],
|
17
|
-
domain: ENV['DOMAIN'],
|
18
|
-
api_version: 1
|
19
|
-
}
|
20
|
-
end
|
21
|
-
|
22
3
|
def v2_creds
|
23
4
|
{
|
24
5
|
domain: ENV.fetch( 'DOMAIN', 'DOMAIN' ),
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auth0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Auth0
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2020-10-
|
14
|
+
date: 2020-10-23 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
@@ -229,20 +229,6 @@ dependencies:
|
|
229
229
|
- - "~>"
|
230
230
|
- !ruby/object:Gem::Version
|
231
231
|
version: '1.4'
|
232
|
-
- !ruby/object:Gem::Dependency
|
233
|
-
name: yard
|
234
|
-
requirement: !ruby/object:Gem::Requirement
|
235
|
-
requirements:
|
236
|
-
- - "~>"
|
237
|
-
- !ruby/object:Gem::Version
|
238
|
-
version: 0.9.12
|
239
|
-
type: :development
|
240
|
-
prerelease: false
|
241
|
-
version_requirements: !ruby/object:Gem::Requirement
|
242
|
-
requirements:
|
243
|
-
- - "~>"
|
244
|
-
- !ruby/object:Gem::Version
|
245
|
-
version: 0.9.12
|
246
232
|
- !ruby/object:Gem::Dependency
|
247
233
|
name: gem-release
|
248
234
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,6 +262,11 @@ files:
|
|
276
262
|
- ".rspec"
|
277
263
|
- ".rubocop.yml"
|
278
264
|
- ".rubocop_todo.yml"
|
265
|
+
- ".yardoc/checksums"
|
266
|
+
- ".yardoc/complete"
|
267
|
+
- ".yardoc/object_types"
|
268
|
+
- ".yardoc/objects/root.dat"
|
269
|
+
- ".yardoc/proxy_types"
|
279
270
|
- CHANGELOG.md
|
280
271
|
- CODE_OF_CONDUCT.md
|
281
272
|
- DEPLOYMENT.md
|
@@ -289,13 +280,6 @@ files:
|
|
289
280
|
- Rakefile
|
290
281
|
- auth0.gemspec
|
291
282
|
- codecov.yml
|
292
|
-
- deploy_documentation.sh
|
293
|
-
- doc_config/templates/default/fulldoc/html/css/full_list.css
|
294
|
-
- doc_config/templates/default/fulldoc/html/css/style.css
|
295
|
-
- doc_config/templates/default/layout/html/breadcrumb.erb
|
296
|
-
- doc_config/templates/default/layout/html/footer.erb
|
297
|
-
- doc_config/templates/default/layout/html/headers.erb
|
298
|
-
- doc_config/templates/default/layout/html/layout.erb
|
299
283
|
- examples/ruby-api/.env.example
|
300
284
|
- examples/ruby-api/.gitignore
|
301
285
|
- examples/ruby-api/Gemfile
|
@@ -366,12 +350,6 @@ files:
|
|
366
350
|
- lib/auth0.rb
|
367
351
|
- lib/auth0/algorithm.rb
|
368
352
|
- lib/auth0/api/authentication_endpoints.rb
|
369
|
-
- lib/auth0/api/v1.rb
|
370
|
-
- lib/auth0/api/v1/clients.rb
|
371
|
-
- lib/auth0/api/v1/connections.rb
|
372
|
-
- lib/auth0/api/v1/logs.rb
|
373
|
-
- lib/auth0/api/v1/rules.rb
|
374
|
-
- lib/auth0/api/v1/users.rb
|
375
353
|
- lib/auth0/api/v2.rb
|
376
354
|
- lib/auth0/api/v2/anomaly.rb
|
377
355
|
- lib/auth0/api/v2/blacklists.rb
|
@@ -594,7 +572,6 @@ files:
|
|
594
572
|
- spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
|
595
573
|
- spec/integration/lib/auth0/api/v2/api_users_spec.rb
|
596
574
|
- spec/integration/lib/auth0/auth0_client_spec.rb
|
597
|
-
- spec/lib/auth0/api/authentication_endpoints_spec.rb
|
598
575
|
- spec/lib/auth0/api/v2/anomaly_spec.rb
|
599
576
|
- spec/lib/auth0/api/v2/blacklists_spec.rb
|
600
577
|
- spec/lib/auth0/api/v2/client_grants_spec.rb
|
@@ -838,7 +815,6 @@ test_files:
|
|
838
815
|
- spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
|
839
816
|
- spec/integration/lib/auth0/api/v2/api_users_spec.rb
|
840
817
|
- spec/integration/lib/auth0/auth0_client_spec.rb
|
841
|
-
- spec/lib/auth0/api/authentication_endpoints_spec.rb
|
842
818
|
- spec/lib/auth0/api/v2/anomaly_spec.rb
|
843
819
|
- spec/lib/auth0/api/v2/blacklists_spec.rb
|
844
820
|
- spec/lib/auth0/api/v2/client_grants_spec.rb
|
data/deploy_documentation.sh
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
# exit with nonzero exit code if anything fails
|
3
|
-
set -e
|
4
|
-
|
5
|
-
# clear and re-create the out directory
|
6
|
-
rm -rf doc || exit 0;
|
7
|
-
mkdir doc;
|
8
|
-
|
9
|
-
# build documentation
|
10
|
-
bundle exec rake documentation
|
11
|
-
|
12
|
-
# go to the out directory and create a *new* Git repo
|
13
|
-
cd doc
|
14
|
-
git init
|
15
|
-
|
16
|
-
# inside this git repo we'll pretend to be a new user
|
17
|
-
git config user.name "Circle CI"
|
18
|
-
git config user.email "build-documentation@auth0.com"
|
19
|
-
|
20
|
-
# The first and only commit to this new Git repo contains all the
|
21
|
-
# files present with the commit message "Deploy to GitHub Pages".
|
22
|
-
git add .
|
23
|
-
git commit -m "Deploy to GitHub Pages"
|
24
|
-
|
25
|
-
# Force push from the current repo's master branch to the remote
|
26
|
-
# repo's gh-pages branch. (All previous history on the gh-pages branch
|
27
|
-
# will be lost, since we are overwriting it.) We redirect any output to
|
28
|
-
# /dev/null to hide any sensitive credential data that might otherwise be exposed.
|
29
|
-
git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages > /dev/null 2>&1
|
@@ -1,79 +0,0 @@
|
|
1
|
-
body {
|
2
|
-
padding: 0 20px;
|
3
|
-
font-size: 14px;
|
4
|
-
-webkit-font-smoothing: antialiased;
|
5
|
-
-moz-font-smoothing: antialiased;
|
6
|
-
font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
|
7
|
-
color: #4d4d4d;
|
8
|
-
}
|
9
|
-
|
10
|
-
h1, h2, h3, h4, h5 {
|
11
|
-
line-height: 1.5;
|
12
|
-
font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
|
13
|
-
color: #000;
|
14
|
-
font-weight: 400;
|
15
|
-
}
|
16
|
-
h1 {
|
17
|
-
font-size: 3rem;
|
18
|
-
}
|
19
|
-
h2 {
|
20
|
-
font-size: 2rem;
|
21
|
-
}
|
22
|
-
h3 {
|
23
|
-
font-size: 1.5rem;
|
24
|
-
}
|
25
|
-
h4 {
|
26
|
-
font-size: 1.3rem;
|
27
|
-
}
|
28
|
-
h5 {
|
29
|
-
font-size: 16px;
|
30
|
-
}
|
31
|
-
|
32
|
-
.clear { clear: both; }
|
33
|
-
#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
|
34
|
-
#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
|
35
|
-
#full_list { padding: 0; list-style: none; margin-left: 0; }
|
36
|
-
#full_list ul { padding: 0; }
|
37
|
-
#full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
|
38
|
-
#noresults { padding: 7px 12px; }
|
39
|
-
#content.insearch #noresults { margin-left: 7px; }
|
40
|
-
ul.collapsed ul, ul.collapsed li { display: none; }
|
41
|
-
ul.collapsed.search_uncollapsed { display: block; }
|
42
|
-
ul.collapsed.search_uncollapsed li { display: list-item; }
|
43
|
-
li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
|
44
|
-
li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
|
45
|
-
li { color: #888; cursor: pointer; }
|
46
|
-
li.deprecated { text-decoration: line-through; font-style: italic; }
|
47
|
-
/*li.r1 { background: #f0f0f0; }
|
48
|
-
li.r2 { background: #fafafa; }*/
|
49
|
-
li:hover { background: #ddd; }
|
50
|
-
li small:before { content: "("; }
|
51
|
-
li small:after { content: ")"; }
|
52
|
-
li small.search_info { display: none; }
|
53
|
-
a:link, a:visited { text-decoration: none; color: #777; }
|
54
|
-
li.clicked { background: #777; color: #ccc; }
|
55
|
-
li.clicked a:link, li.clicked a:visited { color: #eee; }
|
56
|
-
li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
|
57
|
-
li.collapsed.clicked a.toggle { background-position: top right; }
|
58
|
-
#search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
|
59
|
-
#nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
|
60
|
-
#nav a:link, #nav a:visited { color: #358; }
|
61
|
-
#nav a:hover { background: transparent; color: #5af; }
|
62
|
-
.frames #nav span:after { content: ' | '; }
|
63
|
-
.frames #nav span:last-child:after { content: ''; }
|
64
|
-
|
65
|
-
.frames #content h1 { margin-top: 0; }
|
66
|
-
.frames li { white-space: nowrap; cursor: normal; }
|
67
|
-
.frames li small { display: block; font-size: 0.8em; }
|
68
|
-
.frames li small:before { content: ""; }
|
69
|
-
.frames li small:after { content: ""; }
|
70
|
-
.frames li small.search_info { display: none; }
|
71
|
-
.frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
|
72
|
-
.frames #content.insearch #search { background-position: center right; }
|
73
|
-
.frames #search input { width: 110px; }
|
74
|
-
.frames #nav { display: block; }
|
75
|
-
|
76
|
-
#full_list.insearch li { display: none; }
|
77
|
-
#full_list.insearch li.found { display: list-item; padding-left: 10px; }
|
78
|
-
#full_list.insearch li a.toggle { display: none; }
|
79
|
-
#full_list.insearch li small.search_info { display: block; }
|