Merge branch 'master' of https://github.com/Ocelot-Social-Community/Ocelot-Social into 4092-redesign-registration-process

This commit is contained in:
Wolfgang Huß 2021-02-26 07:10:28 +01:00
commit 05352e52c9
61 changed files with 852 additions and 14112 deletions

View File

@ -56,7 +56,7 @@ jobs:
##########################################################################
- name: Neo4J | Build `community` image
run: |
docker build --target community -t "ocelotsocialnetwork/neo4j:community" -t "ocelotsocialnetwork/neo4j:${VERSION}" -t "ocelotsocialnetwork/neo4j:${BUILD_VERSION}" neo4j/
docker build --target community -t "ocelotsocialnetwork/neo4j:latest" -t "ocelotsocialnetwork/neo4j:community" -t "ocelotsocialnetwork/neo4j:${VERSION}" -t "ocelotsocialnetwork/neo4j:${BUILD_VERSION}" neo4j/
docker save "ocelotsocialnetwork/neo4j" > /tmp/neo4j.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
@ -65,7 +65,7 @@ jobs:
path: /tmp/neo4j.tar
##############################################################################
# JOB: DOCKER BUILD Production BACKEND #######################################
# JOB: DOCKER BUILD PRODUCTION BACKEND #######################################
##############################################################################
build_production_backend:
name: Docker Build Production - Backend
@ -229,14 +229,13 @@ jobs:
- name: login to dockerhub
run: echo "${DOCKERHUB_TOKEN}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin
- name: Push neo4j
# TODO: at some point --all-tags will be needed -.-
run: docker push ocelotsocialnetwork/neo4j
run: docker push --all-tags ocelotsocialnetwork/neo4j
- name: Push backend
run: docker push ocelotsocialnetwork/backend
run: docker push --all-tags ocelotsocialnetwork/backend
- name: Push webapp
run: docker push ocelotsocialnetwork/webapp
run: docker push --all-tags ocelotsocialnetwork/webapp
- name: Push maintenance
run: docker push ocelotsocialnetwork/maintenance
run: docker push --all-tags ocelotsocialnetwork/maintenance
##############################################################################
# JOB: GITHUB TAG LATEST VERSION #############################################

14145
CHANGELOG.md

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "ocelot-social-backend",
"version": "0.6.5",
"version": "0.6.14",
"description": "GraphQL Backend for ocelot.social",
"repository": "https://github.com/Ocelot-Social-Community/Ocelot-Social",
"author": "ocelot.social Community",

View File

