Merge branch 'master-oss' into 1.0-beta-oss

This commit is contained in:
Jeff Mitchell 2018-10-19 17:47:58 -04:00
commit 48b057b6de
704 changed files with 11985 additions and 77744 deletions

12
.gitignore vendored
View File

@ -39,6 +39,7 @@ example.vault.d
website/vendor
website/.bundle
website/build
website/tmp
# Vagrant
.vagrant/
@ -92,3 +93,14 @@ ui/vault-ui-integration-server.pid
# for building static assets
node_modules
package-lock.json
# Website
website/.bundle
website/build/
website/npm-debug.log
website/vendor
website/.bundle
website/.cache
website/assets/node_modules
website/assets/public
website/components/node_modules

View File

@ -3,6 +3,11 @@
CHANGES:
* core: HA lock file is no longer copied during `operator migrate` [GH-5503]
* core: Tokens are now prefixed by a designation to indicate what type of
token they are. Service tokens start with `s.` and batch tokens start with
`b.`. Existing tokens will still work (they are all of service type and will
be considered as such). Prefixing allows us to be more efficient when
consuming a token, which keeps the critical path of requests faster.
FEATURES:
@ -12,12 +17,15 @@ FEATURES:
IMPROVEMENTS:
* auth/token: New tokens are salted using SHA2-256 HMAC instead of SHA1 hash
* identity: Identity names will now be handled case insensitively by default.
This includes names of entities, aliases and groups [GH-5404]
* secret/database: Allow Cassandra user to be non-superuser so long as it has
role creation permissions [GH-5402]
* secret/radius: Allow setting the NAS Identifier value in the generated
packet [GH-5465]
* ui: Allow viewing and updating Vault license via the UI
* ui: Onboarding will now display your progress through the chosen tutorials
* ui: Dynamic secret backends obfuscate sensitive data by default and visibility is toggleable
BUG FIXES:
@ -25,6 +33,7 @@ BUG FIXES:
* core: Fix generate-root operations requiring empty `otp` to be provided
instead of an empty body [GH-5495]
* identity: Remove lookup check during alias removal from entity [GH-5524]
* secret/pki: Fix TTL/MaxTTL check when using `sign-verbatim` [GH-5549]
* secret/pki: Fix regression in 0.11.2+ causing the NotBefore value of
generated certificates to be set to the Unix epoch if the role value was not
set, instead of using the default of 30 seconds [GH-5481]

View File

