@mastra/claude 1.0.0 → 1.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -6
- package/src/Claude.test.ts +7 -18
- package/src/assets/claude.png +0 -0
- package/src/client/index.ts +4 -0
- package/src/client/schemas.gen.ts +1182 -0
- package/src/client/service-comments.ts +14 -0
- package/src/client/services.gen.ts +63 -0
- package/src/client/types.gen.ts +933 -0
- package/src/client/zodSchema.ts +337 -0
- package/src/index.ts +43 -52
- package/src/assets/claude.svg +0 -64
- package/src/openapi-components.ts +0 -467
- package/src/openapi-paths.ts +0 -85
- package/src/openapi.ts +0 -286
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
// Generated by ts-to-zod
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
type BatchMessageRequest,
|
|
6
|
+
type CreateMessageRequest,
|
|
7
|
+
type Block,
|
|
8
|
+
type ToolResultBlock,
|
|
9
|
+
type ContentBlockStartEvent,
|
|
10
|
+
type CreateMessageBatchRequest,
|
|
11
|
+
type Message,
|
|
12
|
+
type MessageStartEvent,
|
|
13
|
+
type MessageStreamEvent,
|
|
14
|
+
type CreateMessageData,
|
|
15
|
+
type CreateMessageResponse,
|
|
16
|
+
type CreateMessageBatchData,
|
|
17
|
+
} from './types.gen';
|
|
18
|
+
|
|
19
|
+
export const textBlockDeltaSchema = z.object({
|
|
20
|
+
text: z.string(),
|
|
21
|
+
type: z.literal('text_delta'),
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const inputJsonBlockDeltaSchema = z.object({
|
|
25
|
+
partial_json: z.string().optional(),
|
|
26
|
+
type: z.literal('input_json_delta'),
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const cacheControlEphemeralSchema = z.object({
|
|
30
|
+
type: z.literal('ephemeral').optional(),
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
export const typeSchema = z.literal('ephemeral');
|
|
34
|
+
|
|
35
|
+
export const blockDeltaSchema = z.union([textBlockDeltaSchema, inputJsonBlockDeltaSchema]);
|
|
36
|
+
|
|
37
|
+
export const contentBlockStopEventSchema = z.object({
|
|
38
|
+
index: z.number(),
|
|
39
|
+
type: z.literal('content_block_stop'),
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export const createMessageRequestMetadataSchema = z.object({
|
|
43
|
+
user_id: z.string().optional(),
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export const errorSchema = z.object({
|
|
47
|
+
type: z.string(),
|
|
48
|
+
message: z.string(),
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export const errorEventSchema = z.object({
|
|
52
|
+
type: z.literal('error'),
|
|
53
|
+
error: errorSchema,
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export const imageBlockSourceSchema = z.object({
|
|
57
|
+
data: z.string(),
|
|
58
|
+
media_type: z.union([
|
|
59
|
+
z.literal('image/jpeg'),
|
|
60
|
+
z.literal('image/png'),
|
|
61
|
+
z.literal('image/gif'),
|
|
62
|
+
z.literal('image/webp'),
|
|
63
|
+
]),
|
|
64
|
+
type: z.literal('base64'),
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export const mediaTypeSchema = z.union([
|
|
68
|
+
z.literal('image/jpeg'),
|
|
69
|
+
z.literal('image/png'),
|
|
70
|
+
z.literal('image/gif'),
|
|
71
|
+
z.literal('image/webp'),
|
|
72
|
+
]);
|
|
73
|
+
|
|
74
|
+
export const type2Schema = z.literal('base64');
|
|
75
|
+
|
|
76
|
+
export const messageRoleSchema = z.union([z.literal('user'), z.literal('assistant')]);
|
|
77
|
+
|
|
78
|
+
export const stopReasonSchema = z.union([
|
|
79
|
+
z.literal('end_turn'),
|
|
80
|
+
z.literal('max_tokens'),
|
|
81
|
+
z.literal('stop_sequence'),
|
|
82
|
+
z.literal('tool_use'),
|
|
83
|
+
]);
|
|
84
|
+
|
|
85
|
+
export const usageSchema = z.object({
|
|
86
|
+
input_tokens: z.number(),
|
|
87
|
+
output_tokens: z.number(),
|
|
88
|
+
cache_creation_input_tokens: z.number().optional(),
|
|
89
|
+
cache_read_input_tokens: z.number().optional(),
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
export const messageBatchRequestCountsSchema = z.object({
|
|
93
|
+
processing: z.number(),
|
|
94
|
+
succeeded: z.number(),
|
|
95
|
+
errored: z.number(),
|
|
96
|
+
canceled: z.number(),
|
|
97
|
+
expired: z.number(),
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
export const processingStatusSchema = z.union([z.literal('in_progress'), z.literal('canceling'), z.literal('ended')]);
|
|
101
|
+
|
|
102
|
+
export const type3Schema = z.literal('message_batch');
|
|
103
|
+
|
|
104
|
+
export const messageDeltaSchema = z.object({
|
|
105
|
+
stop_reason: stopReasonSchema.optional(),
|
|
106
|
+
stop_sequence: z.string().optional(),
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
export const messageDeltaUsageSchema = z.object({
|
|
110
|
+
output_tokens: z.number(),
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
export const messageStopEventSchema = z.object({
|
|
114
|
+
type: z.literal('message_stop'),
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
export const messageDeltaEventSchema = z.object({
|
|
118
|
+
delta: messageDeltaSchema,
|
|
119
|
+
type: z.literal('message_delta'),
|
|
120
|
+
usage: messageDeltaUsageSchema,
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
export const contentBlockDeltaEventSchema = z.object({
|
|
124
|
+
delta: blockDeltaSchema,
|
|
125
|
+
index: z.number(),
|
|
126
|
+
type: z.literal('content_block_delta'),
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
export const pingEventSchema = z.object({
|
|
130
|
+
type: z.literal('ping'),
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
export const messageStreamEventTypeSchema = z.union([
|
|
134
|
+
z.literal('message_start'),
|
|
135
|
+
z.literal('message_delta'),
|
|
136
|
+
z.literal('message_stop'),
|
|
137
|
+
z.literal('content_block_start'),
|
|
138
|
+
z.literal('content_block_delta'),
|
|
139
|
+
z.literal('content_block_stop'),
|
|
140
|
+
z.literal('ping'),
|
|
141
|
+
z.literal('error'),
|
|
142
|
+
]);
|
|
143
|
+
|
|
144
|
+
export const textBlockSchema = z.object({
|
|
145
|
+
text: z.string(),
|
|
146
|
+
type: z.literal('text').optional(),
|
|
147
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
export const toolCustomSchema = z.object({
|
|
151
|
+
type: z.literal('ToolCustom').optional(),
|
|
152
|
+
name: z.string(),
|
|
153
|
+
description: z.string().optional(),
|
|
154
|
+
input_schema: z.record(z.unknown()),
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
export const toolComputerUseSchema = z.object({
|
|
158
|
+
type: z.literal('ToolComputerUse').optional(),
|
|
159
|
+
name: z.string().optional(),
|
|
160
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
161
|
+
display_width_px: z.number(),
|
|
162
|
+
display_height_px: z.number(),
|
|
163
|
+
display_number: z.number().optional().nullable(),
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
export const toolTextEditorSchema = z.object({
|
|
167
|
+
type: z.literal('ToolTextEditor').optional(),
|
|
168
|
+
name: z.string().optional(),
|
|
169
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
export const toolBashSchema = z.object({
|
|
173
|
+
type: z.literal('ToolBash').optional(),
|
|
174
|
+
name: z.string().optional(),
|
|
175
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
export const toolChoiceTypeSchema = z.union([z.literal('auto'), z.literal('any'), z.literal('tool')]);
|
|
179
|
+
|
|
180
|
+
export const toolUseBlockSchema = z.object({
|
|
181
|
+
id: z.string(),
|
|
182
|
+
name: z.string(),
|
|
183
|
+
input: z.record(z.unknown()),
|
|
184
|
+
type: z.literal('tool_use').optional(),
|
|
185
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
export const createMessageErrorSchema = z.unknown();
|
|
189
|
+
|
|
190
|
+
export const messageBatchSchema = z.object({
|
|
191
|
+
id: z.string(),
|
|
192
|
+
created_at: z.string(),
|
|
193
|
+
expires_at: z.string(),
|
|
194
|
+
processing_status: z.union([z.literal('in_progress'), z.literal('canceling'), z.literal('ended')]),
|
|
195
|
+
request_counts: messageBatchRequestCountsSchema,
|
|
196
|
+
results_url: z.string().optional().nullable(),
|
|
197
|
+
type: z.literal('message_batch'),
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
export const createMessageBatchErrorSchema = z.unknown();
|
|
201
|
+
|
|
202
|
+
export const retrieveMessageBatchDataSchema = z.object({
|
|
203
|
+
path: z.object({
|
|
204
|
+
id: z.string(),
|
|
205
|
+
}),
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
export const retrieveMessageBatchResponseSchema = messageBatchSchema;
|
|
209
|
+
|
|
210
|
+
export const retrieveMessageBatchErrorSchema = z.unknown();
|
|
211
|
+
|
|
212
|
+
export const imageBlockSchema = z.object({
|
|
213
|
+
source: imageBlockSourceSchema,
|
|
214
|
+
type: z.literal('image').optional(),
|
|
215
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
export const toolChoiceSchema = z.object({
|
|
219
|
+
type: toolChoiceTypeSchema,
|
|
220
|
+
name: z.string().optional(),
|
|
221
|
+
disable_parallel_tool_use: z.boolean().optional(),
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
export const toolSchema = z.union([toolCustomSchema, toolComputerUseSchema, toolTextEditorSchema, toolBashSchema]);
|
|
225
|
+
|
|
226
|
+
export const createMessageBatchResponseSchema = messageBatchSchema;
|
|
227
|
+
|
|
228
|
+
export const batchMessageRequestSchema: z.ZodSchema<BatchMessageRequest> = z.lazy(() =>
|
|
229
|
+
z.object({
|
|
230
|
+
custom_id: z.string(),
|
|
231
|
+
params: createMessageRequestSchema,
|
|
232
|
+
}),
|
|
233
|
+
);
|
|
234
|
+
|
|
235
|
+
export const createMessageRequestSchema: z.ZodSchema<CreateMessageRequest> = z.lazy(() =>
|
|
236
|
+
z.object({
|
|
237
|
+
model: z.union([
|
|
238
|
+
z.string(),
|
|
239
|
+
z.literal('claude-3-5-sonnet-latest'),
|
|
240
|
+
z.literal('claude-3-5-sonnet-20241022'),
|
|
241
|
+
z.literal('claude-3-5-sonnet-20240620'),
|
|
242
|
+
z.literal('claude-3-opus-latest'),
|
|
243
|
+
z.literal('claude-3-opus-20240229'),
|
|
244
|
+
z.literal('claude-3-sonnet-20240229'),
|
|
245
|
+
z.literal('claude-3-haiku-20240307'),
|
|
246
|
+
z.literal('claude-2.1'),
|
|
247
|
+
z.literal('claude-2.0'),
|
|
248
|
+
z.literal('claude-instant-1.2'),
|
|
249
|
+
]),
|
|
250
|
+
messages: z.array(messageSchema),
|
|
251
|
+
max_tokens: z.number(),
|
|
252
|
+
metadata: createMessageRequestMetadataSchema.optional(),
|
|
253
|
+
stop_sequences: z.array(z.string()).optional(),
|
|
254
|
+
system: z.union([z.string(), z.array(blockSchema)]).optional(),
|
|
255
|
+
temperature: z.number().optional(),
|
|
256
|
+
tool_choice: toolChoiceSchema.optional(),
|
|
257
|
+
tools: z.array(toolSchema).optional(),
|
|
258
|
+
top_k: z.number().optional(),
|
|
259
|
+
top_p: z.number().optional(),
|
|
260
|
+
stream: z.boolean().optional(),
|
|
261
|
+
}),
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
export const blockSchema: z.ZodSchema<Block> = z.lazy(() =>
|
|
265
|
+
z.union([textBlockSchema, imageBlockSchema, toolUseBlockSchema, toolResultBlockSchema]),
|
|
266
|
+
);
|
|
267
|
+
|
|
268
|
+
export const toolResultBlockSchema: z.ZodSchema<ToolResultBlock> = z.lazy(() =>
|
|
269
|
+
z.object({
|
|
270
|
+
tool_use_id: z.string(),
|
|
271
|
+
content: z.union([z.string(), z.array(blockSchema)]),
|
|
272
|
+
is_error: z.boolean().optional(),
|
|
273
|
+
type: z.literal('tool_result').optional(),
|
|
274
|
+
cache_control: cacheControlEphemeralSchema.optional(),
|
|
275
|
+
}),
|
|
276
|
+
);
|
|
277
|
+
|
|
278
|
+
export const contentBlockStartEventSchema: z.ZodSchema<ContentBlockStartEvent> = z.lazy(() =>
|
|
279
|
+
z.object({
|
|
280
|
+
content_block: blockSchema,
|
|
281
|
+
index: z.number(),
|
|
282
|
+
type: z.literal('content_block_start'),
|
|
283
|
+
}),
|
|
284
|
+
);
|
|
285
|
+
|
|
286
|
+
export const createMessageBatchRequestSchema: z.ZodSchema<CreateMessageBatchRequest> = z.lazy(() =>
|
|
287
|
+
z.object({
|
|
288
|
+
requests: z.array(batchMessageRequestSchema),
|
|
289
|
+
}),
|
|
290
|
+
);
|
|
291
|
+
|
|
292
|
+
export const messageSchema: z.ZodSchema<Message> = z.lazy(() =>
|
|
293
|
+
z.object({
|
|
294
|
+
id: z.string().optional(),
|
|
295
|
+
content: z.union([z.string(), z.array(blockSchema)]),
|
|
296
|
+
role: messageRoleSchema,
|
|
297
|
+
model: z.string().optional(),
|
|
298
|
+
stop_reason: stopReasonSchema.optional(),
|
|
299
|
+
stop_sequence: z.string().optional(),
|
|
300
|
+
type: z.string().optional(),
|
|
301
|
+
usage: usageSchema.optional(),
|
|
302
|
+
}),
|
|
303
|
+
);
|
|
304
|
+
|
|
305
|
+
export const messageStartEventSchema: z.ZodSchema<MessageStartEvent> = z.lazy(() =>
|
|
306
|
+
z.object({
|
|
307
|
+
message: messageSchema,
|
|
308
|
+
type: z.literal('message_start'),
|
|
309
|
+
}),
|
|
310
|
+
);
|
|
311
|
+
|
|
312
|
+
export const messageStreamEventSchema: z.ZodSchema<MessageStreamEvent> = z.lazy(() =>
|
|
313
|
+
z.union([
|
|
314
|
+
messageStartEventSchema,
|
|
315
|
+
messageDeltaEventSchema,
|
|
316
|
+
messageStopEventSchema,
|
|
317
|
+
contentBlockStartEventSchema,
|
|
318
|
+
contentBlockDeltaEventSchema,
|
|
319
|
+
contentBlockStopEventSchema,
|
|
320
|
+
pingEventSchema,
|
|
321
|
+
errorEventSchema,
|
|
322
|
+
]),
|
|
323
|
+
);
|
|
324
|
+
|
|
325
|
+
export const createMessageDataSchema: z.ZodSchema<CreateMessageData> = z.lazy(() =>
|
|
326
|
+
z.object({
|
|
327
|
+
body: createMessageRequestSchema,
|
|
328
|
+
}),
|
|
329
|
+
);
|
|
330
|
+
|
|
331
|
+
export const createMessageResponseSchema: z.ZodSchema<CreateMessageResponse> = z.lazy(() => messageSchema);
|
|
332
|
+
|
|
333
|
+
export const createMessageBatchDataSchema: z.ZodSchema<CreateMessageBatchData> = z.lazy(() =>
|
|
334
|
+
z.object({
|
|
335
|
+
body: createMessageBatchRequestSchema,
|
|
336
|
+
}),
|
|
337
|
+
);
|
package/src/index.ts
CHANGED
|
@@ -1,67 +1,58 @@
|
|
|
1
|
-
import { Integration,
|
|
2
|
-
import { createClient, type OASClient, type NormalizeOAS } from 'fets';
|
|
3
|
-
import { z } from 'zod';
|
|
1
|
+
import { Integration, ToolApi } from '@mastra/core';
|
|
4
2
|
|
|
5
3
|
// @ts-ignore
|
|
6
|
-
import ClaudeLogo from './assets/claude.
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
4
|
+
import ClaudeLogo from './assets/claude.png';
|
|
5
|
+
import { comments } from './client/service-comments';
|
|
6
|
+
import * as integrationClient from './client/services.gen';
|
|
7
|
+
import * as zodSchema from './client/zodSchema';
|
|
8
|
+
|
|
9
|
+
type ClaudeConfig = {
|
|
10
|
+
ANTHROPIC_API_KEY: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
10
13
|
|
|
11
14
|
export class ClaudeIntegration extends Integration {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
readonly name = 'CLAUDE';
|
|
16
|
+
readonly logoUrl = ClaudeLogo;
|
|
17
|
+
config: ClaudeConfig;
|
|
18
|
+
readonly tools: Record<Exclude<keyof typeof integrationClient, 'client'>, ToolApi>;
|
|
19
|
+
categories = ['ai', 'communications'];
|
|
20
|
+
description = 'Claude is a next generation AI assistant built for work and trained to be safe, accurate, and secure.';
|
|
21
|
+
|
|
22
|
+
constructor({ config }: { config: ClaudeConfig }) {
|
|
23
|
+
super();
|
|
24
|
+
|
|
25
|
+
this.config = config;
|
|
26
|
+
this.tools = this._generateIntegrationTools<typeof this.tools>();
|
|
21
27
|
}
|
|
22
28
|
|
|
23
|
-
|
|
24
|
-
return
|
|
29
|
+
protected get toolSchemas() {
|
|
30
|
+
return zodSchema;
|
|
25
31
|
}
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (!connection) {
|
|
31
|
-
throw new Error(`Connection not found for connectionId: ${connectionId}`);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const credential = await this.dataLayer?.getCredentialsByConnection(connection.id);
|
|
35
|
-
const value = credential?.value as Record<string, string>;
|
|
33
|
+
protected get toolDocumentations() {
|
|
34
|
+
return comments;
|
|
35
|
+
}
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
headers: {
|
|
41
|
-
'x-api-key': value?.['ANTHROPIC_API_KEY'],
|
|
42
|
-
},
|
|
43
|
-
},
|
|
37
|
+
protected get baseClient() {
|
|
38
|
+
integrationClient.client.setConfig({
|
|
39
|
+
baseUrl: `https://api.anthropic.com/v1`,
|
|
44
40
|
});
|
|
41
|
+
return integrationClient;
|
|
42
|
+
}
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
getApiClient = async () => {
|
|
45
|
+
const value = {
|
|
46
|
+
'x-api-key': this.config?.['ANTHROPIC_API_KEY'],
|
|
47
|
+
} as Record<string, any>;
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
this.events = {};
|
|
51
|
-
return this.events;
|
|
52
|
-
}
|
|
49
|
+
const baseClient = this.baseClient;
|
|
53
50
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
// @ts-ignore
|
|
58
|
-
onConnectionCreated: () => {
|
|
59
|
-
// TODO
|
|
60
|
-
},
|
|
61
|
-
config: {
|
|
62
|
-
INTEGRATION_NAME: this.name,
|
|
63
|
-
AUTH_TYPE: this.config.authType,
|
|
64
|
-
},
|
|
51
|
+
baseClient.client.interceptors.request.use((request, options) => {
|
|
52
|
+
request.headers.set('x-api-key', value?.['ANTHROPIC_API_KEY']);
|
|
53
|
+
return request;
|
|
65
54
|
});
|
|
66
|
-
|
|
55
|
+
|
|
56
|
+
return integrationClient;
|
|
57
|
+
};
|
|
67
58
|
}
|
package/src/assets/claude.svg
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
<svg
|
|
2
|
-
id="katman_1"
|
|
3
|
-
data-name="katman 1"
|
|
4
|
-
version="1.1"
|
|
5
|
-
viewBox="0 0 689.97997 148.17999"
|
|
6
|
-
sodipodi:docname="Claude_Ai.svg"
|
|
7
|
-
width="689.97998"
|
|
8
|
-
height="148.17999"
|
|
9
|
-
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
|
10
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
12
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
-
xmlns:svg="http://www.w3.org/2000/svg">
|
|
14
|
-
<sodipodi:namedview
|
|
15
|
-
id="namedview152"
|
|
16
|
-
pagecolor="#ffffff"
|
|
17
|
-
bordercolor="#000000"
|
|
18
|
-
borderopacity="0.25"
|
|
19
|
-
inkscape:showpageshadow="2"
|
|
20
|
-
inkscape:pageopacity="0.0"
|
|
21
|
-
inkscape:pagecheckerboard="0"
|
|
22
|
-
inkscape:deskcolor="#d1d1d1"
|
|
23
|
-
showgrid="false"
|
|
24
|
-
inkscape:zoom="1.3086279"
|
|
25
|
-
inkscape:cx="345.39995"
|
|
26
|
-
inkscape:cy="73.741361"
|
|
27
|
-
inkscape:window-width="1920"
|
|
28
|
-
inkscape:window-height="991"
|
|
29
|
-
inkscape:window-x="-9"
|
|
30
|
-
inkscape:window-y="-9"
|
|
31
|
-
inkscape:window-maximized="1"
|
|
32
|
-
inkscape:current-layer="katman_1" />
|
|
33
|
-
<defs
|
|
34
|
-
id="defs145">
|
|
35
|
-
<style
|
|
36
|
-
id="style143">
|
|
37
|
-
.cls-1 {
|
|
38
|
-
fill: #0f0f0d;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.cls-1, .cls-2 {
|
|
42
|
-
stroke-width: 0px;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.cls-2 {
|
|
46
|
-
fill: #d97757;
|
|
47
|
-
}
|
|
48
|
-
</style>
|
|
49
|
-
</defs>
|
|
50
|
-
<g
|
|
51
|
-
id="g314"
|
|
52
|
-
transform="translate(-75.96,-223.53)">
|
|
53
|
-
<path
|
|
54
|
-
class="cls-2"
|
|
55
|
-
d="m 105.01,322.07 29.14,-16.35 0.49,-1.42 -0.49,-0.79 h -1.42 l -4.87,-0.3 -16.65,-0.45 -14.44,-0.6 -13.99,-0.75 -3.52,-0.75 -3.3,-4.35 0.34,-2.17 2.96,-1.99 4.24,0.37 9.37,0.64 14.06,0.97 10.2,0.6 15.11,1.57 h 2.4 l 0.34,-0.97 -0.82,-0.6 -0.64,-0.6 -14.55,-9.86 -15.75,-10.42 -8.25,-6 -4.46,-3.04 -2.25,-2.85 -0.97,-6.22 4.05,-4.46 5.44,0.37 1.39,0.37 5.51,4.24 11.77,9.11 15.37,11.32 2.25,1.87 0.9,-0.64 0.11,-0.45 -1.01,-1.69 -8.36,-15.11 -8.92,-15.37 -3.97,-6.37 -1.05,-3.82 c -0.37,-1.57 -0.64,-2.89 -0.64,-4.5 l 4.61,-6.26 2.55,-0.82 6.15,0.82 2.59,2.25 3.82,8.74 6.19,13.76 9.6,18.71 2.81,5.55 1.5,5.14 0.56,1.57 h 0.97 v -0.9 l 0.79,-10.54 1.46,-12.94 1.42,-16.65 0.49,-4.69 2.32,-5.62 4.61,-3.04 3.6,1.72 2.96,4.24 -0.41,2.74 -1.76,11.44 -3.45,17.92 -2.25,12 h 1.31 l 1.5,-1.5 6.07,-8.06 10.2,-12.75 4.5,-5.06 5.25,-5.59 3.37,-2.66 h 6.37 l 4.69,6.97 -2.1,7.2 -6.56,8.32 -5.44,7.05 -7.8,10.5 -4.87,8.4 0.45,0.67 1.16,-0.11 17.62,-3.75 9.52,-1.72 11.36,-1.95 5.14,2.4 0.56,2.44 -2.02,4.99 -12.15,3 -14.25,2.85 -21.22,5.02 -0.26,0.19 0.3,0.37 9.56,0.9 4.09,0.22 h 10.01 l 18.64,1.39 4.87,3.22 2.92,3.94 -0.49,3 -7.5,3.82 -10.12,-2.4 -23.62,-5.62 -8.1,-2.02 h -1.12 v 0.67 l 6.75,6.6 12.37,11.17 15.49,14.4 0.79,3.56 -1.99,2.81 -2.1,-0.3 -13.61,-10.24 -5.25,-4.61 -11.89,-10.01 h -0.79 v 1.05 l 2.74,4.01 14.47,21.75 0.75,6.67 -1.05,2.17 -3.75,1.31 -4.12,-0.75 -8.47,-11.89 -8.74,-13.39 -7.05,-12 -0.86,0.49 -4.16,44.81 -1.95,2.29 -4.5,1.72 -3.75,-2.85 -1.99,-4.61 1.99,-9.11 2.4,-11.89 1.95,-9.45 1.76,-11.74 1.05,-3.9 -0.07,-0.26 -0.86,0.11 -8.85,12.15 -13.46,18.19 -10.65,11.4 -2.55,1.01 -4.42,-2.29 0.41,-4.09 2.47,-3.64 14.74,-18.75 8.89,-11.62 5.74,-6.71 -0.04,-0.97 h -0.34 l -39.15,25.42 -6.97,0.9 -3,-2.81 0.37,-4.61 1.42,-1.5 11.77,-8.1 -0.04,0.04 z"
|
|
56
|
-
shape-rendering="optimizeQuality"
|
|
57
|
-
id="path147" />
|
|
58
|
-
<path
|
|
59
|
-
class="cls-1"
|
|
60
|
-
d="m 317.73,349.33 c -18.82,0 -31.69,-10.5 -37.76,-26.66 -3.17,-8.42 -4.74,-17.36 -4.61,-26.36 0,-27.11 12.15,-45.94 39,-45.94 18.04,0 29.17,7.87 35.51,26.66 h 7.72 l -1.05,-25.91 c -10.8,-6.97 -24.3,-10.5 -40.72,-10.5 -23.14,0 -42.82,10.35 -53.77,29.02 -5.66,9.86 -8.53,21.07 -8.32,32.44 0,20.74 9.79,39.11 28.16,49.31 10.06,5.37 21.34,8.04 32.74,7.72 17.92,0 32.14,-3.41 44.74,-9.37 l 3.26,-28.57 h -7.87 c -4.72,13.05 -10.35,20.89 -19.69,25.05 -4.57,2.06 -10.35,3.11 -17.32,3.11 z m 81.18,-98.96 0.75,-12.75 h -5.32 l -23.7,7.12 v 3.86 l 10.5,4.87 v 89.17 c 0,6.07 -3.11,7.42 -11.25,8.44 v 6.52 h 40.31 v -6.52 c -8.17,-1.01 -11.25,-2.36 -11.25,-8.44 V 250.4 l -0.04,-0.04 z m 160.31,108.75 h 3.11 l 27.26,-5.17 v -6.67 l -3.82,-0.3 c -6.37,-0.6 -8.02,-1.91 -8.02,-7.12 v -47.55 l 0.75,-15.26 h -4.31 l -25.76,3.71 v 6.52 l 2.51,0.45 c 6.97,1.01 9.04,2.96 9.04,7.84 v 42.37 c -6.67,5.17 -13.05,8.44 -20.62,8.44 -8.4,0 -13.61,-4.27 -13.61,-14.25 v -39.79 l 0.75,-15.26 h -4.42 l -25.8,3.71 v 6.52 l 2.66,0.45 c 6.97,1.01 9.04,2.96 9.04,7.84 v 39.11 c 0,16.57 9.37,24.45 24.3,24.45 11.4,0 20.74,-6.07 27.75,-14.51 l -0.75,14.51 -0.04,-0.04 z M 484.3,306.36 c 0,-21.19 -11.25,-29.32 -31.57,-29.32 -17.92,0 -30.94,7.42 -30.94,19.72 0,3.67 1.31,6.49 3.97,8.44 l 13.65,-1.8 c -0.6,-4.12 -0.9,-6.64 -0.9,-7.69 0,-6.97 3.71,-10.5 11.25,-10.5 11.14,0 16.76,7.84 16.76,20.44 v 4.12 l -28.12,8.44 c -9.37,2.55 -14.7,4.76 -18.26,9.94 -1.89,3.17 -2.8,6.82 -2.62,10.5 0,12 8.25,20.47 22.35,20.47 10.2,0 19.24,-4.61 27.11,-13.35 2.81,8.74 7.12,13.35 14.81,13.35 6.22,0 11.85,-2.51 16.87,-7.42 l -1.5,-5.17 c -2.17,0.6 -4.27,0.9 -6.49,0.9 -4.31,0 -6.37,-3.41 -6.37,-10.09 v -30.97 z m -36,40.76 c -7.69,0 -12.45,-4.46 -12.45,-12.3 0,-5.32 2.51,-8.44 7.87,-10.24 l 22.8,-7.24 v 21.9 c -7.27,5.51 -11.55,7.87 -18.22,7.87 z m 237.36,6.82 v -6.67 l -3.86,-0.3 c -6.37,-0.6 -7.99,-1.91 -7.99,-7.12 v -89.47 l 0.75,-12.75 h -5.36 l -23.7,7.12 v 3.86 l 10.5,4.87 v 29.32 c -5.91,-4.05 -12.98,-6.08 -20.14,-5.77 -23.55,0 -41.92,17.92 -41.92,44.74 0,22.09 13.2,37.35 34.95,37.35 11.25,0 21.04,-5.47 27.11,-13.95 l -0.75,13.95 h 3.15 l 27.26,-5.17 v 0 z m -49.35,-68.02 c 11.25,0 19.69,6.52 19.69,18.52 v 33.75 c -5.18,5.16 -12.23,8 -19.54,7.87 -16.12,0 -24.3,-12.75 -24.3,-29.77 0,-19.12 9.34,-30.37 24.15,-30.37 z M 743.3,302.8 c -2.1,-9.9 -8.17,-15.52 -16.61,-15.52 -12.6,0 -21.34,9.49 -21.34,23.1 0,20.14 10.65,33.19 27.86,33.19 11.48,-0.12 22.04,-6.33 27.71,-16.31 l 5.02,1.35 c -2.25,17.47 -18.07,30.52 -37.5,30.52 -22.8,0 -38.51,-16.87 -38.51,-40.87 0,-24 17.06,-41.21 39.86,-41.21 17.02,0 29.02,10.24 32.89,28.01 l -59.4,18.22 v -8.02 l 40.01,-12.41 v -0.04 z"
|
|
61
|
-
shape-rendering="optimizeQuality"
|
|
62
|
-
id="path149" />
|
|
63
|
-
</g>
|
|
64
|
-
</svg>
|