any-buddy 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -0
- package/assets/current.svg +44 -0
- package/assets/demo.svg +44 -0
- package/assets/options.svg +44 -0
- package/assets/species.svg +44 -0
- package/bin/cli.mjs +88 -0
- package/lib/config.mjs +132 -0
- package/lib/constants.mjs +41 -0
- package/lib/finder-worker.mjs +96 -0
- package/lib/finder.mjs +25 -0
- package/lib/generation.mjs +96 -0
- package/lib/patcher.mjs +168 -0
- package/lib/sprites.mjs +147 -0
- package/lib/tui.mjs +420 -0
- package/package.json +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# claude-code-any-buddy
|
|
2
|
+
|
|
3
|
+
Pick any Claude Code companion pet you want.
|
|
4
|
+
|
|
5
|
+
Claude Code assigns you a deterministic pet based on your account ID — you can't change it through normal means. This tool lets you choose your own species, rarity, eyes, and hat, then patches the Claude Code binary to make it happen.
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="assets/demo.svg" alt="Demo of claude-code-any-buddy" width="700">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
## How it works
|
|
12
|
+
|
|
13
|
+
Claude Code's companion system generates your pet's visual traits (species, rarity, eyes, hat) by hashing your user ID with a salt string (`friend-2026-401`), then feeding that hash into a deterministic PRNG (Mulberry32). The result is always the same pet for the same user — and it's recalculated on every launch, so you can't override it through config files.
|
|
14
|
+
|
|
15
|
+
**claude-code-any-buddy** works by:
|
|
16
|
+
|
|
17
|
+
1. **You pick** your desired species, rarity, eyes, and hat through an interactive TUI
|
|
18
|
+
2. **Brute-force search** finds a replacement salt string that produces your chosen pet when combined with your real user ID (typically takes <100ms)
|
|
19
|
+
3. **Binary patch** replaces the salt in the compiled Claude Code ELF binary (all 3 occurrences) using an atomic rename, with a backup created first
|
|
20
|
+
4. **Auto-repair hook** (optional) installs a `SessionStart` hook in `~/.claude/settings.json` that re-applies the patch after Claude Code updates
|
|
21
|
+
|
|
22
|
+
The patch is safe — it uses `rename()` to atomically swap the binary, which is the same technique package managers use. A running Claude session continues using the old binary in memory; the new pet appears on next launch.
|
|
23
|
+
|
|
24
|
+
## Requirements
|
|
25
|
+
|
|
26
|
+
- **Linux only** — the tool patches a compiled ELF binary at `~/.local/share/claude/versions/`. macOS and Windows use different binary formats and installation paths
|
|
27
|
+
- **Node.js >= 18** — for the CLI and TUI
|
|
28
|
+
- **Bun** — required for hash computation (Claude Code uses `Bun.hash`/wyhash internally; FNV-1a produces different results). Bun is typically already installed if you have Claude Code
|
|
29
|
+
- **Claude Code** — must be installed via the standard method (binary at `~/.local/bin/claude`)
|
|
30
|
+
|
|
31
|
+
## Install
|
|
32
|
+
|
|
33
|
+
The interactive flow also lets you **rename** your companion — it edits `~/.claude.json` directly so the name change takes effect immediately.
|
|
34
|
+
|
|
35
|
+
## Install
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Clone and install
|
|
39
|
+
git clone https://github.com/youruser/claude-code-any-buddy.git
|
|
40
|
+
cd claude-code-any-buddy
|
|
41
|
+
pnpm install
|
|
42
|
+
|
|
43
|
+
# Link globally (optional, enables the apply command for auto-patch hook)
|
|
44
|
+
pnpm link --global
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or via npm:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install -g claude-code-any-buddy
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Usage
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Interactive pet picker (default) — pick your pet and apply
|
|
57
|
+
claude-code-any-buddy
|
|
58
|
+
|
|
59
|
+
# Show your current pet
|
|
60
|
+
claude-code-any-buddy current
|
|
61
|
+
|
|
62
|
+
# Browse and preview pets without applying
|
|
63
|
+
claude-code-any-buddy preview
|
|
64
|
+
|
|
65
|
+
# Re-apply saved pet after a Claude Code update
|
|
66
|
+
claude-code-any-buddy apply
|
|
67
|
+
|
|
68
|
+
# Silent re-apply (used by the SessionStart hook)
|
|
69
|
+
claude-code-any-buddy apply --silent
|
|
70
|
+
|
|
71
|
+
# Restore original pet
|
|
72
|
+
claude-code-any-buddy restore
|
|
73
|
+
|
|
74
|
+
# Non-interactive with flags (skip prompts you already know the answer to)
|
|
75
|
+
claude-code-any-buddy --species dragon --rarity legendary --eye '✦' --hat wizard --name Draco --yes
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### CLI flags
|
|
79
|
+
|
|
80
|
+
| Flag | Short | Description |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| `--species <name>` | `-s` | Pre-select species |
|
|
83
|
+
| `--rarity <level>` | `-r` | Pre-select rarity |
|
|
84
|
+
| `--eye <char>` | `-e` | Pre-select eye style |
|
|
85
|
+
| `--hat <name>` | `-t` | Pre-select hat |
|
|
86
|
+
| `--name <name>` | `-n` | Rename your companion |
|
|
87
|
+
| `--yes` | `-y` | Skip all confirmation prompts |
|
|
88
|
+
| `--no-hook` | | Don't offer to install the auto-patch hook |
|
|
89
|
+
| `--silent` | | Suppress output (for `apply` in hooks) |
|
|
90
|
+
|
|
91
|
+
Any flag you don't provide will be prompted interactively.
|
|
92
|
+
|
|
93
|
+
### Current pet
|
|
94
|
+
|
|
95
|
+
<p align="center">
|
|
96
|
+
<img src="assets/current.svg" alt="Current pet display" width="500">
|
|
97
|
+
</p>
|
|
98
|
+
|
|
99
|
+
## All species
|
|
100
|
+
|
|
101
|
+
There are **18 companion species**. Each has 3 animation frames for idle fidget, and eyes/hats are applied as overlays.
|
|
102
|
+
|
|
103
|
+
<p align="center">
|
|
104
|
+
<img src="assets/species.svg" alt="All 18 species" width="700">
|
|
105
|
+
</p>
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
duck goose blob cat dragon octopus
|
|
109
|
+
__ (·> .----. /\_/\ /^\ /^\ .----.
|
|
110
|
+
<(· )___ || ( · · ) ( · ·) < · · > ( · · )
|
|
111
|
+
( ._> _(__)_ ( ) ( ω ) ( ~~ ) (______)
|
|
112
|
+
`--´ ^^^^ `----´ (")_(") `-vvvv-´ /\/\/\/\
|
|
113
|
+
|
|
114
|
+
owl penguin turtle snail ghost axolotl
|
|
115
|
+
/\ /\ .---. _,--._ · .--. .----. }~(______)~{
|
|
116
|
+
((·)(·)) (·>·) ( · · ) \ ( @ ) / · · \ }~(· .. ·)~{
|
|
117
|
+
( >< ) /( )\ /[______]\ \_`--´ | | ( .--. )
|
|
118
|
+
`----´ `---´ `` `` ~~~~~~~ ~`~``~`~ (_/ \_)
|
|
119
|
+
|
|
120
|
+
capybara cactus robot rabbit mushroom chonk
|
|
121
|
+
n______n n ____ n .[||]. (\__/) .-o-OO-o-. /\ /\
|
|
122
|
+
( · · ) | |· ·| | [ · · ] ( · · ) (__________) ( · · )
|
|
123
|
+
( oo ) |_| |_| [ ==== ] =( .. )= |· ·| ( .. )
|
|
124
|
+
`------´ | | `------´ (")__(") |____| `------´
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Customization options
|
|
128
|
+
|
|
129
|
+
<p align="center">
|
|
130
|
+
<img src="assets/options.svg" alt="Customization options" width="700">
|
|
131
|
+
</p>
|
|
132
|
+
|
|
133
|
+
### Rarities
|
|
134
|
+
|
|
135
|
+
| Rarity | Stars | Normal odds | Stat floor |
|
|
136
|
+
|---|---|---|---|
|
|
137
|
+
| Common | ★ | 60% | 5 |
|
|
138
|
+
| Uncommon | ★★ | 25% | 15 |
|
|
139
|
+
| Rare | ★★★ | 10% | 25 |
|
|
140
|
+
| Epic | ★★★★ | 4% | 35 |
|
|
141
|
+
| Legendary | ★★★★★ | 1% | 50 |
|
|
142
|
+
|
|
143
|
+
Common rarity pets get no hat. All other rarities roll a random hat.
|
|
144
|
+
|
|
145
|
+
### Eyes
|
|
146
|
+
|
|
147
|
+
Six eye styles available on every species:
|
|
148
|
+
|
|
149
|
+
| Style | Character |
|
|
150
|
+
|---|---|
|
|
151
|
+
| Dot | `·` |
|
|
152
|
+
| Sparkle | `✦` |
|
|
153
|
+
| Cross | `×` |
|
|
154
|
+
| Circle | `◉` |
|
|
155
|
+
| At | `@` |
|
|
156
|
+
| Degree | `°` |
|
|
157
|
+
|
|
158
|
+
### Hats
|
|
159
|
+
|
|
160
|
+
Seven hat styles (only for uncommon+ rarity):
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
crown tophat propeller halo wizard beanie tinyduck
|
|
164
|
+
\^^^/ [___] -+- ( ) /^\ (___) ,>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Stats
|
|
168
|
+
|
|
169
|
+
Each pet has 5 stats: **DEBUGGING**, **PATIENCE**, **CHAOS**, **WISDOM**, **SNARK**. One peak stat, one dump stat, rest scattered. Higher rarity = higher stat floor. Stats are deterministic from the seed — you can't pick them individually, but different salts produce different stat rolls.
|
|
170
|
+
|
|
171
|
+
### Shiny
|
|
172
|
+
|
|
173
|
+
1% chance per seed. The brute-force search ignores shiny by default, but you could modify the finder to require it (at the cost of ~100x longer search time).
|
|
174
|
+
|
|
175
|
+
## How the auto-patch hook works
|
|
176
|
+
|
|
177
|
+
When you choose to install the hook, it adds this to `~/.claude/settings.json`:
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"hooks": {
|
|
182
|
+
"SessionStart": [
|
|
183
|
+
{
|
|
184
|
+
"type": "command",
|
|
185
|
+
"command": "claude-code-any-buddy apply --silent"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
On every Claude Code session start, this runs `apply --silent` which:
|
|
193
|
+
1. Reads your saved salt from `~/.claude-code-any-buddy.json`
|
|
194
|
+
2. Checks if the current binary already has the correct salt (fast `Buffer.indexOf`)
|
|
195
|
+
3. If not (Claude updated), re-patches — same string replacement, same logic
|
|
196
|
+
4. Silent mode: produces no output unless a patch was actually applied
|
|
197
|
+
|
|
198
|
+
The hook adds negligible startup time (~50ms) when no patch is needed.
|
|
199
|
+
|
|
200
|
+
## How the binary patch works
|
|
201
|
+
|
|
202
|
+
Claude Code is a compiled Bun ELF binary at `~/.local/share/claude/versions/<version>`. The salt string `"friend-2026-401"` appears exactly 3 times:
|
|
203
|
+
- 2 occurrences in the bundled JavaScript code sections
|
|
204
|
+
- 1 occurrence in a string table / data section
|
|
205
|
+
|
|
206
|
+
The patch:
|
|
207
|
+
1. Reads the binary into a buffer
|
|
208
|
+
2. Finds all 3 occurrences of the old salt
|
|
209
|
+
3. Replaces each with the new salt (always exactly 15 characters — same length, no byte offset shifts)
|
|
210
|
+
4. Writes to a temp file, then atomically renames it over the original
|
|
211
|
+
5. Verifies by re-reading
|
|
212
|
+
|
|
213
|
+
The atomic rename (`rename()` syscall) is safe even while Claude Code is running — the OS keeps the old inode open for any running process. The new binary takes effect on next launch.
|
|
214
|
+
|
|
215
|
+
A backup is always created at `<binary-path>.anybuddy-bak` before the first patch.
|
|
216
|
+
|
|
217
|
+
## Files
|
|
218
|
+
|
|
219
|
+
| File | Purpose |
|
|
220
|
+
|---|---|
|
|
221
|
+
| `~/.claude.json` | Read-only — your user ID is read from here |
|
|
222
|
+
| `~/.claude-code-any-buddy.json` | Stores your chosen salt and pet config |
|
|
223
|
+
| `~/.claude/settings.json` | SessionStart hook is added here (optional) |
|
|
224
|
+
| `<binary>.anybuddy-bak` | Backup of the original binary |
|
|
225
|
+
|
|
226
|
+
## Restoring
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Restore original pet and remove the hook
|
|
230
|
+
claude-code-any-buddy restore
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
This patches the salt back to the original, removes the SessionStart hook, and clears the saved config.
|
|
234
|
+
|
|
235
|
+
## Limitations
|
|
236
|
+
|
|
237
|
+
- **Linux only** — different binary format on macOS/Windows
|
|
238
|
+
- **Requires Bun** — needed for matching Claude Code's wyhash implementation
|
|
239
|
+
- **Salt string dependent** — if Anthropic changes the salt from `friend-2026-401` in a future version, the patch logic would need updating (but the tool will detect this and warn you)
|
|
240
|
+
- **Stats not selectable** — you pick species/rarity/eyes/hat; stats are whatever the matching salt produces
|
|
241
|
+
- **Personality** — generated by Claude on first `/buddy` run after patching, not controlled by this tool. Delete the `companion` key from `~/.claude.json` to re-hatch with a new personality
|
|
242
|
+
- **Name** — can be changed at any time via the interactive flow or `--name` flag (edits `~/.claude.json` directly)
|
|
243
|
+
|
|
244
|
+
## License
|
|
245
|
+
|
|
246
|
+
MIT
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="terminal" baseProfile="full" viewBox="0 0 480 274" width="480" version="1.1">
|
|
2
|
+
<defs>
|
|
3
|
+
<termtosvg:template_settings xmlns:termtosvg="https://github.com/nbedos/termtosvg">
|
|
4
|
+
<termtosvg:screen_geometry columns="60" rows="16"/>
|
|
5
|
+
<termtosvg:animation type="css"/>
|
|
6
|
+
</termtosvg:template_settings>
|
|
7
|
+
<style type="text/css" id="generated-style"><![CDATA[#screen {
|
|
8
|
+
font-family: 'DejaVu Sans Mono', monospace;
|
|
9
|
+
font-style: normal;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
text {
|
|
14
|
+
dominant-baseline: text-before-edge;
|
|
15
|
+
white-space: pre;
|
|
16
|
+
}
|
|
17
|
+
]]></style>
|
|
18
|
+
<style type="text/css" id="user-style">
|
|
19
|
+
/* The colors defined below are the default 16 colors used for rendering text of the terminal. Adjust
|
|
20
|
+
them as needed.
|
|
21
|
+
PowerShell colors based on https://en.wikipedia.org/wiki/ANSI_escape_code#Colors */
|
|
22
|
+
.foreground {fill: #cccccc;}
|
|
23
|
+
.background {fill: #0c0c0c;}
|
|
24
|
+
.color0 {fill: #0c0c0c;}
|
|
25
|
+
.color1 {fill: #c50f1f;}
|
|
26
|
+
.color2 {fill: #13a10e;}
|
|
27
|
+
.color3 {fill: #c19c00;}
|
|
28
|
+
.color4 {fill: #0037da;}
|
|
29
|
+
.color5 {fill: #881798;}
|
|
30
|
+
.color6 {fill: #3a96dd;}
|
|
31
|
+
.color7 {fill: #cccccc;}
|
|
32
|
+
.color8 {fill: #767676;}
|
|
33
|
+
.color9 {fill: #e74856;}
|
|
34
|
+
.color10 {fill: #16c60c;}
|
|
35
|
+
.color11 {fill: #f9f1a5;}
|
|
36
|
+
.color12 {fill: #3b78ff;}
|
|
37
|
+
.color13 {fill: #b4009e;}
|
|
38
|
+
.color14 {fill: #61d6d6;}
|
|
39
|
+
.color15 {fill: #f2f2f2;}
|
|
40
|
+
</style>
|
|
41
|
+
</defs>
|
|
42
|
+
<svg id="screen" width="480" height="272" viewBox="0 0 480 272" preserveAspectRatio="xMidYMin slice">
|
|
43
|
+
<rect class="background" height="100%" width="100%" x="0" y="0"/><defs><g id="g1"><text x="0" textLength="184" font-weight="bold" class="foreground"> claude-code-any-buddy</text></g><g id="g2"><text x="0" textLength="288" class="foreground"> Pick any Claude Code companion pet</text></g><g id="g3"><text x="0" textLength="208" class="foreground"> User ID: d6242b55-d9f...</text></g><g id="g4"><text x="0" textLength="336" class="color2"> Default pet (original salt): mushroom ★★</text></g><g id="g5"><text x="0" textLength="400" class="color2"> Rarity: uncommon Eyes: ° Hat: crown Shiny: no</text></g><g id="g6"><text x="0" textLength="128" class="color2"> \^^^/ </text></g><g id="g7"><text x="0" textLength="128" class="color2"> .-o-OO-o-. </text></g><g id="g8"><text x="0" textLength="128" class="color2"> (__________)</text></g><g id="g9"><text x="0" textLength="128" class="color2"> |° °| </text></g><g id="g10"><text x="0" textLength="128" class="color2"> |____| </text></g><g id="g11"><text x="0" textLength="8" class="background"> </text></g></defs><g><use xlink:href="#g1" y="17"/><use xlink:href="#g2" y="34"/><use xlink:href="#g3" y="68"/><use xlink:href="#g4" y="102"/><use xlink:href="#g5" y="119"/><use xlink:href="#g6" y="153"/><use xlink:href="#g7" y="170"/><use xlink:href="#g8" y="187"/><use xlink:href="#g9" y="204"/><use xlink:href="#g10" y="221"/><rect x="0" y="255" width="8" height="17" class="foreground"/><use xlink:href="#g11" y="255"/></g></svg>
|
|
44
|
+
</svg>
|
package/assets/demo.svg
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="terminal" baseProfile="full" viewBox="0 0 720 716" width="720" version="1.1">
|
|
2
|
+
<defs>
|
|
3
|
+
<termtosvg:template_settings xmlns:termtosvg="https://github.com/nbedos/termtosvg">
|
|
4
|
+
<termtosvg:screen_geometry columns="90" rows="42"/>
|
|
5
|
+
<termtosvg:animation type="css"/>
|
|
6
|
+
</termtosvg:template_settings>
|
|
7
|
+
<style type="text/css" id="generated-style"><![CDATA[#screen {
|
|
8
|
+
font-family: 'DejaVu Sans Mono', monospace;
|
|
9
|
+
font-style: normal;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
text {
|
|
14
|
+
dominant-baseline: text-before-edge;
|
|
15
|
+
white-space: pre;
|
|
16
|
+
}
|
|
17
|
+
]]></style>
|
|
18
|
+
<style type="text/css" id="user-style">
|
|
19
|
+
/* The colors defined below are the default 16 colors used for rendering text of the terminal. Adjust
|
|
20
|
+
them as needed.
|
|
21
|
+
PowerShell colors based on https://en.wikipedia.org/wiki/ANSI_escape_code#Colors */
|
|
22
|
+
.foreground {fill: #cccccc;}
|
|
23
|
+
.background {fill: #0c0c0c;}
|
|
24
|
+
.color0 {fill: #0c0c0c;}
|
|
25
|
+
.color1 {fill: #c50f1f;}
|
|
26
|
+
.color2 {fill: #13a10e;}
|
|
27
|
+
.color3 {fill: #c19c00;}
|
|
28
|
+
.color4 {fill: #0037da;}
|
|
29
|
+
.color5 {fill: #881798;}
|
|
30
|
+
.color6 {fill: #3a96dd;}
|
|
31
|
+
.color7 {fill: #cccccc;}
|
|
32
|
+
.color8 {fill: #767676;}
|
|
33
|
+
.color9 {fill: #e74856;}
|
|
34
|
+
.color10 {fill: #16c60c;}
|
|
35
|
+
.color11 {fill: #f9f1a5;}
|
|
36
|
+
.color12 {fill: #3b78ff;}
|
|
37
|
+
.color13 {fill: #b4009e;}
|
|
38
|
+
.color14 {fill: #61d6d6;}
|
|
39
|
+
.color15 {fill: #f2f2f2;}
|
|
40
|
+
</style>
|
|
41
|
+
</defs>
|
|
42
|
+
<svg id="screen" width="720" height="714" viewBox="0 0 720 714" preserveAspectRatio="xMidYMin slice">
|
|
43
|
+
<rect class="background" height="100%" width="100%" x="0" y="0"/><defs><g id="g1"><text x="0" textLength="240" class="foreground"> User ID: d6242b55-d9f9-43...</text></g><g id="g2"><text x="0" textLength="312" class="color2"> Your current default pet: mushroom ★★</text></g><g id="g3"><text x="0" textLength="400" class="color2"> Rarity: uncommon Eyes: ° Hat: crown Shiny: no</text></g><g id="g4"><text x="0" textLength="128" class="color2"> \^^^/ </text></g><g id="g5"><text x="0" textLength="128" class="color2"> .-o-OO-o-. </text></g><g id="g6"><text x="0" textLength="128" class="color2"> (__________)</text></g><g id="g7"><text x="0" textLength="128" class="color2"> |° °| </text></g><g id="g8"><text x="0" textLength="128" class="color2"> |____| </text></g><g id="g9"><text x="0" textLength="176" font-weight="bold" class="foreground"> Choose your new pet:</text></g><g id="g10"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="64" font-weight="bold" class="foreground">Species </text><text x="96" textLength="48" class="color6">dragon</text></g><g id="g11"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="64" font-weight="bold" class="foreground">Eyes </text><text x="96" textLength="8" class="color6">✦</text></g><g id="g12"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="64" font-weight="bold" class="foreground">Rarity </text><text x="96" textLength="232" class="color6">legendary ★★★★★ (normally 1%)</text></g><g id="g13"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="64" font-weight="bold" class="foreground">Hat </text><text x="96" textLength="48" class="color6">wizard</text></g><g id="g14"><text x="0" textLength="240" class="color3"> Your selection: dragon ★★★★★</text></g><g id="g15"><text x="0" textLength="416" class="color3"> Rarity: legendary Eyes: ✦ Hat: wizard Shiny: no</text></g><g id="g16"><text x="0" textLength="128" class="color3"> /^\ </text></g><g id="g17"><text x="0" textLength="128" class="color3"> /^\ /^\ </text></g><g id="g18"><text x="0" textLength="128" class="color3"> < ✦ ✦ > </text></g><g id="g19"><text x="0" textLength="128" class="color3"> ( ~~ ) </text></g><g id="g20"><text x="0" textLength="128" class="color3"> `-vvvv-´ </text></g><g id="g21"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="256" class="foreground">Find a matching salt and apply? </text><text x="288" textLength="24" class="color6">Yes</text></g><g id="g22"><text x="0" textLength="256" class="foreground"> Searching for matching salt...</text></g><g id="g23"><text x="0" textLength="448" class="color2"> Found salt "VZ-ROzXwLZNVAYK" in 40,488 attempts (22ms)</text></g><g id="g24"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="112" class="foreground">Patch binary? </text><text x="144" textLength="24" class="color6">Yes</text></g><g id="g25"><text x="0" textLength="328" class="color2"> Patched! 3 replacements, verified: true</text></g><g id="g26"><text x="0" textLength="480" class="foreground"> Backup: ~/.local/share/claude/versions/2.1.89.anybuddy-bak</text></g><g id="g27"><text x="0" textLength="32" class="color2"> ✔ </text><text x="32" textLength="464" class="foreground">Install SessionStart hook to auto-re-apply after updates? </text><text x="496" textLength="24" class="color6">Yes</text></g><g id="g28"><text x="0" textLength="344" class="color2"> Hook installed in ~/.claude/settings.json</text></g><g id="g29"><text x="0" textLength="496" font-weight="bold" class="color10"> Done! Launch Claude Code and run /buddy to see your new pet.</text></g><g id="g30"><text x="0" textLength="8" class="background"> </text></g></defs><g><use xlink:href="#g1" y="17"/><use xlink:href="#g2" y="51"/><use xlink:href="#g3" y="68"/><use xlink:href="#g4" y="102"/><use xlink:href="#g5" y="119"/><use xlink:href="#g6" y="136"/><use xlink:href="#g7" y="153"/><use xlink:href="#g8" y="170"/><use xlink:href="#g9" y="204"/><use xlink:href="#g10" y="238"/><use xlink:href="#g11" y="255"/><use xlink:href="#g12" y="272"/><use xlink:href="#g13" y="289"/><use xlink:href="#g14" y="323"/><use xlink:href="#g15" y="340"/><use xlink:href="#g16" y="374"/><use xlink:href="#g17" y="391"/><use xlink:href="#g18" y="408"/><use xlink:href="#g19" y="425"/><use xlink:href="#g20" y="442"/><use xlink:href="#g21" y="476"/><use xlink:href="#g22" y="493"/><use xlink:href="#g23" y="510"/><use xlink:href="#g24" y="544"/><use xlink:href="#g25" y="561"/><use xlink:href="#g26" y="578"/><use xlink:href="#g27" y="612"/><use xlink:href="#g28" y="629"/><use xlink:href="#g29" y="663"/><rect x="0" y="697" width="8" height="17" class="foreground"/><use xlink:href="#g30" y="697"/></g></svg>
|
|
44
|
+
</svg>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="terminal" baseProfile="full" viewBox="0 0 1040 682" width="1040" version="1.1">
|
|
2
|
+
<defs>
|
|
3
|
+
<termtosvg:template_settings xmlns:termtosvg="https://github.com/nbedos/termtosvg">
|
|
4
|
+
<termtosvg:screen_geometry columns="130" rows="40"/>
|
|
5
|
+
<termtosvg:animation type="css"/>
|
|
6
|
+
</termtosvg:template_settings>
|
|
7
|
+
<style type="text/css" id="generated-style"><![CDATA[#screen {
|
|
8
|
+
font-family: 'DejaVu Sans Mono', monospace;
|
|
9
|
+
font-style: normal;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
text {
|
|
14
|
+
dominant-baseline: text-before-edge;
|
|
15
|
+
white-space: pre;
|
|
16
|
+
}
|
|
17
|
+
]]></style>
|
|
18
|
+
<style type="text/css" id="user-style">
|
|
19
|
+
/* The colors defined below are the default 16 colors used for rendering text of the terminal. Adjust
|
|
20
|
+
them as needed.
|
|
21
|
+
PowerShell colors based on https://en.wikipedia.org/wiki/ANSI_escape_code#Colors */
|
|
22
|
+
.foreground {fill: #cccccc;}
|
|
23
|
+
.background {fill: #0c0c0c;}
|
|
24
|
+
.color0 {fill: #0c0c0c;}
|
|
25
|
+
.color1 {fill: #c50f1f;}
|
|
26
|
+
.color2 {fill: #13a10e;}
|
|
27
|
+
.color3 {fill: #c19c00;}
|
|
28
|
+
.color4 {fill: #0037da;}
|
|
29
|
+
.color5 {fill: #881798;}
|
|
30
|
+
.color6 {fill: #3a96dd;}
|
|
31
|
+
.color7 {fill: #cccccc;}
|
|
32
|
+
.color8 {fill: #767676;}
|
|
33
|
+
.color9 {fill: #e74856;}
|
|
34
|
+
.color10 {fill: #16c60c;}
|
|
35
|
+
.color11 {fill: #f9f1a5;}
|
|
36
|
+
.color12 {fill: #3b78ff;}
|
|
37
|
+
.color13 {fill: #b4009e;}
|
|
38
|
+
.color14 {fill: #61d6d6;}
|
|
39
|
+
.color15 {fill: #f2f2f2;}
|
|
40
|
+
</style>
|
|
41
|
+
</defs>
|
|
42
|
+
<svg id="screen" width="1040" height="680" viewBox="0 0 1040 680" preserveAspectRatio="xMidYMin slice">
|
|
43
|
+
<rect class="background" height="100%" width="100%" x="0" y="0"/><defs><g id="g1"><text x="0" textLength="80" font-weight="bold" class="foreground"> Rarities</text></g><g id="g2"><text x="0" textLength="720" class="foreground"> ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─</text></g><g id="g3"><text x="0" textLength="320" class="color8"> ★ common (normally 60%)</text></g><g id="g4"><text x="0" textLength="320" class="color2"> ★★ uncommon (normally 25%)</text></g><g id="g5"><text x="0" textLength="320" class="color4"> ★★★ rare (normally 10%)</text></g><g id="g6"><text x="0" textLength="312" class="color5"> ★★★★ epic (normally 4%)</text></g><g id="g7"><text x="0" textLength="312" class="color3"> ★★★★★ legendary (normally 1%)</text></g><g id="g8"><text x="0" textLength="96" font-weight="bold" class="foreground"> Eye Styles</text></g><g id="g9"><text x="0" textLength="32" class="foreground"> </text><text x="32" textLength="40" class="color6"> · </text><text x="72" textLength="120" class="foreground"> </text><text x="192" textLength="40" class="color6"> ✦ </text><text x="232" textLength="120" class="foreground"> </text><text x="352" textLength="40" class="color6"> × </text><text x="392" textLength="120" class="foreground"> </text><text x="512" textLength="40" class="color6"> ◉ </text><text x="552" textLength="120" class="foreground"> </text><text x="672" textLength="40" class="color6"> @ </text><text x="712" textLength="120" class="foreground"> </text><text x="832" textLength="40" class="color6"> ° </text><text x="872" textLength="120" class="foreground"> </text></g><g id="g10"><text x="0" textLength="32" class="foreground"> </text><text x="32" textLength="96" class="color6"> /\_/\ </text><text x="128" textLength="64" class="foreground"> </text><text x="192" textLength="96" class="color6"> /\_/\ </text><text x="288" textLength="64" class="foreground"> </text><text x="352" textLength="96" class="color6"> /\_/\ </text><text x="448" textLength="64" class="foreground"> </text><text x="512" textLength="96" class="color6"> /\_/\ </text><text x="608" textLength="64" class="foreground"> </text><text x="672" textLength="96" class="color6"> /\_/\ </text><text x="768" textLength="64" class="foreground"> </text><text x="832" textLength="96" class="color6"> /\_/\ </text><text x="928" textLength="64" class="foreground"> </text></g><g id="g11"><text x="0" textLength="32" class="foreground"> </text><text x="32" textLength="96" class="color6"> ( · ·) </text><text x="128" textLength="64" class="foreground"> </text><text x="192" textLength="96" class="color6"> ( ✦ ✦) </text><text x="288" textLength="64" class="foreground"> </text><text x="352" textLength="96" class="color6"> ( × ×) </text><text x="448" textLength="64" class="foreground"> </text><text x="512" textLength="96" class="color6"> ( ◉ ◉) </text><text x="608" textLength="64" class="foreground"> </text><text x="672" textLength="96" class="color6"> ( @ @) </text><text x="768" textLength="64" class="foreground"> </text><text x="832" textLength="96" class="color6"> ( ° °) </text><text x="928" textLength="64" class="foreground"> </text></g><g id="g12"><text x="0" textLength="32" class="foreground"> </text><text x="32" textLength="96" class="color6"> ( ω ) </text><text x="128" textLength="64" class="foreground"> </text><text x="192" textLength="96" class="color6"> ( ω ) </text><text x="288" textLength="64" class="foreground"> </text><text x="352" textLength="96" class="color6"> ( ω ) </text><text x="448" textLength="64" class="foreground"> </text><text x="512" textLength="96" class="color6"> ( ω ) </text><text x="608" textLength="64" class="foreground"> </text><text x="672" textLength="96" class="color6"> ( ω ) </text><text x="768" textLength="64" class="foreground"> </text><text x="832" textLength="96" class="color6"> ( ω ) </text><text x="928" textLength="64" class="foreground"> </text></g><g id="g13"><text x="0" textLength="32" class="foreground"> </text><text x="32" textLength="96" class="color6"> (")_(") </text><text x="128" textLength="64" class="foreground"> </text><text x="192" textLength="96" class="color6"> (")_(") </text><text x="288" textLength="64" class="foreground"> </text><text x="352" textLength="96" class="color6"> (")_(") </text><text x="448" textLength="64" class="foreground"> </text><text x="512" textLength="96" class="color6"> (")_(") </text><text x="608" textLength="64" class="foreground"> </text><text x="672" textLength="96" class="color6"> (")_(") </text><text x="768" textLength="64" class="foreground"> </text><text x="832" textLength="96" class="color6"> (")_(") </text><text x="928" textLength="64" class="foreground"> </text></g><g id="g14"><text x="0" textLength="184" font-weight="bold" class="foreground"> Hats (uncommon+ only)</text></g><g id="g15"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="40" font-weight="bold" class="foreground">crown</text><text x="56" textLength="120" class="foreground"> </text><text x="176" textLength="48" font-weight="bold" class="foreground">tophat</text><text x="224" textLength="112" class="foreground"> </text><text x="336" textLength="72" font-weight="bold" class="foreground">propeller</text><text x="408" textLength="88" class="foreground"> </text><text x="496" textLength="32" font-weight="bold" class="foreground">halo</text><text x="528" textLength="128" class="foreground"> </text></g><g id="g16"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> \^^^/ </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> [___] </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> -+- </text><text x="432" textLength="64" class="foreground"> </text><text x="496" textLength="96" class="color4"> ( ) </text><text x="592" textLength="64" class="foreground"> </text></g><g id="g17"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> /^\ /^\ </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> /^\ /^\ </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> /^\ /^\ </text><text x="432" textLength="64" class="foreground"> </text><text x="496" textLength="96" class="color4"> /^\ /^\ </text><text x="592" textLength="64" class="foreground"> </text></g><g id="g18"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> < ✦ ✦ > </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> < ✦ ✦ > </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> < ✦ ✦ > </text><text x="432" textLength="64" class="foreground"> </text><text x="496" textLength="96" class="color4"> < ✦ ✦ > </text><text x="592" textLength="64" class="foreground"> </text></g><g id="g19"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> ( ~~ ) </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> ( ~~ ) </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> ( ~~ ) </text><text x="432" textLength="64" class="foreground"> </text><text x="496" textLength="96" class="color4"> ( ~~ ) </text><text x="592" textLength="64" class="foreground"> </text></g><g id="g20"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> `-vvvv-´ </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> `-vvvv-´ </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> `-vvvv-´ </text><text x="432" textLength="64" class="foreground"> </text><text x="496" textLength="96" class="color4"> `-vvvv-´ </text><text x="592" textLength="64" class="foreground"> </text></g><g id="g21"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="48" font-weight="bold" class="foreground">wizard</text><text x="64" textLength="112" class="foreground"> </text><text x="176" textLength="48" font-weight="bold" class="foreground">beanie</text><text x="224" textLength="112" class="foreground"> </text><text x="336" textLength="64" font-weight="bold" class="foreground">tinyduck</text><text x="400" textLength="96" class="foreground"> </text></g><g id="g22"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> /^\ </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> (___) </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> ,> </text><text x="432" textLength="64" class="foreground"> </text></g><g id="g23"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> /^\ /^\ </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> /^\ /^\ </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> /^\ /^\ </text><text x="432" textLength="64" class="foreground"> </text></g><g id="g24"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> < ✦ ✦ > </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> < ✦ ✦ > </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> < ✦ ✦ > </text><text x="432" textLength="64" class="foreground"> </text></g><g id="g25"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> ( ~~ ) </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> ( ~~ ) </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> ( ~~ ) </text><text x="432" textLength="64" class="foreground"> </text></g><g id="g26"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color4"> `-vvvv-´ </text><text x="112" textLength="64" class="foreground"> </text><text x="176" textLength="96" class="color4"> `-vvvv-´ </text><text x="272" textLength="64" class="foreground"> </text><text x="336" textLength="96" class="color4"> `-vvvv-´ </text><text x="432" textLength="64" class="foreground"> </text></g><g id="g27"><text x="0" textLength="8" class="background"> </text></g></defs><g><use xlink:href="#g1" y="17"/><use xlink:href="#g2" y="34"/><use xlink:href="#g3" y="68"/><use xlink:href="#g4" y="85"/><use xlink:href="#g5" y="102"/><use xlink:href="#g6" y="119"/><use xlink:href="#g7" y="136"/><use xlink:href="#g8" y="170"/><use xlink:href="#g2" y="187"/><use xlink:href="#g9" y="221"/><use xlink:href="#g10" y="238"/><use xlink:href="#g11" y="255"/><use xlink:href="#g12" y="272"/><use xlink:href="#g13" y="289"/><use xlink:href="#g14" y="323"/><use xlink:href="#g2" y="340"/><use xlink:href="#g15" y="374"/><use xlink:href="#g16" y="391"/><use xlink:href="#g17" y="408"/><use xlink:href="#g18" y="425"/><use xlink:href="#g19" y="442"/><use xlink:href="#g20" y="459"/><use xlink:href="#g21" y="493"/><use xlink:href="#g22" y="510"/><use xlink:href="#g23" y="527"/><use xlink:href="#g24" y="544"/><use xlink:href="#g25" y="561"/><use xlink:href="#g26" y="578"/><rect x="0" y="612" width="8" height="17" class="foreground"/><use xlink:href="#g27" y="612"/></g></svg>
|
|
44
|
+
</svg>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="terminal" baseProfile="full" viewBox="0 0 640 937" width="640" version="1.1">
|
|
2
|
+
<defs>
|
|
3
|
+
<termtosvg:template_settings xmlns:termtosvg="https://github.com/nbedos/termtosvg">
|
|
4
|
+
<termtosvg:screen_geometry columns="80" rows="55"/>
|
|
5
|
+
<termtosvg:animation type="css"/>
|
|
6
|
+
</termtosvg:template_settings>
|
|
7
|
+
<style type="text/css" id="generated-style"><![CDATA[#screen {
|
|
8
|
+
font-family: 'DejaVu Sans Mono', monospace;
|
|
9
|
+
font-style: normal;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
text {
|
|
14
|
+
dominant-baseline: text-before-edge;
|
|
15
|
+
white-space: pre;
|
|
16
|
+
}
|
|
17
|
+
]]></style>
|
|
18
|
+
<style type="text/css" id="user-style">
|
|
19
|
+
/* The colors defined below are the default 16 colors used for rendering text of the terminal. Adjust
|
|
20
|
+
them as needed.
|
|
21
|
+
PowerShell colors based on https://en.wikipedia.org/wiki/ANSI_escape_code#Colors */
|
|
22
|
+
.foreground {fill: #cccccc;}
|
|
23
|
+
.background {fill: #0c0c0c;}
|
|
24
|
+
.color0 {fill: #0c0c0c;}
|
|
25
|
+
.color1 {fill: #c50f1f;}
|
|
26
|
+
.color2 {fill: #13a10e;}
|
|
27
|
+
.color3 {fill: #c19c00;}
|
|
28
|
+
.color4 {fill: #0037da;}
|
|
29
|
+
.color5 {fill: #881798;}
|
|
30
|
+
.color6 {fill: #3a96dd;}
|
|
31
|
+
.color7 {fill: #cccccc;}
|
|
32
|
+
.color8 {fill: #767676;}
|
|
33
|
+
.color9 {fill: #e74856;}
|
|
34
|
+
.color10 {fill: #16c60c;}
|
|
35
|
+
.color11 {fill: #f9f1a5;}
|
|
36
|
+
.color12 {fill: #3b78ff;}
|
|
37
|
+
.color13 {fill: #b4009e;}
|
|
38
|
+
.color14 {fill: #61d6d6;}
|
|
39
|
+
.color15 {fill: #f2f2f2;}
|
|
40
|
+
</style>
|
|
41
|
+
</defs>
|
|
42
|
+
<svg id="screen" width="640" height="935" viewBox="0 0 640 935" preserveAspectRatio="xMidYMin slice">
|
|
43
|
+
<rect class="background" height="100%" width="100%" x="0" y="0"/><defs><g id="g1"><text x="0" textLength="184" font-weight="bold" class="color14"> claude-code-any-buddy</text></g><g id="g2"><text x="0" textLength="360" class="foreground"> Pick any Claude Code companion pet you want</text></g><g id="g3"><text x="0" textLength="128" font-weight="bold" class="foreground"> All 18 Species</text></g><g id="g4"><text x="0" textLength="640" class="foreground"> ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ </text></g><g id="g5"><text x="0" textLength="80" class="foreground">─ ─ ─ ─</text></g><g id="g6"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="32" font-weight="bold" class="foreground">duck</text><text x="48" textLength="160" class="foreground"> </text><text x="208" textLength="40" font-weight="bold" class="foreground">goose</text><text x="248" textLength="152" class="foreground"> </text><text x="400" textLength="32" font-weight="bold" class="foreground">blob</text><text x="432" textLength="160" class="foreground"> </text></g><g id="g7"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> __ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> (·> </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> .----. </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g8"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> <(· )___ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> || </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( · · ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g9"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( ._> </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> _(__)_ </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g10"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> `--´ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> ^^^^ </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> `----´ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g11"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="24" font-weight="bold" class="foreground">cat</text><text x="40" textLength="168" class="foreground"> </text><text x="208" textLength="48" font-weight="bold" class="foreground">dragon</text><text x="256" textLength="144" class="foreground"> </text><text x="400" textLength="56" font-weight="bold" class="foreground">octopus</text><text x="456" textLength="136" class="foreground"> </text></g><g id="g12"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> /\_/\ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g13"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( · ·) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> /^\ /^\ </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> .----. </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g14"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( ω ) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> < · · > </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( · · ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g15"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> (")_(") </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> ( ~~ ) </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> (______) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g16"><text x="0" textLength="208" class="foreground"> </text><text x="208" textLength="96" class="color6"> `-vvvv-´ </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> /\/\/\/\ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g17"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="24" font-weight="bold" class="foreground">owl</text><text x="40" textLength="168" class="foreground"> </text><text x="208" textLength="56" font-weight="bold" class="foreground">penguin</text><text x="264" textLength="136" class="foreground"> </text><text x="400" textLength="48" font-weight="bold" class="foreground">turtle</text><text x="448" textLength="144" class="foreground"> </text></g><g id="g18"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> /\ /\ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> _,--._ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g19"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ((·)(·)) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> .---. </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( · · ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g20"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( >< ) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> (·>·) </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> /[______]\ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g21"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> `----´ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> /( )\ </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> `` `` </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g22"><text x="0" textLength="208" class="foreground"> </text><text x="208" textLength="96" class="color6"> `---´ </text><text x="304" textLength="288" class="foreground"> </text></g><g id="g23"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="40" font-weight="bold" class="foreground">snail</text><text x="56" textLength="152" class="foreground"> </text><text x="208" textLength="40" font-weight="bold" class="foreground">ghost</text><text x="248" textLength="152" class="foreground"> </text><text x="400" textLength="56" font-weight="bold" class="foreground">axolotl</text><text x="456" textLength="136" class="foreground"> </text></g><g id="g24"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> · .--. </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6">}~(______)~{</text><text x="496" textLength="96" class="foreground"> </text></g><g id="g25"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> \ ( @ ) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> .----. </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6">}~(· .. ·)~{</text><text x="496" textLength="96" class="foreground"> </text></g><g id="g26"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> \_`--´ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> / · · \ </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( .--. ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g27"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ~~~~~~~ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> | | </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> (_/ \_) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g28"><text x="0" textLength="208" class="foreground"> </text><text x="208" textLength="96" class="color6"> ~`~``~`~ </text><text x="304" textLength="288" class="foreground"> </text></g><g id="g29"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="64" font-weight="bold" class="foreground">capybara</text><text x="80" textLength="128" class="foreground"> </text><text x="208" textLength="48" font-weight="bold" class="foreground">cactus</text><text x="256" textLength="144" class="foreground"> </text><text x="400" textLength="40" font-weight="bold" class="foreground">robot</text><text x="440" textLength="152" class="foreground"> </text></g><g id="g30"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g31"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> n______n </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> n ____ n </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> .[||]. </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g32"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( · · ) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> | |· ·| | </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> [ · · ] </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g33"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( oo ) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> |_| |_| </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> [ ==== ] </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g34"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> `------´ </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> | | </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> `------´ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g35"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="48" font-weight="bold" class="foreground">rabbit</text><text x="64" textLength="144" class="foreground"> </text><text x="208" textLength="64" font-weight="bold" class="foreground">mushroom</text><text x="272" textLength="128" class="foreground"> </text><text x="400" textLength="40" font-weight="bold" class="foreground">chonk</text><text x="440" textLength="152" class="foreground"> </text></g><g id="g36"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> (\__/) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> /\ /\ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g37"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> ( · · ) </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> .-o-OO-o-. </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( · · ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g38"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> =( .. )= </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6">(__________)</text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> ( .. ) </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g39"><text x="0" textLength="16" class="foreground"> </text><text x="16" textLength="96" class="color6"> (")__(") </text><text x="112" textLength="96" class="foreground"> </text><text x="208" textLength="96" class="color6"> |· ·| </text><text x="304" textLength="96" class="foreground"> </text><text x="400" textLength="96" class="color6"> `------´ </text><text x="496" textLength="96" class="foreground"> </text></g><g id="g40"><text x="0" textLength="208" class="foreground"> </text><text x="208" textLength="96" class="color6"> |____| </text><text x="304" textLength="288" class="foreground"> </text></g><g id="g41"><text x="0" textLength="8" class="background"> </text></g></defs><g><use xlink:href="#g1" y="17"/><use xlink:href="#g2" y="34"/><use xlink:href="#g3" y="68"/><use xlink:href="#g4" y="85"/><use xlink:href="#g5" y="102"/><use xlink:href="#g6" y="136"/><use xlink:href="#g7" y="153"/><use xlink:href="#g8" y="170"/><use xlink:href="#g9" y="187"/><use xlink:href="#g10" y="204"/><use xlink:href="#g11" y="238"/><use xlink:href="#g12" y="255"/><use xlink:href="#g13" y="272"/><use xlink:href="#g14" y="289"/><use xlink:href="#g15" y="306"/><use xlink:href="#g16" y="323"/><use xlink:href="#g17" y="357"/><use xlink:href="#g18" y="374"/><use xlink:href="#g19" y="391"/><use xlink:href="#g20" y="408"/><use xlink:href="#g21" y="425"/><use xlink:href="#g22" y="442"/><use xlink:href="#g23" y="476"/><use xlink:href="#g24" y="493"/><use xlink:href="#g25" y="510"/><use xlink:href="#g26" y="527"/><use xlink:href="#g27" y="544"/><use xlink:href="#g28" y="561"/><use xlink:href="#g29" y="595"/><use xlink:href="#g30" y="612"/><use xlink:href="#g31" y="629"/><use xlink:href="#g32" y="646"/><use xlink:href="#g33" y="663"/><use xlink:href="#g34" y="680"/><use xlink:href="#g35" y="714"/><use xlink:href="#g36" y="731"/><use xlink:href="#g37" y="748"/><use xlink:href="#g38" y="765"/><use xlink:href="#g39" y="782"/><use xlink:href="#g40" y="799"/><rect x="0" y="833" width="8" height="17" class="foreground"/><use xlink:href="#g41" y="833"/></g></svg>
|
|
44
|
+
</svg>
|