@ -78,7 +78,7 @@ func prepareCassandraTestContainer(t *testing.T) (func(), string, int) {
}
func TestBackend_basic(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
config := logical.TestBackendConfig()
@ -102,7 +102,7 @@ func TestBackend_basic(t *testing.T) {
}
func TestBackend_roleCrud(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
config := logical.TestBackendConfig()

View File

@ -154,8 +154,6 @@ func (b *backend) pathSignVerbatim(ctx context.Context, req *logical.Request, da
}
entry := &roleEntry{
TTL: b.System().DefaultLeaseTTL(),
MaxTTL: b.System().MaxLeaseTTL(),
AllowLocalhost: true,
AllowAnyName: true,
AllowIPSANs: true,
@ -186,10 +184,6 @@ func (b *backend) pathSignVerbatim(ctx context.Context, req *logical.Request, da
entry.NoStore = role.NoStore
}
if entry.MaxTTL > 0 && entry.TTL > entry.MaxTTL {
return logical.ErrorResponse(fmt.Sprintf("requested ttl of %s is greater than max ttl of %s", entry.TTL, entry.MaxTTL)), nil
}
return b.pathIssueSignCert(ctx, req, data, entry, true, true)
}
@ -244,6 +238,7 @@ func (b *backend) pathIssueSignCert(ctx context.Context, req *logical.Request, d
}
respData := map[string]interface{}{
"expiration": int64(parsedBundle.Certificate.NotAfter.Unix()),
"serial_number": cb.SerialNumber,
}

View File

@ -73,7 +73,7 @@ func prepareCassandraTestContainer(t *testing.T) (func(), string, int) {
}
func TestCassandra_Initialize(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
cleanup, address, port := prepareCassandraTestContainer(t)
@ -118,7 +118,7 @@ func TestCassandra_Initialize(t *testing.T) {
}
func TestCassandra_CreateUser(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
cleanup, address, port := prepareCassandraTestContainer(t)
@ -158,7 +158,7 @@ func TestCassandra_CreateUser(t *testing.T) {
}
func TestMyCassandra_RenewUser(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
cleanup, address, port := prepareCassandraTestContainer(t)
@ -203,7 +203,7 @@ func TestMyCassandra_RenewUser(t *testing.T) {
}
func TestCassandra_RevokeUser(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
cleanup, address, port := prepareCassandraTestContainer(t)
@ -253,7 +253,7 @@ func TestCassandra_RevokeUser(t *testing.T) {
}
func TestCassandra_RotateRootCredentials(t *testing.T) {
if os.Getenv("TRAVIS") != "true" {
if os.Getenv("VAULT_ACC") == "" {
t.SkipNow()
}
cleanup, address, port := prepareCassandraTestContainer(t)

View File

@ -42,7 +42,22 @@
{{#if (eq attr.type "object")}}
{{info-table-row label=(capitalize (or attr.options.label (humanize (dasherize attr.name)))) value=(stringify (get model attr.name))}}
{{else}}
{{info-table-row label=(capitalize (or attr.options.label (humanize (dasherize attr.name)))) value=(get model attr.name)}}
{{#if (or
(eq attr.name "key")
(eq attr.name "secretKey")
(eq attr.name "securityToken")
(eq attr.name "privateKey")
)}}
{{#info-table-row label=(capitalize (or attr.options.label (humanize (dasherize attr.name)))) value=(get model attr.name)}}
<MaskedInput
@value={{get model attr.name}}
@name={{attr.name}}
@displayOnly={{true}}
/>
{{/info-table-row}}
{{else}}
{{info-table-row label=(capitalize (or attr.options.label (humanize (dasherize attr.name)))) value=(get model attr.name)}}
{{/if}}
{{/if}}
{{/each}}
</div>

View File

@ -52,7 +52,7 @@
Access Key
</label>
<div class="control">
{{input type="text" id="access" name="access" class="input" value=accessKey data-test-aws-input="accessKey"}}
{{input type="text" id="access" name="access" class="input" autocomplete="off" value=accessKey data-test-aws-input="accessKey"}}
</div>
</div>
@ -61,7 +61,7 @@
Secret Key
</label>
<div class="control">
{{input type="text" id="secret" name="secret" class="input" value=secretKey data-test-aws-input="secretKey"}}
{{input type="password" id="secret" name="secret" class="input" value=secretKey data-test-aws-input="secretKey"}}
</div>
</div>
@ -119,4 +119,3 @@
</div>
</form>
{{/if}}

View File

@ -52,7 +52,7 @@ module('Acceptance | ssh secret backend', function(hooks) {
'otp credential url is correct'
);
assert.dom('[data-test-row-label="Key"]').exists({ count: 1 }, 'renders the key');
assert.dom('[data-test-row-value="Key"]').exists({ count: 1 }, "renders the key's value");
assert.dom('[data-test-masked-input]').exists({ count: 1 }, 'renders mask for key value');
assert.dom('[data-test-row-label="Port"]').exists({ count: 1 }, 'renders the port');
assert.dom('[data-test-row-value="Port"]').exists({ count: 1 }, "renders the port's value");
},

View File

@ -497,9 +497,12 @@ func (m *ExpirationManager) Restore(errorFunc func()) (retErr error) {
wg.Wait()
m.restoreModeLock.Lock()
m.restoreLoaded = sync.Map{}
m.restoreLocks = nil
atomic.StoreInt32(m.restoreMode, 0)
m.restoreLoaded.Range(func(k, v interface{}) bool {
m.restoreLoaded.Delete(k)
return true
})
m.restoreLocks = nil
m.restoreModeLock.Unlock()
m.logger.Info("lease restore complete")

View File

@ -31,23 +31,31 @@ func (c *Core) IdentityStore() *IdentityStore {
return c.identityStore
}
// NewIdentityStore creates a new identity store
func NewIdentityStore(ctx context.Context, core *Core, config *logical.BackendConfig, logger log.Logger) (*IdentityStore, error) {
func (i *IdentityStore) resetDB(ctx context.Context) error {
var err error
// Create a new in-memory database for the identity store
db, err := memdb.NewMemDB(identityStoreSchema())
i.db, err = memdb.NewMemDB(identityStoreSchema(!i.disableLowerCasedNames))
if err != nil {
return nil, errwrap.Wrapf("failed to create memdb for identity store: {{err}}", err)
return err
}
return nil
}
func NewIdentityStore(ctx context.Context, core *Core, config *logical.BackendConfig, logger log.Logger) (*IdentityStore, error) {
iStore := &IdentityStore{
view: config.StorageView,
db: db,
logger: logger,
core: core,
}
// Create a memdb instance, which by default, operates on lower cased
// identity names
err := iStore.resetDB(ctx)
if err != nil {
return nil, err
}
entitiesPackerLogger := iStore.logger.Named("storagepacker").Named("entities")
core.AddLogger(entitiesPackerLogger)
groupsPackerLogger := iStore.logger.Named("storagepacker").Named("groups")

View File

@ -181,10 +181,6 @@ func (i *IdentityStore) handleAliasUpdateCommon() framework.OperationFunc {
if entity == nil {
return nil, fmt.Errorf("existing alias is not associated with an entity")
}
if canonicalID == "" || entity.ID == canonicalID {
// Nothing to do
return nil, nil
}
}
resp := &logical.Response{}
@ -255,6 +251,12 @@ func (i *IdentityStore) handleAliasUpdateCommon() framework.OperationFunc {
return nil, err
}
for index, item := range entity.Aliases {
if item.ID == alias.ID {
entity.Aliases[index] = alias
}
}
// Index entity and its aliases in MemDB and persist entity along with
// aliases in storage. If the alias is being transferred over from
// one entity to another, previous entity needs to get refreshed in MemDB

View File

@ -2,6 +2,7 @@ package vault
import (
"reflect"
"strings"
"testing"
"github.com/hashicorp/vault/helper/identity"
@ -9,6 +10,89 @@ import (
"github.com/hashicorp/vault/logical"
)
func TestIdentityStore_CaseInsensitiveEntityAliasName(t *testing.T) {
ctx := namespace.RootContext(nil)
i, accessor, _ := testIdentityStoreWithGithubAuth(ctx, t)
// Create an entity
resp, err := i.HandleRequest(ctx, &logical.Request{
Path: "entity",
Operation: logical.UpdateOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
entityID := resp.Data["id"].(string)
testAliasName := "testAliasName"
// Create a case sensitive alias name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity-alias",
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"mount_accessor": accessor,
"canonical_id": entityID,
"name": testAliasName,
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
aliasID := resp.Data["id"].(string)
// Ensure that reading the alias returns case sensitive alias name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity-alias/id/" + aliasID,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
aliasName := resp.Data["name"].(string)
if aliasName != testAliasName {
t.Fatalf("bad alias name; expected: %q, actual: %q", testAliasName, aliasName)
}
// Overwrite the alias using lower cased alias name. This shouldn't error.
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity-alias/id/" + aliasID,
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"mount_accessor": accessor,
"canonical_id": entityID,
"name": strings.ToLower(testAliasName),
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
// Ensure that reading the alias returns lower cased alias name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity-alias/id/" + aliasID,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
aliasName = resp.Data["name"].(string)
if aliasName != strings.ToLower(testAliasName) {
t.Fatalf("bad alias name; expected: %q, actual: %q", testAliasName, aliasName)
}
// Ensure that there is one entity alias
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity-alias/id",
Operation: logical.ListOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
if len(resp.Data["keys"].([]string)) != 1 {
t.Fatalf("bad length of entity aliases; expected: 1, actual: %d", len(resp.Data["keys"].([]string)))
}
}
// This test is required because MemDB does not take care of ensuring
// uniqueness of indexes that are marked unique.
func TestIdentityStore_AliasSameAliasNames(t *testing.T) {

View File

@ -467,7 +467,7 @@ func (i *IdentityStore) pathEntityNameDelete() framework.OperationFunc {
defer txn.Abort()
// Fetch the entity using its name
entity, err := i.MemDBEntityByNameInTxn(txn, ctx, entityName, true)
entity, err := i.MemDBEntityByNameInTxn(ctx, txn, entityName, true)
if err != nil {
return nil, err
}

View File

@ -5,6 +5,7 @@ import (
"fmt"
"reflect"
"sort"
"strings"
"testing"
uuid "github.com/hashicorp/go-uuid"
@ -14,6 +15,77 @@ import (
"github.com/hashicorp/vault/logical"
)
func TestIdentityStore_CaseInsensitiveEntityName(t *testing.T) {
ctx := namespace.RootContext(nil)
i, _, _ := testIdentityStoreWithGithubAuth(ctx, t)
testEntityName := "testEntityName"
// Create an entity with case sensitive name
resp, err := i.HandleRequest(ctx, &logical.Request{
Path: "entity",
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"name": testEntityName,
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
entityID := resp.Data["id"].(string)
// Lookup the entity by ID and check that name returned is case sensitive
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity/id/" + entityID,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
entityName := resp.Data["name"].(string)
if entityName != testEntityName {
t.Fatalf("bad entity name; expected: %q, actual: %q", testEntityName, entityName)
}
// Lookup the entity by case sensitive name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity/name/" + testEntityName,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
entityName = resp.Data["name"].(string)
if entityName != testEntityName {
t.Fatalf("bad entity name; expected: %q, actual: %q", testEntityName, entityName)
}
// Lookup the entity by case insensitive name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity/name/" + strings.ToLower(testEntityName),
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
entityName = resp.Data["name"].(string)
if entityName != testEntityName {
t.Fatalf("bad entity name; expected: %q, actual: %q", testEntityName, entityName)
}
// Ensure that there is only one entity
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "entity/name",
Operation: logical.ListOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
if len(resp.Data["keys"].([]string)) != 1 {
t.Fatalf("bad length of entities; expected: 1, actual: %d", len(resp.Data["keys"].([]string)))
}
}
func TestIdentityStore_EntityByName(t *testing.T) {
ctx := namespace.RootContext(nil)
i, _, _ := testIdentityStoreWithGithubAuth(ctx, t)
@ -270,8 +342,8 @@ func TestIdentityStore_EntityCreateUpdate(t *testing.T) {
func TestIdentityStore_CloneImmutability(t *testing.T) {
alias := &identity.Alias{
ID: "testaliasid",
Name: "testaliasname",
ID: "testaliasid",
Name: "testaliasname",
MergedFromCanonicalIDs: []string{"entityid1"},
}

View File

@ -1,6 +1,7 @@
package vault
import (
"strings"
"testing"
credLdap "github.com/hashicorp/vault/builtin/credential/ldap"
@ -10,6 +11,81 @@ import (
"github.com/hashicorp/vault/logical"
)
func TestIdentityStore_CaseInsensitiveGroupAliasName(t *testing.T) {
ctx := namespace.RootContext(nil)
i, accessor, _ := testIdentityStoreWithGithubAuth(ctx, t)
// Create a group
resp, err := i.HandleRequest(ctx, &logical.Request{
Path: "group",
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"type": "external",
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
groupID := resp.Data["id"].(string)
testAliasName := "testAliasName"
// Create a case sensitive alias name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group-alias",
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"mount_accessor": accessor,
"canonical_id": groupID,
"name": testAliasName,
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
aliasID := resp.Data["id"].(string)
// Ensure that reading the alias returns case sensitive alias name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group-alias/id/" + aliasID,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
aliasName := resp.Data["name"].(string)
if aliasName != testAliasName {
t.Fatalf("bad alias name; expected: %q, actual: %q", testAliasName, aliasName)
}
// Overwrite the alias using lower cased alias name. This shouldn't error.
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group-alias/id/" + aliasID,
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"mount_accessor": accessor,
"canonical_id": groupID,
"name": strings.ToLower(testAliasName),
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
// Ensure that reading the alias returns lower cased alias name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group-alias/id/" + aliasID,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
aliasName = resp.Data["name"].(string)
if aliasName != strings.ToLower(testAliasName) {
t.Fatalf("bad alias name; expected: %q, actual: %q", testAliasName, aliasName)
}
}
func TestIdentityStore_EnsureNoDanglingGroupAlias(t *testing.T) {
err := AddTestCredentialBackend("userpass", credUserpass.Factory)
if err != nil {

View File

@ -3,6 +3,7 @@ package vault
import (
"reflect"
"sort"
"strings"
"testing"
"github.com/go-test/deep"
@ -80,6 +81,77 @@ func TestIdentityStore_MemberGroupIDDelete(t *testing.T) {
}
}
func TestIdentityStore_CaseInsensitiveGroupName(t *testing.T) {
ctx := namespace.RootContext(nil)
i, _, _ := testIdentityStoreWithGithubAuth(ctx, t)
testGroupName := "testGroupName"
// Create an group with case sensitive name
resp, err := i.HandleRequest(ctx, &logical.Request{
Path: "group",
Operation: logical.UpdateOperation,
Data: map[string]interface{}{
"name": testGroupName,
},
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
groupID := resp.Data["id"].(string)
// Lookup the group by ID and check that name returned is case sensitive
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group/id/" + groupID,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err:%v\nresp: %#v", err, resp)
}
groupName := resp.Data["name"].(string)
if groupName != testGroupName {
t.Fatalf("bad group name; expected: %q, actual: %q", testGroupName, groupName)
}
// Lookup the group by case sensitive name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group/name/" + testGroupName,
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
groupName = resp.Data["name"].(string)
if groupName != testGroupName {
t.Fatalf("bad group name; expected: %q, actual: %q", testGroupName, groupName)
}
// Lookup the group by case insensitive name
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group/name/" + strings.ToLower(testGroupName),
Operation: logical.ReadOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
groupName = resp.Data["name"].(string)
if groupName != testGroupName {
t.Fatalf("bad group name; expected: %q, actual: %q", testGroupName, groupName)
}
// Ensure that there is only one group
resp, err = i.HandleRequest(ctx, &logical.Request{
Path: "group/name",
Operation: logical.ListOperation,
})
if err != nil || (resp != nil && resp.IsError()) {
t.Fatalf("bad: err: %v\nresp: %#v", err, resp)
}
if len(resp.Data["keys"].([]string)) != 1 {
t.Fatalf("bad length of groups; expected: 1, actual: %d", len(resp.Data["keys"].([]string)))
}
}
func TestIdentityStore_GroupByName(t *testing.T) {
ctx := namespace.RootContext(nil)
i, _, _ := testIdentityStoreWithGithubAuth(ctx, t)

View File

@ -13,12 +13,12 @@ const (
groupAliasesTable = "group_aliases"
)
func identityStoreSchema() *memdb.DBSchema {
func identityStoreSchema(lowerCaseName bool) *memdb.DBSchema {
iStoreSchema := &memdb.DBSchema{
Tables: make(map[string]*memdb.TableSchema),
}
schemas := []func() *memdb.TableSchema{
schemas := []func(bool) *memdb.TableSchema{
entitiesTableSchema,
aliasesTableSchema,
groupsTableSchema,
@ -26,7 +26,7 @@ func identityStoreSchema() *memdb.DBSchema {
}
for _, schemaFunc := range schemas {
schema := schemaFunc()
schema := schemaFunc(lowerCaseName)
if _, ok := iStoreSchema.Tables[schema.Name]; ok {
panic(fmt.Sprintf("duplicate table name: %s", schema.Name))
}
@ -36,7 +36,7 @@ func identityStoreSchema() *memdb.DBSchema {
return iStoreSchema
}
func aliasesTableSchema() *memdb.TableSchema {
func aliasesTableSchema(lowerCaseName bool) *memdb.TableSchema {
return &memdb.TableSchema{
Name: entityAliasesTable,
Indexes: map[string]*memdb.IndexSchema{
@ -56,7 +56,8 @@ func aliasesTableSchema() *memdb.TableSchema {
Field: "MountAccessor",
},
&memdb.StringFieldIndex{
Field: "Name",
Field: "Name",
Lowercase: lowerCaseName,
},
},
},
@ -71,7 +72,7 @@ func aliasesTableSchema() *memdb.TableSchema {
}
}
func entitiesTableSchema() *memdb.TableSchema {
func entitiesTableSchema(lowerCaseName bool) *memdb.TableSchema {
return &memdb.TableSchema{
Name: entitiesTable,
Indexes: map[string]*memdb.IndexSchema{
@ -91,7 +92,8 @@ func entitiesTableSchema() *memdb.TableSchema {
Field: "NamespaceID",
},
&memdb.StringFieldIndex{
Field: "Name",
Field: "Name",
Lowercase: lowerCaseName,
},
},
},
@ -120,7 +122,7 @@ func entitiesTableSchema() *memdb.TableSchema {
}
}
func groupsTableSchema() *memdb.TableSchema {
func groupsTableSchema(lowerCaseName bool) *memdb.TableSchema {
return &memdb.TableSchema{
Name: groupsTable,
Indexes: map[string]*memdb.IndexSchema{
@ -140,7 +142,8 @@ func groupsTableSchema() *memdb.TableSchema {
Field: "NamespaceID",
},
&memdb.StringFieldIndex{
Field: "Name",
Field: "Name",
Lowercase: lowerCaseName,
},
},
},
@ -175,7 +178,7 @@ func groupsTableSchema() *memdb.TableSchema {
}
}
func groupAliasesTableSchema() *memdb.TableSchema {
func groupAliasesTableSchema(lowerCaseName bool) *memdb.TableSchema {
return &memdb.TableSchema{
Name: groupAliasesTable,
Indexes: map[string]*memdb.IndexSchema{
@ -195,7 +198,8 @@ func groupAliasesTableSchema() *memdb.TableSchema {
Field: "MountAccessor",
},
&memdb.StringFieldIndex{
Field: "Name",
Field: "Name",
Lowercase: lowerCaseName,
},
},
},

View File

@ -70,6 +70,10 @@ type IdentityStore struct {
// core is the pointer to Vault's core
core *Core
// disableLowerCaseNames indicates whether or not identity artifacts are
// operated case insensitively
disableLowerCasedNames bool
}
type groupDiff struct {

View File

@ -2,6 +2,7 @@ package vault
import (
"context"
"errors"
"fmt"
"strings"
"sync"
@ -19,24 +20,57 @@ import (
"github.com/hashicorp/vault/logical"
)
var (
errDuplicateIdentityName = errors.New("duplicate identity name")
)
func (c *Core) loadIdentityStoreArtifacts(ctx context.Context) error {
var err error
if c.identityStore == nil {
c.logger.Warn("identity store is not setup, skipping loading")
return nil
}
err = c.identityStore.loadEntities(ctx)
loadFunc := func(context.Context) error {
err := c.identityStore.loadEntities(ctx)
if err != nil {
return err
}
return c.identityStore.loadGroups(ctx)
}
// Load everything when memdb is set to operate on lower cased names
err := loadFunc(ctx)
switch {
case err == nil:
// If it succeeds, all is well
return nil
case err != nil && !errwrap.Contains(err, errDuplicateIdentityName.Error()):
return err
}
c.identityStore.logger.Warn("enabling case sensitive identity names")
// Set identity store to operate on case sensitive identity names
c.identityStore.disableLowerCasedNames = true
// Swap the memdb instance by the one which operates on case sensitive
// names, hence obviating the need to unload anything that's already
// loaded.
err = c.identityStore.resetDB(ctx)
if err != nil {
return err
}
err = c.identityStore.loadGroups(ctx)
if err != nil {
return err
}
// Attempt to load identity artifacts once more after memdb is reset to
// accept case sensitive names
return loadFunc(ctx)
}
return nil
func (i *IdentityStore) sanitizeName(name string) string {
if i.disableLowerCasedNames {
return name
}
return strings.ToLower(name)
}
func (i *IdentityStore) loadGroups(ctx context.Context) error {
@ -66,6 +100,18 @@ func (i *IdentityStore) loadGroups(ctx context.Context) error {
continue
}
// Ensure that there are no groups with duplicate names
groupByName, err := i.MemDBGroupByName(ctx, group.Name, false)
if err != nil {
return err
}
if groupByName != nil {
i.logger.Warn(errDuplicateIdentityName.Error(), "group_name", group.Name, "conflicting_group_name", groupByName.Name, "action", "merge the contents of duplicated groups into one and delete the other")
if !i.disableLowerCasedNames {
return errDuplicateIdentityName
}
}
if i.logger.IsDebug() {
i.logger.Debug("loading group", "name", group.Name, "id", group.ID)
}
@ -187,6 +233,18 @@ func (i *IdentityStore) loadEntities(ctx context.Context) error {
continue
}
// Ensure that there are no entities with duplicate names
entityByName, err := i.MemDBEntityByName(ctx, entity.Name, false)
if err != nil {
return nil
}
if entityByName != nil {
i.logger.Warn(errDuplicateIdentityName.Error(), "entity_name", entity.Name, "conflicting_entity_name", entityByName.Name, "action", "merge the duplicate entities into one")
if !i.disableLowerCasedNames {
return errDuplicateIdentityName
}
}
// Only update MemDB and don't hit the storage again
err = i.upsertEntity(ctx, entity, nil, false)
if err != nil {
@ -223,7 +281,9 @@ func (i *IdentityStore) upsertEntityInTxn(ctx context.Context, txn *memdb.Txn, e
return fmt.Errorf("entity is nil")
}
for _, alias := range entity.Aliases {
aliasFactors := make([]string, len(entity.Aliases))
for index, alias := range entity.Aliases {
// Verify that alias is not associated to a different one already
aliasByFactors, err := i.MemDBAliasByFactors(alias.MountAccessor, alias.Name, false, false)
if err != nil {
@ -244,11 +304,20 @@ func (i *IdentityStore) upsertEntityInTxn(ctx context.Context, txn *memdb.Txn, e
return nil
}
if strutil.StrListContains(aliasFactors, i.sanitizeName(alias.Name)+alias.MountAccessor) {
i.logger.Warn(errDuplicateIdentityName.Error(), "alias_name", alias.Name, "mount_accessor", alias.MountAccessor, "entity_name", entity.Name, "action", "delete one of the duplicate aliases")
if !i.disableLowerCasedNames {
return errDuplicateIdentityName
}
}
// Insert or update alias in MemDB using the transaction created above
err = i.MemDBUpsertAliasInTxn(txn, alias, false)
if err != nil {
return err
}
aliasFactors[index] = i.sanitizeName(alias.Name) + alias.MountAccessor
}
// If previous entity is set, update it in MemDB and persist it
@ -583,10 +652,10 @@ func (i *IdentityStore) MemDBEntityByName(ctx context.Context, entityName string
txn := i.db.Txn(false)
return i.MemDBEntityByNameInTxn(txn, ctx, entityName, clone)
return i.MemDBEntityByNameInTxn(ctx, txn, entityName, clone)
}
func (i *IdentityStore) MemDBEntityByNameInTxn(txn *memdb.Txn, ctx context.Context, entityName string, clone bool) (*identity.Entity, error) {
func (i *IdentityStore) MemDBEntityByNameInTxn(ctx context.Context, txn *memdb.Txn, entityName string, clone bool) (*identity.Entity, error) {
if entityName == "" {
return nil, fmt.Errorf("missing entity name")
}

View File

@ -1,4 +1,9 @@
source "https://rubygems.org"
gem "ffi", "~> 1.9.24"
gem "middleman-hashicorp", "0.3.34"
gem 'middleman', '~> 4.2'
gem 'middleman-hashicorp', git: 'https://github.com/carrot/middleman-hashicorp'
# gem 'middleman-hashicorp', path: '/Users/jeff/Sites/middleman-hashicorp-carrot'
gem 'builder'
gem 'tzinfo-data', platforms: [:mswin, :mingw, :jruby]
gem 'wdm', '~> 0.1', platforms: [:mswin, :mingw]
gem 'middleman-dato'

View File

@ -1,160 +1,193 @@
GIT
remote: https://github.com/carrot/middleman-hashicorp
revision: 2ae888ea440b9cc78d445d71b88b89103c0d621f
specs:
middleman-hashicorp (0.3.28)
activesupport (~> 5.0)
middleman (~> 4.2)
middleman-dato
middleman-livereload (~> 3.4)
middleman-syntax (~> 3.0)
nokogiri (~> 1.8)
redcarpet (~> 3.3)
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.10)
i18n (~> 0.7)
activesupport (5.0.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
autoprefixer-rails (8.2.0)
execjs
bootstrap-sass (3.3.7)
autoprefixer-rails (>= 5.2.1)
sass (>= 3.3.4)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
backports (3.11.3)
builder (3.2.3)
capybara (2.4.4)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
chunky_png (1.3.10)
cacert (0.5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
compass (1.0.3)
chunky_png (~> 1.2)
compass-core (~> 1.0.2)
compass-import-once (~> 1.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
sass (>= 3.3.13, < 3.5)
compass-core (1.0.3)
multi_json (~> 1.0)
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
concurrent-ruby (1.0.5)
contracts (0.13.0)
dato (0.6.7)
activesupport (>= 4.2.7)
addressable
cacert
dotenv
downloadr
faraday (>= 0.9.0)
faraday_middleware (>= 0.9.0)
fastimage
imgix (>= 0.3.1)
json_schema
listen
pusher-client
thor
toml
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.1.0)
downloadr (0.0.41)
addressable (~> 2.3)
rest-client (~> 1.7)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
erubis (2.7.0)
eventmachine (1.2.5)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (0.15.2)
multipart-post (>= 1.2, < 3)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
fast_blank (1.0.0)
fastimage (2.1.3)
ffi (1.9.25)
haml (5.0.4)
temple (>= 0.8.0)
tilt
hike (1.2.3)
hooks (0.4.1)
uber (~> 0.0.14)
hamster (3.0.0)
concurrent-ruby (~> 1.0)
hashie (3.6.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
http_parser.rb (0.6.0)
i18n (0.7.0)
imgix (1.1.0)
addressable
json (2.1.0)
kramdown (1.16.2)
json_schema (0.19.1)
kramdown (1.17.0)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
middleman (3.4.1)
memoist (0.16.0)
middleman (4.2.1)
coffee-script (~> 2.2)
compass (>= 1.0.0, < 2.0.0)
compass-import-once (= 1.0.5)
execjs (~> 2.0)
haml (>= 4.0.5)
kramdown (~> 1.2)
middleman-core (= 3.4.1)
middleman-sprockets (>= 3.1.2)
middleman-cli (= 4.2.1)
middleman-core (= 4.2.1)
sass (>= 3.4.0, < 4.0)
uglifier (~> 2.5)
middleman-core (3.4.1)
activesupport (~> 4.1)
middleman-cli (4.2.1)
thor (>= 0.17.0, < 2.0)
middleman-core (4.2.1)
activesupport (>= 4.2, < 5.1)
addressable (~> 2.3)
backports (~> 3.6)
bundler (~> 1.1)
capybara (~> 2.4.4)
contracts (~> 0.13.0)
dotenv
erubis
hooks (~> 0.3)
execjs (~> 2.0)
fast_blank
fastimage (~> 2.0)
hamster (~> 3.0)
hashie (~> 3.4)
i18n (~> 0.7.0)
listen (~> 3.0.3)
padrino-helpers (~> 0.12.3)
rack (>= 1.4.5, < 2.0)
thor (>= 0.15.2, < 2.0)
tilt (~> 1.4.1, < 2.0)
middleman-hashicorp (0.3.34)
bootstrap-sass (~> 3.3)
builder (~> 3.2)
middleman (~> 3.4)
middleman-livereload (~> 3.4)
middleman-syntax (~> 3.0)
redcarpet (~> 3.3)
turbolinks (~> 5.0)
listen (~> 3.0.0)
memoist (~> 0.14)
padrino-helpers (~> 0.13.0)
parallel
rack (>= 1.4.5, < 3)
sass (>= 3.4)
servolux
tilt (~> 2.0)
uglifier (~> 3.0)
middleman-dato (0.8.2)
activesupport
dato (>= 0.3.2)
dotenv (<= 2.1)
middleman-core (>= 4.1.10)
middleman-livereload (3.4.6)
em-websocket (~> 0.5.1)
middleman-core (>= 3.3)
rack-livereload (~> 0.3.15)
middleman-sprockets (3.5.0)
middleman-core (>= 3.3)
sprockets (~> 2.12.1)
sprockets-helpers (~> 1.1.0)
sprockets-sass (~> 1.3.0)
middleman-syntax (3.0.0)
middleman-core (>= 3.2)
rouge (~> 2.0)
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mime-types (2.99.3)
mini_portile2 (2.3.0)
minitest (5.11.3)
multi_json (1.13.1)
nokogiri (1.8.2)
multipart-post (2.0.0)
netrc (0.11.0)
nokogiri (1.8.5)
mini_portile2 (~> 2.3.0)
padrino-helpers (0.12.9)
padrino-helpers (0.13.3.4)
i18n (~> 0.6, >= 0.6.7)
padrino-support (= 0.12.9)
padrino-support (= 0.13.3.4)
tilt (>= 1.4.1, < 3)
padrino-support (0.12.9)
padrino-support (0.13.3.4)
activesupport (>= 3.1)
rack (1.6.10)
rack-livereload (0.3.16)
parallel (1.12.1)
parslet (1.8.2)
public_suffix (3.0.3)
pusher-client (0.6.2)
json
websocket (~> 1.0)
rack (2.0.5)
rack-livereload (0.3.17)
rack
rack-test (1.0.0)
rack (>= 1.0, < 3)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
redcarpet (3.4.0)
rest-client (1.8.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
rouge (2.2.1)
sass (3.4.25)
sprockets (2.12.5)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-helpers (1.1.0)
sprockets (~> 2.0)
sprockets-sass (1.3.1)
sprockets (~> 2.0)
tilt (~> 1.1)
servolux (0.13.0)
temple (0.8.0)
thor (0.20.0)
thread_safe (0.3.6)
tilt (1.4.1)
turbolinks (5.1.0)
turbolinks-source (~> 5.1)
turbolinks-source (5.1.0)
tilt (2.0.8)
toml (0.2.0)
parslet (~> 1.8.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uber (0.0.15)
uglifier (2.7.2)
execjs (>= 0.3.0)
json (>= 1.8.0)
xpath (2.1.0)
nokogiri (~> 1.3)
uglifier (3.2.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.5)
websocket (1.2.8)
PLATFORMS
ruby
DEPENDENCIES
ffi (~> 1.9.24)
middleman-hashicorp (= 0.3.34)
builder
middleman (~> 4.2)
middleman-dato
middleman-hashicorp!
tzinfo-data
wdm (~> 0.1)
BUNDLED WITH
1.16.1
1.16.5

View File

@ -1,35 +1,30 @@
VERSION?="0.3.34"
configure-cache:
@mkdir -p tmp/cache
build:
build: configure-cache
@echo "==> Starting build in Docker..."
@docker run \
--interactive \
--rm \
--tty \
--volume "$(shell pwd):/website" \
-e "ENV=production" \
hashicorp/middleman-hashicorp:${VERSION} \
bundle exec middleman build --verbose --clean
--volume "$(shell pwd):/opt/buildhome/repo" \
--volume "$(shell pwd)/tmp/cache:/opt/buildhome/cache" \
--env "ENV=production" \
netlify/build \
build "sh bootstrap.sh && middleman build --verbose"
website:
website: configure-cache
@echo "==> Starting website in Docker..."
@docker run \
--interactive \
--rm \
--tty \
--volume "$(shell pwd):/opt/buildhome/repo" \
--volume "$(shell pwd)/tmp/cache:/opt/buildhome/cache" \
--publish "4567:4567" \
--publish "35729:35729" \
--volume "$(shell pwd):/website" \
hashicorp/middleman-hashicorp:${VERSION}
--env "ENV=production" \
netlify/build \
build "sh bootstrap.sh && middleman"
update-deps:
@echo "==> Updating deps..."
@docker run \
--interactive \
--rm \
--tty \
--volume "$(shell pwd):/website" \
hashicorp/middleman-hashicorp:${VERSION} \
bundle update
.PHONY: build website
.PHONY: configure-cache build website

View File

@ -12,7 +12,7 @@ like any normal GitHub project, and we'll merge it in.
## Running the Site Locally
Running the site locally is simple. Clone this repo and run `make website`.
Running the site locally is simple. Clone this repo and run `make website`. If it is your first time running the site, the build will take a little longer as it needs to download a docker image and a bunch of dependencies, so maybe go grab a coffee. On subsequent runs, it will be much faster as dependencies are cached.
Then open up `http://localhost:4567`. Note that some URLs you may need to append
".html" to make them work (in the navigation).

14
website/assets/app.js Normal file
View File

@ -0,0 +1,14 @@
const cssStandards = require('spike-css-standards')
const jsStandards = require('spike-js-standards')
const preactPreset = require('babel-preset-preact')
const extendRule = require('postcss-extend-rule')
module.exports = {
ignore: ['yarn.lock', '**/_*'],
entry: { 'js/main': './js/index.js' },
postcss: cssStandards({
appendPlugins: [extendRule()]
}),
babel: jsStandards({ appendPresets: [preactPreset] }),
server: { open: false }
}

View File

@ -0,0 +1,79 @@
/**
* Extracted from Bootstrap and Updated
*/
.alert {
padding: 1em;
border: 1px solid transparent;
border-radius: 4px;
font-size: var(--default-font-size);
& p:last-child {
margin-bottom: 0;
}
& h4 {
margin-top: 0;
color: inherit;
}
& .alert-link {
font-weight: var(--font-weight-bold);
}
& > p,
& > ul {
margin-bottom: 0;
}
& > p + p {
margin-top: 5px;
}
&.alert-success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #3c763d;
}
&.alert-success hr {
border-top-color: #c9e2b3;
}
&.alert-success .alert-link {
color: #2b542c;
}
&.alert-info {
background-color: #d9edf7;
border-color: #bce8f1;
color: #31708f;
}
&.alert-info hr {
border-top-color: #a6e1ec;
}
&.alert-info .alert-link {
color: #245269;
}
&.alert-warning {
background-color: #fcf8e3;
border-color: #faebcc;
color: #8a6d3b;
}
&.alert-warning hr {
border-top-color: #f7e1b5;
}
&.alert-warning .alert-link {
color: #66512c;
}
&.alert-danger {
background-color: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
&.alert-danger hr {
border-top-color: #e4b9c0;
}
&.alert-danger .alert-link {
color: #843534;
}
}

View File

@ -0,0 +1,35 @@
.content-wrap {
display: flex;
flex-direction: column;
flex-wrap: wrap;
flex: 1 0 auto;
position: relative;
width: 100%;
@media (min-width: 768px) {
flex-direction: row;
margin-top: 72px;
margin-bottom: 72px;
}
}
#inner {
flex: 1;
margin: 100px 0;
overflow: auto;
@media (min-width: 768px) {
margin: 0;
}
& .g-content > h1:first-child {
margin-top: 0;
}
/* TODO: this should be applied in global styles, temporary override here */
& pre code,
& code,
& pre {
font-size: 0.875em;
}
}

View File

@ -0,0 +1,113 @@
#secondary-nav {
width: 100%;
border-bottom: 1px solid var(--gray-9);
& .g-container {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-between;
margin: 0 auto;
@media (min-width: 768px) {
flex-direction: row;
align-items: center;
max-width: var(--medium-grid-max-width);
}
@media (min-width: 1120px) {
max-width: var(--site-max-width);
}
}
&.light {
background-color: var(--white);
color: var(--black);
}
&.dark {
background-color: var(--black);
color: var(--white);
}
& ul {
list-style: none;
padding: 0;
margin: 0;
& li {
display: inline-block;
}
}
& .breadcrumbs {
list-style: none;
padding: 0;
margin: 0;
& li {
font-size: 1.25em;
line-height: 1.6;
padding: .625em 0;
& + li:before {
content: "/\00a0";
font-weight: 300;
margin: 0 5px;
}
&:nth-child(odd) {
font-weight: 300;
}
&.active {
font-weight: bold;
}
}
}
& .doc-links {
& li {
font-size: .875em;
line-height: 1.7;
margin: 0 20px;
padding: 0 0 14px;
@media (min-width: 768px) {
padding: 32px 0;
}
&:first-child {
margin-left: 0;
}
&.active {
border-bottom: 3px solid #1563FF;
& a {
opacity: 0.7;
}
}
& a {
color: inherit;
cursor: pointer;
display: block;
text-decoration: none;
transition: opacity .25s ease;
&:hover {
opacity: 0.7s;
}
& svg {
position: relative;
top: 2px;
width: 14px;
height: 14px;
margin-right: 3px;
}
}
}
}
}

View File

@ -0,0 +1,36 @@
@import 'normalize.css';
@import '@hashicorp/hashi-global-styles/style';
/* NPM Preact Components */
@import '@hashicorp/hashi-logo-grid/dist/style.css';
@import '@hashicorp/hashi-footer/dist/style.css';
@import '@hashicorp/hashi-nav/dist/style.css';
@import '@hashicorp/hashi-newsletter-signup-form/dist/style.css';
@import '@hashicorp/hashi-button/dist/style.css';
@import '@hashicorp/hashi-product-subnav/dist/style.css';
@import '@hashicorp/hashi-content/dist/style.css';
@import '@hashicorp/hashi-mega-nav/dist/style.css';
@import '@hashicorp/hashi-docs-sidenav/dist/style.css';
@import '@hashicorp/hashi-vertical-text-block-list/dist/style.css';
@import '@hashicorp/hashi-section-header/dist/style.css';
@import '@hashicorp/hashi-product-downloader/dist/style.css';
@import '@hashicorp/hashi-hero/dist/style.css';
@import '@hashicorp/hashi-alert/dist/style.css';
@import '@hashicorp/hashi-callouts/dist/style.css';
@import '@hashicorp/hashi-split-cta/dist/style.css';
@import '@hashicorp/hashi-linked-text-summary-list/dist/style.css';
@import '@hashicorp/hashi-docs-sitemap/dist/style.css';
/* to be removed pending new components */
@import '_alerts';
@import '_inner';
@import '_secondary-nav';
/* Pages */
@import 'pages/_docs';
@import 'pages/_section_block';
@import 'pages/_home';
h5 {
font-weight: 600;
}

View File

@ -0,0 +1,67 @@
#sidebar {
& .g-docs-sidebar {
margin-right: 25px;
}
}
#intro {
padding-bottom: 0px;
& .g-section-header {
margin-bottom: 48px;
& h3 {
margin: 1em auto 0 auto;
width: 85%;
}
}
}
#categories {
& .g-linked-text-summary-list {
padding-top: 12px;
padding-bottom: 12px;
}
}
#sitemap {
@media (max-width: 768px) {
display: none;
}
}
#get-started {
@media (max-width: 768px) {
display: none;
}
}
.g-content {
& h1 {
@extend %typography-display-2;
}
& h2 {
@extend %typography-section-2;
border-bottom: 1px solid var(--gray-8);
padding-bottom: 16px;
}
& h3 {
@extend %typography-section-3;
border-bottom: none;
}
& h4 {
@extend %typography-section-4;
}
& .alert {
margin-top: calc(var(--baseline) * 1.1rem);
margin-bottom: calc(var(--baseline) * 1.1rem);
& p:first-child {
margin-top: 0;
}
}
}

View File

@ -0,0 +1,3 @@
.g-split-cta h1 {
font-size: 2.5em;
}

View File

@ -0,0 +1,76 @@
.g-section-block {
& section {
padding-top: 96px;
padding-bottom: 96px;
@media (max-width: 768px) {
padding-top: 60px;
padding-bottom: 60px;
}
&.gray {
background: #f6f7fa;
}
&.black {
background: var(--black);
color: white;
}
&.no-pad {
padding: 0;
}
/* copied over from www, should be component-ized */
& > * + *,
& > .g-container > * + * {
margin-top: 96px;
@media (max-width: 1119px) {
margin-top: 72px;
}
@media (max-width: 767px) {
margin-top: 56px;
}
}
& > .g-section-header,
& > .g-container > .g-section-header {
& + * {
margin-top: 72px;
@media (max-width: 1119px) {
margin-top: 64px;
}
@media (max-width: 767px) {
margin-top: 40px;
}
}
}
& > * + .btn-container,
& > .g-container > * + .btn-container {
margin-top: 40px;
@media (max-width: 767px) {
margin-top: 32px;
}
}
}
& .button-container {
display: flex;
justify-content: center;
& > a + a {
margin-left: 16px;
}
}
/* Temporary Overrides */
& .g-section-header {
margin: 0 auto;
}
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -0,0 +1 @@
<svg width="8" height="5" xmlns="http://www.w3.org/2000/svg"><path d="M7.429.9a.5.5 0 1 0-.707-.707L4.075 2.84 1.43.194A.5.5 0 1 0 .722.9l3 3a.5.5 0 0 0 .707 0l3-3z" fill="#1563FF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 208 B

View File

@ -0,0 +1 @@
<svg width="5" height="8" xmlns="http://www.w3.org/2000/svg"><path d="M1.429.194A.5.5 0 1 0 .722.9l2.646 2.647L.722 6.194a.5.5 0 1 0 .707.707l3-3a.5.5 0 0 0 0-.708l-3-3z" fill="#9396A2" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 213 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28"><path d="M28 0H0v28h28V0zM13.8 22.9L7 17.3l2-2.4 3.2 2.6V7h3.2v10.5l3.2-2.6 2 2.4-6.8 5.6z"/></svg>

After

Width:  |  Height:  |  Size: 159 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 199" preserveAspectRatio="xMidYMid"><path fill="#D52F2F" d="M348.444 20.348v133.588h40.127v-20.41h-13.258V0l-26.87.003.002 20.345zM0 133.525h13.64v-64.45H0V51.35l13.64-2.243V31.165C13.64 9.432 18.37 0 46.088 0c5.986 0 13.08.884 19.293 2.003L61.7 23.85c-4.208-.666-6.294-.785-8.953-.785-9.765 0-12.234.975-12.234 10.515v15.527h20.275v19.968H40.51v64.45h13.5v20.408L0 153.938v-20.413zm334.776-6.45c-4.203.887-7.88.78-10.54.845-11.052.272-10.097-3.362-10.097-13.785v-45.06h21.04V49.107h-21.04V0h-26.873v119.707c0 23.502 5.8 34.23 31.08 34.23 5.985 0 14.212-1.54 20.424-2.87l-3.994-23.992zM253.724 69.04v-3.576c-8.13-1.483-16.2-1.504-20.58-1.504-12.505 0-14.03 6.63-14.03 10.225 0 5.086 1.736 7.835 15.282 10.797 19.802 4.446 39.69 9.084 39.69 33.638 0 23.286-11.984 35.316-37.21 35.316-16.88 0-33.26-3.624-45.756-6.795v-20.065h20.348l-.012 3.565c8.756 1.69 17.938 1.522 22.73 1.522 13.34 0 15.497-7.17 15.497-10.984 0-5.29-3.825-7.832-16.328-10.368-23.555-4.024-42.25-12.067-42.25-35.994 0-22.648 15.148-31.532 40.374-31.532 17.09 0 30.084 2.65 42.587 5.823V69.04h-20.343zm-136.12 57.974v-3.16h-3.22v3.15c-14.42-.84-25.957-12.426-26.71-26.87h3.2v-3.22H87.69c.856-14.345 12.344-25.82 26.694-26.658v3.166h3.22v-3.175c14.144.756 25.538 11.85 26.77 25.865v.923h-3.226v3.22h3.226v.88c-1.225 14.02-12.62 25.123-26.77 25.88zm53.65.06l-.018-83.616h-26.87V51.3a54.923 54.923 0 0 0-18.27-6.912h.152V35.11h3.28v-6.824H102.47v6.824h3.278v9.28h.186c-25.7 4.73-45.175 27.235-45.175 54.303 0 30.505 24.728 55.234 55.232 55.234a54.974 54.974 0 0 0 28.46-7.892l4.84 7.902h28.383v-26.86h-6.423zm285.324-77.967H512v19.95h-13.25l-33.987 83.62c-9.74 23.488-25.742 45.596-50.107 45.596-5.993 0-13.97-.664-19.5-1.993l2.43-24.388c3.55.664 8.2 1.1 10.64 1.1 11.3 0 24.044-7 28.032-19.192l-34.44-84.744h-13.247v-19.95h55.45v19.95h-13.244l19.51 48 19.51-48h-13.218v-19.95zm-326.48 37.57l-2.046-2.046-10.385 9.05a4.93 4.93 0 0 0-1.67-.294c-2.803 0-5.07 2.335-5.07 5.212 0 2.882 2.267 5.216 5.07 5.216 2.8 0 5.074-2.334 5.074-5.216 0-.546-.08-1.072-.233-1.568l9.26-10.354"/></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 548 B

View File

Before

Width:  |  Height:  |  Size: 822 B

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check-circle"><path d="M22 11.07V12a10 10 0 1 1-5.93-9.14"/><path d="M23 3L12 14l-3-3"/></svg>

After

Width:  |  Height:  |  Size: 267 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="18 15 12 9 6 15"/>
</svg>

After

Width:  |  Height:  |  Size: 219 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke="#D0D2D5" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>
<path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke="#D0D2D5" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 423 B

View File

@ -0,0 +1,15 @@
<svg viewBox="0 0 23 16" >
<g id="✓--Sentinel-Docs-Page" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Sentinal-Docs---320" transform="translate(-149.000000, -179.000000)">
<g id="Jump-Links-Mobile" transform="translate(0.000000, 156.000000)">
<g id="Group-2" transform="translate(149.708333, 23.000000)">
<rect id="Rectangle" fill="#000000" x="0" y="0" width="6" height="2"></rect>
<rect id="Rectangle" fill="#000000" x="0" y="6" width="10" height="2"></rect>
<rect id="Rectangle" fill="#000000" x="0" y="12" width="10" height="2"></rect>
<path d="M10,1 L13,1 C15.2787612,1 17,2.790861 17,5 L17,12" id="Rectangle-4" stroke="#000000" stroke-width="2" stroke-linecap="square"></path>
<polyline id="Triangle" stroke="#000000" stroke-width="1.75" stroke-linecap="square" points="20.25 11 17 14.25 17 14.25 13.75 11"></polyline>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 968 B

View File

@ -0,0 +1,17 @@
<svg viewBox="0 0 130 170" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<rect id="path-1" x="0" y="0" width="130" height="170" rx="7"></rect>
<mask id="mask-2" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="130" height="170" fill="white">
<use xlink:href="#path-1"></use>
</mask>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group">
<use id="Rectangle-4" stroke="#FFFFFF" mask="url(#mask-2)" stroke-width="10" xlink:href="#path-1"></use>
<rect id="Rectangle" fill="#FFFFFF" x="22" y="22" width="85" height="8"></rect>
<rect id="Rectangle" fill="#FFFFFF" x="22" y="39" width="85" height="8"></rect>
<rect id="Rectangle" fill="#FFFFFF" x="22" y="56" width="85" height="8"></rect>
<rect id="Rectangle" fill="#FFFFFF" x="22" y="73" width="85" height="8"></rect>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 979 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 62 60">
<g fill="none" fill-rule="evenodd">
<path stroke="#FFF" stroke-width=".5" d="M58.898 35.016h-8.53l-7.978-5L50.516 25h8.19l.192 10.017zm-8.526.03l4.31 9.086-4.31-9.087zm.144-10.07l4.167-9.26-4.167 9.26zm4.175-9.26l4.087 9.347-4.084-9.348zm-.074 28.22l4.373-8.778-4.374 8.778zm-12.28-13.884h-12.23 12.23z" opacity=".7"/>
<g fill="#FFF">
<path d="M29.9 36.3c-3.6 0-6.4-2.8-6.4-6.4 0-3.6 2.8-6.4 6.4-6.4 3.6 0 6.4 2.8 6.4 6.4 0 3.6-2.8 6.4-6.4 6.4m12.5-3.4c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3 1.6 0 3 1.3 3 3s-1.4 3-3 3m10.8 2.8c-.4 1.6-2 2.5-3.6 2.1-1.6-.4-2.5-2-2.1-3.6.4-1.6 2-2.5 3.6-2.1 1.5.4 2.5 1.8 2.2 3.4 0 0 0 .1-.1.2m-2.1-7.6c-1.6.4-3.2-.6-3.6-2.2-.4-1.6.6-3.2 2.2-3.6 1.6-.4 3.2.6 3.6 2.2.1.4.1.8 0 1.2-.1 1.1-.9 2.1-2.2 2.4m10.6 7.2c-.3 1.6-1.8 2.7-3.4 2.4-1.6-.3-2.7-1.8-2.4-3.4.3-1.6 1.8-2.7 3.4-2.4 1.5.3 2.6 1.7 2.5 3.2-.1.1-.1.1-.1.2m-2.4-7.4c-1.6.3-3.1-.8-3.4-2.4-.3-1.6.8-3.1 2.4-3.4 1.6-.3 3.1.8 3.4 2.4 0 .3.1.5 0 .8-.1 1.3-1.1 2.4-2.4 2.6m-6.1 18.8c-1.4-.8-1.9-2.6-1.1-4 .8-1.4 2.6-1.9 4-1.1 1 .6 1.6 1.7 1.5 2.8-.1.4-.2.8-.4 1.2-.8 1.4-2.6 1.9-4 1.1zm2.9-28.3c-1.4.8-3.2.3-4-1.1-.8-1.4-.3-3.2 1.1-4 1.4-.8 3.2-.3 4 1.1.3.6.4 1.1.4 1.7-.1.9-.6 1.8-1.5 2.3"/>
<path fill-rule="nonzero" d="M30 59.8c-8 0-15.4-3.1-21.1-8.7C3.4 45.4.3 37.9.3 30 .3 22 3.4 14.6 9 8.9 14.6 3.3 22.1.2 30 .2c6.6 0 12.9 2.1 18.1 6.1l-3.7 4.8C40.2 7.9 35.2 6.2 30 6.2c-6.3 0-12.3 2.5-16.8 7S6.3 23.6 6.3 30c0 6.3 2.5 12.3 7 16.8s10.4 6.9 16.8 6.9c5.3 0 10.3-1.7 14.4-4.9l3.6 4.8c-5.2 4-11.5 6.2-18.1 6.2z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 124 178" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<rect id="a" width="81" height="156" x="21" y="11" rx="4"/>
<mask id="b" width="81" height="156" x="0" y="0" fill="#fff">
<use xlink:href="#a"/>
</mask>
</defs>
<g fill="none" fill-rule="evenodd">
<g fill="#FFF" opacity=".33">
<path d="M60.844 45.78c-2.15 0-3.82-1.68-3.82-3.84s1.67-3.84 3.82-3.84c2.148 0 3.82 1.68 3.82 3.84s-1.672 3.84-3.82 3.84m7.46-2.04c-.956 0-1.79-.78-1.79-1.8 0-.96.775-1.8 1.79-1.8.954 0 1.79.78 1.79 1.8s-.836 1.8-1.79 1.8m6.444 1.68c-.238.96-1.193 1.5-2.148 1.26-.955-.24-1.492-1.2-1.253-2.16.238-.96 1.193-1.5 2.148-1.26.895.24 1.492 1.08 1.313 2.04 0 0 0 .06-.06.12m-1.253-4.56c-.955.24-1.91-.36-2.148-1.32-.24-.96.358-1.92 1.313-2.16.955-.24 1.91.36 2.148 1.32.06.24.06.48 0 .72-.06.66-.537 1.26-1.313 1.44m6.326 4.32c-.17.96-1.07 1.62-2.02 1.44-.953-.18-1.61-1.08-1.43-2.04.18-.96 1.075-1.62 2.03-1.44.895.18 1.55 1.02 1.49 1.92-.06.06-.06.06-.06.12m-1.43-4.44c-.955.18-1.85-.48-2.03-1.44-.18-.96.478-1.86 1.433-2.04.955-.18 1.85.48 2.03 1.44 0 .18.06.3 0 .48-.06.78-.657 1.44-1.433 1.56m-3.65 11.28c-.835-.48-1.133-1.56-.656-2.4.477-.84 1.552-1.14 2.387-.66.6.36.96 1.02.9 1.68-.06.24-.12.48-.24.72-.474.84-1.55 1.14-2.384.66zm1.73-16.98c-.834.48-1.91.18-2.386-.66-.477-.84-.18-1.92.656-2.4.836-.48 1.91-.18 2.387.66.18.36.24.66.24 1.02-.06.54-.36 1.08-.896 1.38"/>
<path fill-rule="nonzero" d="M60.903 59.88c-4.774 0-9.19-1.86-12.592-5.22-3.28-3.42-5.13-7.92-5.13-12.66 0-4.8 1.85-9.24 5.19-12.66 3.35-3.36 7.82-5.22 12.54-5.22 3.94 0 7.7 1.26 10.8 3.66l-2.21 2.88c-2.503-1.92-5.49-2.94-8.59-2.94-3.76 0-7.34 1.5-10.026 4.2S46.76 38.16 46.76 42c0 3.78 1.493 7.38 4.178 10.08 2.686 2.7 6.207 4.14 10.026 4.14 3.163 0 6.147-1.02 8.593-2.94l2.15 2.88c-3.105 2.4-6.865 3.72-10.804 3.72z"/>
</g>
<g fill="#FFF" opacity=".66">
<path d="M60.844 92.78c-2.15 0-3.82-1.68-3.82-3.84s1.67-3.84 3.82-3.84c2.148 0 3.82 1.68 3.82 3.84s-1.672 3.84-3.82 3.84m7.46-2.04c-.956 0-1.79-.78-1.79-1.8 0-.96.775-1.8 1.79-1.8.954 0 1.79.78 1.79 1.8s-.836 1.8-1.79 1.8m6.444 1.68c-.238.96-1.193 1.5-2.148 1.26-.955-.24-1.492-1.2-1.253-2.16.238-.96 1.193-1.5 2.148-1.26.895.24 1.492 1.08 1.313 2.04 0 0 0 .06-.06.12m-1.253-4.56c-.955.24-1.91-.36-2.148-1.32-.24-.96.358-1.92 1.313-2.16.955-.24 1.91.36 2.148 1.32.06.24.06.48 0 .72-.06.66-.537 1.26-1.313 1.44m6.326 4.32c-.17.96-1.07 1.62-2.02 1.44-.953-.18-1.61-1.08-1.43-2.04.18-.96 1.075-1.62 2.03-1.44.895.18 1.55 1.02 1.49 1.92-.06.06-.06.06-.06.12m-1.43-4.44c-.955.18-1.85-.48-2.03-1.44-.18-.96.478-1.86 1.433-2.04.955-.18 1.85.48 2.03 1.44 0 .18.06.3 0 .48-.06.78-.657 1.44-1.433 1.56m-3.65 11.28c-.835-.48-1.133-1.56-.656-2.4.477-.84 1.552-1.14 2.387-.66.6.36.96 1.02.9 1.68-.06.24-.12.48-.24.72-.474.84-1.55 1.14-2.384.66zm1.73-16.98c-.834.48-1.91.18-2.386-.66-.477-.84-.18-1.92.656-2.4.836-.48 1.91-.18 2.387.66.18.36.24.66.24 1.02-.06.54-.36 1.08-.896 1.38"/>
<path fill-rule="nonzero" d="M60.903 106.88c-4.774 0-9.19-1.86-12.592-5.22-3.28-3.42-5.13-7.92-5.13-12.66 0-4.8 1.85-9.24 5.19-12.66 3.35-3.36 7.82-5.22 12.54-5.22 3.94 0 7.7 1.26 10.8 3.66l-2.21 2.88c-2.503-1.92-5.49-2.94-8.59-2.94-3.76 0-7.34 1.5-10.026 4.2S46.76 85.16 46.76 89c0 3.78 1.493 7.38 4.178 10.08 2.686 2.7 6.207 4.14 10.026 4.14 3.163 0 6.147-1.02 8.593-2.94l2.15 2.88c-3.105 2.4-6.865 3.72-10.804 3.72z"/>
</g>
<g fill="#FFF">
<path d="M60.844 139.78c-2.15 0-3.82-1.68-3.82-3.84s1.67-3.84 3.82-3.84c2.148 0 3.82 1.68 3.82 3.84s-1.672 3.84-3.82 3.84m7.46-2.04c-.956 0-1.79-.78-1.79-1.8 0-.96.775-1.8 1.79-1.8.954 0 1.79.78 1.79 1.8s-.836 1.8-1.79 1.8m6.444 1.68c-.238.96-1.193 1.5-2.148 1.26-.955-.24-1.492-1.2-1.253-2.16.238-.96 1.193-1.5 2.148-1.26.895.24 1.492 1.08 1.313 2.04 0 0 0 .06-.06.12m-1.253-4.56c-.955.24-1.91-.36-2.148-1.32-.24-.96.358-1.92 1.313-2.16.955-.24 1.91.36 2.148 1.32.06.24.06.48 0 .72-.06.66-.537 1.26-1.313 1.44m6.326 4.32c-.17.96-1.07 1.62-2.02 1.44-.953-.18-1.61-1.08-1.43-2.04.18-.96 1.075-1.62 2.03-1.44.895.18 1.55 1.02 1.49 1.92-.06.06-.06.06-.06.12m-1.43-4.44c-.955.18-1.85-.48-2.03-1.44-.18-.96.478-1.86 1.433-2.04.955-.18 1.85.48 2.03 1.44 0 .18.06.3 0 .48-.06.78-.657 1.44-1.433 1.56m-3.643 11.28c-.834-.48-1.132-1.56-.655-2.4.475-.84 1.55-1.14 2.385-.66.596.36.954 1.02.894 1.68-.06.24-.12.48-.24.72-.48.84-1.55 1.14-2.39.66zm1.73-16.98c-.833.48-1.91.18-2.385-.66-.48-.84-.18-1.92.654-2.4.837-.48 1.91-.18 2.388.66.18.36.24.66.24 1.02-.06.54-.36 1.08-.895 1.38"/>
<path fill-rule="nonzero" d="M60.903 153.88c-4.774 0-9.19-1.86-12.592-5.22-3.28-3.42-5.13-7.92-5.13-12.66 0-4.8 1.85-9.24 5.19-12.66 3.35-3.36 7.82-5.22 12.54-5.22 3.94 0 7.7 1.26 10.8 3.66l-2.21 2.88c-2.502-1.92-5.49-2.94-8.59-2.94-3.76 0-7.34 1.5-10.025 4.2s-4.12 6.24-4.12 10.08c0 3.78 1.494 7.38 4.18 10.08 2.685 2.7 6.206 4.14 10.025 4.14 3.162 0 6.146-1.02 8.592-2.94l2.15 2.88c-3.104 2.4-6.864 3.72-10.803 3.72z"/>
</g>
<use stroke="#FFF" stroke-width="6" mask="url(#b)" xlink:href="#a"/>
<path fill="#FFF" d="M48 11.31h27.14S74.545 0 61.95 0C49.352 0 48 11.31 48 11.31zM46 167h31v11H46zM21.454 56.943h-7.842V42.476S.516 30.036.352 29.216c-.165-.82.084-1.182.45-1.548C1.17 27.3 2.05 27 2.567 27h18.887v29.943zm0 47h-7.842V89.476S.516 77.036.352 76.216c-.165-.82.084-1.182.45-1.548C1.17 74.3 2.05 74 2.567 74h18.887v29.943zm0 47h-7.842v-14.467S.516 124.036.352 123.216c-.165-.82.084-1.182.45-1.548C1.17 121.3 2.05 121 2.567 121h18.887v29.943zm80.046 0h7.84v-14.467s13.098-12.44 13.262-13.26c.164-.82-.084-1.182-.45-1.548-.367-.367-1.248-.668-1.765-.668H101.5v29.943zm0-47h7.84V89.476s13.098-12.44 13.262-13.26c.164-.82-.084-1.182-.45-1.548-.367-.367-1.248-.668-1.765-.668H101.5v29.943zm0-47h7.84V42.476s13.098-12.44 13.262-13.26c.164-.82-.084-1.182-.45-1.548-.367-.367-1.248-.668-1.765-.668H101.5v29.943z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 192">
<g fill="#FFF" fill-rule="evenodd">
<g fill-rule="nonzero">
<path fill-opacity=".7" d="M168.764 26.55c-2.578 0-4.664-2.086-4.664-4.664 0-2.577 2.086-4.663 4.664-4.663 2.577 0 4.663 2.086 4.663 4.663 0 2.578-2.086 4.664-4.663 4.664"/>
<path d="M177.845 24.055c-1.186 0-2.168-.94-2.168-2.17 0-1.185.94-2.167 2.168-2.167 1.187 0 2.17.94 2.17 2.168 0 1.187-.983 2.17-2.17 2.17m7.855 2.004c-.286 1.145-1.473 1.84-2.618 1.554-1.146-.287-1.84-1.473-1.555-2.62.287-1.144 1.473-1.84 2.618-1.553 1.105.29 1.8 1.35 1.596 2.46 0 .08 0 .13-.04.17m-1.51-5.52c-1.14.29-2.33-.45-2.57-1.59-.24-1.14.45-2.33 1.6-2.57 1.15-.29 2.33.45 2.58 1.596.04.286.09.573.04.86-.12.82-.73 1.515-1.63 1.72m7.65 5.32c-.2 1.184-1.31 1.96-2.49 1.76-1.186-.21-1.964-1.31-1.76-2.5.204-1.185 1.31-1.96 2.495-1.76 1.107.207 1.884 1.19 1.8 2.293 0 .04-.04.12-.04.202m-1.76-5.4c-1.185.2-2.29-.616-2.453-1.76-.205-1.19.61-2.29 1.76-2.456 1.185-.206 2.29.613 2.45 1.76.04.203.04.37.04.57-.08.9-.814 1.72-1.8 1.88m-1.47 12.846c-.612 1.022-1.88 1.39-2.944.82-1.022-.615-1.39-1.88-.82-2.947.617-1.02 1.885-1.39 2.948-.82.74.41 1.15 1.23 1.068 2.048 0 .33-.08.62-.244.9m-.776-19.8c-1.02.578-2.33.21-2.943-.813-.573-1.024-.205-2.333.818-2.947 1.024-.57 2.333-.2 2.946.82.25.41.33.82.25 1.23-.04.736-.45 1.39-1.06 1.72"/>
<path d="M168.845 43.568c-5.81 0-11.21-2.25-15.3-6.34-4.09-4.092-6.34-9.533-6.34-15.3 0-5.77 2.25-11.21 6.34-15.3 4.09-4.092 9.532-6.342 15.3-6.342 4.787 0 9.328 1.555 13.132 4.46l-2.66 3.436c-3.026-2.332-6.667-3.56-10.472-3.56-4.622 0-8.96 1.8-12.23 5.073-3.274 3.273-5.033 7.61-5.033 12.232 0 4.623 1.8 8.96 5.073 12.232 3.272 3.27 7.61 5.03 12.23 5.03 3.847 0 7.447-1.23 10.474-3.56l2.65 3.43c-3.85 2.98-8.39 4.5-13.18 4.5z"/>
</g>
<path d="M73.995 168.437C75.93 163.844 77 158.797 77 153.5c0-21.263-17.237-38.5-38.5-38.5-4.044 0-7.943.624-11.605 1.78C24.365 108.805 23 100.312 23 91.5 23 45.384 60.384 8 106.5 8S190 45.384 190 91.5 152.616 175 106.5 175c-11.53 0-22.514-2.337-32.505-6.563zm10.14-17.49l.093.002c.802 0 1.996-.02 3.53-.11 2.357-.14 4.953-.39 7.738-.79l-.712-4.95c-2.64.38-5.095.62-7.313.75-1.41.08-2.5.1-3.19.1h-.04l-.09 4.99zm17.923-2.065c3.646-.776 7.29-1.765 10.89-2.988l-1.608-4.734c-3.41 1.158-6.863 2.095-10.324 2.832l1.042 4.89zm17.15-5.378c3.503-1.493 6.88-3.208 10.11-5.158l-2.584-4.28c-3.024 1.826-6.194 3.435-9.487 4.838l1.96 4.6zm15.697-8.882c3.072-2.257 5.95-4.745 8.618-7.474l-3.575-3.495c-2.475 2.532-5.148 4.842-8.003 6.94l2.96 4.03zm13.106-12.546c1.24-1.55 2.42-3.162 3.54-4.838 1-1.496 1.95-3.01 2.86-4.554l-4.3-2.546c-.87 1.47-1.77 2.91-2.71 4.332-1.03 1.553-2.12 3.047-3.27 4.484l3.906 3.122zm9.6-15.232c1.69-3.313 3.23-6.733 4.62-10.248l-4.65-1.835c-1.33 3.37-2.8 6.65-4.41 9.81l4.46 2.28zm6.89-16.49c1.19-3.53 2.22-7.124 3.12-10.763l-4.85-1.19c-.86 3.51-1.86 6.97-3 10.37l4.74 1.59zm4.55-17.208c.74-3.7 1.33-7.388 1.79-11.037l-4.96-.62c-.44 3.53-1.01 7.09-1.73 10.68l4.91.97zm2.47-17.636c.34-4.14.49-7.9.49-11.19l-5-.002c0 3.158-.14 6.785-.46 10.783l4.99.41z"/>
<g fill-rule="nonzero">
<path fill-opacity=".7" d="M33.8 151.182c0-3.437 2.782-6.218 6.218-6.218 3.437 0 6.218 2.78 6.218 6.218 0 3.436-2.78 6.218-6.218 6.218-3.436 0-6.218-2.782-6.218-6.218z"/>
<path d="M52.127 154.073c-1.582 0-2.89-1.255-2.89-2.89 0-1.583 1.254-2.892 2.89-2.892 1.582 0 2.89 1.26 2.89 2.9 0 1.58-1.308 2.89-2.89 2.89m10.473 2.67c-.382 1.53-1.964 2.46-3.49 2.08-1.528-.38-2.455-1.96-2.074-3.49.382-1.53 1.964-2.45 3.49-2.07 1.474.38 2.4 1.8 2.13 3.27 0 .11 0 .17-.056.22m-2.018-7.36c-1.527.38-3.11-.6-3.437-2.124-.327-1.53.6-3.11 2.128-3.44 1.527-.384 3.11.6 3.436 2.125.05.383.1.765.05 1.147-.17 1.1-.98 2.02-2.18 2.3m10.2 7.09c-.28 1.583-1.75 2.62-3.33 2.346-1.58-.27-2.62-1.742-2.35-3.324.27-1.58 1.74-2.617 3.32-2.345 1.47.27 2.51 1.58 2.4 3.054 0 .054-.06.163-.06.272m-2.35-7.2c-1.58.27-3.055-.82-3.273-2.345-.27-1.58.82-3.053 2.347-3.27 1.58-.274 3.054.817 3.27 2.344.056.275.056.49.056.766-.11 1.2-1.09 2.29-2.4 2.51m-1.945 17.1c-.82 1.363-2.51 1.854-3.93 1.09-1.36-.818-1.852-2.51-1.09-3.927.82-1.365 2.51-1.856 3.93-1.09.98.543 1.526 1.634 1.417 2.725 0 .43-.11.81-.327 1.2M65.437 140c-1.364.764-3.11.273-3.928-1.09-.77-1.365-.28-3.11 1.09-3.928 1.36-.764 3.11-.273 3.92 1.09.33.546.43 1.092.33 1.637-.06.98-.6 1.85-1.42 2.29"/>
<path d="M40.127 180.09c-7.745 0-14.945-3-20.4-8.454-5.454-5.454-8.454-12.71-8.454-20.4 0-7.69 3-14.945 8.454-20.4 5.455-5.454 12.71-8.454 20.4-8.454 6.382 0 12.437 2.073 17.51 5.945l-3.546 4.582c-4.03-3.11-8.89-4.75-13.96-4.75-6.16 0-11.94 2.4-16.31 6.76-4.36 4.36-6.71 10.14-6.71 16.31 0 6.16 2.4 11.94 6.77 16.31 4.37 4.36 10.15 6.71 16.31 6.71 5.13 0 9.93-1.64 13.96-4.75l3.55 4.58c-5.12 3.98-11.18 6-17.56 6z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1 @@
<svg width="18" height="13" viewBox="0 0 18 13" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>a</title><defs><path d="M6 10.586L1.707 6.293A1 1 0 1 0 .293 7.707l5 5a.997.997 0 0 0 1.414 0l11-11A1 1 0 0 0 16.293.293L6 10.586z" id="a"/></defs><use fill="#00BC7F" xlink:href="#a" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 343 B

View File

@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Consul Logo White</title><path d="M10.96 14.346a2.368 2.368 0 0 1-2.378-2.368A2.367 2.367 0 0 1 10.95 9.6a2.367 2.367 0 0 1 2.377 2.368 2.364 2.364 0 0 1-2.368 2.378zm4.618-1.279a1.091 1.091 0 0 1-1.095-1.094c0-.607.488-1.094 1.095-1.094.606 0 1.094.487 1.094 1.094 0 .607-.488 1.094-1.094 1.094zm4.004 1.032a1.093 1.093 0 1 1-.791-1.328c.557.147.91.684.813 1.242-.012.027-.012.053-.022.086zm-.776-2.82a1.093 1.093 0 0 1-1.316-.817 1.093 1.093 0 1 1 2.13-.499c.027.147.037.292.01.429-.06.427-.374.79-.824.887zm3.893 2.698a1.087 1.087 0 0 1-1.267.889 1.087 1.087 0 0 1-.888-1.268 1.088 1.088 0 0 1 1.267-.888 1.1 1.1 0 0 1 .91 1.17c-.01.032-.022.059-.022.097zm-.89-2.745a1.093 1.093 0 1 1 .9-1.257c.01.098.022.184.01.282-.038.476-.411.899-.91.975zm-.764 6.536a1.093 1.093 0 0 1-1.495.411 1.093 1.093 0 0 1-.411-1.494 1.093 1.093 0 0 1 2.042.634.987.987 0 0 1-.136.449zM20.651 7.71a1.107 1.107 0 0 1-1.496-.417 1.108 1.108 0 0 1 .417-1.495 1.107 1.107 0 0 1 1.496.417c.12.206.157.417.135.634a1.097 1.097 0 0 1-.552.861zM11 23a10.928 10.928 0 0 1-7.783-3.218A10.96 10.96 0 0 1 0 12a10.93 10.93 0 0 1 3.217-7.782A10.964 10.964 0 0 1 11 1c2.441 0 4.751.781 6.68 2.26l-1.344 1.754A8.702 8.702 0 0 0 11 3.21 8.767 8.767 0 0 0 4.777 5.78 8.738 8.738 0 0 0 2.21 12a8.76 8.76 0 0 0 2.571 6.221A8.73 8.73 0 0 0 11 20.791a8.707 8.707 0 0 0 5.337-1.806l1.342 1.756A10.904 10.904 0 0 1 11 23z" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg width="44" height="47" viewBox="0 0 44 47" xmlns="http://www.w3.org/2000/svg"><title>Group</title><g fill="#FFF" fill-rule="evenodd"><path d="M18.329 0L0 10.685v25.664l6.886 4.018V14.702L18.33 8.027z"/><path d="M25.646 0v20.44h-7.318v-7.63l-6.885 4.018v26.186l6.885 4.028V26.661h7.318v7.579l6.885-4.019V4.018z"/><path d="M25.646 47.05l18.328-10.685V10.701l-6.886-4.018v25.665l-11.442 6.675z"/></g></svg>

After

Width:  |  Height:  |  Size: 408 B

View File

@ -0,0 +1 @@
<svg width="160" height="38" viewBox="0 0 160 38" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>HashiCorp Logo</title><defs><path id="a" d="M0 37.602h159.65V.354H0z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M54.377 29.315v-8.571h-7.534v8.571H43V9h3.843v8.358h7.534V9h3.844v20.315z"/><g><path d="M68.673 23.644h-2.745c-1.22 0-1.556.335-1.556 1.464 0 1.037.335 1.495 1.495 1.495 1.098 0 2.104-.366 2.806-.763v-2.196zm3.721 5.612h-3.05l-.274-1.006a8.121 8.121 0 0 1-4.423 1.311c-2.715 0-3.874-1.86-3.874-4.422 0-3.02 1.311-4.18 4.331-4.18h3.569v-1.555c0-1.647-.458-2.227-2.837-2.227-1.342 0-2.806.183-4.118.458l-.457-2.837c1.403-.427 3.446-.702 5.094-.702 4.667 0 6.04 1.647 6.04 5.369v9.791zM79.593 29.561c-1.586 0-3.752-.366-5.124-.854l.518-2.836c1.25.366 2.898.64 4.423.64 1.647 0 1.891-.366 1.891-1.495 0-.914-.183-1.372-2.593-1.952-3.63-.884-4.056-1.8-4.056-4.667 0-2.989 1.311-4.3 5.551-4.3 1.373 0 3.172.182 4.453.518l-.365 2.959c-1.129-.214-2.929-.427-4.088-.427-1.616 0-1.891.366-1.891 1.28 0 1.19.091 1.282 2.104 1.8 4.149 1.099 4.546 1.648 4.546 4.698 0 2.867-.885 4.636-5.369 4.636M96.034 29.256v-10.37c0-.794-.335-1.19-1.19-1.19-.914 0-2.53.55-3.873 1.25v10.31h-3.722V8.331l3.722-.518v7.717c1.647-.854 3.843-1.434 5.43-1.434 2.47 0 3.355 1.74 3.355 4.393v10.767h-3.722z" fill="#FFF"/><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path d="M102.501 29.256h3.721V14.401h-3.72v14.855zm0-16.96h3.721v-4.3h-3.72v4.3zM108.815 14.523c0-3.721 2.166-5.887 7.23-5.887 1.89 0 3.842.244 5.52.672l-.427 3.324c-1.647-.305-3.569-.519-4.972-.519-2.654 0-3.507.916-3.507 3.082v7.808c0 2.166.853 3.081 3.507 3.081 1.403 0 3.325-.214 4.972-.519l.427 3.325c-1.678.428-3.63.671-5.52.671-5.064 0-7.23-2.165-7.23-5.886v-9.152zM129.191 17.269c-1.982 0-2.745.884-2.745 2.562v3.996c0 1.677.763 2.562 2.745 2.562 1.983 0 2.745-.885 2.745-2.562v-3.996c0-1.678-.762-2.562-2.745-2.562m0 12.292c-5.093 0-6.466-2.806-6.466-5.856v-3.752c0-3.05 1.373-5.857 6.466-5.857 5.094 0 6.467 2.807 6.467 5.857v3.752c0 3.05-1.373 5.856-6.467 5.856M145.541 17.513c-1.433.64-2.593 1.311-3.935 2.166v9.577h-3.721V14.401h3.142l.244 1.648c.823-.55 2.592-1.586 3.904-1.953l.366 3.417zM150.775 25.993c.976.213 2.226.396 3.294.396 1.342 0 1.86-.64 1.86-1.983V19.16c0-1.22-.457-1.891-1.83-1.891-1.22 0-2.531.61-3.324 1.342v7.382zm8.876-1.678c0 3.294-1.464 5.246-4.911 5.246-1.311 0-2.806-.183-3.965-.427v6.131l-3.722.52V14.4h2.96l.365 1.251c1.312-.946 2.837-1.556 4.698-1.556 2.989 0 4.575 1.77 4.575 5.156v5.063zM14.945.354L.282 8.813V29.13l5.509 3.18V11.994l9.154-5.284z" fill="#FFF" mask="url(#b)"/><path fill="#FFF" mask="url(#b)" d="M20.798.354v16.181h-5.853v-6.039l-5.51 3.18v20.732l5.51 3.188V21.461h5.853v6l5.509-3.182V3.535z"/><path fill="#FFF" mask="url(#b)" d="M20.798 37.602l14.663-8.459V8.825l-5.51-3.18v20.317l-9.153 5.285z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Nomad Logo White</title><path d="M11.5 13.607l1.937 1.2 2.772-1.6V5.214L12.9 7.201v4.002L9.448 9.278l-1.303.793-1.194.735v7.997l3.15-1.998v-3.997l1.4.799zm0 10.392L1 18V6.018L11.413 0 22 6v12l-10.445 6-.055-.001z" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 343 B

View File

@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Terraform Logo White</title><path d="M9.128 4.14l6.425 3.71v7.418L9.128 11.56V4.14zm7.129 3.71l6.425-3.71v7.42l-6.425 3.709V7.85zM2 0l6.425 3.71v7.418L2 7.418V0zm7.129 19.79v-7.418l6.423 3.71V23.5L9.13 19.79z" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 339 B

View File

@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Vault Logo White</title><path d="M1 1l10.692 21.462L22.462 1H1zm11.964 5.55h1.244V5.308h-1.244v1.244zm-1.855 0h1.243V5.308H11.11v1.244zm-1.866 0h1.244V5.308H9.243v1.244zm3.721 1.867h1.244V7.174h-1.244v1.243zm-1.855 0h1.243V7.174H11.11v1.243zm-1.866 0h1.244V7.174H9.243v1.243zm3.732 1.867h1.243V9.04h-1.243v1.244zm-1.866 0h1.243V9.04H11.11v1.244zm-1.866 0h1.244V9.04H9.243v1.244zm1.866 1.866h1.243v-1.244H11.11v1.244z" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 547 B

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 265 B

View File

Before

Width:  |  Height:  |  Size: 429 B

After

Width:  |  Height:  |  Size: 429 B

View File

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><title>Group 4</title><path d="M1.778 1.778l12.541 12.541m-.097-12.541L1.681 14.319" stroke="#FFF" stroke-width="2" fill="none" stroke-linecap="square"/></svg>

After

Width:  |  Height:  |  Size: 242 B

View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 65 65">
<defs>
<linearGradient id="a" x1="54.638%" x2="28.129%" y1="32.594%" y2="72.266%">
<stop stop-color="#FFF" stop-opacity="0" offset="0%"/>
<stop stop-color="#FFF" stop-opacity=".275" offset="100%"/>
</linearGradient>
</defs>
<g fill="none">
<path fill="#1793D1" d="M32.253.21c-2.85 6.984-4.58 11.56-7.75 18.336 1.944 2.06 4.334 4.453 8.21 7.164-4.167-1.715-7.008-3.432-9.132-5.22C19.53 28.96 13.16 41.023.26 64.21c10.14-5.854 18.002-9.466 25.328-10.844-.313-1.35-.48-2.82-.468-4.344l.008-.32c.16-6.498 3.542-11.495 7.547-11.156 4.004.34 7.12 5.884 6.96 12.383-.03 1.22-.172 2.4-.413 3.49 7.246 1.42 15.033 5.01 25.04 10.79-1.975-3.64-3.74-6.91-5.424-10.03-2.648-2.057-5.41-4.728-11.046-7.62 3.874 1.005 6.65 2.17 8.812 3.47C39.496 18.2 38.114 13.97 32.25.21z"/>
<path fill="#FFF" fill-opacity=".166" d="M50.266 38.25C36.394 19.42 33.18 4.246 32.364.623c7.4 17.067 7.35 17.277 17.902 37.625z"/>
<path fill="url(#a)" d="M32.378.46c-.36.884-.7 1.747-1.032 2.562-.364.895-.718 1.757-1.062 2.594-.344.838-.693 1.63-1.03 2.438-.34.806-.655 1.604-1 2.406-.347.802-.727 1.613-1.095 2.437-.37.825-.76 1.658-1.16 2.532-.41.87-.83 1.8-1.28 2.75-.06.12-.13.27-.19.4 1.94 2.05 4.33 4.422 8.182 7.12-4.166-1.716-7-3.433-9.124-5.22-.11.226-.198.425-.31.656-.42.87-.87 1.733-1.345 2.69-.11.223-.194.426-.31.655-.5 1.006-1.026 2.045-1.594 3.158-.113.22-.228.4-.344.624-.344.665-1.44 2.77-2.56 4.905-.658 1.245-1.17 2.27-1.91 3.653-.208.4-.638 1.195-.75 1.406 8.126-4.573 16.892-11.216 32.814-5.53-.796-1.51-1.56-2.92-2.25-4.25-.687-1.333-1.31-2.57-1.905-3.75-.595-1.18-1.144-2.29-1.658-3.345-.512-1.054-.988-2.05-1.436-3-.45-.954-.885-1.87-1.28-2.75-.4-.88-.77-1.73-1.126-2.563-.36-.83-.695-1.655-1.03-2.47-.338-.81-.674-1.59-1-2.402-.144-.358-.265-.736-.408-1.096C34.302 5 33.43 2.936 32.378.46z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 171 171">
<g fill="none" fill-rule="evenodd">
<path fill="#932279" d="M72.064 79.272l6.17 6.133-6.17 6.134H28.64v20.435L2.155 85.405 28.64 59.28v19.99h43.424"/>
<path fill="#EFA724" d="M91.728 72.064l-6.134 6.17-6.133-6.17V28.638H59.026l26.57-26.483 26.125 26.483H91.73v43.426"/>
<path fill="#262577" d="M98.936 91.728l-6.17-6.134 6.17-6.133h43.425V59.026l26.486 26.57-26.483 26.125V91.73H98.937"/>
<path fill="#9CCD2A" d="M79.272 98.936l6.133-6.17 6.134 6.17v43.425h20.435l-26.572 26.486-26.123-26.483h19.99V98.937"/>
<g fill-rule="nonzero" stroke="#FFF" stroke-width="3.769">
<path fill="#9CCD2A" d="M27.082 27.082h52.765v52.765H27.082z"/>
<path fill="#932279" d="M91.153 27.082h52.765v52.765H91.153z"/>
<path fill="#EFA724" d="M91.153 91.153h52.765v52.765H91.153z"/>
<path fill="#262577" d="M27.082 91.153h52.765v52.765H27.082z"/>
</g>
<path stroke="#FFF" stroke-width="3.769" d="M2.884 85.5l37.31-37.31 37.31 37.31-37.31 37.31zM48.19 40.195L85.5 2.885l37.31 37.31-37.31 37.31zM93.495 85.5l37.31-37.31 37.31 37.31-37.31 37.31zM48.19 130.805l37.31-37.31 37.31 37.31-37.31 37.31z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 150">
<path fill="#000" fill-rule="nonzero" d="M124.47 116.895c-2.268 5.24-4.954 10.064-8.065 14.5-4.24 6.045-7.712 10.23-10.388 12.554-4.148 3.814-8.593 5.768-13.352 5.88-3.416 0-7.536-.973-12.333-2.946-4.81-1.963-9.234-2.935-13.277-2.935-4.24 0-8.79.97-13.653 2.934-4.872 1.973-8.797 3-11.798 3.102-4.564.195-9.113-1.815-13.653-6.037-2.897-2.528-6.522-6.862-10.865-13-4.66-6.556-8.49-14.157-11.49-22.824C2.38 98.766.77 89.7.77 80.926c0-10.053 2.172-18.723 6.523-25.99 3.42-5.835 7.968-10.438 13.662-13.818 5.693-3.38 11.845-5.102 18.47-5.212 3.624 0 8.378 1.122 14.285 3.325 5.89 2.212 9.673 3.333 11.33 3.333 1.24 0 5.443-1.31 12.566-3.924 6.736-2.425 12.42-3.43 17.078-3.034 12.62 1.02 22.1 5.994 28.406 14.956-11.286 6.84-16.87 16.417-16.758 28.705.1 9.57 3.574 17.536 10.397 23.86 3.092 2.935 6.546 5.203 10.388 6.814-.833 2.418-1.713 4.732-2.648 6.955zM95.526 3c0 7.502-2.74 14.506-8.203 20.99-6.592 7.706-14.566 12.16-23.213 11.457-.11-.9-.174-1.847-.174-2.843 0-7.2 3.135-14.908 8.702-21.21 2.78-3.19 6.315-5.844 10.602-7.96C87.517 1.35 91.564.196 95.37 0c.11 1.002.156 2.005.156 3z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 121 150">
<g fill="#A80030">
<path d="M71.917 78.85c-2.473.033.467 1.273 3.696 1.77.892-.696 1.7-1.4 2.422-2.086-2.01.493-4.057.504-6.118.315m13.273-3.31c1.472-2.04 2.545-4.26 2.924-6.56-.33 1.64-1.22 3.05-2.06 4.55-4.62 2.91-.434-1.73-.002-3.49-4.97 6.25-.682 3.75-.863 5.5m4.9-12.75c.29-4.46-.88-3.05-1.28-1.35.46.24.82 3.14 1.27 1.34M62.54 1.92c1.32.24 2.85.42 2.636.737 1.444-.32 1.77-.61-2.637-.74m2.63.73l-.94.19.87-.08.06-.114"/>
<path d="M106.328 64.48c.148 4-1.17 5.94-2.357 9.375l-2.13 1.068c-1.75 3.396.17 2.156-1.08 4.858-2.73 2.43-8.28 7.6-10.06 8.07-1.3-.03.88-1.53 1.17-2.12-3.65 2.51-2.93 3.77-8.52 5.3l-.16-.36c-13.8 6.49-32.95-6.37-32.7-23.9-.14 1.12-.41.84-.72 1.29-.71-9.02 4.17-18.084 12.4-21.784 8.05-3.98 17.488-2.346 23.25 3.026-3.164-4.146-9.47-8.543-16.94-8.132-7.313.118-14.16 4.768-16.443 9.816-3.75 2.36-4.19 9.093-5.82 10.33-2.2 16.143 4.13 23.12 14.84 31.33 1.69 1.14.473 1.31.7 2.17-3.56-1.67-6.817-4.18-9.497-7.26 1.42 2.08 2.953 4.108 4.94 5.698-3.36-1.14-7.84-8.13-9.15-8.416 5.78 10.35 23.46 18.154 32.72 14.28-4.284.16-9.726.09-14.54-1.69-2.02-1.04-4.77-3.194-4.28-3.6 12.636 4.72 25.69 3.58 36.622-5.19 2.78-2.163 5.82-5.85 6.7-5.9-1.324 1.99.224.957-.79 2.71 2.77-4.47-1.205-1.816 2.864-7.716l1.503 2.07c-.56-3.71 4.6-8.215 4.08-14.083 1.18-1.795 1.32 1.93.06 6.06 1.744-4.58.46-5.32.91-9.1.482 1.27 1.12 2.62 1.444 3.96-1.136-4.42 1.17-7.45 1.74-10.02-.565-.25-1.76 1.96-2.03-3.27.04-2.27.63-1.19.86-1.75-.447-.256-1.617-1.997-2.33-5.336.51-.787 1.38 2.03 2.08 2.15-.45-2.658-1.23-4.68-1.26-6.72-2.05-4.286-.73.57-2.39-1.84-2.185-6.81 1.81-1.58 2.08-4.674 3.31 4.79 5.19 12.22 6.06 15.3-.66-3.755-1.73-7.39-3.03-10.905 1 .427-1.62-7.72 1.3-2.322-3.11-11.5-13.352-22.24-22.78-27.28 1.154 1.057 2.61 2.38 2.087 2.59-4.69-2.79-3.864-3.01-4.535-4.19-3.82-1.55-4.07.127-6.6.005C79.4 4.56 78.013 4.965 71.39 2.573l.3 1.41c-4.77-1.59-5.557.61-10.71.01-.314-.24 1.65-.88 3.27-1.12-4.61.61-4.396-.91-8.907.17 1.12-.78 2.29-1.29 3.48-1.96-3.76.23-8.97 2.19-7.36.41-6.13 2.73-17.02 6.57-23.14 12.3l-.19-1.28c-2.8 3.36-12.21 10.04-12.96 14.397l-.75.176c-1.45 2.47-2.4 5.266-3.55 7.805-1.9 3.25-2.79 1.25-2.52 1.76-3.75 7.6-5.61 13.99-7.22 19.228 1.15 1.71.03 10.31.467 17.196-1.89 34 23.86 67.007 51.99 74.63 4.124 1.477 10.257 1.42 15.474 1.57-6.154-1.76-6.95-.93-12.946-3.02-4.324-2.036-5.27-4.36-8.335-7.02l1.21 2.142c-6.007-2.13-3.493-2.63-8.38-4.18l1.294-1.69c-1.95-.15-5.16-3.288-6.04-5.02l-2.13.08c-2.56-3.157-3.926-5.434-3.827-7.196l-.69 1.226c-.78-1.34-9.418-11.85-4.938-9.4-.83-.76-1.94-1.24-3.14-3.42l.918-1.04c-2.157-2.778-3.97-6.33-3.83-7.52 1.15 1.556 1.947 1.846 2.737 2.11-5.446-13.51-5.75-.743-9.876-13.75l.875-.07c-.67-1.01-1.076-2.1-1.615-3.18l.38-3.785C6.81 80 9.637 65.26 10.2 57.175c.39-3.29 3.27-6.79 5.46-12.275l-1.33-.23c2.55-4.45 14.568-17.878 20.13-17.187 2.7-3.387-.532-.013-1.06-.866 5.92-6.13 7.784-4.33 11.78-5.43 4.31-2.56-3.7.996-1.656-.98 7.45-1.902 5.28-4.325 15-5.29 1.02.58-2.38.9-3.237 1.66 6.204-3.04 19.64-2.35 28.37 1.682 10.125 4.73 21.503 18.72 21.95 31.883l.51.137c-.26 5.23.8 11.28-1.033 16.84l1.243-2.63"/>
<path d="M44.925 82.244l-.347 1.734c1.625 2.207 2.915 4.6 4.99 6.325-1.493-2.915-2.602-4.12-4.643-8.06m3.842-.15c-.86-.95-1.37-2.096-1.94-3.237.546 2.005 1.662 3.728 2.7 5.48l-.76-2.243m67.987-14.777l-.363.91c-.66 4.732-2.1 9.413-4.3 13.754 2.44-4.58 4.01-9.59 4.67-14.664M63.03.74C64.7.126 67.138.402 68.912 0 66.6.194 64.3.31 62.028.603l1 .136m-58.7 31.21c.386 3.56-2.683 4.95.68 2.6 1.803-4.07-.704-1.13-.68-2.6M.376 48.46c.775-2.377.915-3.805 1.21-5.182-2.14 2.738-.984 3.32-1.21 5.183"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 153 150">
<g fill="#B5010F">
<path d="M150.43 3.04c8.04 8.038-14.25 43.364-18.017 47.134-3.768 3.762-13.34.3-21.376-7.738-8.04-8.036-11.504-17.61-7.735-21.377 3.766-3.77 39.09-26.06 47.128-18.02m-112.75 8.5C25.408 4.58 7.94-3.17 2.385 2.39c-5.63 5.627 2.4 23.486 9.44 35.783 6.262-10.89 15.17-20.055 25.857-26.63"/>
<path d="M138.17 47.402c1.13 3.834.926 7-.908 8.83-4.28 4.284-15.847-.276-26.274-10.2-.727-.65-1.45-1.328-2.158-2.04-3.77-3.77-6.704-7.785-8.58-11.482-3.652-6.55-4.566-12.337-1.805-15.097 1.504-1.503 3.91-1.913 6.846-1.384 1.92-1.22 4.18-2.56 6.66-3.95-10.08-5.25-21.54-8.22-33.69-8.22-40.31 0-72.99 32.67-72.99 72.982 0 40.305 32.68 72.982 72.99 72.982 40.31 0 72.99-32.68 72.99-72.985 0-13.017-3.416-25.224-9.384-35.807-1.29 2.354-2.544 4.51-3.69 6.36"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 850 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 138 150">
<path d="M83.333 111.25l22.5-12.5V13.333L83.333 0v63.75h-28.75v-25l-22.916 12.5v85.417L54.583 150V86.25h28.75"/>
<path d="M116.667 19.167v86.666l-33.334 18.334V150l54.167-31.25v-87.5M54.583 0L0 31.25v87.5l21.25 12.083V44.167l33.333-18.334"/>
</svg>

After

Width:  |  Height:  |  Size: 316 B

View File

@ -0,0 +1,112 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 544 664">
<defs>
<linearGradient id="a" x1="49.181%" x2="49.482%" y1="115.284%" y2="41.252%">
<stop stop-color="#FFEED7" offset="0%"/>
<stop stop-color="#BDBFC2" offset="100%"/>
</linearGradient>
<linearGradient id="b" x1="47.425%" x2="41.754%" y1="2.019%" y2="90.126%">
<stop stop-color="#FFF" stop-opacity=".8" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="c" x1="46.201%" x2="49.215%" y1="87.917%" y2="9.628%">
<stop stop-color="#FFEED7" offset="0%"/>
<stop stop-color="#BDBFC2" offset="100%"/>
</linearGradient>
<linearGradient id="d" x1="51.73%" x2="49.844%" y1="85.418%" y2="13.617%">
<stop stop-color="#FFEED7" offset="0%"/>
<stop stop-color="#BDBFC2" offset="100%"/>
</linearGradient>
<linearGradient id="e" x1="46.558%" x2="41.366%" y1="2.882%" y2="93.366%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="f" x1="70.346%" x2="64.553%" y1="5.94%" y2="94.063%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="g" x1="50%" x2="50%" y1="89.843%" y2="40.625%">
<stop stop-color="#FFEED7" offset="0%"/>
<stop stop-color="#BDBFC2" offset="100%"/>
</linearGradient>
<linearGradient id="h" x1="43.569%" x2="45.399%" y1="98.882%" y2="23.094%">
<stop stop-color="#FFEED7" offset="0%"/>
<stop stop-color="#BDBFC2" offset="100%"/>
</linearGradient>
<linearGradient id="i" x1="50%" x2="50.4%" y1="13.171%" y2="94.634%">
<stop stop-color="#FFF" stop-opacity=".8" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="j" x1="50.8%" x2="51.6%" y1="37.436%" y2="92.821%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="k" x1="50%" x2="50%" y1="2.344%" y2="81.25%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="l" x1="57.152%" x2="57.142%" y1="2.344%" y2="71.875%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="m" x1="60.793%" x2="46.264%" y1="51.06%" y2="100.24%">
<stop stop-color="#FFA63F" offset="0%"/>
<stop stop-color="#FF0" offset="100%"/>
</linearGradient>
<linearGradient id="n" x1="94.027%" x2="19.452%" y1="129.341%" y2="-67.53%">
<stop stop-color="#FFEED7" offset="0%"/>
<stop stop-color="#BDBFC2" offset="100%"/>
</linearGradient>
<linearGradient id="o" x1="50.09%" x2="40.875%" y1="34.285%" y2="100.443%">
<stop stop-color="#FFA63F" offset="0%"/>
<stop stop-color="#FF0" offset="100%"/>
</linearGradient>
<linearGradient id="p" x1="-30.509%" x2="15.632%" y1="9.949%" y2="94.191%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="q" x1="43.398%" x2="48.705%" y1="2.218%" y2="102.569%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="r" x1="46.741%" x2="86.742%" y1="-3.616%" y2="75.858%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
<linearGradient id="s" x1="50%" x2="50.826%" y1="17.631%" y2="99.339%">
<stop stop-color="#FFA63F" offset="0%"/>
<stop stop-color="#FF0" offset="100%"/>
</linearGradient>
<linearGradient id="t" x1="55.881%" x2="55.392%" y1="3.119%" y2="94.531%">
<stop stop-color="#FFF" stop-opacity=".65" offset="0%"/>
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
</linearGradient>
</defs>
<g fill="none" fill-rule="evenodd">
<path fill="#000" fill-rule="nonzero" d="M111.235 528.542c-27.985-40.278-33.442-171.23 31.86-251.787 32.357-38.648 40.612-65.58 43.163-101.74 1.736-41.225-29.156-164.304 87.354-173.68C391.62-8.08 385.282 108.41 384.602 170.052c-.563 52.05 38.218 81.552 64.746 122.12 49.1 74.537 44.946 202.874-9.25 272.34-68.645 86.96-127.44 49.247-166.486 52.412-73.117 4.002-75.534 42.988-162.377-88.382z"/>
<path fill="url(#a)" fill-rule="nonzero" d="M443.264 299.383c-20.53 18.382-74.476 101.638 8.168 154.99 29.137 18.584-27.473 87.52-53.69 53.41-46.25-61.22-14.814-157.315 13.95-191.512 19.546-24.25 49.034-33.35 31.572-16.88z" transform="matrix(-1 0 0 1 843.1 6)"/>
<path fill="#000" fill-rule="nonzero" stroke="#000" stroke-width="1.566" d="M390.554 288.337c33.41 26.996 94.238 122.038 5.516 183.773-29.14 19.247 25.823 79.94 56.684 48.895 107.302-107.91-2.8-231.996-40.7-274.654-33.873-37.09-63.878 8.77-21.5 41.99z"/>
<path fill="url(#b)" fill-rule="nonzero" d="M338.348 63.578c0 20.035-14.11 38.547-37.016 48.565-22.906 10.017-51.127 10.017-74.033 0-22.91-10.018-37.02-28.53-37.02-48.565 0-30.97 33.14-56.077 74.03-56.077s74.03 25.11 74.03 56.08z" transform="rotate(2.1 245.8 181)"/>
<path fill="url(#c)" fill-rule="nonzero" d="M240.512 134.393c0 20.15-10.582 36.486-23.634 36.486-13.053 0-23.634-16.34-23.634-36.49 0-13.04 4.505-25.08 11.817-31.6 7.32-6.52 16.33-6.52 23.64 0 7.31 6.514 11.82 18.56 11.82 31.594z" transform="rotate(-3.4 231.7 62.9)"/>
<path fill="url(#d)" fill-rule="nonzero" d="M329.64 133.672c0 23.28-14.668 42.152-32.764 42.152-18.096 0-32.766-18.872-32.766-42.152 0-15.06 6.245-28.976 16.383-36.505 10.138-7.53 22.628-7.53 32.765 0 10.138 7.53 16.383 21.445 16.383 36.505z" transform="matrix(-1 0 0 1 595.6 -4.4)"/>
<path fill="#000" fill-rule="nonzero" d="M283.36 140.28c-.283 12.775 6.153 23.28 14.374 23.462 8.22.182 15.115-10.028 15.398-22.804.183-8.264-2.485-15.964-7-20.2-4.513-4.233-10.188-4.36-14.885-.328-4.697 4.03-7.704 11.604-7.887 19.87zm-52.122.493c1.223 10.556-2.603 19.67-8.545 20.36-5.94.687-11.75-7.312-12.97-17.868-.792-6.83.528-13.376 3.462-17.176 2.933-3.8 7.034-4.28 10.758-1.25 3.724 3.03 6.505 9.1 7.295 15.93z"/>
<path fill="url(#e)" fill-rule="nonzero" d="M299.932 133.182c0 7.16-3.9 12.966-8.713 12.966-4.82 0-8.72-5.805-8.72-12.966 0-4.632 1.66-8.912 4.354-11.23 2.696-2.315 6.017-2.315 8.713 0 2.695 2.318 4.356 6.598 4.356 11.23z" transform="matrix(-1 -.1 -.1 1 598.2 29.6)"/>
<path fill="url(#f)" fill-rule="nonzero" d="M222 135.095c0 6.003-2.91 10.87-6.497 10.87-3.59 0-6.498-4.867-6.498-10.87 0-3.884 1.24-7.473 3.25-9.415 2.01-1.942 4.486-1.942 6.497 0 2.01 1.942 3.25 5.53 3.25 9.415z" transform="rotate(-6.6 224.1 98.7)"/>
<path fill="url(#g)" fill-rule="nonzero" d="M150.83 356.05c16.046-36.377 50.144-100.28 50.87-149.696 0-39.303 117.724-48.69 127.172-9.448 9.447 39.242 33.426 98.104 48.687 126.445 15.26 28.34 59.76 118.37 12.35 196.94-42.7 69.558-172.16 124.58-241.26-9.444-23.26-46.51-19.11-104.143 2.18-154.786z" transform="translate(4.2 .7)"/>
<path fill="url(#h)" fill-rule="nonzero" d="M144.186 328.062c-15.698 24.774-49.48 90.528 16.917 133.288 71.517 45.48 64.774 126.777-21.753 80.923-79.135-41.52-31.84-179.96-6.286-211.943 16.875-22.484 41.67-49.674 11.122-2.268z" transform="rotate(-4.2 165.1 371.4)"/>
<path fill="#000" fill-rule="nonzero" stroke="#000" stroke-width="1.563" d="M152.295 300.345c-21.83 35.635-74.22 119.766-4.11 163.404 94.46 57.94 67.716 115.88-18.5 63.71C8.3 454.63 114.905 307.94 163.6 252.04c55.555-62.75 10.693 11.36-11.305 48.3z"/>
<path fill="url(#i)" fill-rule="nonzero" d="M360.848 369.86c0 39.713-38.115 91.3-103.552 90.837-67.485.558-96.29-51.124-96.29-90.837s44.766-71.943 99.922-71.943 99.92 32.23 99.92 71.943z" transform="translate(4.2 .7)"/>
<path fill="url(#j)" fill-rule="nonzero" d="M325.24 244.87c-.728 41.16-27.51 50.87-61.406 50.87s-58.5-6.077-61.406-50.87c0-28.08 27.51-44.328 61.406-44.328 33.895 0 61.405 16.25 61.405 44.33z" transform="translate(4.2 .7)"/>
<path fill="url(#k)" fill-rule="nonzero" d="M120.31 308.09c22.145-33.746 68.77-85.456 8.72 7.265-48.687 76.304-18.002 125.34-2.178 138.8 45.658 40.7 43.707 67.935 7.993 46.506-77.03-45.78-61.043-122.81-14.535-192.57z" transform="translate(4.2 .7)"/>
<path fill="url(#l)" fill-rule="nonzero" d="M440.78 321.895c-19.146-39.626-80.165-139.877 2.91-23.254 75.576 105.38 22.527 178.77 13.08 186.04-9.446 7.27-41.42 21.8-31.974-3.63 9.446-25.433 56.543-73.715 15.986-159.145z" transform="translate(4.2 .7)"/>
<path fill="url(#m)" fill-rule="nonzero" stroke="#E68C3F" stroke-width="7.813" d="M103.598 633.646C53.045 606.876-20.467 638.8 6.22 566.064c5.345-16.548-7.968-41.26.727-57.408 10.173-19.622 31.975-15.26 45.056-28.342C64.9 466.7 73.076 443.252 97.058 446.886c23.98 3.634 39.93 33.076 56.68 69.036 12.353 25.798 56.176 62.08 53.312 90.948-3.37 44.375-53.784 52.737-103.452 26.776z" transform="translate(4.2 .7)"/>
<path fill="url(#n)" fill-rule="nonzero" d="M471.962 442.628c-1.972 16.49-23.484 50.735-45.585 53.984-22.466 3.533-43.562-22.55-48.62-47.085-6.486-27.282 14.81-38.136 47.17-37.492 34.953 1.095 48.605 9.197 47.035 30.593z" transform="rotate(21.8 424.5 465.9)"/>
<path fill="url(#o)" fill-rule="nonzero" stroke="#E68C3F" stroke-width="7.816" d="M422.002 627.53c-51.36-29.677-124.144 7.05-96.017-69.88 5.886-16.44-8.197-42.208.447-58.46 10.115-19.748 32.065-14.674 45.07-27.84 12.823-13.7 23.398-35.058 47.24-31.4 23.84 3.657 37.254 31.047 53.906 67.238 12.282 25.963 53.954 61.606 51.107 90.66-3.35 44.66-53.096 57.202-101.753 29.682z" transform="matrix(-.9 .4 .4 .9 613 -118.3)"/>
<path fill="url(#p)" fill-rule="nonzero" d="M392.175 569.75c-87.022-60.14-47.576-74.215-37.052-85.16 10.377-11.39 18.934-29.147 38.228-26.107 19.3 3.04 30.15 25.813 43.63 55.9 9.94 21.586 43.305 51.164 41.358 75.373-2.63 28.354-48.463 5.74-86.154-20.005z" transform="matrix(-.9 .4 .4 .9 566.8 -119.7)"/>
<path fill="url(#q)" fill-rule="nonzero" d="M92.513 572.445c-87.02-60.142-47.062-76.947-34.138-85.01 15.486-10.4 15.244-32.246 34.538-29.206 19.292 3.04 30.9 27.3 44.374 57.39 9.94 21.58 43.304 51.16 41.357 75.37-2.63 28.35-48.44 7.19-86.13-18.55z" transform="rotate(1 67.3 776.8)"/>
<path fill="#000" fill-rule="nonzero" d="M471.258 462.296c-6.524 11.77-33.848 30.69-52.308 26.13-18.832-4.462-27.666-30.75-24.28-50.792 3.083-22.56 23.195-23.97 48.597-13.233 27.315 11.9 35.674 22.32 27.99 37.9z"/>
<path fill="url(#r)" fill-rule="nonzero" d="M448.335 444.335c-1.148 9.137-13.67 28.11-26.536 29.91-13.08 1.958-25.36-12.494-28.31-26.087-3.777-15.116 8.62-21.13 27.46-20.774 20.342.607 28.29 5.096 27.38 16.95z" transform="rotate(20.1 420.6 463.2)"/>
<path fill="url(#s)" fill-rule="nonzero" stroke="#E68C3F" stroke-width="4.688" d="M214.897 160.906c8.933-8.462 31.013-33.832 72.45-7.194 7.703 5.013 13.953 5.472 28.777 11.82 29.657 12.185 15.477 41.573-15.93 51.384-13.447 4.362-25.67 20.695-50.16 19.3-20.92-1.222-26.4-14.844-39.25-22.383-22.835-12.89-26.205-30.318-13.874-39.567 12.333-9.248 17.156-12.573 17.987-13.36z" transform="translate(4.2 .7)"/>
<path stroke="#E68C3F" stroke-width="3.125" d="M320.718 185.25c-12.354.727-39.242 27.615-67.583 27.615-28.34 0-45.055-26.16-49.415-26.16"/>
<path fill="url(#t)" fill-rule="nonzero" d="M228.98 158.587c4.49-4.033 18.644-15.1 37.416-3.77 3.955 2.244 8.04 4.685 14.113 8.02 12.03 6.998 6.07 17.083-8.35 23.464-6.54 2.68-17.327 8.59-25.538 8.18-9.125-.84-15.03-6.79-21.077-10.663-11.094-7.33-10.42-13.246-5.267-18.173 3.896-3.383 8.28-6.674 8.694-7.05z" transform="translate(4.2 .7)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 150">
<path fill="#000" fill-rule="nonzero" d="M124.47 116.895c-2.268 5.24-4.954 10.064-8.065 14.5-4.24 6.045-7.712 10.23-10.388 12.554-4.148 3.814-8.593 5.768-13.352 5.88-3.416 0-7.536-.973-12.333-2.946-4.81-1.963-9.234-2.935-13.277-2.935-4.24 0-8.79.97-13.653 2.934-4.872 1.973-8.797 3-11.798 3.102-4.564.195-9.113-1.815-13.653-6.037-2.897-2.528-6.522-6.862-10.865-13-4.66-6.556-8.49-14.157-11.49-22.824C2.38 98.766.77 89.7.77 80.926c0-10.053 2.172-18.723 6.523-25.99 3.42-5.835 7.968-10.438 13.662-13.818 5.693-3.38 11.845-5.102 18.47-5.212 3.624 0 8.378 1.122 14.285 3.325 5.89 2.212 9.673 3.333 11.33 3.333 1.24 0 5.443-1.31 12.566-3.924 6.736-2.425 12.42-3.43 17.078-3.034 12.62 1.02 22.1 5.994 28.406 14.956-11.286 6.84-16.87 16.417-16.758 28.705.1 9.57 3.574 17.536 10.397 23.86 3.092 2.935 6.546 5.203 10.388 6.814-.833 2.418-1.713 4.732-2.648 6.955zM95.526 3c0 7.502-2.74 14.506-8.203 20.99-6.592 7.706-14.566 12.16-23.213 11.457-.11-.9-.174-1.847-.174-2.843 0-7.2 3.135-14.908 8.702-21.21 2.78-3.19 6.315-5.844 10.602-7.96C87.517 1.35 91.564.196 95.37 0c.11 1.002.156 2.005.156 3z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 197 148">
<g fill="none">
<path fill="#777" d="M37.966 10.474s-.557-1.27-2.13-.42c-1.307.71-.627 2.02-.627 2.02L59.77 62.93h5.96L37.96 10.473m69.74 131.735l-18.58-35.112h-8.004l18.67 38.644s1.882 3.637 5.92 1.626c4.035-2.01 2.002-5.158 2.002-5.158"/>
<path fill="#F26711" d="M176.214 6.99c-23.294-10.944-44.37-5.717-67.94 1.187-23.73 6.948-44.838 10.708-68.55 1.238 2.583 4.518 3.876 6.777 6.46 11.292 2.374 4.153 4.75 8.305 7.124 12.456l6.46 11.29c18.88 5.224 34.514-1.55 51.29-9.76 20.147-9.853 38.344-18.717 61.362-13.58-19.453-9.536-37.087-7.172-57.426-1.77C134.907 9.42 153.654 1.7 176.214 6.99M38.274 88.16c0 3.81 0 7.498.12 9.433-.42.7-2.095 1.348-3.53 1.348-.06 0-2.036-2.98-4.85-6.38L16.19 75.8c-3.41-4.22-5.445-6.62-6.522-7.5-.3.584-.3 1.58-.3 3.75v11.37c0 4.742.24 9.14.9 10.72.537 1.23 1.913 1.58 3.47 1.87l1.675.23c.478.47.36 1.7 0 2.05-3.232-.114-5.625-.175-8.02-.175-2.213 0-4.427.06-6.7.176-.36-.35-.48-1.58 0-2.05l1.016-.17c1.61-.35 2.75-.7 3.29-1.93.59-1.58.83-5.97.83-10.72V68.53c0-3.22 0-4.157-.42-4.977-.41-.997-1.31-1.583-3.4-1.993l-1.68-.235c-.42-.47-.36-1.874.23-2.05 2.81.115 5.8.176 8.26.176 2.03 0 3.77-.05 5.03-.17.6 2.64 4.49 7.09 9.88 13.36l5.03 5.8c2.69 3.05 4.36 5.1 5.74 6.45.24-.58.24-1.58.24-2.63v-8.09c0-4.74-.24-9.14-.9-10.72-.54-1.23-1.86-1.58-3.47-1.87l-1.62-.23c-.48-.47-.36-1.7 0-2.05 3.23.12 5.56.18 8.02.18 2.21 0 4.37-.05 6.7-.17.36.36.48 1.58 0 2.05l-1.08.18c-1.56.36-2.69.71-3.23 1.94-.66 1.58-.9 5.98-.9 10.726v14"/>
<path fill="#F26711" d="M52.492 81.656c.84 0 1.795-.12 2.455-.527.3-.18.417-.77.417-1.35 0-1.94-1.136-3.23-3.17-3.23-2.515 0-4.67 2.34-4.67 4.22 0 .82.838.88 2.754.88h2.214zm-3.95 2.577c-1.375 0-1.495.117-1.495 1.054 0 4.396 2.873 8.672 8.438 8.672 1.676 0 3.95-.35 5.565-3.05.66-.12 1.557.35 1.557 1.34-2.454 4.98-6.882 6.68-10.474 6.68-8.08 0-12.447-5.57-12.447-11.96 0-7.39 5.446-13.13 12.926-13.13 6.224 0 9.575 3.92 9.575 8.43 0 1.11-.3 1.93-2.153 1.93h-11.49zm25.445-6.385c-.777 0-.837.057-.837 1.348v8.786c0 3.283 0 6.916 4.19 6.916.837 0 1.794-.41 2.513-.878.597.174.957.818.836 1.522-1.68 1.757-4.91 3.4-8.62 3.4-4.97 0-6.71-2.814-6.71-6.683V79.19c0-1.232-.06-1.348-1.14-1.348h-1.85c-.66-.24-.84-1.407-.36-1.82 1.85-.64 3.53-1.697 4.97-2.633 1.07-.76 2.57-1.99 4.42-4.58.42-.23 1.5-.17 1.79.29v4.4c0 1.11.06 1.17 1.13 1.17h5.32c.3.23.48.58.48 1.11 0 .64-.18 1.69-.78 2.05h-5.39"/>
<path fill="#777" d="M95.6 88.217c0 4.57.6 7.44 5.268 7.44 4.428 0 6.76-3.338 6.76-8.085 0-5.097-2.99-8.67-8.735-8.67-3.293 0-3.293.058-3.293 2.403v6.912zm0-13.534c0 1.524.06 1.64 3.172 1.64 5.147 0 7.062-3.22 7.062-6.737 0-5.097-3.232-7.617-7.362-7.617-2.81 0-2.872.47-2.872 3.04v9.66zM87.34 69c0-5.917-.12-6.56-2.632-6.855l-1.616-.236c-.54-.3-.66-2.05.24-2.11 4.548-.3 8.917-.53 14.902-.53 5.744 0 9.576.64 12.208 2.17 2.573 1.52 4.128 3.98 4.128 7.44 0 4.92-4.248 6.85-6.103 7.32-.6.11-1.198.35-1.198.64 0 .17.3.35.84.47 4.72.99 8.73 4.04 8.79 9.72.06 5.39-3.23 8.55-7 9.84-3.77 1.28-8.26 1.46-11.91 1.46-2.16 0-4.43-.24-6.17-.24-2.94 0-5.87.06-9.28.17-.48-.35-.48-1.88 0-2.05l1.73-.35c2.69-.53 3.05-.94 3.05-6.21V69zm42.617 30.056c-5.505 0-8.917-1.523-10.173-2.225-1.136-1.28-1.914-5.5-1.914-9.49.418-.76 1.795-.82 2.274-.17 1.196 3.81 5.205 9.2 10.293 9.2 4.427 0 6.464-2.99 6.464-5.92 0-4.74-4.54-7.55-8.14-9.31-4.3-2.11-8.97-5.62-9.03-11.42 0-6.62 5.21-11.19 13.89-11.19 1.98 0 4.43.24 6.83.94.78.23 1.32.35 2.04.47.48 1.29 1.08 4.46 1.08 8.38-.3.7-1.79.76-2.33.18-1.02-2.99-3.59-7.27-7.9-7.27-3.95 0-6.1 2.52-6.1 5.45 0 2.7 2.45 5.16 5.45 6.68l3.96 2.05c3.71 1.94 8.44 5.33 8.44 11.78 0 7.21-6.05 11.9-15.082 11.9"/>
<path fill="#777" d="M158.184 87.512c0 3.225.12 5.333 1.197 6.564 1.08 1.173 2.82 1.7 4.97 1.7 10.35 0 13.89-9.02 13.89-16.992 0-10.546-5.68-16.815-16.52-16.815-1.61 0-2.75.29-3.11.76-.36.46-.42 1.58-.42 3.39v21.39zm-8.557-18.572c0-5.565-.12-6.678-2.873-6.97l-1.136-.117c-.598-.293-.598-1.994.12-2.053 5.027-.292 9.694-.528 16.04-.528 4.906 0 9.812.473 13.942 1.935 7.84 2.753 12.148 9.667 12.148 16.99 0 7.852-3.83 14.18-10.71 17.52-4.07 1.993-8.98 2.752-15.143 2.752-2.81 0-5.806-.36-7.96-.36-2.873 0-5.925.06-9.335.17-.478-.35-.478-1.76 0-2.05l1.855-.3c2.693-.47 3.052-.88 3.052-6.27V68.94zm35.993-5.17c0-1.452.525-2.69 1.577-3.718 1.05-1.027 2.32-1.54 3.8-1.54 1.482 0 2.75.513 3.798 1.54 1.048 1.027 1.573 2.266 1.573 3.717 0 1.45-.525 2.69-1.573 3.72-1.05 1.03-2.316 1.54-3.797 1.54-1.482 0-2.75-.52-3.8-1.55-1.053-1.03-1.58-2.27-1.58-3.72zm9.867 0c0-1.216-.437-2.253-1.313-3.11-.876-.858-1.934-1.287-3.176-1.287-1.242 0-2.302.43-3.18 1.286-.88.85-1.318 1.89-1.318 3.11 0 1.21.44 2.25 1.318 3.11.878.86 1.938 1.29 3.18 1.29 1.242 0 2.3-.43 3.176-1.29.876-.86 1.313-1.9 1.313-3.12zm-2.82 3.165l-1.686-2.788h-.95v2.788h-.94v-6.468h1.7c1.59 0 2.39.597 2.39 1.79 0 .83-.43 1.417-1.28 1.76l1.81 2.918h-1.02zm-2.642-5.685v2.163c.08.01.285.014.618.014.613 0 1.026-.076 1.237-.23.212-.154.318-.448.318-.882 0-.715-.476-1.073-1.428-1.073h-.372l-.373.008z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,742 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 174 150">
<defs>
<radialGradient id="a" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#EED26A" offset="73.1%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="b" r="71.529%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="c" r="95.965%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="d" r="76.495%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="e" r="90.68%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="f" cx="-142.012%" cy="157.813%" r="1292.725%" fx="-142.012%" fy="157.813%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="g" r="105.04%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="h" r="90.477%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="i" r="139.124%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="j" r="107.054%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="k" r="152.143%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
<radialGradient id="l" r="126.107%" fx="50%" fy="50%">
<stop stop-color="#FFF68E" offset="0%"/>
<stop stop-color="#FAEA82" offset="50%"/>
<stop stop-color="#D6AA4A" offset="100%"/>
</radialGradient>
</defs>
<g fill="none">
<path fill="#000" d="M99.18.888c-1.455 3.382-1.047 7.327-2.107 10.842-.245.81-1.045 3.256-2.216 3.087-2.394-.347-1.154-4.946-3.917-5.038l.867 6.72c-4.15.52-3.585-5.96-5.27-8.59-1.944-3.04-2.413 1.37-2.283 2.73.083.87.26 1.73.364 2.6.18 1.51.224 2.82.033 4.34-3.96-.05-2.51-5.27-5.42-6.07l.22 6.29c-4.4-.04-6.4-4.01-8.33-7.38-.8-1.41-1.88-4.12-3.81-3.26.91 3.91 3.04 7.65 3.26 11.71.06 1.05-.93 3.72-2.39 3.23-3.36-1.14-2.91-7.25-5.72-8.85-.57-.33-1.46-.04-2.08-.02 0 3.24 1.43 7.16 2.56 10.19.25.65.93 2.94-.49 2.9-2.54-.08-3.17-5-5.75-4.42.32 1.32 1.11 2.4 1.55 3.68.27.78.77 1.57.91 2.38.32 1.78-1.93 1.92-3.1 1.58-2.76-.81-4.75-3.07-6.72-5.05-.55-.55-1.99-2.48-2.9-1.6-1.01.97.98 2.68 1.54 3.33 1.69 1.95 3.52 4.23 4.32 6.72.35 1.07.42 2.59-.64 3.32-1.05.73-2.76-.59-3.61-1.15-2.6-1.71-5.18-4.7-8.46-4.77l-.76 1.95 2.09 2.82 5.4 6.07-6.29-2.6c.25 1.64 4.19 3.64 3.42 5.33-.46 1-2.74 1.02-3.64.89-3.2-.45-5.47-2.84-8.46-3.7-2.63-.75-2.14 1.29-.65 2.47.52.41 1.02.84 1.52 1.27.9.78 1.76 1.57 2.61 2.41 1.32 1.32 2.47 2.72 3.69 4.12l-6.29-.22v.43l6.08 2.82-1.08 4.34c-1.75-.01-3.18-.48-4.77-1.18-1.09-.47-2.23-1.26-3.47-1.17-1.48.1-2.36 1.45-1.37 2.71 1.49 1.89 4.46 2.97 6.36 4.44.72.56 1.77 1.52.95 2.48-1.61 1.89-5.98-.54-8.11.09v.43c1.98 1.15 6.04 1.81 7.2 3.94.91 1.66-1.67 5.44-3.51 5.29-1.63-.13-3.13-1.98-4.33-2.94-2.88-2.32-5.96-5.04-9.32-6.64-5.78-2.72-11.5 1.64-16.07 4.48.59 1.85 2.89-.12 4.34.21 1.95.44 3.43 2.26 4.68 3.7 6.04 6.95 11.09 14.83 13.35 23.85.6 2.37 1.61 5.21-.16 7.34-.47.57-1.18.64-1.71 1.11-.39.35-.37.85.17 1.02 1 .3 2.45-.16 3.42-.39 3.19-.77 6.82-2.49 8.27-5.61.9-1.95 1.22-5.73 3.45-6.51.5 2.08 2.84 4.84 2.61 6.94-.2 1.86-2.16 4.02-3.31 5.4-.41.49-1.39 1.56-.8 2.26.58.7 1.79-.81 2.15-1.15 1.65-1.56 5.24-4.01 6.22-.44.85 3.1-1.88 8.11-3.24 10.84-.38.76-2.13 3.13-1.44 3.98.78.97 2.43-1.57 2.78-2.03 1.37-1.79 6.15-7.09 8.7-5.19 3.1 2.33 2.03 3.99.86 7.14-.33.89-1.55 3.12-.72 3.96.81.82 1.86.07 2.28-.71.74-1.41 2.75-5.6 4.75-4.53 1.25.67 3.17 1.81 3.9 3.06 1.14 1.96.15 5.86-.16 7.99-.17 1.22-1.49 5.04-.4 5.93 1.01.81 1.82-1.64 2.13-2.25 1.07-2.12 2.3-4.3 3.89-6.07.57-.64 1.38-1.71 2.35-1.53 5.04.94-.11 5.96 1.96 8.52.42.51 1.55.48 2.16.59l2.6-6.72c1.33.51 3.27.69 4.25 1.78.82.92.98 2.47 1.22 3.64.66 3.27 1.03 6.44.61 9.76.41.3 1.06.99 1.62.63.7-.45.79-2.27 1.03-3.02.77-2.4 1.94-4.68 3.02-6.94.72-1.49 2.67-3.08 4.07-1.03 1.45 2.1.87 5.78 1.77 8.18 2.31-1.14 2.56-5.93 2.6-8.24l2.99.43 1.8 3.68 3.24 9.33c1.67-.65 1.14-3.87 1.33-5.42.26-2.11.74-6.34 2.29-7.91.62-.63 1.86-.68 2.67-.99.92 2.24 1.42 4.79 2.54 6.94.43.84 1.42 1.74 2.42 1.23.96-.49.92-1.61.8-2.53-.3-2.25-.81-4.46-.99-6.72 4.3-.31 6.82 3.17 9.53 6.07 1.046 1.12 1.955 2.6 3.49 3.03l-2.23-6.51-1.24-6.07c1.56-.65 4.86-3.84 6.51-3.38 2.45.69 4.32 7.52 7.36 5.91 1.3-.68.63-1.84.02-2.75-.91-1.35-3.63-4.59-3.34-6.29.22-1.25 2.33-2.72 3.55-2.7 2.81.04 7.7 2.18 9.33 4.44l1.95-.22c-.29-3.88-6.11-5.65-6.94-9.54-.08-.39-.07-.85.03-1.24.61-2.49 2.11-1.4 3.66-.73.48.21 1.54.75 1.94.15.44-.66-.34-1.527-.63-2.077-.58-1.12-1.12-2.42-.88-3.687 2.02.53 3.27 1.73 4.98 2.87.4.27 1.29.94 1.81.57.53-.4-.26-1.2-.51-1.49-.77-.89-3.11-3.03-2.88-4.32.15-.87 1.63-1.81 2.23-2.4 1.98-1.98 4.24-4 5.85-6.29h.22c3.83 4.47 15.836 1.33 14.31-5.42-.955.13-1.84.89-2.82.55-4.27-1.47-3.24-8.32-8.02-8.36-.35-4.46-2.14-8.92-4.306-12.8-.99-1.78-3.056-3.41-3.776-5.22-.4-1-.33-2.59-.38-3.67 2.503-.39 1.27-2.93.353-4.34-1.01-1.57-2.09-3.43-3.41-4.75-1.63-1.62-4.04-2.68-3.83-5.44.19-2.57 4.61-2.24 5.36-4.55-1.31.06-2.61.38-3.904.6-3.22.535-3.78-.55-2.27-3.42 1.31-2.504 3.408-4.41 5.25-6.5.59-.67 2.41-2.2 1.478-3.17-.78-.8-2.06.42-2.72.86-2.39 1.59-5.06 2.76-7.8 3.61-.82.253-3.22 1.194-3.5-.25-.37-1.955 3.33-2.32 2.84-4.515-1.48.35-4.39 2.69-5.81 1.6-1.71-1.3.8-4.63 1.07-6.16.27-1.55-.974-1.602-1.85-.632-.31.34-.59.71-.87 1.07-.49.62-.9 1.23-1.22 1.95-3.55-2.07 3.17-4.48 1.9-6.4-.45-.68-1.28 0-1.69.354-.84.735-4.01 4.39-4.7 1.71-.76-2.97.78-6.53 1.58-9.33.207-.73 1.15-2.7.23-3.223-1.33-.77-1.92 1.817-2.23 2.575-.96 2.335-2.55 4.36-4.42 6.036-.62.55-1.66 1.62-2.59 1.36-1.34-.37-1.35-4.09-1.3-5.23.02-.54.32-1.47-.21-1.87-.69-.51-1.05.52-1.15 1.01-.33 1.597-1.325 6.16-3.69 3.167-2.14-2.7 1.17-8.32-3.2-9.46l-2.38 7.59c-2.86-.62-2.225-4.71-1.52-6.94l-1.3-.43c-.21.89-.5 1.75-.806 2.61-1.156 3.24-2.7 3.87-3.89.22-.91-2.79-.587-5.81-1.04-8.68-.18-1.143-.287-2.303-1.42-2.82z"/>
<path fill="url(#a)" d="M98.793 6.87c-.128 6.195-2 10.837-8.89 10.842l2.384 9.76c-2.588-2.714-3.53-6.51-4.698-9.977-.75-2.2-1.69-4.412-2.03-6.722h-.22c.08 3.914.9 7.8.12 11.71-.44 2.15-1.65 3.82-2.29 5.855h-.22l1.3-9.542c-4.85.383-9.02 1.116-12.2-3.47-.69-.996-1.22-2.137-1.69-3.252h-.22c.54 3.628 3.77 7.862-.02 10.906-.58.465-1.25.75-1.93 1.02l3.43 5.197 1.99 2.61c-5.49-3.633-8.75-9.96-11.5-15.83h-.21c.7 4.67 3.53 8.893 4.24 13.662.24 1.65.89 4-.56 5.2l-1.73-8.24c-2.53 1.31-4.47 5.25-7.81 4.69-1.42-.24-2.57-1.39-3.91-1.88.62 1.98 2.36 3.86 1.37 6.07-.37.81-1.09 1.44-1.59 2.17l6.94 2.6c-1.27 1.51-3.91.32-5.43-.39-2.88-1.35-5.44-3.13-8.03-4.97-1.47-1.05-3.19-2.54-4.99-2.88 1.11 2.36 3.94 4.37 5.86 6.11 1.58 1.43 2.76 3.08 4.1 4.73 1.31 1.62 3.03 3.45 2.4 5.64-2.31-2.33-4.32-4.02-7.81-3.2-1.26.29-2.33 1.04-3.69 1-2.41-.06-4.74-1.29-6.94-2.14 1.28 2.73 4.65 4.21 5.36 7.37.53 2.32-1.14 5.28-1.45 7.59l7.37 1.08v.43c-6.32 1.67-10.78-1.8-16.7-2.82v.22c4 1.89 8.52 5.08 11.37 8.46 1.04 1.23 2.31 2.65 2.3 4.33-1.17-.95-3.37-3.41-4.99-3.16-1.29.19-1.72 1.63-1.89 2.72-.46 2.95-.5 6.12-.5 9.11-1.25-1.09-1.09-2.6-1.09-4.12-1.54 1.01-3.21 2.29-5.21 1.89-2.02-.41-4.03-2.89-5.43-4.28-2.76-2.74-5.81-5.44-9.76-5.98-2.06-.28-8.31.01-5.52 3.16.29.32.58.66.97.86 1.46.76 4.6-.21 6.28-.21v.21l-5.41 1.09c2.18 4.56 6.9.47 9.54 3.25-1.81-.54-4.91-.54-6.72 0l3.03 3.9 1.39 1.82 5.12.56v.21h-4.55c.27 2.38 3.03 1.73 4.77 1.51v.22l-3.69.65c.58 1.34 2 5.33 3.34 5.94 1.05.48 2.52-.45 3.39-.95-1.2 2.18-3.34 1.3-2.17 4.33L27 91.85c-.774.877-2.074 1.567-2.596 2.61-.61 1.206.41 3.39.86 4.55l3.47-2.6-3.31 3.71.27 3.88c2.904-1.21 5.26-3.36 6.5-6.29.513-1.22.57-2.74 1.18-3.88.45-.83 1.744-.69 2.005-1.59.5-1.72-.56-3.112.29-4.94h.21l.65 3.47c2.19-.61 3.49-4.06 4.12-6.07h.43c.6 2.787-1.92 4.59-2.82 6.94 1.53.358 4.28 1.1 4.12 3.04l-5.42-1.95 4.12 9.11h.22c1.98-3 3.9-7.77 6.72-9.98.98 3.2-2.43 5.8-3.69 8.458 1.86-.51 5.23-3.008 6.94-1.95-2.39.99-4.51 2.43-6.27 4.333-.58.63-1.63 1.68-1.62 2.6.01.94 1.17 2.08 1.69 2.82 1.89 2.68 4.18 5.49 7.06 7.16 1.17-2.24 2.17-4.48 2.79-6.94.28-1.13.23-2.65 1.33-3.25 1.06 5.98-3.22 12.58-4.56 18.22 4.08-3.45 6.54-9.04 11.71-11.27-.12 2.79-4.6 4.27-4.84 7.37-.08 1.09 1.27 1.66 2.02 2.18 2.1 1.46 3.88 3.08 6.29 4.05.87.35 1.68 1.09 2.49.25 1.46-1.52 1.59-4.49 1.35-6.47-.15-1.25-.67-3.16.28-4.12l1.51 8.89-.86 10.41h.21c2.03-5.15 3.82-10.75 7.81-14.74.02 2.72-3.05 6.54-4.12 9.11 4.06 1.9 8.83 3.05 13.22 3.9.34-2.72.24-5.35-.47-8.02-.32-1.2-1.37-2.79-.62-3.91 2.69 5.79 5.63 11.66 5.64 18.22h.21c0-3.97.69-8.03 1.47-11.92.14-.71.34-3.64 1.35-3.64 1.1 0 .67 1.75.56 2.34-.5 2.66-1.1 5.33-1.44 8.02l9.32-.23 3.24-.58-.09-3.31-4.46-7.81c1.7-.38 3.37 2.64 4.16 3.91 2.87 4.63 4.81 10.54 6.03 15.83h.22c-.57-7.16-2.43-13.78-1.52-21.03 2.11.85.98 6.19 1.24 8.24.09.66-.01 2.39.78 2.65.75.24 2.05-.4 2.75-.63 2.56-.83 4.94-2.03 7.38-3.14.93-.43 2.25-.95 2.31-2.13.23-4.18-3.52-5.37-6-7.59 2.19-.23 3.79 1.21 5.42 2.48 2.44 1.9 4.85 4.05 6.85 6.42 1.15 1.36 2 3.19 3.35 4.33-.75-2.33-2.53-4.51-3.64-6.72-2.14-4.27-3.79-8.91-4.39-13.66h.22l4.12 10.84c2.24-.76 4.06-3.42 5.5-5.2.65-.8 1.45-1.54 1.43-2.6 3.64-1.31-1.03-4.2-1.74-5.42 2.52-.38 4.79 2.06 7.15 2.6-1.05-2.26-2.89-5.21-2.38-7.81h.43l1.51 4.34c3.8-3.51 8.29-7.11 11.12-11.49 3.99-6.18 3.97-14 1.17-20.6-.77-1.81-1.5-4.37-2.84-5.82-1.92-2.07-3.58 1.41-3.82 3 .94.14 1.8.46 2.6 1 2.94 1.99 3.09 5.48 1.85 8.55-.52 1.3-1.49 2.46-1.59 3.9-.11 1.79.85 3.49 1.16 5.21.51 2.86-.89 5.9-2.94 7.79-1.9 1.76-4.57 2.73-7.16 2.34-1.2-.17-2.47-1.3-3.69-.85-1.9.71-2.28 3.59-3.47 5.04-.54-3.26 1.94-5.14 2.46-8.02.27-1.5-.83-3.99-1.3-5.42-.37-1.13-.94-4.33-2.67-3.68-1.12.42-1.68 1.69-2.33 2.6-1.55 2.14-2.95 4.76-5.7 5.42 1.01-2.6 3.74-4.78 5.27-7.153 3.03-4.713 6.25-12.68 2.23-17.78-1.21-1.535-3.15-2.62-4.9-3.44-2.41-1.13-5.05-1.486-7.59-2.2v-.43l3.04-.43-.65-4.77-1.95.65c.03-7.94 7.97-12.275 13.45-16.485l-1 2.82 2.7 4.12 5.47 8.45-2.17-.22c.42 3.103 1.16 6.013.07 9.11-.71 1.99-2.44 3.64-2.96 5.64-.27 1 .21 2.02.21 3.03 0 1.41-.49 2.76-.8 4.12 3.89-1.85 4.63-7.52 8.68-8.89-.33-1.92-1.14-3.66-1.28-5.64-.29-4.29.56-8.52-.11-12.8-.73-4.67-2.76-8.86-4.46-13.223l1.954.87c.45-3 2.92-4.62 4.554-6.94-2.503.91-6.36 4.02-9.11 2.38-1.89-1.13-2.58-3.62-4.55-4.55l-2.6 10.41h-.22c-1.14-4.81 1.317-9.36 2.39-13.88-3.31 2.67-5.61 6.04-10.19 6.72l6.29-4.57 1.44-2.11-1.88-1.62-4.77-3.4 2.17.43.87-6.94h-.213c-.49.86-1.076 1.65-1.754 2.38-.9.97-2.08 2.52-3.36 2.96-2.52.87-6.01-2.07-8.33-2.74v9.97c-2.22-.37-1.93-2.6-1.95-4.55-.05-4.28-.19-8.5 0-12.79h-.22c-.65 4.82-2.23 11.69-6.94 14.096 1.35-2.165 2.63-4.014 3.34-6.506.21-.73.83-1.99.05-2.57-2.19-1.643-5.54-.24-7.33-2.85-1.77-2.57-.61-5.84-1.7-8.46z" transform="translate(.604 .524)"/>
<path fill="#0F0D06" d="M86.17 11.947l.216.217-.217-.217zm-.218.65l.217.218-.22-.217z"/>
<path fill="#0E0B05" d="M111.975 13.465l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M98.313 13.9l.217.216-.217-.217z"/>
<path fill="#0D0B05" d="M111.758 14.333l.217.216-.217-.22z"/>
<path fill="#0F0D06" d="M98.096 14.55l.217.216-.217-.217z"/>
<path fill="#FFF" d="M62.314 16.284l.217.217-.21-.21z"/>
<path fill="#0F0D06" d="M97.012 16.284l.216.217-.216-.21zm-.217.217l.217.22-.217-.21zm4.987.22l.217.22-.22-.21zm-29.71.22l.218.22-.217-.21zm30.144 0l.217.22-.217-.21zm-39.25.22l.216.22-.217-.21zm10.625 0l.22.22-.21-.21zm29.06 0l.22.22-.21-.21z"/>
<path fill="#0F0E07" d="M74.24 17.802l.218.217-.217-.22zm19.52 0l.216.217-.217-.22z"/>
<path fill="#0D0B05" d="M128.022 17.802l.217.217-.22-.22z"/>
<path fill="#FFF" d="M127.878 18.164l.072.144-.072-.144z"/>
<path fill="#0F0D06" d="M62.965 18.236l.217.217-.217-.217zm44.456 0l.22.217-.21-.217z"/>
<path fill="#0F0E07" d="M72.507 19.103l.216.217-.216-.217z"/>
<path fill="#0E0B05" d="M127.59 19.103l.215.217-.216-.217z"/>
<path fill="#0F0E07" d="M64.05 21.055l.216.217-.217-.217zm1.083 0l.217.217-.217-.217zm.217.434l.217.21-.217-.22z"/>
<path fill="#000" d="M97.445 22.356l-3.47 15.614c2.673-1.63 3.238-7.567 3.47-10.41h.217c.465 2.5.69 5.006 1.707 7.374.4.938.84 2.187 1.98 2.17l-2.78-9.76-1.13-4.988z"/>
<path fill="#0F0E07" d="M89.638 22.573l.217.217-.217-.217zm-18.433.434l.217.217-.217-.217zm-1.084.867l.22.217-.21-.21zm-1.08.434l.22.217-.21-.217zm27.76.65l.22.217-.21-.216z"/>
<path fill="#000" d="M76.193 25.175c.046 5.545 2.788 10.593 1.735 16.265 1.04-.636 1.07-2.122 1.083-3.253.04-2.624-.42-5.196-.43-7.807h.22c.76 2.62 2.81 7.833 5.86 8.24-.36-1.408-1.52-2.474-2.29-3.686-1.71-2.692-3.39-8.124-6.16-9.76z"/>
<path fill="#0F0E07" d="M67.52 25.392l.216.217-.217-.22z"/>
<path fill="#0F0E08" d="M76.627 25.392l.217.217-.217-.22z"/>
<path fill="#0F0D06" d="M106.336 25.61l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M96.578 26.043l.217.217-.217-.217zm10.626 0l.217.217-.21-.217z"/>
<path fill="#0F0D06" d="M125.637 26.043l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M106.987 26.26l.217.217-.217-.217zm-1.3.217l.216.216-.217-.216zm1.083 0l.217.216-.217-.216z"/>
<path fill="#0F0E08" d="M77.494 26.693l.217.217-.21-.217zm14.313.217l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M126.938 26.91l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M105.686 27.344l.217.217-.217-.21z"/>
<path fill="#000" d="M120.65 27.56c-2.412 3.787-5.286 8.953-8.892 11.71v.218c2.734-.488 5.69-3.943 6.506-6.506h.216c-.03 3.858-1.805 7.948-.216 11.71h.216c1.154-3.903.553-8.508 1.547-12.577.31-1.276 1.46-3.403.622-4.554z"/>
<path fill="#0F0E07" d="M64.7 27.995l.217.216L64.7 28z"/>
<path fill="#0F0E08" d="M78.362 28.21l.217.218-.22-.217zm-11.927.435l.216.217-.21-.217zm-1.518.217l.216.217-.216-.22zm4.987 0l.217.217-.21-.22zm28.842 0l.217.217-.217-.22zm-1.734.434l.216.217-.216-.217z"/>
<path fill="#0F0D06" d="M120.65 29.296l.216.217-.217-.217z"/>
<path fill="#FFF" d="M133.877 29.513l.217.216-.217-.22zm-81.32.216l.216.21-.217-.22z"/>
<path fill="#0F0E08" d="M79.23 29.73l.216.216-.217-.217z"/>
<path fill="#0E0B05" d="M133.877 29.73l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M118.914 30.163l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M71.64 30.597l.216.217-.217-.217z"/>
<path fill="#0F0E07" d="M112.408 30.597l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M73.59 31.03l.218.217-.217-.216z"/>
<path fill="#0F0E08" d="M73.808 31.247l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M118.047 31.247l.217.217-.217-.217z"/>
<path fill="#010101" d="M74.025 31.464l.216.217-.21-.21z"/>
<path fill="#0F0E07" d="M56.242 31.68l.217.218-.22-.217z"/>
<path fill="#0F0D06" d="M132.143 31.68l.216.218-.22-.217zm-.217.218l.217.217-.217-.217zm-90.647.434l.21.217-.22-.22z"/>
<path fill="#0F0E07" d="M53.857 32.332l.217.217-.217-.22z"/>
<path fill="#0E0D08" d="M79.663 32.55l.217.215-.217-.216z"/>
<path fill="#0F0E07" d="M118.48 32.765l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M128.89 32.765l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M131.058 32.765l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M118.264 32.982l.216.217-.216-.22z"/>
<path fill="#0E0D08" d="M77.71 33.85l.218.217-.217-.217z"/>
<path fill="#0F0D06" d="M132.36 34.067l.216.216-.217-.216z"/>
<path fill="#0E0D08" d="M78.795 34.5l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M126.07 34.717l.217.217-.216-.217z"/>
<path fill="#0E0D08" d="M82.265 34.934l.217.217-.217-.21z"/>
<path fill="#0F0D06" d="M136.263 35.368l.217.217-.217-.217z"/>
<path fill="#FFF" d="M147.973 35.368l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M82.7 35.585l.216.216-.217-.21z"/>
<path fill="#0F0E07" d="M116.53 35.585l.216.216-.217-.21z"/>
<path fill="#0E0B05" d="M147.973 35.585l.217.216-.217-.21z"/>
<path fill="#0D0B05" d="M147.106 35.8l.217.218-.217-.217zm.65 0l.217.218-.217-.217z"/>
<path fill="#0F0E07" d="M116.095 36.018l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M147.54 36.018l.216.217-.217-.217z"/>
<path fill="#0E0D08" d="M81.615 36.235l.217.217-.217-.217z"/>
<path fill="#000" d="M106.336 36.235c-1.28 2.89-1.905 5.572-4.554 7.59v.434c1.904.5 3.23-1.89 3.687-3.47h.21c.19 1.45.36 4.48 1.95 4.98l-1.07-4.99-.24-4.56z"/>
<path fill="#0F0D06" d="M136.913 36.235l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M147.323 36.235l.216.217-.22-.217z"/>
<path fill="#000" d="M59.93 36.452c.467 5.334 7.642 8.94 6.72 14.746 1.155-.674.852-1.93.464-3.036-.8-2.285-2.14-4.285-3.065-6.505 2.07 1.894 5.14 4.035 8.02 2.82l-4.55-1.887-7.6-6.138z"/>
<path fill="#0E0B05" d="M147.106 36.452l.217.217-.217-.22z"/>
<path fill="#0D0B05" d="M146.89 36.67l.216.216-.217-.217z"/>
<path fill="#0F0D06" d="M133.227 36.886l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M144.937 36.886l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M146.672 36.886l.217.217-.22-.217z"/>
<path fill="#0E0D08" d="M82.265 37.103l.217.216-.217-.22z"/>
<path fill="#0F0E07" d="M115.228 37.103l.216.216-.216-.22z"/>
<path fill="#0D0B05" d="M146.455 37.103l.217.216-.217-.22z"/>
<path fill="#0F0E08" d="M59.93 37.32l.216.216-.217-.217zm55.08 0l.218.216-.217-.217z"/>
<path fill="#0E0B05" d="M146.238 37.32l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M61.447 37.536l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M146.02 37.536l.218.217-.217-.217z"/>
<path fill="#0F0E07" d="M49.303 37.753l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M114.577 37.753l.217.217-.217-.217zm-.217.217l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M46.484 38.187l.217.217-.21-.217z"/>
<path fill="#0E0D08" d="M83.35 38.187l.216.217-.216-.217z"/>
<path fill="#000" d="M89.855 38.187c-.656 2.16-2.497 6.373-1.735 8.457h.434l1.518-5.204h.217c.53 1.963 1.09 4.94 3.47 5.204l-3.47-8.457h-.44z"/>
<path fill="#0F0E08" d="M46.7 38.404l.217.217-.216-.21z"/>
<path fill="#0D0B05" d="M145.154 38.404l.217.217-.21-.21z"/>
<path fill="#0F0E07" d="M46.917 38.62l.217.217-.217-.216z"/>
<path fill="#0F0E08" d="M53.857 38.62l.217.217-.217-.216zm58.55 0l.218.217-.217-.216z"/>
<path fill="#0F0E07" d="M47.134 38.837l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M51.038 38.837l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M105.252 38.837l.217.217-.22-.217zm1.3 0l.218.217-.217-.217z"/>
<path fill="#0F0E08" d="M112.192 38.837l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M47.35 39.054l.218.217-.217-.21z"/>
<path fill="#0E0D08" d="M111.975 39.054l.217.217-.217-.21zm-48.36.434l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M117.613 39.488l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M61.447 40.14l.217.216-.217-.217zm43.155.216l.216.216-.216-.216z"/>
<path fill="#0F0E08" d="M54.507 40.572l.217.217-.217-.22zm-5.42.217l.216.21-.217-.22z"/>
<path fill="#0E0D08" d="M65.133 40.79l.217.216-.217-.217zm12.795 0l.217.216-.217-.217z"/>
<path fill="#0F0D06" d="M132.36 40.79l.216.216-.217-.217z"/>
<path fill="#0E0D08" d="M78.362 41.223l.217.217-.22-.217zm11.71.217l.217.217-.22-.217zm15.614 0l.217.217-.217-.217zm-42.72.867l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M142.985 42.307l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M65.784 42.958l.217.217-.21-.217z"/>
<path fill="#0D0B05" d="M141.9 42.958l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M63.615 43.175l.217.217-.217-.217zm40.12.217l.216.216-.21-.216z"/>
<path fill="#000" d="M75.326 43.608l1.084 9.108h.434l-.217-6.505c1.414.99 3.327 3.42 5.205 2.61-.725-.78-1.774-.92-2.602-1.59-1.346-1.09-2.056-3.46-3.904-3.61z"/>
<path fill="#0E0D08" d="M65.133 44.042l.217.217-.217-.22zm36.65.217l.216.21-.22-.22zm-37.3.21l.217.21-.217-.22zm23.42 0l.217.21-.216-.22z"/>
<path fill="#0F0E08" d="M118.047 44.476l.217.217-.217-.217zm.433 0l.217.217-.217-.217z"/>
<path fill="#000" d="M123.035 44.91c-2.288 2.293-4.2 3.87-7.374 4.77v.434c1.88.54 3.7-.502 5.21-1.518-.24 1.273-1.87 4.606-.65 5.422l2.08-6.29.74-2.818z"/>
<path fill="#0E0D08" d="M77.277 45.126l.217.217-.217-.217zm-24.72.217l.216.217-.217-.217zm34.913 0l.217.217-.217-.217zm20.168 0l.216.217-.216-.217z"/>
<path fill="#0F0D06" d="M122.384 45.343l.217.217-.21-.217z"/>
<path fill="#0F0E07" d="M37.81 45.777l.216.217-.217-.217z"/>
<path fill="#0E0D08" d="M93.108 45.777l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M49.52 45.994l.217.217-.217-.21z"/>
<path fill="#0D0B05" d="M143.202 45.994l.217.217-.22-.21z"/>
<path fill="#0E0D08" d="M65.35 46.21l.217.218-.217-.217zm.868 0l.217.218-.217-.217zm22.336 0l.217.218-.21-.217zm-37.733.218l.22.216-.21-.216z"/>
<path fill="#0F0E08" d="M121.083 46.86l.217.218-.217-.217zm1.3.218l.218.217-.21-.217z"/>
<path fill="#0F0D06" d="M136.046 47.078l.217.217-.217-.217z"/>
<path fill="#010101" d="M37.16 47.295l.216.217-.217-.217z"/>
<path fill="#0E0D08" d="M78.362 47.512l.217.217-.22-.22zm-11.494.217l.217.21-.217-.22zm13.012 0l.217.21-.217-.22z"/>
<path fill="#0F0E07" d="M37.81 47.946l.216.216-.217-.216z"/>
<path fill="#0F0E08" d="M119.565 47.946l.217.216-.217-.216z"/>
<path fill="#0E0D08" d="M79.23 48.162l.216.217-.217-.22zm2.385.217l.217.21-.217-.22z"/>
<path fill="#0F0E08" d="M120.432 48.596l.217.217-.22-.217z"/>
<path fill="#0E0D08" d="M80.314 48.813l.216.217-.216-.217zm.433.217l.217.217-.217-.217zm36.65 0l.216.217-.217-.217z"/>
<path fill="#0F0E07" d="M131.275 49.03l.217.217-.217-.217zm-92.38.217l.215.217-.216-.217z"/>
<path fill="url(#b)" d="M124.816 58.48c4.962-1.194 10.387-1.9 15.397-.866-.746-2.59-2.68-4.72-4.396-6.723-.587-.68-1.334-1.95-2.328-2.02-1.18-.09-2.21 1.05-3.04 1.7-2.44 1.92-4.54 5.01-5.64 7.92z" transform="translate(.604 .524)"/>
<path fill="#0E0D08" d="M118.697 49.68l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M130.408 49.68l.217.217-.217-.217z"/>
<path fill="#000" d="M85.952 49.897l-1.3 6.723c1.087-.825 1.34-3.457 1.517-4.77l1.95 2.168c-.23-1.462-1.08-3.117-2.17-4.12z"/>
<path fill="#0E0D08" d="M115.66 50.114l.218.217-.217-.21z"/>
<path fill="#0F0E08" d="M120.432 50.114l.217.217-.22-.21zm14.963.217l.217.22-.217-.21z"/>
<path fill="#000" d="M107.204 50.548l-4.12 4.12 3.903-2.82.65 3.904c.76-1.11.36-4.157-.433-5.204zm-45.974.65v.217c1.828 1.845 3.332 4.385 4.473 6.723.628 1.287.45 2.706 1.816 3.47-.11-2.536-1.2-4.458-2.17-6.723 1.53.896 3.59 2.236 5.42 1.735v-.434c-2.46-1.094-4.37-2.024-6.51-3.728-.91-.726-1.85-1.665-3.04-1.26z"/>
<path fill="#0E0D08" d="M131.058 50.982l.217.216-.217-.216zm-44.022.433l.217.217-.217-.217zm-25.59.217l.218.217-.217-.22zm25.807.217l.217.21-.217-.22z"/>
<path fill="#0F0E08" d="M136.697 51.85l.216.216-.216-.217z"/>
<path fill="#0E0D08" d="M86.602 52.066l.217.217-.22-.217z"/>
<path fill="#0F0E08" d="M128.022 52.066l.217.217-.22-.217z"/>
<path fill="#0F0D06" d="M138.865 52.066l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M40.412 52.283l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M105.252 52.283l.217.217-.22-.217zm1.735 0l.217.217-.217-.217zm12.795 0l.217.217-.22-.217zm-55.516.217l.217.216-.217-.216zm21.686 0l.217.216-.22-.216z"/>
<path fill="#0F0D06" d="M145.37 52.5l.218.216-.217-.216z"/>
<path fill="#0F0E08" d="M129.107 52.716l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M105.47 52.933l.216.217-.217-.217z"/>
<path fill="#000" d="M46.7 53.15c.204 1.83 1.7 2.512 3.037 3.522 1.832 1.386 3.536 2.887 4.936 4.72.912 1.192 1.474 3.255 2.654 4.12-.254-3.19-2.135-6.942-5.205-8.242v-.216c3.12.605 6.23 1.765 9.325.433v-.433l-3.687-.146L46.7 53.15z"/>
<path fill="#0E0D08" d="M62.748 53.15l.217.217-.217-.217zm41.203.217l.22.217-.21-.217zm16.27 0l.22.217-.21-.217zm-54.65.217l.22.217-.21-.21zm38.17 0l.22.217-.21-.21z"/>
<path fill="#0F0D06" d="M139.95 53.584l.216.217-.217-.21z"/>
<path fill="#0F0E08" d="M126.504 53.8l.217.218-.21-.217z"/>
<path fill="url(#c)" d="M146.935 53.277l.434 5.204 4.77.66c-.8-2.1-3.08-5.03-5.21-5.85z" transform="translate(.604 .524)"/>
<path fill="#0E0D08" d="M88.12 54.018l.217.216-.217-.216z"/>
<path fill="#000" d="M95.06 54.018l-1.952 3.686 2.17-2.385 1.3 2.16"/>
<path fill="#0E0D08" d="M120 54.018l.215.216-.216-.216z"/>
<path fill="#0D0B05" d="M147.54 54.018l.216.216-.217-.216z"/>
<path fill="#0E0D08" d="M63.4 54.234l.215.217-.216-.21zm3.035 0l.216.217-.21-.21z"/>
<path fill="#0F0D06" d="M138.648 54.234l.217.217-.217-.21z"/>
<path fill="#0F0E08" d="M39.978 54.45l.217.218-.217-.217z"/>
<path fill="#0E0D08" d="M94.41 54.668l.216.217-.217-.217zm-26.89.217l.216.217-.217-.217zm-1.302.434l.217.21-.217-.22zm41.636 0l.217.21-.21-.22zm41.637 0l.22.21-.21-.22zm-54.21.21l.22.21-.21-.22zm54.43 0l.22.21-.21-.22zm-96.06.21l.22.21-.21-.22zm96.29 0l.22.21-.21-.22zm-101.05.22l.22.21-.22-.22zm47.28 0l.22.21-.21-.22z"/>
<path fill="#0F0E08" d="M39.544 56.403l.217.217-.21-.217z"/>
<path fill="#0E0D08" d="M49.52 56.403l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M126.72 56.403l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M84.868 56.62l.216.217-.216-.217zm9.108.217l.216.217-.216-.217z"/>
<path fill="#0F0E08" d="M39.327 57.27l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M53.64 57.27l.217.217-.217-.217zm12.795 0l.216.217-.21-.217zm-1.085.217l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M126.07 57.487l.217.217-.216-.217z"/>
<path fill="#0F0E08" d="M135.395 57.487l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M139.3 57.704l.216.217-.217-.21z"/>
<path fill="#0E0D08" d="M51.688 58.138l.217.217-.217-.217zm14.096.217l.217.217-.21-.217z"/>
<path fill="#0D0B05" d="M152.31 58.788l.217.217-.217-.217z"/>
<path fill="#000" d="M115.878 59.222l-3.686 2.82 3.252-1.736-.433 2.603c.93-.65 1.27-2.67.87-3.69z"/>
<path fill="#FFF" d="M137.564 72.234c1.645-.784 2.432-2.658 2.877-4.338.55-2.066 1.26-7.516-1.36-8.543-1.44-.565-3.85.086-5.41.086-1.41 0-4.41-.22-5.5.83-1.01.97-.25 4.62.49 5.61.78 1.02 2.61 1.22 3.72 1.74 2.22 1.04 4 2.44 5.21 4.6z"/>
<path fill="#0F0D06" d="M143.636 59.44l.217.216-.217-.217z"/>
<path fill="#0D0B05" d="M151.443 59.44l.217.216-.217-.217zm1.3 0l-.216.433.217-.434z"/>
<path fill="#020202" d="M139.733 59.656l.216.217-.22-.217z"/>
<path fill="#FFF" d="M152.744 59.656l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M40.412 59.873l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M114.577 59.873l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M34.556 60.09l.217.216-.217-.216z"/>
<path fill="#0E0D08" d="M127.805 60.09l.217.216-.217-.216zm12.144 0l.21.216-.22-.216zm-72.65.216l.21.217-.22-.217zm47.92 0l.21.217-.22-.217z"/>
<path fill="#0F0E08" d="M35.858 60.523l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M113.493 60.523l.217.217-.217-.217z"/>
<path fill="#020202" d="M140.166 60.523l.217.217-.217-.217z"/>
<path fill="#FFF" d="M147.54 60.523v1.952c3.932-1.422 4.823 4.33.65 4.12l.867 4.988c2.906-1.356 4.245-7.895 1.858-10.34-.72-.738-2.4-.643-3.376-.72z"/>
<path fill="#0F0E07" d="M33.255 60.74l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M55.81 60.957l.215.217-.216-.217zm58.333 0l.217.217-.217-.217zm10.843 0l.217.217-.217-.217z"/>
<path fill="#020202" d="M140.383 60.957l.217.217-.217-.217zm10.41 0l.216.217-.22-.217z"/>
<path fill="#0F0E07" d="M33.906 61.174l.217.217-.217-.21z"/>
<path fill="#0E0D08" d="M124.553 61.174l.216.217-.22-.21zm-57.468.217l.217.22-.217-.21z"/>
<path fill="#000" d="M136.48 61.39c-.445.457-1.092.79-1.42 1.348-2.29 3.92 6.37 4.02 3.923-.217-.278-.48-.773-.79-1.202-1.13l-1.3.65v-.65z"/>
<path fill="#020202" d="M136.697 61.39v.218h.867"/>
<path fill="#010101" d="M140.6 61.39l.217.218-.217-.217z"/>
<path fill="#0F0E07" d="M34.556 61.608l.217.216-.217-.216z"/>
<path fill="#020202" d="M135.9 61.752l.074.145-.073-.145z"/>
<path fill="#010101" d="M136.19 61.68l.145.072-.144-.072zm.29.144v.217l1.084-.21h-1.084z"/>
<path fill="#020202" d="M137.998 61.608l.217.216-.217-.216z"/>
<path fill="#010101" d="M135.612 61.824l.217.217-.22-.21z"/>
<path fill="#050505" d="M138.43 61.824l.218.217-.217-.21z"/>
<path fill="#0F0E07" d="M35.207 62.04l.217.218-.217-.217z"/>
<path fill="#010101" d="M135.395 62.04l.217.218-.217-.217z"/>
<path fill="#020202" d="M148.19 62.04l.65.435v-.217"/>
<path fill="#050505" d="M148.407 62.04l.217.218-.217-.217z"/>
<path fill="#010101" d="M148.624 62.04l.217.218-.21-.217z"/>
<path fill="#020202" d="M149.057 62.04l.217.218-.217-.217z"/>
<path fill="#010101" d="M149.274 62.04l.217.218-.21-.217z"/>
<path fill="#0E0D08" d="M56.46 62.258l.216.217-.217-.217z"/>
<path fill="#000" d="M90.94 62.258c0 1.104-.213 2.224.867 2.82v-2.17l2.602.868-3.47-1.518z"/>
<path fill="#0E0D08" d="M91.373 62.258l.217.217-.217-.217z"/>
<path fill="#020202" d="M147.756 62.258l.217.217-.217-.217z"/>
<path fill="#010101" d="M147.973 62.258l.434.434v-.434h-.434zm1.084 0l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M92.024 62.475l.217.217-.21-.217z"/>
<path fill="#010101" d="M134.962 62.475l.217.217-.22-.217z"/>
<path fill="#0F0E08" d="M147.106 62.475l.217.217-.217-.217z"/>
<path fill="#050505" d="M147.323 62.475l.216.217-.22-.217z"/>
<path fill="#000" d="M104.168 65.294l1.084-1.952 1.3.868c-.952-2.55-2.37-.724-2.384 1.084z"/>
<path fill="#010101" d="M139.082 62.692l.217.217-.22-.22zm8.024 0l.217.217-.217-.22z"/>
<path fill="#000" d="M77.928 62.91c.383 1.4.984 2.594 2.17 3.468l-1.303-2.82 2.603.218c-.672-1.218-2.246-.867-3.47-.867z"/>
<path fill="#0E0D08" d="M80.964 62.91l.217.216-.21-.217zm10.843 0l.217.216-.217-.217z"/>
<path fill="#FFF" d="M146.89 62.91l.216.216-.217-.217z"/>
<path fill="#0F0E08" d="M36.725 63.126l.217.216-.217-.216z"/>
<path fill="#0E0D08" d="M105.903 63.126l.217.216-.217-.216z"/>
<path fill="#FFF" d="M146.672 63.126l.217.216-.22-.216z"/>
<path fill="#0E0D08" d="M92.674 63.342l.217.217-.21-.22z"/>
<path fill="#000" d="M66.868 64.21l3.036 3.686-1.735-3.036 2.6-.433-.22-.868"/>
<path fill="#0E0D08" d="M78.795 63.56l.217.216-.217-.217z"/>
<path fill="#050505" d="M139.3 63.56l.216.216-.217-.217z"/>
<path fill="#FFF" d="M146.455 63.56v.65h.217"/>
<path fill="#0E0D08" d="M78.145 63.776l.217.217-.217-.217z"/>
<path fill="#050505" d="M146.455 64.21l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M57.11 64.427l.217.217-.217-.217zm9.758 0l.217.217-.217-.217z"/>
<path fill="#FFF" d="M146.455 64.427v.65h.217"/>
<path fill="#010101" d="M138.937 64.788l.073.145-.073-.145zm12.072-.144l.21.216-.22-.216z"/>
<path fill="#0E0D08" d="M56.676 64.86l.217.217-.217-.217zm34.48 0l.217.217-.217-.217zm-52.046.217l.217.217-.217-.217zm39.685 0l.217.217-.217-.217z"/>
<path fill="#050505" d="M135.18 65.077l.215.217-.216-.217z"/>
<path fill="#0F0E08" d="M39.327 65.294l.217.217-.217-.21z"/>
<path fill="#FFF" d="M146.672 65.294l.217.217-.22-.21z"/>
<path fill="#010101" d="M138.215 65.51l.216.218-.21-.217z"/>
<path fill="#050505" d="M146.672 65.51l.217.218-.22-.217z"/>
<path fill="#020202" d="M136.046 65.728l.217.217-.217-.217z"/>
<path fill="#010101" d="M136.263 65.728l.217.217-.217-.217zm1.446.072l.14.073-.15-.073z"/>
<path fill="#FFF" d="M146.89 65.728l.216.217-.217-.217z"/>
<path fill="#010101" d="M150.43 65.873l.073.144-.072-.144z"/>
<path fill="#050505" d="M150.575 65.728l.217.217-.217-.217z"/>
<path fill="#010101" d="M39.978 65.945l.217.217-.217-.217z"/>
<path fill="#050505" d="M136.913 65.945l.217.217-.217-.217z"/>
<path fill="#FFF" d="M147.106 65.945l.217.217-.217-.217z"/>
<path fill="#010101" d="M128.673 66.162l.217.216-.217-.216z"/>
<path fill="#FFF" d="M147.323 66.162l.216.216-.22-.216z"/>
<path fill="#010101" d="M147.756 66.162l.217.216-.217-.216z"/>
<path fill="#000" d="M44.966 70.282v.434l6.29 2.168c-.13-1.648-2.26-2.14-3.688-2.385l4.337-3.91c-2.305-.27-5.07 2.54-6.94 3.68z"/>
<path fill="#050505" d="M147.54 66.378l.216.217-.217-.217z"/>
<path fill="#FFF" d="M147.756 66.378l.217.217-.217-.217z"/>
<path fill="#020202" d="M147.973 66.378l.217.217-.217-.217z"/>
<path fill="#010101" d="M148.84 66.378v.217h.65"/>
<path fill="#0F0E08" d="M40.628 66.595l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M140.6 66.595l.217.217-.217-.217zm8.24 0l.217.217-.216-.217z"/>
<path fill="#010101" d="M130.408 66.812l.217.217-.217-.22z"/>
<path fill="#000" d="M54.074 69.414v.434l4.77 1.714 2.82 1.973c-.31-2.303-2.753-2.69-4.337-3.904 2.014-.37 4.748-.41 5.638-2.6l-8.89 2.39z"/>
<path fill="#0E0D08" d="M126.287 67.246l.217.217-.217-.217z"/>
<path fill="#010101" d="M131.492 67.246l.217.217-.22-.217z"/>
<path fill="#0E0D08" d="M49.086 67.463l.217.217-.217-.217zm12.144.217l.217.216-.217-.216zm1.3 0l.218.216-.217-.216zm89.13 0l.217.216-.217-.216zm-109.947.216l.217.217-.217-.217z"/>
<path fill="#020202" d="M151.66 67.896l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M48.002 68.113l.217.217-.22-.217zm14.095 0l.217.217-.217-.217zm78.07.217l.216.217-.217-.217zm8.24 0l.217.217-.217-.217zm-101.056.217l.22.217-.21-.217z"/>
<path fill="#0F0D06" d="M142.335 68.547l.217.217-.217-.217zM18.51 68.98l.216.218-.217-.217z"/>
<path fill="#010101" d="M148.407 68.98l.217.218-.217-.217z"/>
<path fill="#0E0D08" d="M40.845 69.414l.217.217-.217-.21z"/>
<path fill="#000" d="M84.65 70.932l.65-1.518c-.922.148-1.648.86-.65 1.518z"/>
<path fill="#0E0D08" d="M45.833 69.63l.217.218-.217-.217z"/>
<path fill="#0F0D06" d="M19.81 69.848l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M132.793 69.848l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M57.76 70.065l.217.217-.217-.217z"/>
<path fill="#010101" d="M148.624 70.065l.217.217-.21-.217z"/>
<path fill="#0E0D08" d="M41.496 70.282l.217.217-.217-.22z"/>
<path fill="#0F0E07" d="M133.444 70.282l.217.217-.21-.22z"/>
<path fill="#0E0D08" d="M139.3 70.282l.216.217-.217-.22z"/>
<path fill="#0E0B05" d="M8.75 70.5l.217.216-.217-.217z"/>
<path fill="#0F0D06" d="M20.678 70.5l.216.216-.216-.217z"/>
<path fill="#0F0E08" d="M36.29 70.5l.218.216-.217-.217z"/>
<path fill="#020202" d="M150.36 70.5l.215.216-.216-.217z"/>
<path fill="#0E0D08" d="M59.278 70.716l.217.216-.217-.216z"/>
<path fill="#000" d="M92.458 70.716l-.217 1.518c.68-.397.8-.754.65-1.518h-.43z"/>
<path fill="#0E0D08" d="M92.89 70.716l.218.216-.217-.216z"/>
<path fill="#000" d="M101.566 72.234l.65-1.518c-.84.243-1.54.848-.65 1.518z"/>
<path fill="#010101" d="M139.082 70.716l.217.216-.22-.216z"/>
<path fill="#020202" d="M150.142 70.716l.217.216-.22-.216z"/>
<path fill="#0E0D08" d="M58.194 71.15l.217.216-.21-.217z"/>
<path fill="#010101" d="M136.913 71.15l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M141.25 71.15l.217.216-.216-.217z"/>
<path fill="#010101" d="M149.708 71.15l.217.216-.217-.217zm-.217.216l.22.217-.21-.217z"/>
<path fill="#0E0D08" d="M60.58 71.583l.216.217-.217-.217z"/>
<path fill="#0F0D06" d="M22.196 71.8l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M137.347 71.8l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M13.304 72.017l.217.217-.21-.217z"/>
<path fill="#0E0D08" d="M92.674 72.017l.217.217-.21-.217zm8.458 0l.217.217-.22-.217z"/>
<path fill="#000" d="M108.07 73.535v.867l2.17-1.518"/>
<path fill="#0E0D08" d="M60.796 73.1l.217.218-.217-.217zm48.143 0l.21.218-.22-.217zm1.08 0l.21.218-.22-.217z"/>
<path fill="#000" d="M118.48 73.1v2.603c.815-.797.815-1.804 0-2.602z"/>
<path fill="#0F0D06" d="M147.323 73.1l.216.218-.22-.217z"/>
<path fill="#0D0B05" d="M156.214 73.1l.217.218-.21-.217z"/>
<path fill="#0E0D08" d="M108.722 73.318l.217.217-.22-.217zm1.084 0l.217.217-.217-.217zm8.458 0l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M139.95 73.318l.216.217-.217-.217z"/>
<path fill="#0F0D06" d="M146.238 73.535l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M108.505 74.185l.217.217-.217-.217zm-31.01.217l.216.217-.21-.22z"/>
<path fill="#000" d="M75.76 77.438l2.602.65-1.444-1.39.793-2.08c-1.04.543-1.68 1.69-1.95 2.82z"/>
<path fill="#0E0D05" d="M147.54 74.62l.216.216-.217-.217z"/>
<path fill="url(#d)" d="M138.044 83.637v.217c5.457.69 7.914-1.92 11.927-4.988-.57 1.553-3.43 3.547-3.36 4.987.08 1.544 2.51 1.686 3.58 1.26 2.05-.812 3.35-3.076 3.79-5.163.93-4.333-4.76-7.88-8.32-5.114-3.05 2.37-4.4 6.42-7.61 8.8z" transform="translate(.604 .524)"/>
<path fill="#010101" d="M13.738 75.053l.217.217-.217-.217z"/>
<path fill="#000" d="M36.508 79.39c.28 1.618 1.885.75 3.036.67 1.654-.113 4.725.423 5.638 1.932l1.52-.217c-.39-2.454-3.928-2.45-5.857-2.602 1.42-1.435 3.454-1.863 3.904-4.12L36.5 79.39z"/>
<path fill="#0D0B05" d="M154.696 75.053l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M25.882 75.27l.217.217-.22-.217z"/>
<path fill="#0D0B05" d="M157.298 75.487l.217.216-.217-.216z"/>
<path fill="#0F0D06" d="M20.027 75.703l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M76.41 75.703l.217.217-.217-.217zm-33.396.217l.217.217-.21-.217zm33.613.217l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M27.4 76.57l.217.218-.217-.217z"/>
<path fill="#0E0D08" d="M42.146 76.57l.217.218-.217-.217zm1.735 0l.22.218-.21-.217z"/>
<path fill="#0E0B05" d="M14.172 76.788l.217.217-.22-.217z"/>
<path fill="#000" d="M86.602 76.788l-2.385 3.036 3.036 1.084-2.17-1.3c.453-.948 2.224-1.77 1.52-2.82z"/>
<path fill="#0E0D05" d="M154.045 76.788l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M33.038 77.005l.217.216-.217-.21z"/>
<path fill="#0E0D08" d="M41.496 77.005l.217.216-.217-.21zm34.047 0l.216.216-.22-.21z"/>
<path fill="#0F0E07" d="M28.268 77.22l.216.218-.216-.217zm4.337 0l.217.218-.217-.217z"/>
<path fill="#0E0D08" d="M43.014 77.438l.217.217-.21-.217zm24.505 0l.21.217-.22-.217z"/>
<path fill="#000" d="M67.736 77.438l-2.603 2.386c1.016.343 3.362 1.68 4.12.65l-2.818-1.084 1.3-1.952zm56.166 0l3.036 2.386v.433l-2.82 1.518c1.485-.12 2.75-.57 3.904-1.518-.843-1.428-2.49-2.505-4.12-2.82z"/>
<path fill="#0F0E07" d="M28.918 77.655l.217.217-.217-.217z"/>
<path fill="#010101" d="M154.48 77.655l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M158.166 77.655l.216.217-.216-.217zm-143.127.217l.21.217-.22-.22z"/>
<path fill="#0E0D08" d="M85.3 77.872l.218.217-.217-.22zm1.086 0l.216.217-.216-.22zm38.817 0l.217.217-.217-.22z"/>
<path fill="#0E0D05" d="M144.07 77.872l.217.217-.217-.22zm10.41 0l.216.217-.217-.22z"/>
<path fill="#0E0D08" d="M66.65 78.09l.218.216-.217-.217zm.87 0l.216.216-.217-.217zm17.564 0l.217.216-.21-.217z"/>
<path fill="#0E0B05" d="M15.473 78.306l.217.217-.217-.217z"/>
<path fill="#000" d="M54.29 78.306c-1.312 2.943-3.334 5.34-5.638 7.586-1.322 1.29-3.383 2.49-3.903 4.34l9.54-2.024 4.98-1.01c-2.98-2.12-8.19.238-11.06 1.517 1.97-3.96 5.84-5.53 6.72-10.192l-.22-.217h-.44z"/>
<path fill="#0E0D08" d="M67.302 78.306l.217.217-.22-.217zm17.566 0l.216.217-.216-.217zm39.9 0l.218.217-.217-.217zm-83.49.217l.218.216-.217-.22z"/>
<path fill="#000" d="M93.976 80.474l1.3.217v-2.16c-.94.31-1.048 1.07-1.3 1.95z"/>
<path fill="#0F0E08" d="M38.243 78.74l.217.216-.217-.217z"/>
<path fill="#0E0D08" d="M125.42 78.74l.217.216-.217-.217zm-71.563.216l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M16.124 79.173l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M41.713 79.173l.217.217-.217-.217zm43.37.217l.218.217-.21-.217z"/>
<path fill="#010101" d="M154.696 79.39l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M127.59 79.607l.215.217-.216-.217z"/>
<path fill="#0F0E07" d="M141.467 79.607l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M67.52 79.824l.216.217-.217-.21z"/>
<path fill="#0F0D06" d="M149.708 79.824l.217.217-.217-.21z"/>
<path fill="#0E0D08" d="M66 80.04l.218.217L66 80.04zm27.976 0l.216.217-.216-.216z"/>
<path fill="#000" d="M104.168 80.04l.217 2.386c1.006-.533 1.663-1.277 1.95-2.385l-1.517 1.09-.65-1.08z"/>
<path fill="#0E0D08" d="M45.833 80.257l.217.217-.217-.217zm58.118 0l.22.217-.21-.217zm1.74 0l.22.217-.21-.217z"/>
<path fill="#0F0E08" d="M127.805 80.257l.217.217-.217-.217z"/>
<path fill="#0E0D05" d="M150.142 80.257l.217.217-.22-.217z"/>
<path fill="#0E0B05" d="M16.99 80.474l.218.217-.217-.21z"/>
<path fill="#0E0D08" d="M67.302 80.474l.217.217-.22-.21zm38.167 0l.21.217-.22-.21zm20.16.217l.21.22-.22-.21z"/>
<path fill="#0E0D05" d="M141.684 81.125l.217.217-.21-.217z"/>
<path fill="#010101" d="M154.262 81.125l.217.217-.22-.217z"/>
<path fill="#0D0B05" d="M159.25 81.342l.217.217-.217-.22z"/>
<path fill="#010101" d="M154.045 81.775l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M53.64 81.992l.217.217-.217-.22z"/>
<path fill="#0E0B05" d="M22.846 82.21l.217.216-.217-.217z"/>
<path fill="#020202" d="M146.89 82.426l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M140.383 82.643l.217.217-.217-.217z"/>
<path fill="#0E0D05" d="M146.672 82.643l.217.217-.22-.217zm-6.506.217l.217.217-.217-.217z"/>
<path fill="#000" d="M73.59 84.595l.435-1.518c-.93.27-1.442.94-.434 1.518z"/>
<path fill="#0F0D06" d="M18.51 83.293l.216.217-.217-.217z"/>
<path fill="#0E0D08" d="M72.94 83.293l.217.217-.217-.217zm-22.12.217l.218.217-.217-.217z"/>
<path fill="#0E0D05" d="M144.937 83.51l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M50.604 83.727l.217.217-.21-.217z"/>
<path fill="#010101" d="M152.96 83.727l.218.217-.217-.217zm-9.107.217l.217.217-.217-.21z"/>
<path fill="#0E0D05" d="M152.744 83.944l.217.217-.21-.21z"/>
<path fill="#000" d="M112.408 84.378l-.216 3.036-1.952-1.3c.204 1.314 1.123 1.94 2.385 2.167l.217-3.9h-.434z"/>
<path fill="#010101" d="M141.9 84.378v.217h.652"/>
<path fill="#000" d="M58.845 91.1c1.435-.06 6.433.13 7.156-.867l-4.77-.65 2.61-4.988c-1.58.493-4.28 4.975-4.98 6.505zm17.565 18.867c1.636-.937 3.765-3.73 4.554-5.422-1.736.52-2.495 2.222-3.687 3.47l-.65-4.554c5.072-.44 7.3-5.98 10.285-9.31 1.817-2.03 4.093-2.9 6.413-4.13-1.367-1.63-3.27.1-4.554 1.09-3.44 2.65-5.42 5.86-8.45 8.9l1.74-4.55h-.21c-.94 2.26-2.07 4.68-4.34 5.86l.87-3.03h-.22c-.91 2.18-1.94 3.25-4.33 3.25L76 96.55h-.22l-2.82 4.77-.87-.21 2.17-4.12h-.21c-1.1 1.752-2.25 4.25-4.55 3.684l1.954-3.685c-1.09.85-1.56 2.88-2.84 3.39-.587.23-1.69-.2-1.455-.97.3-1.01 1.96-2 2.61-2.86 2.22-2.92 4.02-7.67 7.32-9.46 2.7-1.47 6.8.39 9.75.35 1.69-.02 3.61-.6 4.12-2.39-1.38-.15-2.68.74-4.12.74-3.65 0-9.63-1.81-12.76.66-2.85 2.25-3.01 5.27-4.81 8.13-.88 1.4-2.42 2.34-3.69 3.35-.47.37-1.32.91-1.14 1.62.22.88 1.71 1.35 2.44 1.68 1.64.75 3.43 1.34 5.2 1.7.95.19 2.36.16 3.16.74 1.47 1.06.97 4.69 1.17 6.29z"/>
<path fill="#010101" d="M151.443 85.245l.217.217-.217-.217zm-3.687.217l.217.217-.217-.22zm3.036 0l.217.217-.22-.22z"/>
<path fill="#000" d="M35.858 85.68l-.217 1.3.87-1.3"/>
<path fill="#0E0D08" d="M87.036 85.68l.217.216-.217-.217z"/>
<path fill="#010101" d="M148.624 85.68l.217.216-.21-.217z"/>
<path fill="#0E0D08" d="M112.842 85.896l.217.217-.22-.217z"/>
<path fill="url(#e)" d="M147.803 91.444c-.498-1.47-.27-3.25-1.226-4.545-1.248-1.7-4.048-1.55-5.93-1.53-.65.01-1.734-.03-2.154.58-.502.73.41 2.53.608 3.31.82 3.25 1.55 7.73 4.37 9.91 1.86 1.43 5.59.49 7.13-1.04 2.47-2.45 3.14-8.16.63-10.8-3.1-3.27-3.05 2.54-3.42 4.09z" transform="translate(.604 .524)"/>
<path fill="#0F0D06" d="M20.244 86.113l.217.216-.21-.22z"/>
<path fill="#0E0D08" d="M74.24 86.113l.218.216-.217-.22z"/>
<path fill="#0F0E08" d="M40.628 86.33l.217.216-.217-.217z"/>
<path fill="#0E0D08" d="M48.002 86.33l.217.216-.22-.216zm14.963 0l.217.216-.217-.217z"/>
<path fill="#0F0E08" d="M36.29 86.546l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M41.713 86.546l.217.217-.217-.217zm6.072 0l.217.217-.217-.217zm29.926 0l.22.217-.21-.217zm-30.14.217l.22.217-.21-.217z"/>
<path fill="#0F0E08" d="M36.074 86.98l.217.217-.21-.217z"/>
<path fill="#0E0D08" d="M61.664 86.98l.217.217-.21-.217zm11.71 0l.217.217-.21-.217z"/>
<path fill="#0E0B05" d="M88.77 86.98l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M150.792 86.98l.217.217-.22-.217z"/>
<path fill="url(#f)" d="M161.248 86.673l-1.16 5.42-.82 2.81L160.814 96l-.433-1.952h.22c1.01 2.408 2.06 2.82 4.56 2.82l-1.52-3.254c1 1.15 1.36 2.777 3.04 3.036l-1.51-2.82c1.39 1.508 2.08 2.548 4.12 1.52v-.435c-3.61-1.72-3.94-7.5-8.02-8.24z" transform="translate(.604 .524)"/>
<path fill="#000" d="M127.155 88.932l.65-1.518c-.886.258-1.35.755-.65 1.518z"/>
<path fill="#0E0D08" d="M61.23 87.63l.217.217-.217-.216z"/>
<path fill="#0E0D05" d="M147.323 87.63l.216.217-.22-.216z"/>
<path fill="#0F0E08" d="M75.543 87.847l.216.217-.22-.217z"/>
<path fill="#010101" d="M139.082 87.847l.217.217-.22-.217z"/>
<path fill="#0D0B05" d="M159.467 87.847l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M54.29 88.064l.217.217-.216-.21z"/>
<path fill="#0F0E08" d="M75.326 88.064l.217.217-.217-.21zm-39.468.217l.216.22-.216-.21zm.867 0l.217.22-.217-.21zm38.384 0l.21.22-.22-.21z"/>
<path fill="#0E0D08" d="M61.447 88.498l.217.217-.217-.217zm10.41 0l.216.217-.217-.217z"/>
<path fill="#0F0E08" d="M39.544 88.715l.217.217-.21-.217z"/>
<path fill="#0F0E07" d="M134.094 88.715l.217.217-.21-.217z"/>
<path fill="#010101" d="M148.407 88.715l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M39.327 89.15l.217.215-.217-.216z"/>
<path fill="#0F0E07" d="M74.458 89.15l.217.215-.217-.216z"/>
<path fill="#000" d="M97.88 89.15l2.384 2.6 1.085-2.6-1.09 1.733-2.39-1.734zm21.902 0l-.217 3.25-2.17-1.3c-.12 1.43 2.07 3.055 3.254 3.687l-.44-5.638h-.44z"/>
<path fill="#0E0D08" d="M59.712 89.582l.217.217-.22-.22zm3.687 0l.21.217-.22-.22zm-3.91.217l.21.21-.22-.22z"/>
<path fill="#0F0E07" d="M133.444 89.8l.217.216-.21-.217z"/>
<path fill="#0F0D06" d="M26.1 90.233l.216.217-.217-.217z"/>
<path fill="#0F0E08" d="M39.76 90.45l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M58.845 90.45l.216.217-.21-.217z"/>
<path fill="#0F0D06" d="M89.422 90.45l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M133.01 90.45l.217.217-.217-.217zm1.518.217l.217.216-.217-.216z"/>
<path fill="#0E0D08" d="M99.18 90.883l.217.217-.217-.217zm66.576 0l.216.217-.216-.217zm-95.2.217l.216.217-.217-.217z"/>
<path fill="#0F0E07" d="M132.576 91.1l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M24.147 91.317l.217.217-.217-.217zm64.19 0l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M90.072 91.317l.217.217-.22-.217z"/>
<path fill="#0F0D06" d="M23.497 91.534l.217.217-.217-.21z"/>
<path fill="#0E0D08" d="M99.614 91.534l.217.217-.21-.21zm18.65 0l.216.217-.216-.21z"/>
<path fill="#0F0E07" d="M133.66 91.968l.217.217-.216-.217z"/>
<path fill="#0E0D08" d="M88.554 92.4l.217.218-.21-.217z"/>
<path fill="#0F0D06" d="M23.497 92.618l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M140.383 92.618l.217.217-.217-.217zm-92.598.217l.217.217-.217-.217z"/>
<path fill="#000" d="M61.013 92.835c-.68 3.25-3 6.173-5.082 8.674-.99 1.19-2.51 2.39-2.94 3.9 3.6-1.04 7.64-4.69 11.5-4.34-.99-1.93-5.62.74-7.37 1.08 1.41-2.09 3.33-3.9 4.24-6.29.38-1 .62-2.35-.33-3.04z"/>
<path fill="#0F0E07" d="M72.073 92.835l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M86.17 92.835l.216.217-.217-.217z"/>
<path fill="#0F0D06" d="M26.1 93.052l.216.217-.217-.22zm.866 0l.217.217-.217-.22z"/>
<path fill="#0E0D08" d="M60.796 93.27l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M130.84 93.27l.218.216-.217-.217z"/>
<path fill="#010101" d="M140.6 93.486l.217.217-.217-.217zm12.578.217l.217.216-.217-.22z"/>
<path fill="#0F0E08" d="M167.49 93.703l.217.216-.217-.22z"/>
<path fill="#0E0D08" d="M86.82 93.92l.216.216-.217-.217z"/>
<path fill="#0F0E08" d="M40.628 94.136l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M25.232 94.353l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M84.65 94.353l.218.217-.217-.217z"/>
<path fill="#0F0D06" d="M25.015 94.57l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M120 94.57l.215.217-.216-.217z"/>
<path fill="#000" d="M109.372 98.04c-.917-.915-1.85-2.18-3.252-1.952l4.12 4.988 1.084-6.29c-1.652.262-1.572 1.902-1.952 3.254z"/>
<path fill="#0F0E07" d="M164.888 94.787l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M38.026 95.004l.217.217-.217-.21zm4.554 0l.217.217-.217-.21z"/>
<path fill="#000" d="M88.988 96.955l-.217-1.084h-.65l.22 2.82c1.27-.21 2.58-2.49 2.82-3.68l-2.17 1.95z"/>
<path fill="#010101" d="M152.96 95.004l.218.217-.217-.21z"/>
<path fill="#0E0D08" d="M46.267 95.22l.217.217-.217-.216zm37.733 0l.217.217L84 95.22zm1.735 0l.217.217-.217-.216zm25.59 0l.216.217-.21-.216z"/>
<path fill="#0F0E07" d="M131.275 95.22l.217.217-.217-.216z"/>
<path fill="#0D0B05" d="M169.876 95.437l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M68.17 95.654l.216.217-.217-.21z"/>
<path fill="#0E0B05" d="M159.684 95.654l.216.217-.216-.21z"/>
<path fill="#0E0D08" d="M48.002 95.87l.217.218-.22-.218zm11.71 0l.217.218-.22-.217z"/>
<path fill="#000" d="M76.05 96.016l.07.144-.07-.144z"/>
<path fill="#0F0E07" d="M130.408 96.088l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M154.48 96.088l.216.217-.217-.217zm6.722 0l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M61.013 96.305l.217.217-.217-.217zm14.746 0l.21.217-.22-.217zm-16.49.434l.21.21-.22-.22zm93.03 0l.21.21-.22-.22z"/>
<path fill="#0D0B05" d="M154.262 96.74l.217.215-.22-.216z"/>
<path fill="#0F0D06" d="M165.972 96.74l.217.215-.22-.216z"/>
<path fill="#000" d="M29.135 96.955l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M66.65 96.955l.218.217-.217-.217z"/>
<path fill="#0F0E07" d="M128.673 96.955l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M28.7 97.172l.218.217-.217-.22zm.435 0l.217.217-.217-.22z"/>
<path fill="#0F0E08" d="M73.808 97.172l.217.217-.217-.22z"/>
<path fill="#0E0D08" d="M82.7 97.172l.216.217-.217-.22zm69.393 0l.217.217-.217-.22zm-42.72.434l.216.217-.22-.217zm32.962 0l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M32.822 97.823l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M82.048 98.04l.217.217-.217-.217zm28.192 0l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M46.484 98.257l.217.216-.21-.216z"/>
<path fill="#0E0B05" d="M70.12 98.257l.218.216-.217-.216z"/>
<path fill="#0E0D08" d="M72.94 98.257l.217.216-.217-.216z"/>
<path fill="#0F0E08" d="M74.892 98.257l.217.216-.22-.216z"/>
<path fill="#0E0D08" d="M83.566 98.257l.217.216-.217-.216z"/>
<path fill="#0D0B05" d="M155.13 98.257l.216.216-.216-.216z"/>
<path fill="#0E0D08" d="M64.7 98.473l.217.217-.217-.217zm13.228 0l.217.217-.217-.217z"/>
<path fill="#000" d="M97.012 98.473l-1.085 2.82h-.217l-1.734-2.386 1.518 4.988h.216c.577-1.45 2.62-4.115 1.302-5.422z"/>
<path fill="#0E0D08" d="M108.288 98.473l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M74.675 98.69l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M139.95 98.69l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M67.085 98.907l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M96.578 98.907l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M39.978 99.124l.217.217-.217-.21z"/>
<path fill="#0F0E07" d="M74.025 99.124l.216.217-.21-.21z"/>
<path fill="#0E0D08" d="M77.928 99.124l.217.217-.217-.21zm1.952 0l.217.217-.217-.21z"/>
<path fill="#0F0D06" d="M27.183 99.34l.217.218-.217-.217z"/>
<path fill="#0E0D08" d="M80.314 99.34l.216.218-.216-.217zm63.322 0l.217.218-.217-.217zm-86.31.218l.217.217-.216-.217zm86.527 0l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M26.533 99.775l.217.216-.217-.21z"/>
<path fill="#0D0B05" d="M69.687 99.775l.217.216-.217-.21z"/>
<path fill="#0F0D06" d="M72.507 99.775l.216.216-.216-.21z"/>
<path fill="#0E0D08" d="M80.314 99.775l.216.216-.216-.21z"/>
<path fill="#000" d="M120.432 99.99l1.3 7.158c-1.38-1.208-5.644-6.772-7.372-4.77 3.99 1.27 5.652 5.93 9.108 8.023l-1.08-4.12-1.305-6.5-.65.22z"/>
<path fill="#0E0D08" d="M144.07 99.775l.217.216-.217-.21z"/>
<path fill="#010101" d="M148.19 99.99l.217.218-.217-.217z"/>
<path fill="#0E0B05" d="M153.612 99.99l.216.218-.216-.217z"/>
<path fill="#0D0B05" d="M25.882 100.208l.217.217-.22-.217z"/>
<path fill="#0F0E07" d="M31.52 100.208l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M58.194 100.208l.217.217-.21-.217z"/>
<path fill="#0D0B05" d="M68.82 100.208l.217.217-.217-.217zm.65 0l.217.217-.216-.217z"/>
<path fill="#0E0B05" d="M73.374 100.208l.217.217-.21-.217z"/>
<path fill="#010101" d="M145.154 100.208l.217.217-.21-.217z"/>
<path fill="#0D0B05" d="M153.395 100.208l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M56.676 100.425l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M68.386 100.425l.217.217-.217-.217zm3.036 0l.217.217-.22-.217z"/>
<path fill="#0F0E08" d="M42.797 100.642l.217.217-.217-.22z"/>
<path fill="#0F0E07" d="M78.145 100.86l.217.216-.217-.217z"/>
<path fill="#0F0D06" d="M30.87 101.076l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M72.723 101.076l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M77.71 101.076l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M59.93 101.293l.216.216-.217-.22z"/>
<path fill="#0F0D06" d="M142.77 101.293l.215.216-.216-.22z"/>
<path fill="#0E0D08" d="M67.736 101.51l.217.216-.217-.217z"/>
<path fill="#000" d="M131.926 101.51c-1.098 2.688 1.582 5.573 2.602 8.023-2.82-1.453-5.323-3.875-8.674-3.903v.867c4.828.422 7.404 5.362 11.276 7.59-.036-4.042-3.505-8.69-4.77-12.578h-.434z"/>
<path fill="#0F0D06" d="M138.43 101.51l.218.216-.217-.217z"/>
<path fill="#0E0D08" d="M58.628 101.726l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M143.636 101.726l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M151.877 101.726l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M80.097 101.943l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M151.66 101.943l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M46.484 102.16l.217.217-.21-.217zm74.165 0l.21.217-.22-.217z"/>
<path fill="#0E0B05" d="M151.443 102.16l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M46.267 102.377l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M70.338 102.377l.217.217-.217-.217zm9.108 0l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M139.733 102.377l.216.217-.22-.217z"/>
<path fill="#0F0E08" d="M46.05 102.594l.217.217-.217-.21zm-.217.217l.217.22-.217-.21z"/>
<path fill="#0E0D08" d="M95.927 102.81l.217.217-.217-.216z"/>
<path fill="#0F0E08" d="M45.616 103.027l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M54.507 103.027l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M121.733 103.244l.217.217-.217-.21z"/>
<path fill="#0F0E07" d="M131.71 103.895l.216.217-.217-.217z"/>
<path fill="#0F0E08" d="M44.75 104.112l.216.217-.217-.22z"/>
<path fill="#0E0D08" d="M55.592 104.112l.217.217-.22-.22zm-.434.217l.217.21-.217-.22z"/>
<path fill="#000" d="M87.904 104.762l-1.518.217c.51 1.21 1.414 2.19 1.838 3.47.47 1.4.165 3.35 1.63 4.12.68-1.53 2.35-4.01 1.953-5.64-1.232.6-1.816 1.92-1.952 3.25h-.217l-1.734-5.42z"/>
<path fill="#0F0E08" d="M44.098 104.98l.217.216-.217-.217z"/>
<path fill="#000" d="M67.736 104.98c0 4.255-.58 8.257-1.735 12.36 1.51.055 2.3-1.514 3.12-2.602 1.62-2.15 3.24-4.52 5.78-5.638v-.217c-2.57-.334-5.79 3.518-6.72 5.638h-.21c.77-2.95 1.45-6.64.22-9.54h-.43z"/>
<path fill="#0E0D08" d="M80.747 104.98l.217.216-.217-.217z"/>
<path fill="#0E0B05" d="M143.202 104.98l.217.216-.22-.217z"/>
<path fill="#0D0B05" d="M148.407 104.98l.217.216-.217-.217z"/>
<path fill="#000" d="M104.602 109.75l-4.988-3.47c.277.888.982 1.152 1.64 1.762 1.293 1.2 2.423 4.007 4.215 4.31l.43-7.156c-1.75.668-1.3 3.017-1.3 4.554z"/>
<path fill="#0F0E07" d="M132.36 105.196l.216.217-.217-.217z"/>
<path fill="#0E0B05" d="M148.19 105.196l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M88.12 105.413l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M121.3 105.63l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M86.82 105.847l.216.216-.217-.216z"/>
<path fill="#0F0E08" d="M118.914 105.847l.217.216-.21-.216zm1.518.216l.217.217-.22-.217z"/>
<path fill="#0F0E07" d="M120.65 106.28l.216.217-.217-.217z"/>
<path fill="#0E0D08" d="M79.23 106.497l.216.217-.217-.217zm21.25 0l.218.217-.217-.217z"/>
<path fill="#0F0E08" d="M129.757 106.714l.217.217-.217-.21z"/>
<path fill="#0F0E07" d="M44.532 106.93l.217.218-.22-.217z"/>
<path fill="#0E0D08" d="M91.807 106.93l.217.218-.217-.217zm-13.228.435l.21.216-.22-.21z"/>
<path fill="#0F0E08" d="M120.215 107.365l.217.216-.217-.21z"/>
<path fill="#0F0D06" d="M134.528 107.365l.217.216-.217-.21z"/>
<path fill="#0E0B05" d="M144.937 107.365l.217.216-.217-.21z"/>
<path fill="#010101" d="M146.02 107.365l.218.216-.217-.21z"/>
<path fill="#0F0E07" d="M44.966 107.58l.216.218-.216-.217z"/>
<path fill="#0E0B05" d="M145.805 107.58l.216.218-.21-.217z"/>
<path fill="#0E0D08" d="M101.132 107.798l.217.217-.22-.217z"/>
<path fill="#0F0D06" d="M131.71 107.798l.216.217-.217-.217z"/>
<path fill="#0E0B05" d="M145.588 107.798l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M55.592 108.232l.217.217-.22-.22zm32.528 0l.217.217-.217-.22zm13.88.434l.216.217-.217-.217z"/>
<path fill="#0F0E08" d="M55.375 109.1l.217.216-.217-.216z"/>
<path fill="#0E0D08" d="M103.95 109.316l.218.217-.217-.217z"/>
<path fill="#000" d="M116.963 109.316c-1.53 2.712.7 8.298 1.084 11.277h-.217c-1.21-2.553-3.537-4.662-5.422-6.723-.265-.29-1.64-2.16-2.13-1.374-.512.82 1.998 2.767 2.47 3.326 1.732 2.054 3.297 4.377 4.61 6.723.758 1.355 1.42 3.168 2.857 3.903-1.085-5.594-2.803-11.404-2.82-17.132h-.432z"/>
<path fill="#0F0D06" d="M131.71 109.316l.216.217-.217-.217z"/>
<path fill="#010101" d="M72.507 109.533l.216.217-.216-.217z"/>
<path fill="#0E0D08" d="M73.59 109.533l.218.217-.217-.217zm15.832 0l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M122.384 109.533l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M116.53 109.75l.216.217-.217-.217z"/>
<path fill="#0E0B05" d="M144.72 109.75l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M76.41 109.967l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M89.638 109.967l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M139.733 110.184l.216.217-.22-.21zm2.82 0l.216.217-.22-.21z"/>
<path fill="#0E0D08" d="M72.507 110.4l.216.218-.216-.217zm30.793 0l.217.218-.217-.217z"/>
<path fill="#0F0D06" d="M132.793 110.4l.217.218-.217-.217z"/>
<path fill="#0F0E08" d="M54.94 110.618l.218.216-.217-.216z"/>
<path fill="#0E0B05" d="M140.817 110.834l.217.217-.217-.21z"/>
<path fill="#0E0D08" d="M67.302 111.05l.217.218-.22-.217z"/>
<path fill="#0F0E07" d="M47.785 111.268l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M103.95 111.268l.218.217-.217-.217zm12.58 0l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M144.72 111.268l.217.217-.217-.217z"/>
<path fill="url(#g)" d="M44.145 110.96l-2.386 6.724 4.98-3.47c-.09-1.676-1-2.776-2.6-3.253z" transform="translate(.604 .524)"/>
<path fill="#0E0D08" d="M71.205 111.702l.217.217-.217-.22zm33.18.217l.217.21-.217-.22z"/>
<path fill="#0F0E08" d="M54.074 112.786l.217.217-.21-.217z"/>
<path fill="#0F0D06" d="M135.395 112.786l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M111.54 113.003l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M64.05 113.22l.216.217-.217-.217z"/>
<path fill="#000" d="M80.747 113.22l-.217.217c1.06 2.914 2.106 5.33 2.62 8.457.24 1.453.09 3.343 1.284 4.337 1.22-2.31 1.658-4.99 2.772-7.37.64-1.36 1.682-2.56 1.348-4.12-2.084 1.03-3.315 5.66-3.903 7.81-1.07-2.86-.74-7.85-3.9-9.32z"/>
<path fill="#0F0E08" d="M110.674 113.654l.216.216-.216-.216zm.216.216l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M67.953 114.087l.216.217-.22-.217z"/>
<path fill="#0F0E08" d="M111.107 114.087l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M50.82 114.304l.218.217-.217-.21z"/>
<path fill="#0F0E08" d="M55.375 114.304l.217.217-.217-.21z"/>
<path fill="#FFF" d="M67.953 114.304l.216.217-.22-.21z"/>
<path fill="#0F0E08" d="M111.324 114.304l.217.217-.21-.21z"/>
<path fill="#010101" d="M140.817 114.304l.217.217-.217-.21z"/>
<path fill="#0E0D08" d="M69.037 114.52l.217.218-.217-.217zm18.867.218l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M116.963 114.738l.216.217-.22-.217z"/>
<path fill="#0E0D08" d="M88.554 114.955l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M113.276 114.955l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M113.493 115.172l.217.216-.217-.216z"/>
<path fill="#0F0E07" d="M52.122 115.388l.217.217-.22-.217zm16.264 0l.217.217-.217-.217z"/>
<path fill="#000" d="M95.494 115.388c2.452 4.87 4.267 9.45 5.638 14.747 1.53-.858 1.32-2.37 1.302-3.904-.04-3.56 1.33-7.12 1.083-10.62-1.023.35-1.206 1.4-1.384 2.39-.428 2.37-.436 4.81-1 7.16-1.177-2.73-2.11-9.19-5.64-9.76z"/>
<path fill="#0E0D08" d="M96.144 115.388l.217.217-.21-.217z"/>
<path fill="#0F0D06" d="M130.84 115.388l.218.217-.217-.217z"/>
<path fill="#0E0D08" d="M81.615 115.605l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M112.625 115.605l.217.217-.217-.217zm-57.684.217l.22.217-.21-.22z"/>
<path fill="#0E0D08" d="M71.422 115.822l.217.217-.22-.22z"/>
<path fill="#0F0E08" d="M102.65 115.822l.217.217-.217-.22z"/>
<path fill="#0F0D06" d="M139.733 115.822l.216.217-.22-.22z"/>
<path fill="#0D0B05" d="M44.75 116.04l.216.216-.217-.217z"/>
<path fill="#0F0E08" d="M102.433 116.256l.217.217-.217-.217zm-44.022.434l.22.216-.21-.216z"/>
<path fill="#0E0D08" d="M86.82 116.69l.216.216-.217-.216zm1.3 0l.217.216-.217-.216z"/>
<path fill="#0F0E07" d="M113.493 116.69l.217.216-.217-.216zm-55.3.216l.218.217-.21-.217z"/>
<path fill="#0F0D06" d="M131.492 116.906l.217.217-.22-.217z"/>
<path fill="#0D0B05" d="M138.865 116.906l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M57.977 117.123l.217.217-.217-.217z"/>
<path fill="#0E0D08" d="M87.904 117.123l.216.217-.216-.217z"/>
<path fill="#0F0E08" d="M97.662 117.123l.217.217-.22-.217z"/>
<path fill="url(#h)" d="M140.647 116.6l-1.518 2.602 4.77 2.168" transform="translate(.604 .524)"/>
<path fill="#0F0E07" d="M115.444 117.34l.217.217-.21-.217z"/>
<path fill="#0E0D08" d="M87.687 117.557l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M96.795 117.774l.217.217-.217-.21z"/>
<path fill="#0D0B05" d="M42.58 117.99l.217.218-.217-.217z"/>
<path fill="#0F0E08" d="M59.93 117.99l.216.218-.217-.217z"/>
<path fill="#FFF" d="M42.146 118.208l.217.216-.217-.216z"/>
<path fill="#0E0D08" d="M86.17 118.208l.216.216-.217-.216z"/>
<path fill="#0F0E08" d="M97.012 118.208l.216.216-.216-.216z"/>
<path fill="#0E0B05" d="M137.78 118.208l.218.216-.217-.216z"/>
<path fill="#0F0E08" d="M97.228 118.64l.217.218-.217-.217zm1.302 0l.216.218-.216-.217zm-1.085.435l.217.217-.217-.217zm1.3 0l.218.217-.217-.217zm-13.01.217l.217.217-.217-.22zm1.084 0l.21.217-.22-.22z"/>
<path fill="#0F0D06" d="M124.553 119.292l.216.217-.22-.22z"/>
<path fill="#0F0E08" d="M98.963 119.51l.217.216-.217-.217z"/>
<path fill="#010101" d="M139.95 119.726l.216.216-.217-.216z"/>
<path fill="#0F0E07" d="M55.375 119.942l.217.217-.217-.22z"/>
<path fill="#000" d="M79.88 120.16l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M115.878 120.16l.217.216-.217-.217z"/>
<path fill="#0F0E08" d="M85.3 120.376l.218.217-.217-.217z"/>
<path fill="#0F0D06" d="M126.07 120.376l.217.217-.216-.217z"/>
<path fill="#0F0E07" d="M59.06 120.593l.218.217-.217-.217z"/>
<path fill="#0F0E08" d="M80.314 120.593l.216.217-.216-.217z"/>
<path fill="#0F0D06" d="M126.938 121.027l.217.217-.217-.217zm-13.88.217l.218.216-.217-.216zm.435 0l.217.216-.217-.216z"/>
<path fill="#0F0E07" d="M54.074 121.46l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M84.868 121.46l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M116.746 121.46l.217.217-.217-.217zm-55.082.868l.217.217-.21-.217z"/>
<path fill="#0F0E08" d="M88.77 122.328l.218.217-.217-.217zm-35.564.217l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M119.348 122.545l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M100.264 122.762l.217.216-.21-.216zm-37.733.216l.22.217-.21-.217z"/>
<path fill="#0F0D06" d="M117.613 122.978l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M104.385 123.195l.217.217-.217-.217z"/>
<path fill="#0F0E08" d="M62.965 123.412l.217.217-.217-.22z"/>
<path fill="#0E0B05" d="M129.974 123.63l.217.216-.21-.217z"/>
<path fill="#0F0E07" d="M52.34 123.846l.216.217-.217-.217z"/>
<path fill="#0F0E08" d="M83.35 123.846l.216.217-.216-.217z"/>
<path fill="#0F0E07" d="M96.578 123.846l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M130.19 123.846l.218.217-.217-.217z"/>
<path fill="#0F0E07" d="M70.99 124.063l.215.217-.216-.217zm29.708.217l.217.216-.217-.216zm-36.215.216l.217.217-.217-.217zm42.504 0l.217.217-.217-.217zm-41.854.434l.217.217-.217-.217zm40.553.217l.217.217-.217-.217zm-29.276.217l.217.217-.217-.21zm31.228 0l.216.217-.216-.21zm-31.445.434l.217.216-.217-.216zm-8.89.216l.216.217-.22-.21zm2.818 0l.22.217-.21-.21zm37.95 0l.22.217-.21-.21zm-40.11.217l.22.22-.21-.21zm22.77.22l.22.22-.21-.21z"/>
<path fill="url(#i)" d="M62.36 126.358l-.433 6.722c1.906-2.035 5.084-6.313.434-6.722z" transform="translate(.604 .524)"/>
<path fill="#0F0E07" d="M77.277 126.882l.217.217-.217-.22z"/>
<path fill="#0E0B05" d="M126.07 127.75l.217.216-.216-.217z"/>
<path fill="#0D0B05" d="M134.745 127.75l.217.216-.217-.217z"/>
<path fill="#0F0E07" d="M102.65 127.966l.217.217-.217-.217z"/>
<path fill="#0E0B05" d="M125.203 128.183l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M91.59 128.617l.217.217-.217-.217zm9.108 0l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M123.685 128.834l.217.216-.217-.216z"/>
<path fill="#0F0E07" d="M102 129.484l.216.217-.217-.21z"/>
<path fill="#0F0D06" d="M108.288 129.484l.217.217-.217-.21z"/>
<path fill="#0E0B05" d="M122.384 129.484l.217.217-.21-.21z"/>
<path fill="#0F0E07" d="M76.844 129.7l.217.218-.21-.217zm24.938 0l.217.218-.22-.217z"/>
<path fill="#0E0B05" d="M121.95 129.7l.217.218-.217-.217z"/>
<path fill="#0F0E07" d="M96.795 130.135l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M108.505 130.135l.217.217-.217-.217zm1.735 0l.217.217-.217-.217z"/>
<path fill="#0D0B05" d="M64.266 130.568l.217.217-.217-.217z"/>
<path fill="#0F0E07" d="M80.097 130.785l.217.217-.217-.217zm12.36.434l.217.21-.216-.22z"/>
<path fill="#0E0B05" d="M118.264 131.22l.216.216-.216-.217zm-.65.216l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M136.697 131.653l.216.217-.216-.217zm.433 0l.217.217-.217-.217z"/>
<path fill="#0F0D06" d="M116.095 131.87l.217.216-.217-.216z"/>
<path fill="url(#j)" d="M119.61 132.864c.837 1.793 2.732 3.64 4.34 4.77l-1.953-6.072-2.386 1.302z" transform="translate(.604 .524)"/>
<path fill="#0F0D06" d="M111.107 132.303l.217.217-.217-.217zm-37.733.434l.217.217-.21-.217z"/>
<path fill="#0F0E07" d="M86.82 132.737l.216.217-.217-.217z"/>
<path fill="#0D0B05" d="M120.65 132.954l.216.217-.217-.21z"/>
<path fill="#0F0D06" d="M88.77 133.17l.218.218-.217-.217z"/>
<path fill="#0D0B05" d="M121.083 134.69l.217.216-.217-.217zm.217.216l.217.216-.217-.216z"/>
<path fill="url(#k)" d="M82.746 142.19h.216l1.952-6.94-2.468-.42-.134 1.937" transform="translate(.604 .524)"/>
<path fill="#0D0B05" d="M121.517 135.122l.216.217-.216-.22zm2.168.868l.217.217-.217-.217z"/>
<path fill="url(#l)" d="M100.745 136.55l2.385 6.94c.536-1.24 2.188-6.032 1.015-7.026-.907-.77-2.416-.174-3.4.086z" transform="translate(.604 .524)"/>
<path fill="#0D0B05" d="M101.782 136.857l.217.217-.22-.217z"/>
<path fill="#010101" d="M123.035 136.857l.216.217-.21-.217zm-10.193.868l.217.217-.22-.217z"/>
<path fill="#0D0B05" d="M124.12 137.942l.216.216-.217-.216zm-22.554.216l.216.217-.216-.217zm22.77 0l.433.434-.44-.434z"/>
<path fill="#FFF" d="M124.553 138.158l.216.217-.22-.217z"/>
<path fill="#0E0B05" d="M113.926 138.592l.217.217-.217-.22z"/>
<path fill="#0D0B05" d="M84.434 138.81l.217.216-.21-.217z"/>
<path fill="#FEF666" d="M148.727 85.808c-.858-.156-1.53-.795-1.53-1.454 0-.623.4-1.25 2.024-3.188 1.3-1.544 1.14-1.503-1.25.33-2.65 2.026-4.55 2.797-7.19 2.924-1.23.058-2.23.028-2.23-.07 0-.095.36-.478.81-.85.44-.373 1.93-2.18 3.3-4.02 2.51-3.356 3.74-4.493 5.35-4.966 2.55-.748 5.83 1.22 6.57 3.94.69 2.527-1.54 6.593-3.98 7.27-.52.147-1.01.25-1.08.233-.07-.018-.41-.086-.76-.15z"/>
<path fill="#FEF67A" d="M145.287 100.345c-.835-.23-1.91-1.102-2.69-2.18-.93-1.285-1.587-3.043-2.69-7.203-.483-1.822-.936-3.5-1.007-3.732-.356-1.162 2.178-1.754 5.277-1.23 2.438.41 3.335 1.23 3.772 3.442.16.836.33 1.635.37 1.775.03.14.21-.53.4-1.49.2-1.067.55-2.004.9-2.41l.57-.667.93.627c1.46.985 2.28 2.92 2.27 5.313-.02 3.388-1.42 6.028-3.77 7.134-1.17.547-3.44.872-4.34.62z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 171 171">
<g fill="none" fill-rule="evenodd">
<path fill="#932279" d="M72.064 79.272l6.17 6.133-6.17 6.134H28.64v20.435L2.155 85.405 28.64 59.28v19.99h43.424"/>
<path fill="#EFA724" d="M91.728 72.064l-6.134 6.17-6.133-6.17V28.638H59.026l26.57-26.483 26.125 26.483H91.73v43.426"/>
<path fill="#262577" d="M98.936 91.728l-6.17-6.134 6.17-6.133h43.425V59.026l26.486 26.57-26.483 26.125V91.73H98.937"/>
<path fill="#9CCD2A" d="M79.272 98.936l6.133-6.17 6.134 6.17v43.425h20.435l-26.572 26.486-26.123-26.483h19.99V98.937"/>
<g fill-rule="nonzero" stroke="#FFF" stroke-width="3.769">
<path fill="#9CCD2A" d="M27.082 27.082h52.765v52.765H27.082z"/>
<path fill="#932279" d="M91.153 27.082h52.765v52.765H91.153z"/>
<path fill="#EFA724" d="M91.153 91.153h52.765v52.765H91.153z"/>
<path fill="#262577" d="M27.082 91.153h52.765v52.765H27.082z"/>
</g>
<path stroke="#FFF" stroke-width="3.769" d="M2.884 85.5l37.31-37.31 37.31 37.31-37.31 37.31zM48.19 40.195L85.5 2.885l37.31 37.31-37.31 37.31zM93.495 85.5l37.31-37.31 37.31 37.31-37.31 37.31zM48.19 130.805l37.31-37.31 37.31 37.31-37.31 37.31z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 303 149">
<g fill="none">
<path fill="#5C809B" d="M236.57 147.025h11.295V91.222H236.57M17.44 148.03c-6.176 0-11.55-1.565-16.477-4.26l1.112-6.157c6.062 1.46 9.76 2.13 13.34 2.13 8.076 0 11.32-3.475 11.32-7.397 0-4.37-1.91-6.495-10.75-9.86C5.108 118.446 1.18 114.2 1.18 106.46c0-9.626 7.624-16.245 19.283-16.245 4.703 0 9.19.895 14.343 3.588l-1.345 6.162c-4.26-1.225-7.63-1.68-10.76-1.68-6.38 0-9.52 3.025-9.52 6.958 0 3.91 2.24 6.048 11.1 9.182 10.54 3.802 14.68 8.625 14.68 16.58 0 9.85-7.94 17.026-21.51 17.026M70.5 98.74c-7.845 0-12.665 5.61-12.665 19.04 0 16.48 4.25 21.748 12.99 21.748 7.73 0 12.66-5.597 12.66-19.16 0-16.358-4.36-21.622-12.986-21.622m-1.01 49.408c-14.47 0-23.54-7.51-23.54-27.907 0-20.5 10.08-30.136 25.88-30.136 14.34 0 23.54 7.51 23.54 27.68 0 20.63-10.21 30.37-25.89 30.37m59.79-9.01l1.22 6.67c-2.25 1.06-7.3 2-14.24 2-6.84 0-10.19-2.02-10.19-11.09v-45.9h11.54v41.42c0 6.53 1 7.36 4.04 7.52 1.13.06 7.63-.61 7.63-.61m40.61-18.22h-4.82c-13.01 0-16.25 4.26-16.25 10.09 0 5.38 3 8.74 8.62 8.74 3.92 0 8.3-2.02 12.45-5.59v-13.23zm2.45 26.11l-.9-6.05c-4.92 4.27-10.19 7.18-17.25 7.18-10.98 0-16.81-5.61-16.81-15.46 0-11.42 8.85-19.05 28.45-19.05h4.04v-5.04c0-6.71-3.48-9.96-11.55-9.96-5.83 0-11.78 1.56-16.36 3.25l-1.68-7.05c5.82-2.58 13-4.6 21.17-4.6 14.01 0 19.84 6.73 19.84 16.92v39.89h-8.97zm52.89-45.26c-2.13-.57-3.59-.79-4.71-.79-3.25 0-6.27 2.46-11.76 9.3v36.75h-11.54V91.22h9.54l1 9.416c6.04-7.844 9.85-10.424 13.89-10.424 1.45 0 3.13.34 4.93 1.235l-1.35 10.313m50.53 46.27c-6.16 0-11.54-1.565-16.46-4.26l1.11-6.157c6.06 1.46 9.74 2.13 13.34 2.13 8.07 0 11.32-3.475 11.32-7.397 0-4.37-1.91-6.495-10.75-9.86-10.88-4.04-14.8-8.285-14.8-16.025 0-9.62 7.61-16.24 19.27-16.24 4.7 0 9.18.9 14.33 3.59l-1.34 6.16c-4.26-1.22-7.63-1.68-10.76-1.68-6.39 0-9.52 3.03-9.52 6.96 0 3.91 2.23 6.05 11.08 9.18 10.53 3.8 14.68 8.63 14.68 16.58 0 9.85-7.96 17.03-21.52 17.03m26.77-51.6v-4.85h-1.17l-1.1 3.43-1.12-3.43h-1.19v4.85h.8v-3.82h.01l1.19 3.83h.55l1.21-3.82h.014v3.83h.78m-6.47 0V92.4h1.2v-.81H294v.81h1.22v4.04"/>
<path fill="#EE7314" d="M231.224 31.916c.17-.922 2.402-6.468 2.402-6.468 2.766-6.23 1.008-10.696 1.008-10.696C233.004 8.7 228.32 3.97 228.32 3.97c.228.168 1.652 3.956 1.652 3.956 3.282 9.065-5.518 14.267-5.518 14.267-2.267 1.497-5.97 5.065-5.97 5.065-5.19 5.074-3.622 11.294-3.622 11.294l.206.093c6.176 1.517 11.976 3.977 17.247 7.208-3.492-6.795-1.09-13.937-1.09-13.937m18.05 29.384c-.578-7.472 4.204-13.077 4.204-13.077.49-.798 4.62-5.102 4.62-5.102 4.89-4.75 4.94-9.55 4.94-9.55.75-6.22-1.84-12.35-1.84-12.35.14.24.05 4.29.05 4.29-.34 9.63-10.44 11.18-10.44 11.18-2.67.55-7.44 2.48-7.44 2.48-6.22 2.58-7.41 8.22-7.55 9.03 5.12 3.66 9.65 8.09 13.43 13.12m36.16-12.38c.04.29-1.56 4.01-1.56 4.01-3.89 8.82-13.84 6.49-13.84 6.49-2.68-.47-7.82-.46-7.82-.45-7.26.08-10.42 5.66-10.42 5.66l.38.93c3.16 5.06 5.59 10.6 7.17 16.49 2.15-7.36 8.87-10.9 8.87-10.9.75-.54 6.18-3.02 6.18-3.02 6.31-2.59 8.13-7.02 8.13-7.02 3-5.51 2.89-12.16 2.89-12.16m-75.17-11.25c-5.51-5.02-5.91-12.32-5.91-12.32-.21-.92-.18-6.88-.18-6.88.26-6.81-3.03-10.32-3.03-10.32-3.74-5.02-9.86-7.68-9.86-7.68.28.08 3.01 3.08 3.01 3.08 6.4 7.19.16 15.29.16 15.29-1.55 2.24-3.67 6.92-3.67 6.92-2.78 6.27.42 11.25.78 11.79 3.11-.46 6.32-.68 9.56-.65 3.11.03 6.16.29 9.12.78m-33.31-8.6c-.507-.78-2.73-6.32-2.73-6.32-2.288-6.42-6.63-8.45-6.63-8.45-5.37-3.26-12.02-3.46-12.02-3.46.29-.03 3.94 1.74 3.94 1.74 8.63 4.3 5.84 14.13 5.84 14.13-.61 2.65-.83 7.79-.83 7.79-.267 7.24 5.165 10.67 5.165 10.67l.26-.09c5.275-3.072 11.07-5.373 17.2-6.736-7.065-2.58-10.196-9.28-10.196-9.28M166 47.59c-7.48.19-12.84-4.85-12.84-4.85-.765-.533-4.866-4.864-4.866-4.864-4.507-5.12-9.31-5.39-9.31-5.39-6.18-1.05-12.42 1.22-12.42 1.22.245-.13 4.28.15 4.29.15 9.596.804 10.646 10.97 10.646 10.97.41 2.69 2.115 7.545 2.115 7.545 2.44 6.83 8.746 8.01 8.746 8.01l.13-.11c3.84-4.89 8.4-9.18 13.51-12.69m-29.97 16.87c-.91-.21-6.33-2.71-6.33-2.71-6.07-3.11-10.63-1.58-10.63-1.58-6.13 1.3-11.1 5.74-11.1 5.74.19-.21 4.05-1.44 4.05-1.44 9.22-2.8 13.95 6.26 13.95 6.26 1.38 2.34 4.76 6.23 4.76 6.22 4.79 5.45 11.1 4.21 11.1 4.21l.16-.31c1.72-5.95 4.34-11.52 7.67-16.58-6.84 2.88-13.61.2-13.61.2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
<path fill="#009bef" fill-rule="nonzero" d="M0 21.387l61.34-8.39v59.075H0m68.73-60.24L150 0v71.575H68.73M0 78.322h61.34v59.246L0 129.008M68.73 79.11H150V150l-81.27-11.473"/>
</svg>

After

Width:  |  Height:  |  Size: 246 B

View File

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 36"><style>.st0{fill:#fff}</style><g id="logo_4_"><path class="st0" d="M20 26.7l5.4-3V3.2L20 0v15.3h-6.9v-6l-5.5 3v20.5l5.5 3.2V20.7H20z"/><path class="st0" d="M28 4.6v20.8l-8 4.4V36l13-7.5v-21zM13.1 0L0 7.5v21l5.1 2.9V10.6l8-4.4z"/></g></svg>

After

Width:  |  Height:  |  Size: 312 B

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -0,0 +1 @@
<svg width="22" height="22" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><title>Octocat Copy 3</title><path d="M10.999 0C4.926 0 0 4.925 0 11c0 4.86 3.152 8.983 7.523 10.437.55.102.75-.238.75-.53 0-.26-.009-.952-.014-1.87-3.06.664-3.706-1.475-3.706-1.475-.5-1.27-1.221-1.61-1.221-1.61-.999-.681.075-.668.075-.668 1.105.078 1.685 1.134 1.685 1.134.981 1.68 2.575 1.195 3.202.914.1-.71.384-1.195.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.428-2.183 1.132-2.952-.114-.278-.491-1.397.108-2.91 0 0 .923-.297 3.025 1.127A10.536 10.536 0 0 1 11 5.32c.935.004 1.876.125 2.754.37 2.1-1.424 3.022-1.128 3.022-1.128.6 1.514.223 2.633.11 2.911.705.769 1.13 1.751 1.13 2.952 0 4.226-2.572 5.156-5.022 5.428.395.34.747 1.01.747 2.037 0 1.47-.014 2.657-.014 3.017 0 .295.199.637.756.53C18.851 19.979 22 15.859 22 11c0-6.075-4.926-11-11.001-11" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 883 B

View File

@ -0,0 +1 @@
<svg width="24" height="16" viewBox="0 0 24 16" xmlns="http://www.w3.org/2000/svg"><title>G+ Copy 3</title><path d="M.02 7.203C.086 3.297 3.696-.124 7.623.006c1.882-.087 3.65.728 5.091 1.872a27.061 27.061 0 0 1-1.932 1.991C9.05 2.68 6.586 2.338 4.853 3.713c-2.478 1.705-2.59 5.731-.207 7.567 2.318 2.092 6.7 1.053 7.34-2.15-1.451-.022-2.907 0-4.36-.048-.003-.861-.007-1.723-.003-2.585 2.427-.007 4.855-.01 7.286.008.145 2.027-.124 4.185-1.376 5.86-1.896 2.655-5.702 3.43-8.672 2.292-2.98-1.13-5.092-4.26-4.84-7.454m19.623-2.882h2.165c.004.721.007 1.445.015 2.165.724.008 1.452.008 2.176.015v2.154c-.724.007-1.448.011-2.176.018-.008.724-.011 1.445-.015 2.165H19.64c-.007-.72-.007-1.44-.014-2.161l-2.177-.022V6.501c.725-.007 1.449-.01 2.177-.015.003-.724.01-1.444.018-2.165" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 812 B

View File

@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Path Copy 9</title><path d="M20.452 20.45h-3.56v-5.57c0-1.327-.022-3.036-1.85-3.036-1.851 0-2.134 1.448-2.134 2.941v5.665H9.352V8.997h3.413v1.566h.049c.474-.9 1.636-1.85 3.367-1.85 3.605 0 4.27 2.371 4.27 5.456v6.281zM5.339 7.433a2.063 2.063 0 1 1 0-4.13 2.065 2.065 0 0 1 0 4.13zM7.12 20.45H3.557V8.997H7.12V20.45zM23 0H1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 518 B

View File

@ -0,0 +1 @@
<svg width="24" height="20" viewBox="0 0 24 20" xmlns="http://www.w3.org/2000/svg"><title>Path Copy 7</title><path d="M24 2.309a9.83 9.83 0 0 1-2.828.775A4.94 4.94 0 0 0 23.337.36a9.865 9.865 0 0 1-3.127 1.196 4.925 4.925 0 0 0-8.39 4.49A13.974 13.974 0 0 1 1.671.901a4.902 4.902 0 0 0-.667 2.476c0 1.708.869 3.216 2.191 4.099A4.936 4.936 0 0 1 .964 6.86v.061a4.926 4.926 0 0 0 3.95 4.828 4.964 4.964 0 0 1-2.224.085 4.93 4.93 0 0 0 4.6 3.42 9.886 9.886 0 0 1-6.115 2.107c-.398 0-.79-.023-1.175-.068a13.945 13.945 0 0 0 7.548 2.212c9.057 0 14.009-7.503 14.009-14.01 0-.213-.005-.425-.014-.636A10.012 10.012 0 0 0 24 2.309" fill="#FFF" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 662 B

Some files were not shown because too many files have changed in this diff Show More