@ -40,7 +40,8 @@ const server = {
const smtp = {
SMTP_HOST: env.SMTP_HOST,
SMTP_PORT: env.SMTP_PORT,
SMTP_IGNORE_TLS: env.SMTP_IGNORE_TLS || true,
SMTP_IGNORE_TLS: env.SMTP_IGNORE_TLS === 'true' || true,
SMTP_SECURE: env.SMTP_IGNORE_TLS === 'true' || false,
SMTP_USERNAME: env.SMTP_USERNAME,
SMTP_PASSWORD: env.SMTP_PASSWORD,
}

View File

@ -49,8 +49,9 @@ Factory.define('badge')
Factory.define('image')
.attr('url', faker.image.unsplash.imageUrl)
.attr('aspectRatio', 1)
.attr('aspectRatio', 1.3333333333333333)
.attr('alt', faker.lorem.sentence)
.attr('type', 'image/jpeg')
.after((buildObject, options) => {
const { url: imageUrl } = buildObject
if (imageUrl) buildObject.url = uniqueImageUrl(imageUrl)

View File

View File

@ -0,0 +1,9 @@
'use strict'
module.exports.up = function (next) {
next()
}
module.exports.down = function (next) {
next()
}

View File

@ -22,8 +22,8 @@ if (!hasEmailConfig) {
const transporter = nodemailer.createTransport({
host: CONFIG.SMTP_HOST,
port: CONFIG.SMTP_PORT,
ignoreTLS: CONFIG.SMTP_IGNORE_TLS === 'true',
secure: false, // true for 465, false for other ports
ignoreTLS: CONFIG.SMTP_IGNORE_TLS,
secure: CONFIG.SMTP_SECURE, // true for 465, false for other ports
auth: hasAuthData && {
user: CONFIG.SMTP_USERNAME,
pass: CONFIG.SMTP_PASSWORD,

View File

@ -122,6 +122,7 @@ export default shield(
MyInviteCodes: isAuthenticated,
isValidInviteCode: allow,
queryLocations: isAuthenticated,
availableRoles: isAdmin,
},
Mutation: {
'*': deny,
@ -166,6 +167,7 @@ export default shield(
unpinPost: isAdmin,
UpdateDonations: isAdmin,
GenerateInviteCode: isAuthenticated,
switchUserRole: isAdmin,
},
User: {
email: or(isMyOwn, isAdmin),

View File

@ -3,5 +3,6 @@ export default {
alt: { type: 'string' },
sensitive: { type: 'boolean', default: false },
aspectRatio: { type: 'float', default: 1.0 },
type: { type: 'string' },
createdAt: { type: 'string', isoDate: true, default: () => new Date().toISOString() },
}

View File

@ -2,7 +2,7 @@ import Resolver from './helpers/Resolver'
export default {
Image: {
...Resolver('Image', {
undefinedToNull: ['sensitive', 'alt', 'aspectRatio'],
undefinedToNull: ['sensitive', 'alt', 'aspectRatio', 'type'],
}),
},
}

View File

@ -53,8 +53,8 @@ export async function mergeImage(resource, relationshipType, imageInput, opts =
if (!(existingImage || upload)) throw new UserInputError('Cannot find image for given resource')
if (existingImage && upload) deleteImageFile(existingImage, deleteCallback)
const url = await uploadImageFile(upload, uploadCallback)
const { alt, sensitive, aspectRatio } = imageInput
const image = { alt, sensitive, aspectRatio, url }
const { alt, sensitive, aspectRatio, type } = imageInput
const image = { alt, sensitive, aspectRatio, url, type }
txResult = await transaction.run(
`
MATCH (resource {id: $resource.id})

View File

@ -0,0 +1,7 @@
export default {
Query: {
availableRoles: async (_parent, args, context, _resolveInfo) => {
return ['admin', 'moderator', 'user']
},
},
}

View File

@ -244,6 +244,31 @@ export default {
session.close()
}
},
switchUserRole: async (object, args, context, resolveInfo) => {
const { role, id } = args
if (context.user.id === id) throw new Error('you-cannot-change-your-own-role')
const session = context.driver.session()
const writeTxResultPromise = session.writeTransaction(async (transaction) => {
const switchUserRoleResponse = await transaction.run(
`
MATCH (user:User {id: $id})
SET user.role = $role
SET user.updatedAt = toString(datetime())
RETURN user {.*}
`,
{ id, role },
)
const [user] = switchUserRoleResponse.records.map((record) => record.get('user'))
return user
})
try {
const user = await writeTxResultPromise
return user
} finally {
session.close()
}
},
},
User: {
email: async (parent, params, context, resolveInfo) => {

View File

@ -45,6 +45,18 @@ const deleteUserMutation = gql`
}
`
const switchUserRoleMutation = gql`
mutation($role: UserGroup!, $id: ID!) {
switchUserRole(role: $role, id: $id) {
name
role
id
updatedAt
email
}
}
`
beforeAll(() => {
const { server } = createServer({
context: () => {
@ -458,3 +470,71 @@ describe('Delete a User as admin', () => {
})
})
})
describe('switch user role', () => {
beforeEach(async () => {
user = await Factory.build('user', {
id: 'user',
role: 'user',
})
admin = await Factory.build('user', {
role: 'admin',
id: 'admin',
})
})
describe('as simple user', () => {
it('cannot change the role', async () => {
authenticatedUser = await user.toJson()
variables = {
id: 'user',
role: 'admin',
}
await expect(mutate({ mutation: switchUserRoleMutation, variables })).resolves.toEqual(
expect.objectContaining({
errors: [
expect.objectContaining({
message: 'Not Authorised!',
}),
],
}),
)
})
})
describe('as admin', () => {
it('changes the role of other user', async () => {
authenticatedUser = await admin.toJson()
variables = {
id: 'user',
role: 'moderator',
}
await expect(mutate({ mutation: switchUserRoleMutation, variables })).resolves.toEqual(
expect.objectContaining({
data: {
switchUserRole: expect.objectContaining({
role: 'moderator',
}),
},
}),
)
})
it('cannot change own role', async () => {
authenticatedUser = await admin.toJson()
variables = {
id: 'admin',
role: 'moderator',
}
await expect(mutate({ mutation: switchUserRoleMutation, variables })).resolves.toEqual(
expect.objectContaining({
errors: [
expect.objectContaining({
message: 'you-cannot-change-your-own-role',
}),
],
}),
)
})
})
})

View File

@ -30,46 +30,46 @@ const newlyCreatedNodesWithLocales = [
city: {
id: expect.stringContaining('place'),
type: 'place',
name: 'Hamburg',
nameEN: 'Hamburg',
nameDE: 'Hamburg',
namePT: 'Hamburg',
nameES: 'Hamburg',
nameFR: 'Hamburg',
nameIT: 'Hamburg',
nameRU: 'Хамбург',
nameNL: 'Hamburg',
namePL: 'Hamburg',
lng: -74.5763,
lat: 41.1534,
name: 'Welzheim',
nameEN: 'Welzheim',
nameDE: 'Welzheim',
namePT: 'Welzheim',
nameES: 'Welzheim',
nameFR: 'Welzheim',
nameIT: 'Welzheim',
nameRU: 'Вельцхайм',
nameNL: 'Welzheim',
namePL: 'Welzheim',
lng: 9.63444,
lat: 48.87472,
},
state: {
id: expect.stringContaining('region'),
type: 'region',
name: 'New Jersey',
nameEN: 'New Jersey',
nameDE: 'New Jersey',
namePT: 'Nova Jérsia',
nameES: 'Nueva Jersey',
nameFR: 'New Jersey',
nameIT: 'New Jersey',
nameRU: 'Нью-Джерси',
nameNL: 'New Jersey',
namePL: 'New Jersey',
name: 'Baden-Württemberg',
nameDE: 'Baden-Württemberg',
nameEN: 'Baden-Württemberg',
nameES: 'Baden-Wurtemberg',
nameFR: 'Bade-Wurtemberg',
nameIT: 'Baden-Württemberg',
nameNL: 'Baden-Württemberg',
namePL: 'Badenia-Wirtembergia',
namePT: 'Baden-Württemberg',
nameRU: 'Баден-Вюртемберг',
},
country: {
id: expect.stringContaining('country'),
type: 'country',
name: 'United States',
nameEN: 'United States',
nameDE: 'Vereinigte Staaten',
namePT: 'Estados Unidos',
nameES: 'Estados Unidos',
nameFR: 'États-Unis',
nameIT: "Stati Uniti d'America",
nameRU: 'Соединённые Штаты Америки',
nameNL: 'Verenigde Staten van Amerika',
namePL: 'Stany Zjednoczone',
name: 'Germany',
nameDE: 'Deutschland',
nameEN: 'Germany',
nameES: 'Alemania',
nameFR: 'Allemagne',
nameIT: 'Germania',
nameNL: 'Duitsland',
namePL: 'Niemcy',
namePT: 'Alemanha',
nameRU: 'Германия',
},
},
]
@ -170,7 +170,7 @@ describe('userMiddleware', () => {
...variables,
id: 'updating-user',
name: 'Updating user',
locationName: 'Hamburg, New Jersey, United States of America',
locationName: 'Welzheim, Baden-Württemberg, Germany',
}
await mutate({ mutation: updateUserMutation, variables })
const locations = await neode.cypher(

View File

@ -2,4 +2,4 @@ enum UserGroup {
admin
moderator
user
}
}

View File

@ -8,6 +8,7 @@ type Image {
alt: String,
sensitive: Boolean,
aspectRatio: Float,
type: String,
}
input ImageInput {
@ -15,4 +16,5 @@ input ImageInput {
upload: Upload,
sensitive: Boolean,
aspectRatio: Float,
type: String,
}

View File

@ -170,6 +170,7 @@ type Query {
filter: _UserFilter
): [User]
availableRoles: [UserGroup]!
mutedUsers: [User]
blockedUsers: [User]
isLoggedIn: Boolean!
@ -215,4 +216,6 @@ type Mutation {
unmuteUser(id: ID!): User
blockUser(id: ID!): User
unblockUser(id: ID!): User
switchUserRole(role: UserGroup!, id: ID!): User
}

View File

@ -1,6 +1,6 @@
{
"name": "ocelot-social",
"version": "0.6.5",
"version": "0.6.14",
"description": "Fullstack and API tests with cypress and cucumber for ocelot.social",
"author": "ocelot.social Community",
"license": "MIT",

View File

@ -86,6 +86,7 @@ COPY --from=build ${DOCKER_WORKDIR}/node_modules ./node_modules
COPY --from=build ${DOCKER_WORKDIR}/nuxt.config.js ./nuxt.config.js
# Copy static files
# TODO - this should be one Folder containign all stuff needed to be copied
COPY --from=build ${DOCKER_WORKDIR}/config/ ./config/
COPY --from=build ${DOCKER_WORKDIR}/constants ./constants
COPY --from=build ${DOCKER_WORKDIR}/static ./static
COPY --from=build ${DOCKER_WORKDIR}/locales ./locales

View File

@ -191,10 +191,10 @@ $font-weight-bold: 600;
* @presenter LineHeight
*/
$line-height-large: 1.5;
$line-height-base: 1.3;
$line-height-small: 1.1;
$line-height-smaller: 1.0;
$line-height-large: 1.5rem;
$line-height-base: 1.3rem;
$line-height-small: 1.1rem;
$line-height-smaller: 1.0rem;
/**
* @tokens Letter Spacing
@ -352,3 +352,7 @@ $media-query-small: (min-width: 600px);
$media-query-medium: (min-width: 768px);
$media-query-large: (min-width: 1024px);
$media-query-x-large: (min-width: 1200px);
/**
* @tokens Background Images
*/

View File

@ -151,6 +151,7 @@ describe('ContributionForm.vue', () => {
aspectRatio: null,
sensitive: false,
upload: imageUpload,
type: null,
}
const spy = jest
.spyOn(FileReader.prototype, 'readAsDataURL')

View File

@ -19,6 +19,7 @@
:class="[formData.imageBlurred && '--blur-image']"
@addHeroImage="addHeroImage"
@addImageAspectRatio="addImageAspectRatio"
@addImageType="addImageType"
/>
</template>
<div v-if="formData.image" class="blur-toggle">
@ -84,7 +85,11 @@ export default {
},
data() {
const { title, content, image } = this.contribution
const { sensitive: imageBlurred = false, aspectRatio: imageAspectRatio = null } = image || {}
const {
sensitive: imageBlurred = false,
aspectRatio: imageAspectRatio = null,
type: imageType = null,
} = image || {}
return {
links,
@ -93,6 +98,7 @@ export default {
content: content || '',
image: image || null,
imageAspectRatio,
imageType,
imageBlurred,
},
formSchema: {
@ -125,6 +131,7 @@ export default {
if (this.imageUpload) {
image.upload = this.imageUpload
image.aspectRatio = this.formData.imageAspectRatio
image.type = this.formData.imageType
}
}
this.loading = true
@ -173,6 +180,9 @@ export default {
addImageAspectRatio(aspectRatio) {
this.formData.imageAspectRatio = aspectRatio
},
addImageType(imageType) {
this.formData.imageType = imageType
},
},
apollo: {
User: {

View File

@ -0,0 +1,78 @@
import { storiesOf } from '@storybook/vue'
import { withA11y } from '@storybook/addon-a11y'
import ContentViewer from '~/components/Editor/ContentViewer.vue'
import helpers from '~/storybook/helpers'
helpers.init()
storiesOf('ContentViewer', module)
.addDecorator(withA11y)
.addDecorator((storyFn) => {
const ctx = storyFn()
return {
components: { ctx },
template: `
<base-card style="width: 50%; min-width: 500px; margin: 0 auto;">
<ctx />
</base-card>
`,
}
})
.addDecorator(helpers.layout)
.add('Basic formatting', () => ({
components: { ContentViewer },
store: helpers.store,
data: () => ({
content: `
<h3>Basic formatting</h3>
<p>
Here is some <em>italic</em>, <b>bold</b> and <u>underline</u> text.
<br/>
Also do we have some <a href="https://human-connection.org">inline links</a> here.
</p>
<h3>Heading 3</h3>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
<h4>Heading 4</h4>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
<h5>Heading 5</h5>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
<h3>Unordered List</h3>
<ul>
<li><p>Also some list</p></li>
<li><p>with</p></li>
<li><p>several</p></li>
<li>
<p>points</p>
<ul>
<li>
<p>and indentations</p>
<p>as well as text parapgraphs</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</li>
</ul>
</li>
</ul>
<h3>Ordered List</h3>
<ol>
<li>
<p>ordered lists</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsu</p>
<ol>
<li>
<p>can have indentations</p>
<ol>
<li>
<p>and text parapgraphs, too</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</li>
</ol>
</li>
</ol>
</li>
</ol>
`,
}),
template: `<content-viewer :content="content" />`,
}))

View File

@ -79,15 +79,35 @@ storiesOf('Editor', module)
<li><p>Also some list</p></li>
<li><p>with</p></li>
<li><p>several</p></li>
<li><p>points</p></li>
<li>
<p>points</p>
<ul>
<li>
<p>and indentations</p>
<p>as well as text parapgraphs</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</li>
</ul>
</li>
</ul>
<h3>Ordered List</h3>
<ol>
<li><p>justo</p></li>
<li><p>dolores</p></li>
<li><p>et ea rebum</p></li>
<li><p>kasd gubergren</p></li>
<li>
<p>ordered lists</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsu</p>
<ol>
<li>
<p>can have indentations</p>
<ol>
<li>
<p>and text parapgraphs, too</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</li>
</ol>
</li>
</ol>
</li>
</ol>
`,
}),

View File

@ -327,5 +327,46 @@ li > p {
p {
margin: 0 0 $space-x-small;
}
ul {
padding-left: $space-x-large;
li {
display: block;
text-indent: -$space-large;
p:first-child:before {
content: '•';
padding: $space-none $space-x-small;
margin-right: $space-x-small;
}
p:not(:first-child) {
padding-left: $space-base;
}
}
}
ol {
// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Lists_and_Counters/Using_CSS_counters
counter-reset: item;
padding-left: $space-x-large + 4px;
li {
display: block;
text-indent: -$space-large - 4px;
p:first-child:before {
content: counters(item, '.') '.';
counter-increment: item;
padding: $space-none $space-x-small;
margin-right: $space-x-small;
}
p:not(:first-child) {
padding-left: $space-base;
}
}
}
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<base-button
class="follow-button"
class="track-button"
:disabled="disabled || !followId"
:loading="loading"
:icon="icon"
@ -85,7 +85,7 @@ export default {
</script>
<style lang="scss">
.follow-button {
.track-button {
display: block;
width: 100%;
}

View File

@ -25,19 +25,11 @@ describe('ImageUploader.vue', () => {
describe('handles errors', () => {
beforeEach(() => jest.useFakeTimers())
const message = 'File upload failed'
const fileError = { status: 'error' }
const unSupportedFileMessage =
'Please upload an image of file format : JPG , JPEG , PNG or GIF'
it('shows an error toaster when verror is called', () => {
wrapper.vm.onDropzoneError(fileError, message)
expect(mocks.$toast.error).toHaveBeenCalledWith(fileError.status, message)
})
const unSupportedFileMessage = 'message'
it('shows an error toaster when unSupported file is uploaded', () => {
wrapper.vm.onUnSupportedFormat(fileError.status, unSupportedFileMessage)
expect(mocks.$toast.error).toHaveBeenCalledWith(fileError.status, unSupportedFileMessage)
wrapper.vm.onUnSupportedFormat(unSupportedFileMessage)
expect(mocks.$toast.error).toHaveBeenCalledWith(unSupportedFileMessage)
})
})
})

View File

@ -1,17 +1,21 @@
<template>
<div class="image-uploader">
<vue-dropzone
v-show="!showCropper"
v-show="!showCropper && !hasImage"
id="postdropzone"
:options="dropzoneOptions"
:use-custom-slot="true"
@vdropzone-error="onDropzoneError"
@vdropzone-file-added="initCropper"
@vdropzone-file-added="fileAdded"
>
<loading-spinner v-if="isLoadingImage" />
<base-icon v-else name="image" />
<base-icon v-else-if="!hasImage" name="image" />
<div v-if="!hasImage" class="supported-formats">
{{ $t('contribution.teaserImage.supportedFormats') }}
</div>
</vue-dropzone>
<div v-show="!showCropper && hasImage">
<base-button
v-if="hasImage"
class="delete-image-button"
icon="trash"
circle
danger
@ -20,10 +24,12 @@
:title="$t('actions.delete')"
@click.stop="deleteImage"
/>
<div v-if="!hasImage" class="supported-formats">
{{ $t('contribution.teaserImage.supportedFormats') }}
</div>
</vue-dropzone>
</div>
<div v-show="!showCropper && imageCanBeCropped" class="crop-overlay">
<base-button class="crop-confirm" filled @click="initCropper">
{{ $t('contribution.teaserImage.cropImage') }}
</base-button>
</div>
<div v-show="showCropper" class="crop-overlay">
<img id="cropping-image" />
<base-button class="crop-confirm" filled @click="cropImage">
@ -48,6 +54,8 @@ import Cropper from 'cropperjs'
import LoadingSpinner from '~/components/_new/generic/LoadingSpinner/LoadingSpinner'
import 'cropperjs/dist/cropper.css'
const minAspectRatio = 0.3
export default {
components: {
LoadingSpinner,
@ -70,50 +78,64 @@ export default {
cropper: null,
file: null,
showCropper: false,
imageCanBeCropped: false,
isLoadingImage: false,
}
},
methods: {
onDropzoneError(file, message) {
this.$toast.error(file.status, message)
onUnSupportedFormat(message) {
this.$toast.error(message)
},
onUnSupportedFormat(status, message) {
this.$toast.error(status, message)
addImageProcess(src) {
return new Promise((resolve, reject) => {
const img = new Image()
img.onload = () => resolve(img)
img.onerror = reject
img.src = src
})
},
initCropper(file) {
async fileAdded(file) {
const supportedFormats = ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
if (supportedFormats.indexOf(file.type) < 0) {
this.onUnSupportedFormat(
'error',
this.$t('contribution.teaserImage.errors.unSupported-file-format'),
)
return
this.onUnSupportedFormat(this.$t('contribution.teaserImage.errors.unSupported-file-format'))
this.$nextTick((this.isLoadingImage = false))
return null
}
this.showCropper = true
const imageURL = URL.createObjectURL(file)
const image = await this.addImageProcess(imageURL)
const aspectRatio = image.width / image.height
if (aspectRatio < minAspectRatio) {
this.aspectRatioError()
return null
}
this.saveImage(aspectRatio, file, file.type)
this.file = file
if (this.file.type === 'image/jpeg') this.imageCanBeCropped = true
this.$nextTick((this.isLoadingImage = false))
},
initCropper() {
this.showCropper = true
const imageElement = document.querySelector('#cropping-image')
imageElement.src = URL.createObjectURL(file)
imageElement.src = URL.createObjectURL(this.file)
this.cropper = new Cropper(imageElement, { zoomable: false, autoCropArea: 0.9 })
},
cropImage() {
this.isLoadingImage = true
const onCropComplete = (aspectRatio, imageFile) => {
this.$emit('addImageAspectRatio', aspectRatio)
this.$emit('addHeroImage', imageFile)
const onCropComplete = (aspectRatio, imageFile, imageType) => {
this.saveImage(aspectRatio, imageFile, imageType)
this.$nextTick((this.isLoadingImage = false))
this.closeCropper()
}
if (this.file.type === 'image/jpeg') {
const canvas = this.cropper.getCroppedCanvas()
canvas.toBlob((blob) => {
const imageAspectRatio = canvas.width / canvas.height
if (imageAspectRatio < minAspectRatio) {
this.aspectRatioError()
return
}
const croppedImageFile = new File([blob], this.file.name, { type: this.file.type })
onCropComplete(imageAspectRatio, croppedImageFile)
onCropComplete(imageAspectRatio, croppedImageFile, 'image/jpeg')
}, 'image/jpeg')
} else {
// TODO: use cropped file instead of original file
@ -125,9 +147,18 @@ export default {
this.showCropper = false
this.cropper.destroy()
},
aspectRatioError() {
this.$toast.error(this.$t('contribution.teaserImage.errors.aspect-ratio-too-small'))
},
saveImage(aspectRatio = 1.0, file, fileType) {
this.$emit('addImageAspectRatio', aspectRatio)
this.$emit('addHeroImage', file)
this.$emit('addImageType', fileType)
},
deleteImage() {
this.$emit('addHeroImage', null)
this.$emit('addImageAspectRatio', null)
this.$emit('addImageType', null)
},
},
}
@ -136,7 +167,6 @@ export default {
.image-uploader {
position: relative;
min-height: $size-image-uploader-min-height;
cursor: pointer;
.image + & {
position: absolute;
@ -181,6 +211,14 @@ export default {
}
}
.delete-image-button {
position: absolute;
top: $space-small;
right: $space-small;
z-index: $z-index-surface;
cursor: pointer;
}
.dz-message {
position: absolute;
display: flex;
@ -189,6 +227,7 @@ export default {
width: 100%;
height: 100%;
z-index: $z-index-surface;
cursor: pointer;
&:hover {
> .base-icon {

View File

@ -28,7 +28,6 @@
</base-button>
<ds-input
v-if="!hasMore"
v-focus="true"
:name="`${type}Filter`"
:placeholder="filter"
class="spacer-x-small"

View File

@ -18,6 +18,7 @@ const environment = {
const server = {
GRAPHQL_URI: process.env.GRAPHQL_URI || 'http://localhost:4000',
BACKEND_TOKEN: process.env.BACKEND_TOKEN || 'NULL',
WEBSOCKETS_URI: process.env.WEBSOCKETS_URI || 'ws://localhost:4000/graphql',
}
const sentry = {

View File

@ -51,6 +51,7 @@ export const postFragment = gql`
url
sensitive
aspectRatio
type
}
author {
...user

View File

@ -0,0 +1,23 @@
import gql from 'graphql-tag'
export const FetchAllRoles = () => {
return gql`
query {
availableRoles
}
`
}
export const updateUserRole = (role, id) => {
return gql`
mutation($role: UserGroup!, $id: ID!) {
switchUserRole(role: $role, id: $id) {
name
role
id
updatedAt
email
}
}
`
}

View File

@ -63,6 +63,7 @@
"placeholder": "E-Mail, Name oder Beschreibung"
},
"name": "Benutzer",
"roleChanged": "Rolle erfolgreich geändert!",
"table": {
"columns": {
"createdAt": "Erstellt am",
@ -233,8 +234,10 @@
"newPost": "Erstelle einen neuen Beitrag",
"success": "Gespeichert!",
"teaserImage": {
"cropImage": "Bild zuschneiden",
"cropperConfirm": "Bestätigen",
"errors": {
"aspect-ratio-too-small": "Dieses Bild ist zu hoch.",
"unSupported-file-format": "Bitte lade ein Bild in den folgenden Formaten hoch: JPG, JPEG, PNG or GIF!"
},
"supportedFormats": "Füge ein Bild im Dateiformat JPG, PNG oder GIF ein"

View File

@ -63,6 +63,7 @@
"placeholder": "e-mail, name or description"
},
"name": "Users",
"roleChanged": "Role changed successfully!",
"table": {
"columns": {
"createdAt": "Created at",
@ -233,8 +234,10 @@
"newPost": "Create a new Post",
"success": "Saved!",
"teaserImage": {
"cropImage": "Crop image",
"cropperConfirm": "Confirm",
"errors": {
"aspect-ratio-too-small": "This image is too high.",
"unSupported-file-format": "Please upload an image of file format: JPG, JPEG, PNG or GIF!"
},
"supportedFormats": "Insert a picture of file format JPG, PNG or GIF"

View File

@ -1,6 +1,6 @@
{
"name": "ocelot-social-webapp",
"version": "0.6.5",
"version": "0.6.14",
"description": "ocelot.social Frontend",
"repository": "https://github.com/Ocelot-Social-Community/Ocelot-Social",
"author": "ocelot.social Community",

View File

@ -1,27 +1,54 @@
import { mount } from '@vue/test-utils'
import { config, mount } from '@vue/test-utils'
import Vuex from 'vuex'
import Users from './users.vue'
const localVue = global.localVue
config.stubs['nuxt-link'] = '<span><slot /></span>'
describe('Users', () => {
let wrapper
let Wrapper
let mocks
let getters
beforeEach(() => {
mocks = {
$t: jest.fn(),
$apollo: {
loading: false,
},
}
})
const mocks = {
$t: jest.fn(),
$apollo: {
loading: false,
mutate: jest
.fn()
.mockRejectedValue({ message: 'Ouch!' })
.mockResolvedValue({
data: {
switchUserRole: {
id: 'user',
email: 'user@example.org',
name: 'User',
role: 'moderator',
slug: 'user',
},
},
}),
},
$toast: {
error: jest.fn(),
success: jest.fn(),
},
}
describe('mount', () => {
getters = {
'auth/isAdmin': () => true,
'auth/user': () => {
return { id: 'admin' }
},
}
Wrapper = () => {
const store = new Vuex.Store({ getters })
return mount(Users, {
mocks,
localVue,
store,
})
}
@ -69,5 +96,54 @@ describe('Users', () => {
})
})
})
describe('change roles', () => {
beforeAll(() => {
wrapper = Wrapper()
wrapper.setData({
User: [
{
id: 'admin',
email: 'admin@example.org',
name: 'Admin',
role: 'admin',
slug: 'admin',
},
{
id: 'user',
email: 'user@example.org',
name: 'User',
role: 'user',
slug: 'user',
},
],
userRoles: ['user', 'moderator', 'admin'],
})
})
it('cannot change own role', () => {
const adminRow = wrapper.findAll('tr').at(1)
expect(adminRow.find('select').exists()).toBe(false)
})
it('changes the role of another user', () => {
const userRow = wrapper.findAll('tr').at(2)
userRow.findAll('option').at(1).setSelected()
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(
expect.objectContaining({
variables: {
id: 'user',
role: 'moderator',
},
}),
)
})
it('toasts a success message after role has changed', () => {
const userRow = wrapper.findAll('tr').at(2)
userRow.findAll('option').at(1).setSelected()
expect(mocks.$toast.success).toHaveBeenCalled()
})
})
})
})

View File

@ -48,6 +48,21 @@
<template #createdAt="scope">
{{ scope.row.createdAt | dateTime }}
</template>
<template slot="role" slot-scope="scope">
<template v-if="userRoles">
<select
v-if="scope.row.id !== currentUser.id"
:value="`${scope.row.role}`"
v-on:change="changeUserRole(scope.row.id, $event)"
>
<option v-for="value in userRoles" :key="value">
{{ value }}
</option>
</select>
<ds-text v-else>{{ scope.row.role }}</ds-text>
</template>
</template>
</ds-table>
<pagination-buttons :hasNext="hasNext" :hasPrevious="hasPrevious" @next="next" @back="back" />
</base-card>
@ -58,10 +73,12 @@
</template>
<script>
import { mapGetters } from 'vuex'
import gql from 'graphql-tag'
import { isEmail } from 'validator'
import normalizeEmail from '~/components/utils/NormalizeEmail'
import PaginationButtons from '~/components/_new/generic/PaginationButtons/PaginationButtons'
import { FetchAllRoles, updateUserRole } from '~/graphql/admin/Roles'
export default {
components: {
@ -77,6 +94,7 @@ export default {
hasNext: false,
email: null,
filter: null,
userRoles: [],
form: {
formData: {
query: '',
@ -88,6 +106,9 @@ export default {
hasPrevious() {
return this.offset > 0
},
...mapGetters({
currentUser: 'auth/user',
}),
fields() {
return {
index: this.$t('admin.users.table.columns.number'),
@ -153,6 +174,14 @@ export default {
return User.map((u, i) => Object.assign({}, u, { index: this.offset + i }))
},
},
userRoles: {
query() {
return FetchAllRoles()
},
update({ availableRoles }) {
return availableRoles
},
},
},
methods: {
back() {
@ -174,6 +203,20 @@ export default {
}
}
},
changeUserRole(id, event) {
const newRole = event.target.value
this.$apollo
.mutate({
mutation: updateUserRole(),
variables: { role: newRole, id },
})
.then(({ data }) => {
this.$toast.success(this.$t('admin.users.roleChanged'))
})
.catch((error) => {
this.$toast.error(error.message)
})
},
},
}
</script>

View File

@ -44,19 +44,13 @@
<h2 class="title hyphenate-text">{{ post.title }}</h2>
<ds-space margin-bottom="small" />
<content-viewer class="content hyphenate-text" :content="post.content" />
<!-- eslint-enable vue/no-v-html -->
<ds-space margin="xx-large" />
<ds-space margin-bottom="small" />
<!-- Tags -->
<div v-if="post.tags && post.tags.length" class="tags">
<ds-space margin="xx-small" />
<hc-hashtag v-for="tag in sortedTags" :key="tag.id" :id="tag.id" />
</div>
<ds-space margin-top="x-large">
<ds-space margin-top="small">
<ds-flex :gutter="{ lg: 'small' }">
<ds-flex-item :width="{ lg: '75%', md: '75%', sm: '75%', base: '100%' }">
<hc-emotions :post="post" />
</ds-flex-item>
<!-- Shout Button -->
<ds-flex-item
:width="{ lg: '15%', md: '22%', sm: '22%', base: '100%' }"
@ -107,7 +101,6 @@ import {
sortTagsAlphabetically,
} from '~/components/utils/PostHelpers'
import PostQuery from '~/graphql/PostQuery'
import HcEmotions from '~/components/Emotions/Emotions'
import PostMutations from '~/graphql/PostMutations'
import links from '~/constants/links.js'
@ -124,7 +117,6 @@ export default {
ContentMenu,
CommentForm,
CommentList,
HcEmotions,
ContentViewer,
},
head() {
@ -176,13 +168,13 @@ export default {
/* Return false when image property is not present or is not a number
so no unnecessary css variables are set.
*/
if (!this.post.image || typeof this.post.image.aspectRatio !== 'number') return false
if (!this.post.image || typeof this.post.image.aspectRatio !== 'number') return false
/* Return the aspect ratio as a css variable. Later to be used when calculating
the height with respect to the width.
*/
return {
'--hero-image-aspect-ratio': 1 / this.post.image.aspectRatio,
'--hero-image-aspect-ratio': 1.0 / this.post.image.aspectRatio,
}
},
},
@ -258,8 +250,8 @@ export default {
hero image aspect ratio) before the hero image loads so
the autoscroll works correctly when following a comment link.
*/
padding-top: calc(var(--hero-image-aspect-ratio) * 100%);
padding-top: calc(var(--hero-image-aspect-ratio) * (100% + 48px));
/* Letting the image fill the container, since the container
is the one determining height
*/

View File

@ -11,7 +11,7 @@ export default ({ req, nuxtState }) => {
const backendUrl = env.GRAPHQL_URI || 'http://localhost:4000'
return {
wsEndpoint: env.WEBSOCKETS_URI || 'ws://localhost:4000/graphql',
wsEndpoint: env.WEBSOCKETS_URI,
httpEndpoint: process.server ? backendUrl : '/api',
httpLinkOptions: {
credentials: 'same-origin',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,23 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="828" height="260" viewBox="0 0 828 260" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(20.1687,-2.56346,1.16905,9.19781,-4871.51,-1187.23)">
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(2.95533,0,0,2.95533,-18.4944,-17.8011)">
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
<path d="M50,86.57C52.004,86.57 56.013,85.541 56.013,85.541C57.049,85.809 56.732,86.99 59.5,86.414C59.5,86.414 60.917,86.187 61.043,87.1C61.17,88.013 60.255,90.034 57.757,91.5C55.258,92.966 52.642,92.872 50,92.901C47.358,92.872 44.742,92.966 42.243,91.5C39.745,90.034 38.83,88.013 38.957,87.1C39.083,86.187 40.5,86.414 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C43.987,85.541 47.996,86.57 50,86.57Z" style="fill:rgb(134,131,131);"/>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,23 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="600" height="570" viewBox="0 0 600 570" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(19.3864,-2.46403,1.12371,8.84107,-4780.51,-981.139)">
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(1.04809,0,0,1.04809,274.036,-174.508)">
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,23 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="619" height="593" viewBox="0 0 619 593" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(20.1687,-2.56346,1.16905,9.19781,-4976.01,-1020.73)">
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(1.09038,0,0,1.09038,282.489,-181.549)">
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,23 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="600" height="570" viewBox="0 0 600 570" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(19.3864,-2.46403,1.12371,8.84107,-4780.51,-981.139)">
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(1.04809,0,0,1.04809,274.036,-174.508)">
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,23 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="600" height="570" viewBox="0 0 600 570" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(19.3864,-2.46403,1.12371,8.84107,-4780.51,-981.139)">
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(1.04809,0,0,1.04809,274.036,-174.508)">
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,23 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="619" height="593" viewBox="0 0 619 593" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(20.1687,-2.56346,1.16905,9.19781,-4976.01,-1020.73)">
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
</g>
</g>
<g transform="matrix(1.09038,0,0,1.09038,282.489,-181.549)">
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -5107,7 +5107,7 @@ request-progress@3.0.0:
dependencies:
throttleit "^1.0.0"
"request@github:cypress-io/request#b5af0d1fa47eec97ba980cde90a13e69a2afcd16":
request@cypress-io/request#b5af0d1fa47eec97ba980cde90a13e69a2afcd16:
version "2.88.1"
resolved "https://codeload.github.com/cypress-io/request/tar.gz/b5af0d1fa47eec97ba980cde90a13e69a2afcd16"
dependencies: