@steprotech/n8n-nodes-composio 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Steward Obeng
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,84 @@
1
- # Temporary Holding Version
1
+ # @steprotech/n8n-nodes-composio
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ An n8n node for [Composio](https://composio.dev). Connect your own apps through Composio, choose an
4
+ action, and run it in any workflow. No AI agent is required, and the node can also be used as a tool
5
+ inside an agent.
6
+
7
+ Composio is an integration and authentication layer: it holds the OAuth grants for around 1,600
8
+ apps, refreshes the tokens, and executes the action on your behalf. This node is the n8n front door
9
+ to that, over Composio Connect and its MCP endpoint.
10
+
11
+ ## Install
12
+
13
+ Self-hosted n8n only, because it is a community node.
14
+
15
+ 1. In n8n, open **Settings > Community Nodes**.
16
+ 2. Select **Install** and enter `@steprotech/n8n-nodes-composio`.
17
+ 3. Restart n8n if prompted.
18
+
19
+ From a shell, inside your n8n user folder:
20
+
21
+ ```bash
22
+ cd ~/.n8n/nodes
23
+ npm install @steprotech/n8n-nodes-composio --legacy-peer-deps
24
+ ```
25
+
26
+ `--legacy-peer-deps` matters: the package declares `n8n-workflow` as a peer, which n8n supplies at
27
+ runtime. A plain install tries to fetch it and can fail building a native dependency.
28
+
29
+ ## Credential
30
+
31
+ Create a **Composio API** credential and paste your **consumer key**, the one starting with `ck_`.
32
+ Find it in the Composio dashboard under **Connect > Clients > API key**. It is sent as the
33
+ `x-consumer-api-key` header.
34
+
35
+ Never paste a key into a chat, an issue or a repository. Keys belong in n8n's credential form only.
36
+
37
+ ## Operations
38
+
39
+ **Connection**
40
+
41
+ - **Connect an App** returns the authorization link. Open it, approve in the browser, and the app is
42
+ connected to your Composio account. Managed auth means you never create an OAuth app yourself.
43
+ - **Wait for Connection** pauses until you finish authorizing, so the next node can rely on it.
44
+ - **List Connections** shows which apps are connected.
45
+ - **Remove Connection** disconnects an app and deletes its stored credentials.
46
+
47
+ **Action**
48
+
49
+ - **Search Actions** takes what you want to do in plain words and returns matching actions.
50
+ - **Get Action Schemas** fetches the input schema for an action slug, so you know which fields to send.
51
+ - **Execute an Action** runs an action slug with JSON arguments against the connected account. It can
52
+ also be used as a tool by an AI Agent.
53
+
54
+ **Advanced**
55
+
56
+ - **Call a Meta-Tool** sends any of Composio's seven meta-tools with arguments you supply. Composio
57
+ has thousands of actions with their own schemas, while n8n node parameters are fixed, so this
58
+ operation is the escape hatch if an action needs something the other operations do not cover yet.
59
+
60
+ ## Composio's meta-tools
61
+
62
+ The node speaks MCP over streamable HTTP to `https://connect.composio.dev/mcp` and uses Composio's
63
+ own meta-tools rather than calling app APIs directly:
64
+
65
+ `COMPOSIO_SEARCH_TOOLS`, `COMPOSIO_GET_TOOL_SCHEMAS`, `COMPOSIO_MULTI_EXECUTE_TOOL`,
66
+ `COMPOSIO_MANAGE_CONNECTIONS`, `COMPOSIO_WAIT_FOR_CONNECTIONS`, `COMPOSIO_REMOTE_WORKBENCH`,
67
+ `COMPOSIO_REMOTE_BASH_TOOL`.
68
+
69
+ ## Free tier
70
+
71
+ Composio's free plan includes 100,000 tool calls and 50,000 trigger events a month, with unlimited
72
+ free connected accounts, and it is hard capped so there is no surprise bill. Using Composio-managed
73
+ apps, which is the click-and-authorize path, draws on 20,000 of those calls and the first 1,000
74
+ connections. Check Composio's pricing page before relying on the numbers.
75
+
76
+ ## Attribution
77
+
78
+ This is an unofficial community node. Composio is a trademark of its owner, and the node icon is
79
+ Composio's own mark as published at `logos.composio.dev`. This package is not affiliated with or
80
+ endorsed by Composio.
81
+
82
+ ## License
83
+
84
+ MIT. See LICENSE.
@@ -0,0 +1,43 @@
1
+ import type { ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class ComposioApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:composio.svg";
8
+ readonly dark: "file:composio.dark.svg";
9
+ };
10
+ properties: INodeProperties[];
11
+ authenticate: {
12
+ type: "generic";
13
+ properties: {
14
+ headers: {
15
+ 'x-consumer-api-key': string;
16
+ };
17
+ };
18
+ };
19
+ test: {
20
+ request: {
21
+ baseURL: string;
22
+ url: string;
23
+ method: "POST";
24
+ headers: {
25
+ Accept: string;
26
+ 'Content-Type': string;
27
+ };
28
+ body: {
29
+ jsonrpc: string;
30
+ id: number;
31
+ method: string;
32
+ params: {
33
+ protocolVersion: string;
34
+ capabilities: {};
35
+ clientInfo: {
36
+ name: string;
37
+ version: string;
38
+ };
39
+ };
40
+ };
41
+ };
42
+ };
43
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComposioApi = void 0;
4
+ class ComposioApi {
5
+ constructor() {
6
+ this.name = 'composioApi';
7
+ this.displayName = 'Composio API';
8
+ this.documentationUrl = 'https://docs.composio.dev/kb/guide/consumer-project-boundaries-and-auth-selection';
9
+ this.icon = { light: 'file:composio.svg', dark: 'file:composio.dark.svg' };
10
+ this.properties = [
11
+ {
12
+ displayName: 'Consumer Key',
13
+ name: 'apiKey',
14
+ type: 'string',
15
+ typeOptions: { password: true },
16
+ default: '',
17
+ required: true,
18
+ description: 'Your Composio consumer key, the one that starts with ck_. Find it in the Composio dashboard under Connect, Clients, API key. It is sent as the x-consumer-api-key header.',
19
+ },
20
+ {
21
+ displayName: 'Base URL',
22
+ name: 'baseUrl',
23
+ type: 'string',
24
+ default: 'https://connect.composio.dev',
25
+ description: 'The Composio Connect base URL. Only change this if Composio tells you to.',
26
+ },
27
+ {
28
+ displayName: 'Default User ID',
29
+ name: 'userId',
30
+ type: 'string',
31
+ default: '',
32
+ description: 'Optional. The Composio user ID whose connections this credential uses by default. Composio derives one from the key when this is left empty. Use separate credentials if you keep several users apart.',
33
+ },
34
+ ];
35
+ this.authenticate = {
36
+ type: 'generic',
37
+ properties: {
38
+ headers: {
39
+ 'x-consumer-api-key': '={{$credentials.apiKey}}',
40
+ },
41
+ },
42
+ };
43
+ this.test = {
44
+ request: {
45
+ baseURL: '={{$credentials.baseUrl}}',
46
+ url: '/mcp',
47
+ method: 'POST',
48
+ headers: {
49
+ Accept: 'application/json, text/event-stream',
50
+ 'Content-Type': 'application/json',
51
+ },
52
+ body: {
53
+ jsonrpc: '2.0',
54
+ id: 1,
55
+ method: 'initialize',
56
+ params: {
57
+ protocolVersion: '2025-06-18',
58
+ capabilities: {},
59
+ clientInfo: {
60
+ name: 'n8n-nodes-composio',
61
+ version: '0.1.0',
62
+ },
63
+ },
64
+ },
65
+ },
66
+ };
67
+ }
68
+ }
69
+ exports.ComposioApi = ComposioApi;
70
+ //# sourceMappingURL=ComposioApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposioApi.credentials.js","sourceRoot":"","sources":["../../credentials/ComposioApi.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IAAxB;QACC,SAAI,GAAG,aAAa,CAAC;QAErB,gBAAW,GAAG,cAAc,CAAC;QAE7B,qBAAgB,GAAG,mFAAmF,CAAC;QAEvG,SAAI,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,wBAAwB,EAAW,CAAC;QAE/E,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACV,2KAA2K;aAC5K;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8BAA8B;gBACvC,WAAW,EAAE,2EAA2E;aACxF;YACD;gBACC,WAAW,EAAE,iBAAiB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,wMAAwM;aACzM;SACD,CAAC;QAEF,iBAAY,GAAG;YACd,IAAI,EAAE,SAAkB;YACxB,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,oBAAoB,EAAE,0BAA0B;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAAG;YACN,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,MAAM;gBACX,MAAM,EAAE,MAAe;gBACvB,OAAO,EAAE;oBACR,MAAM,EAAE,qCAAqC;oBAC7C,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE;oBACL,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,CAAC;oBACL,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACP,eAAe,EAAE,YAAY;wBAC7B,YAAY,EAAE,EAAE;wBAChB,UAAU,EAAE;4BACX,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE,OAAO;yBAChB;qBACD;iBACD;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAtED,kCAsEC"}
@@ -0,0 +1,266 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0.00 0.00 180.00 180.00" width="128" height="128">
4
+ <g stroke-width="2.00" fill="none" stroke-linecap="butt">
5
+ <path stroke="#195580" vector-effect="non-scaling-stroke" d="
6
+ M 33.66 89.95
7
+ Q 33.66 100.13 33.67 101.11
8
+ Q 33.74 106.41 34.85 108.21
9
+ Q 36.84 111.43 40.50 112.71
10
+ A 2.89 2.77 52.2 0 0 41.52 112.86
11
+ L 59.07 112.07
12
+ A 0.36 0.35 87.7 0 1 59.44 112.42
13
+ Q 59.55 118.99 59.43 122.79
14
+ Q 59.27 127.73 60.74 130.55
15
+ Q 64.01 136.82 72.53 135.07
16
+ Q 78.63 133.82 87.12 132.09
17
+ A 0.35 0.35 0.0 0 1 87.54 132.43
18
+ L 87.58 146.91
19
+ A 1.13 1.08 -55.0 0 0 87.63 147.24
20
+ Q 89.84 155.56 98.35 155.24
21
+ A 4.44 4.07 33.5 0 0 99.36 155.08
22
+ Q 100.62 154.72 103.96 153.18
23
+ Q 130.98 140.65 139.13 136.95
24
+ C 143.08 135.16 145.93 132.81 146.21 128.71
25
+ Q 146.39 126.10 146.35 114.75
26
+ C 146.33 109.09 145.82 106.27 141.39 103.41
27
+ Q 139.29 102.05 132.32 102.57
28
+ Q 113.89 103.94 91.90 105.64
29
+ A 0.55 0.54 -1.8 0 1 91.31 105.09
30
+ Q 91.33 91.02 91.33 89.96
31
+ Q 91.33 88.90 91.31 74.82
32
+ A 0.55 0.54 1.8 0 1 91.90 74.28
33
+ Q 113.89 75.98 132.32 77.35
34
+ Q 139.29 77.87 141.39 76.51
35
+ C 145.82 73.65 146.33 70.83 146.35 65.17
36
+ Q 146.39 53.82 146.21 51.21
37
+ C 145.93 47.11 143.08 44.76 139.13 42.97
38
+ Q 130.99 39.27 103.97 26.74
39
+ Q 100.63 25.20 99.37 24.84
40
+ A 4.44 4.07 -33.5 0 0 98.36 24.68
41
+ Q 89.85 24.36 87.64 32.67
42
+ A 1.13 1.08 55.0 0 0 87.59 33.00
43
+ L 87.54 47.48
44
+ A 0.35 0.35 0.0 0 1 87.12 47.82
45
+ Q 78.63 46.09 72.53 44.84
46
+ Q 64.01 43.09 60.74 49.36
47
+ Q 59.27 52.18 59.43 57.12
48
+ Q 59.55 60.92 59.44 67.49
49
+ A 0.36 0.35 -87.7 0 1 59.07 67.84
50
+ L 41.52 67.05
51
+ A 2.89 2.77 -52.2 0 0 40.50 67.20
52
+ Q 36.84 68.48 34.85 71.70
53
+ Q 33.74 73.50 33.67 78.80
54
+ Q 33.66 79.78 33.66 89.95"
55
+ />
56
+ <path stroke="#195580" vector-effect="non-scaling-stroke" d="
57
+ M 92.09 52.71
58
+ A 0.62 0.62 0.0 0 0 91.35 53.32
59
+ L 91.32 69.91
60
+ A 0.72 0.72 0.0 0 0 91.99 70.63
61
+ Q 119.75 72.54 134.79 73.80
62
+ Q 137.89 74.06 139.12 73.41
63
+ C 142.93 71.39 143.23 67.45 142.59 63.55
64
+ A 0.78 0.77 1.8 0 0 141.98 62.90
65
+ L 92.09 52.71"
66
+ />
67
+ <path stroke="#195580" vector-effect="non-scaling-stroke" d="
68
+ M 63.95 72.35
69
+ A 0.61 0.61 0.0 0 0 63.30 72.96
70
+ L 63.30 106.95
71
+ A 0.61 0.61 0.0 0 0 63.95 107.56
72
+ L 86.97 106.00
73
+ A 0.61 0.61 0.0 0 0 87.54 105.39
74
+ L 87.54 74.47
75
+ A 0.61 0.61 0.0 0 0 86.97 73.86
76
+ L 63.95 72.35"
77
+ />
78
+ <path stroke="#195580" vector-effect="non-scaling-stroke" d="
79
+ M 92.11 127.16
80
+ L 141.95 117.07
81
+ A 0.78 0.77 -1.7 0 0 142.56 116.43
82
+ C 143.20 112.53 142.91 108.60 139.11 106.57
83
+ Q 137.88 105.92 134.78 106.18
84
+ Q 119.76 107.41 92.04 109.27
85
+ A 0.72 0.72 0.0 0 0 91.37 109.99
86
+ L 91.37 126.55
87
+ A 0.62 0.62 0.0 0 0 92.11 127.16"
88
+ />
89
+ </g>
90
+ <path fill="#FFFFFF" d="
91
+ M 180.00 0.00
92
+ L 180.00 180.00
93
+ L 0.00 180.00
94
+ L 0.00 0.00
95
+ L 180.00 0.00
96
+ Z
97
+ M 33.66 89.95
98
+ Q 33.66 100.13 33.67 101.11
99
+ Q 33.74 106.41 34.85 108.21
100
+ Q 36.84 111.43 40.50 112.71
101
+ A 2.89 2.77 52.2 0 0 41.52 112.86
102
+ L 59.07 112.07
103
+ A 0.36 0.35 87.7 0 1 59.44 112.42
104
+ Q 59.55 118.99 59.43 122.79
105
+ Q 59.27 127.73 60.74 130.55
106
+ Q 64.01 136.82 72.53 135.07
107
+ Q 78.63 133.82 87.12 132.09
108
+ A 0.35 0.35 0.0 0 1 87.54 132.43
109
+ L 87.58 146.91
110
+ A 1.13 1.08 -55.0 0 0 87.63 147.24
111
+ Q 89.84 155.56 98.35 155.24
112
+ A 4.44 4.07 33.5 0 0 99.36 155.08
113
+ Q 100.62 154.72 103.96 153.18
114
+ Q 130.98 140.65 139.13 136.95
115
+ C 143.08 135.16 145.93 132.81 146.21 128.71
116
+ Q 146.39 126.10 146.35 114.75
117
+ C 146.33 109.09 145.82 106.27 141.39 103.41
118
+ Q 139.29 102.05 132.32 102.57
119
+ Q 113.89 103.94 91.90 105.64
120
+ A 0.55 0.54 -1.8 0 1 91.31 105.09
121
+ Q 91.33 91.02 91.33 89.96
122
+ Q 91.33 88.90 91.31 74.82
123
+ A 0.55 0.54 1.8 0 1 91.90 74.28
124
+ Q 113.89 75.98 132.32 77.35
125
+ Q 139.29 77.87 141.39 76.51
126
+ C 145.82 73.65 146.33 70.83 146.35 65.17
127
+ Q 146.39 53.82 146.21 51.21
128
+ C 145.93 47.11 143.08 44.76 139.13 42.97
129
+ Q 130.99 39.27 103.97 26.74
130
+ Q 100.63 25.20 99.37 24.84
131
+ A 4.44 4.07 -33.5 0 0 98.36 24.68
132
+ Q 89.85 24.36 87.64 32.67
133
+ A 1.13 1.08 55.0 0 0 87.59 33.00
134
+ L 87.54 47.48
135
+ A 0.35 0.35 0.0 0 1 87.12 47.82
136
+ Q 78.63 46.09 72.53 44.84
137
+ Q 64.01 43.09 60.74 49.36
138
+ Q 59.27 52.18 59.43 57.12
139
+ Q 59.55 60.92 59.44 67.49
140
+ A 0.36 0.35 -87.7 0 1 59.07 67.84
141
+ L 41.52 67.05
142
+ A 2.89 2.77 -52.2 0 0 40.50 67.20
143
+ Q 36.84 68.48 34.85 71.70
144
+ Q 33.74 73.50 33.67 78.80
145
+ Q 33.66 79.78 33.66 89.95
146
+ Z"
147
+ />
148
+ <path fill="#31aaff" d="
149
+ M 91.33 89.96
150
+ Q 91.33 91.02 91.31 105.09
151
+ A 0.55 0.54 -1.8 0 0 91.90 105.64
152
+ Q 113.89 103.94 132.32 102.57
153
+ Q 139.29 102.05 141.39 103.41
154
+ C 145.82 106.27 146.33 109.09 146.35 114.75
155
+ Q 146.39 126.10 146.21 128.71
156
+ C 145.93 132.81 143.08 135.16 139.13 136.95
157
+ Q 130.98 140.65 103.96 153.18
158
+ Q 100.62 154.72 99.36 155.08
159
+ A 4.44 4.07 33.5 0 1 98.35 155.24
160
+ Q 89.84 155.56 87.63 147.24
161
+ A 1.13 1.08 -55.0 0 1 87.58 146.91
162
+ L 87.54 132.43
163
+ A 0.35 0.35 0.0 0 0 87.12 132.09
164
+ Q 78.63 133.82 72.53 135.07
165
+ Q 64.01 136.82 60.74 130.55
166
+ Q 59.27 127.73 59.43 122.79
167
+ Q 59.55 118.99 59.44 112.42
168
+ A 0.36 0.35 87.7 0 0 59.07 112.07
169
+ L 41.52 112.86
170
+ A 2.89 2.77 52.2 0 1 40.50 112.71
171
+ Q 36.84 111.43 34.85 108.21
172
+ Q 33.74 106.41 33.67 101.11
173
+ Q 33.66 100.13 33.66 89.95
174
+ Q 33.66 79.78 33.67 78.80
175
+ Q 33.74 73.50 34.85 71.70
176
+ Q 36.84 68.48 40.50 67.20
177
+ A 2.89 2.77 -52.2 0 1 41.52 67.05
178
+ L 59.07 67.84
179
+ A 0.36 0.35 -87.7 0 0 59.44 67.49
180
+ Q 59.55 60.92 59.43 57.12
181
+ Q 59.27 52.18 60.74 49.36
182
+ Q 64.01 43.09 72.53 44.84
183
+ Q 78.63 46.09 87.12 47.82
184
+ A 0.35 0.35 0.0 0 0 87.54 47.48
185
+ L 87.59 33.00
186
+ A 1.13 1.08 55.0 0 1 87.64 32.67
187
+ Q 89.85 24.36 98.36 24.68
188
+ A 4.44 4.07 -33.5 0 1 99.37 24.84
189
+ Q 100.63 25.20 103.97 26.74
190
+ Q 130.99 39.27 139.13 42.97
191
+ C 143.08 44.76 145.93 47.11 146.21 51.21
192
+ Q 146.39 53.82 146.35 65.17
193
+ C 146.33 70.83 145.82 73.65 141.39 76.51
194
+ Q 139.29 77.87 132.32 77.35
195
+ Q 113.89 75.98 91.90 74.28
196
+ A 0.55 0.54 1.8 0 0 91.31 74.82
197
+ Q 91.33 88.90 91.33 89.96
198
+ Z
199
+ M 92.09 52.71
200
+ A 0.62 0.62 0.0 0 0 91.35 53.32
201
+ L 91.32 69.91
202
+ A 0.72 0.72 0.0 0 0 91.99 70.63
203
+ Q 119.75 72.54 134.79 73.80
204
+ Q 137.89 74.06 139.12 73.41
205
+ C 142.93 71.39 143.23 67.45 142.59 63.55
206
+ A 0.78 0.77 1.8 0 0 141.98 62.90
207
+ L 92.09 52.71
208
+ Z
209
+ M 63.95 72.35
210
+ A 0.61 0.61 0.0 0 0 63.30 72.96
211
+ L 63.30 106.95
212
+ A 0.61 0.61 0.0 0 0 63.95 107.56
213
+ L 86.97 106.00
214
+ A 0.61 0.61 0.0 0 0 87.54 105.39
215
+ L 87.54 74.47
216
+ A 0.61 0.61 0.0 0 0 86.97 73.86
217
+ L 63.95 72.35
218
+ Z
219
+ M 92.11 127.16
220
+ L 141.95 117.07
221
+ A 0.78 0.77 -1.7 0 0 142.56 116.43
222
+ C 143.20 112.53 142.91 108.60 139.11 106.57
223
+ Q 137.88 105.92 134.78 106.18
224
+ Q 119.76 107.41 92.04 109.27
225
+ A 0.72 0.72 0.0 0 0 91.37 109.99
226
+ L 91.37 126.55
227
+ A 0.62 0.62 0.0 0 0 92.11 127.16
228
+ Z"
229
+ />
230
+ <path fill="#FFFFFF" d="
231
+ M 92.09 52.71
232
+ L 141.98 62.90
233
+ A 0.78 0.77 1.8 0 1 142.59 63.55
234
+ C 143.23 67.45 142.93 71.39 139.12 73.41
235
+ Q 137.89 74.06 134.79 73.80
236
+ Q 119.75 72.54 91.99 70.63
237
+ A 0.72 0.72 0.0 0 1 91.32 69.91
238
+ L 91.35 53.32
239
+ A 0.62 0.62 0.0 0 1 92.09 52.71
240
+ Z"
241
+ />
242
+ <path fill="#FFFFFF" d="
243
+ M 63.95 72.35
244
+ L 86.97 73.86
245
+ A 0.61 0.61 0.0 0 1 87.54 74.47
246
+ L 87.54 105.39
247
+ A 0.61 0.61 0.0 0 1 86.97 106.00
248
+ L 63.95 107.56
249
+ A 0.61 0.61 0.0 0 1 63.30 106.95
250
+ L 63.30 72.96
251
+ A 0.61 0.61 0.0 0 1 63.95 72.35
252
+ Z"
253
+ />
254
+ <path fill="#FFFFFF" d="
255
+ M 91.37 126.55
256
+ L 91.37 109.99
257
+ A 0.72 0.72 0.0 0 1 92.04 109.27
258
+ Q 119.76 107.41 134.78 106.18
259
+ Q 137.88 105.92 139.11 106.57
260
+ C 142.91 108.60 143.20 112.53 142.56 116.43
261
+ A 0.78 0.77 -1.7 0 1 141.95 117.07
262
+ L 92.11 127.16
263
+ A 0.62 0.62 0.0 0 1 91.37 126.55
264
+ Z"
265
+ />
266
+ </svg>