artscii 0.1.0 → 0.2.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 CHANGED
@@ -43,6 +43,7 @@ All content endpoints accept `?width=32` for the compact variant (default: 64).
43
43
  | `GET /categories/:name?width=64\|32` | Arts in category |
44
44
  | `GET /list` | All arts with metadata |
45
45
  | `POST /art` | Submit new art (JSON body) |
46
+ | `POST /convert` | Convert image to ASCII art |
46
47
  | `DELETE /art/:id` | Delete user-submitted art |
47
48
 
48
49
  ### Example
@@ -94,6 +95,31 @@ Response: `201` with `ArtResult` JSON.
94
95
 
95
96
  **Errors:** `400` (validation), `409` (duplicate ID), `429` (rate limit), `507` (limit reached)
96
97
 
98
+ ### Converting Images
99
+
100
+ Convert an image URL or base64 data to ASCII art at runtime (no Python required).
101
+
102
+ ```bash
103
+ curl -X POST http://localhost:3001/convert \
104
+ -H 'Content-Type: application/json' \
105
+ -d '{"url": "https://example.com/photo.jpg"}'
106
+ ```
107
+
108
+ Body parameters:
109
+
110
+ | Field | Type | Default | Description |
111
+ |---|---|---|---|
112
+ | `url` | string | — | Image URL (one of `url`/`base64` required) |
113
+ | `base64` | string | — | Base64 or data-URI encoded image |
114
+ | `invert` | boolean | `false` | Invert brightness |
115
+ | `contrast` | boolean | `true` | Apply auto-contrast |
116
+ | `gamma` | number | `1.0` | Gamma correction (>1 brighter, <1 darker) |
117
+ | `save` | object | — | Save result: `{ name, description?, category, tags }` |
118
+
119
+ Response returns `art64`, `art32` and their dimensions. With `save`, also returns `saved: { id, name }` (status `201`).
120
+
121
+ Rate limit: 3 requests/min per IP.
122
+
97
123
  ### Deleting Art
98
124
 
99
125
  ```bash
@@ -146,6 +172,7 @@ Add to your MCP client config:
146
172
  | `list` | — | List all arts with metadata |
147
173
  | `categories` | — | List categories |
148
174
  | `submit` | `name`, `category`, `tags`, `art`, `art32?` | Submit new art |
175
+ | `convert` | `url?`, `base64?`, `invert?`, `contrast?`, `gamma?`, `save?` | Convert image to ASCII art |
149
176
  | `delete` | `id` | Delete user-submitted art |
150
177
 
151
178
  `width` accepts `"64"` (default) or `"32"` (compact).
@@ -165,9 +192,15 @@ Add to your MCP client config:
165
192
  | heart | symbols | 64x30 | 32x15 |
166
193
  | star | symbols | 64x30 | 32x15 |
167
194
 
168
- ## Regenerating Arts
195
+ ## Image Conversion
196
+
197
+ ### Runtime (Node.js / sharp)
198
+
199
+ The `POST /convert` endpoint and MCP `convert` tool handle image-to-ASCII conversion at runtime — no Python needed. Just `npm install` and go.
200
+
201
+ ### Batch (Python / Pillow)
169
202
 
170
- Arts are converted from public domain silhouette images using Pillow.
203
+ The original batch scripts are still available for regenerating the built-in arts:
171
204
 
172
205
  ```bash
173
206
  pip3 install Pillow
@@ -0,0 +1,12 @@
1
+ =#@@%*-::.
2
+ +@%=:#@@@@%#-
3
+ -%@%*+%@@*==-:
4
+ :+%@@@@@@@@@.
5
+ .=#@@@@@@@@@@@@.
6
+ .-*%@@@@@@@@@@@@@#
7
+ :*%@@@@@@@@@@@@@@@%:
8
+ :+#@@@@@@@@@@@@@@@@%+.
9
+ .=#@@@%%%%%%@@%%%@@#+-.
10
+ *@@%#+-. =@%: *@*
11
+ -=-. *@* #@+
12
+ #%- :%%.
@@ -0,0 +1,25 @@
1
+ :=#%%@%%*=.
2
+ .*%@@@@@@@@@%+----:.
3
+ .#@@@@%#*#@@@@@@@@@@%%*-
4
+ =@@@@%: -@@@@@@@@@@@@@%-
5
+ +@@@@%- .+@@@@@@@@@%%%##*
6
+ -*%@@@@@@%#%@@@@@@*-::..
7
+ .+#@@@@@@@@@@@@@@@@@@-
8
+ .-*%@@@@@@@@@@@@@@@@@@@@-
9
+ :+%@@@@@@@@@@@@@@@@@@@@@@@-
10
+ .=#@@@@@@@@@@@@@@@@@@@@@@@@@@-
11
+ -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@:
12
+ :+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
13
+ .-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:
14
+ :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-
15
+ .=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-
16
+ -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.
17
+ :+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+.
18
+ .-#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+:
19
+ :+%@@@@@@@@@@%**********%@@@@#****@@@@#:
20
+ -#@@@@@@@@@%*=: :%@@@* +@@@%-
21
+ %@@@@@@#*=: =@@@@+ #@@@%:
22
+ :+##*-: *@@@@- .%@@@#
23
+ #@@@%. -@@@@*
24
+ :%@@@# +@@@@=
25
+ =%%#+ #%#*-
@@ -0,0 +1,16 @@
1
+
2
+ ##=.
3
+ %@@%%%%#=
4
+ %@@@%++@@%%%%#
5
+ %@@@%++%@@@@@@
6
+ +%%+ %@@@@@@@@@@@%=
7
+ %@@@- :-+*%%@%===-.
8
+ :#@@@%%%%%%%%%%%%#+=:...:-
9
+ -*%@@@@@@@@@@@@@@@@%#*+-
10
+ %@@@@@@@@@@@@@@@@@@@@%
11
+ %@@@@@@@@@@@@@@@@@@@@%
12
+ %@@@@%%%%%%%%%%%%@@@@%
13
+ %@@@@%. .%@@@@%
14
+ %@@@@% %@@@@%
15
+ %@@@@% %@@@@%
16
+ #@@@@# #@@@@#
@@ -0,0 +1,32 @@
1
+
2
+
3
+ +%%+.
4
+ %@@@%+.
5
+ %@@@@@%%%%%%%%#*-
6
+ %@@@@@@@@@@@@@@@@=
7
+ %@@@@@@@@@@%%@@@@@%%%%%%%%#+
8
+ %@@@@@@@@%- -%@@@@@@@@@@@@@
9
+ %@@@@@@@@%- -%@@@@@@@@@@@@@
10
+ %@@@@@@@@@@%%@@@@@@@@@@@@@@%
11
+ =#%%#= %@@@@@@@@@@@@@@@@@@@@@@@@@%-
12
+ #@@@@@@* %@@@@@@@@@@@@@@@@@@@@@@@@#:
13
+ %@@@@@@%: -+#%%@@@@@@@@@@%%%%%%#*+:
14
+ +@@@@@@@%=. .-=*#%@@@@@%.
15
+ *@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%#*+-:. .:-+*%%
16
+ +%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*=-. .
17
+ :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#+=:.
18
+ :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*
19
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
20
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
21
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
22
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
23
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
24
+ %@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%
25
+ %@@@@@@@@@@%. .%@@@@@@@@@@%
26
+ %@@@@@@@@@@% %@@@@@@@@@@%
27
+ %@@@@@@@@@@% %@@@@@@@@@@%
28
+ %@@@@@@@@@@% %@@@@@@@@@@%
29
+ %@@@@@@@@@@% %@@@@@@@@@@%
30
+ %@@@@@@@@@@% %@@@@@@@@@@%
31
+ %@@@@@@@@@@% %@@@@@@@@@@%
32
+ +%@@@@@@@@%+ +%@@@@@@@@%+
@@ -0,0 +1,16 @@
1
+ +%+
2
+ =#+ .#@@%.
3
+ :@@@+ #@@@@* :+#%%%%%%%=
4
+ *@@@@#- :+%@@@*. =@@@%%@@@@=
5
+ %@@@@@@#-..:+#%# %@@%::%@@%
6
+ #@@@@@@@@%*=:... %@@@%%@@@%
7
+ +@@@@@@@@@@@@%#***%@@@@@@@@%
8
+ .#@@@@@@@@@@@@@@@@@@@@@@@@@%
9
+ .#@@@@@@@@@@@@@@@@@@@@@@@@%
10
+ .*@@@@@@@@@@@@@@@@@@@@@@@#
11
+ :*%@@@@@@@@@@@@@@@@@@@@=
12
+ -#@@@@@@@@@@@@@@@@@@+
13
+ .:-=+*#%%%@@@@@@@@@@@@@@@%*:
14
+ *@@@@@@@@@@@@@@%%%%%%##*=.
15
+ -#%@@@@@@@@%*:
16
+ .=*#%%%%+.
@@ -0,0 +1,32 @@
1
+ =%%#
2
+ .*@@@@=
3
+ +%%+ -%@@@@@#
4
+ +@@@@* -%@@@@@@@=
5
+ :%@@@@@* -%@@@@@@@@%: .=*##%%%%%%%%%%%%%%=
6
+ #@@@@@@@#: .%@@@@@@@@@@%. :*%@@@@@@@@@@@@@@@@@=
7
+ -@@@@@@@@@%+ :*%@@@@@@@@@%: +@@@@@@@@@@@@@@@@@@@=
8
+ *@@@@@@@@@@@%= .=#@@@@@@@@%- =@@@@@@@@%%@@@@@@@@%=
9
+ #@@@@@@@@@@@@@#=. :+#%@@@@@@+ #@@@@@@%- -%@@@@@@%
10
+ %@@@@@@@@@@@@@@@%*: .-+*%%@% %@@@@@@%- -%@@@@@@%
11
+ %@@@@@@@@@@@@@@@@@@%+-. .:- %@@@@@@@@%%@@@@@@@@%
12
+ *@@@@@@@@@@@@@@@@@@@@@%#+-:. %@@@@@@@@@@@@@@@@@@%
13
+ =@@@@@@@@@@@@@@@@@@@@@@@@@@%#**+=---%@@@@@@@@@@@@@@@@@@%
14
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
15
+ -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
16
+ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
17
+ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
18
+ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
19
+ -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
20
+ .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
21
+ :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-
22
+ -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
23
+ :+%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
24
+ .:=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+
25
+ .:-=+*#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-
26
+ :-=+*#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-
27
+ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=.
28
+ -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%##*+=:.
29
+ .+%@@@@@@@@@@@@@@@@@@@@@@@@#-
30
+ .=#%@@@@@@@@@@@@@@@@@@%+:
31
+ .=*#%@@@@@@@@@@@@#=.
32
+ .-=+*#%%%%%#-
@@ -0,0 +1,12 @@
1
+ .+%%@@@@@@@@@%-
2
+ .=%@@@@@@#+#@@*.
3
+ .=**+- .=*%@@@@@@%*%@@@%=
4
+ .+%@@@@@%+: -@@@@#**#%@@@@*
5
+ :*@@@@@%%@@@@#+ -@@@@- .-==-
6
+ +##**+==*%@@@@@% -@@@@#=:
7
+ :+%@@@@@@@@:.%@@@@@@%*=:
8
+ ===========: =@@@@@@@@@@%+
9
+ -#@@@@@@@@@@*
10
+ ....:*%@@@@@@@@%
11
+ .::-=++**##%%%%%@%%%@@@@@@@%-
12
+ *#%%@@@@@@@@@@@@@@@@@@@@@@%%*=.
@@ -0,0 +1,25 @@
1
+ *@@@@@@@@@@@@@@@@@@@@@@@%%+.
2
+ :+%@@@@@@@@@@@@@@@@@@@@@@@#-
3
+ -#%@@@@@@@@@@@@@@@@@@@@@@*.
4
+ .:=*%@@@@@@@@@@@@#:-=+%@@@@@%-
5
+ .:::. +%@@@@@@@@@@@@@@@@@%+-:=%@@@@@@@*.
6
+ .+#%@@@%#+: .:=*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@%-
7
+ :*%@@@@@@@@@@#=. .#@@@@@@@@@@@@@@@@@@@@@@@@@@@%
8
+ :*%@@@@@@@@@@@@@@%#=. *@@@@@@@@%#######@@@@@@@@@@%-
9
+ :*%@@@@@@@@@@@@@@@@@@@%*-. #@@@@@@@@# -*%@@@@@@#:
10
+ :*@@@@@@@@@@@@@@@@@@@@@@@@@%+ #@@@@@@@@# .:----:
11
+ -*@@@@@@@@@@@@@%%%%@@@@@@@@@@@% #@@@@@@@@%:
12
+ #@@@@%%%##*+=-::-+#%@@@@@@@@@@@% #@@@@@@@@@%+:.
13
+ :=--:.. :+%@@@@@@@@@@@@@@%. *@@@@@@@@@@@@%#+:.
14
+ :+%@@@@@@@@@@@@@@@@@@- -@@@@@@@@@@@@@@@@%#+-.
15
+ .#@@@@@@@@@@@@@@@@@@@@@# #@@@@@@@@@@@@@@@@@@@%#+:
16
+ .=++++++++++++++++++++++. :%@@@@@@@@@@@@@@@@@@@@@@*:
17
+ :%@@@@@@@@@@@@@@@@@@@@@@%=
18
+ .#@@@@@@@@@@@@@@@@@@@@@@@=
19
+ =%@@@@@@@@@@@@@@@@@@@@@%
20
+ -*%@@@@@@@@@@@@@@@@@@%
21
+ ...::---===++++*%@@@@@@@@@@@@@@@@@@*
22
+ .::-==+**##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.
23
+ ..:-=+**#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.
24
+ =*##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:
25
+ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+-.
@@ -0,0 +1,14 @@
1
+ ...
2
+ =#%@%#=
3
+ .::#@@+-*@@*:
4
+ .-+#%%@@@@%=:+@@@@%#+-.
5
+ -*%@@@@@@@@@@@@@@@@@@@@@%+
6
+ =#@@@@@@@@@@@@@@@@@@@@@@@@@%
7
+ .#@@@@@@%*+==+#@@@@@@@@@@@%#=.
8
+ :%@@@@%*-.:-==-.:*@@@@@%#+-.
9
+ .#@@@@@%==#%@@@@%: *@%*-.
10
+ +@@@@@@@@@@@@@@@@* -%@+.
11
+ %@@@@@@@@@@@@@@@#. .*@@+.
12
+ %@@@@@@@@@@@@@@*:.:. :*@%+:::.
13
+ :*%%%%%%%%%%%%%%%%%%#. :*%%%%%*
14
+ .................. ......
@@ -0,0 +1,27 @@
1
+
2
+ ..::..
3
+ -*#%@@@%%#+:
4
+ :#@@@@@@@@@@@@*.
5
+ -%@@@@@%##%@@@@@%.
6
+ .:-=++%@@@@@+ .*@@@@@#=-.
7
+ .-=*#%%@@@@@@@@@@@- +@@@@@@@@%%*+-.
8
+ -+#%@@@@@@@@@@@@@@@@@%*++#@@@@@@@@@@@@@@%#*=.
9
+ -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+
10
+ .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
11
+ .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
12
+ .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+
13
+ -%@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#-
14
+ +@@@@@@@@@@@@@@@#*=:.....:=+#@@@@@@@@@@@@@@@@@@@@@@@%*=:
15
+ *@@@@@@@@@@@@@%+: ... :*%@@@@@@@@@@@@@@@@%#+:
16
+ *@@@@@@@@@@@%*- :+#%%%%%#+: :#@@@@@@@@@@@@%*-.
17
+ +@@@@@@@@@@@@%. .=#@@@@@@@@@@@*. #@@@@@@@%*=:
18
+ -@@@@@@@@@@@@@@%*#%@@@@@@@@@@@@@@%. :%@@@%+:.
19
+ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= %@@@%+.
20
+ -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- =%@@@@%+.
21
+ *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* .+%@@@@%=
22
+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%= .*%@@@@%=
23
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*. :*@@@@@#=
24
+ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#---------: :*@@@@@#=------:.
25
+ .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#: :*@@@@@@@@@@@@%+
26
+ -*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= -#@@@@@@@@@@@#
27
+ ..::::::::::::::::::::::::::::::::::. .:::::::::.
@@ -0,0 +1,14 @@
1
+ :+#%%@@@@@%*
2
+ .*%@@@@@@%*%%=
3
+ #@@@@@@@@#-#@@
4
+ :-=========+@@@@@@%#@@@@@@
5
+ :=+#@@@@@@@@@@@@@@@@@@# +@@@%*
6
+ :#@@@@@@@@@@@@@@@@@@@@@@# :-:.
7
+ %@*-@@@@@@@@@@@@@@@@@@@@#
8
+ @@* =%@@@@@@@@@@@@@@@@@@=
9
+ +*- .%@@@@##%%%@@@@@@@%=
10
+ #@@@@* ..:-=@@@@%.
11
+ -@@@@%. .@@@@%.
12
+ .%@@@@= :@@@@%.
13
+ =@@@@% :@@@@%.
14
+ #%%%%- .%%%%%.
@@ -0,0 +1,28 @@
1
+ :=*#%%@@@@@@@@@@@@@@#
2
+ :*%@@@@@@@@@@@@@@@@@@%*:
3
+ :#@@@@@@@@@@@@@@@@@@@@@%:
4
+ =%@@@@@@@@@@@@@@@@#=+#@@@@+
5
+ =@@@@@@@@@@@@@@@@@%: =@@@@@
6
+ .%@@@@@@@@@@@@@@@@@@%*#%@@@@%
7
+ =@@@@@@@@@@@@@@@@@@@@@@@@@@@%
8
+ :=*#%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@#+#@@@@@@@@@@@@
9
+ .::+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* *@@@@@@@@@@%
10
+ .=*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* *@@@@@@@%#-
11
+ .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* =*##*=:.
12
+ .#@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
13
+ #@@@@#.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
14
+ @@@@@- =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
15
+ @@@@@- *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-
16
+ @@@@@- =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
17
+ %@@@@: #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+
18
+ :===: +@@@@@@@@@@#*##%%%@@@@@@@@@@@@@@@@@@@-
19
+ -@@@@@@@@@@%. ..::-==+**%@@@@@@@@@@.
20
+ .%@@@@@@@@@%: =@@@@@@@@@@:
21
+ *@@@@@@@@@%= -@@@@@@@@@@:
22
+ *@@@@@@@@@%: -@@@@@@@@@@:
23
+ :%@@@@@@@@@* -@@@@@@@@@@:
24
+ *@@@@@@@@@%: -@@@@@@@@@@:
25
+ :%@@@@@@@@@* -@@@@@@@@@@:
26
+ *@@@@@@@@@%: -@@@@@@@@@@:
27
+ :%@@@@@@@@@* =@@@@@@@@@@:
28
+ +%%%%%%%%%* :#%%%%%%%%#.
@@ -0,0 +1,14 @@
1
+ #%+ +%#
2
+ +@%: :%@+
3
+ . .@@+ :--: +@@. .
4
+ *%#. +@%: :#@@@@#: :%@+ .#%*
5
+ .*@%- =*. %@@@@@@% .*= -%@*.
6
+ =%@#+=-:=@@@@@@@@=:-=+#@%=
7
+ :=*#%@@@@@@@@@@@@@@%#*=:
8
+ :*%%%%%@@@@@@@@@@@@@@%%%%%*:
9
+ =%@*:-#@%*%@@@@@@@@%*%@#-:*@%=
10
+ *@%- *@%::@@@@@@@@@@::%@* -%@*
11
+ :-. :#@#. #@@@@@@@@# .#@#: .-:
12
+ %@# =#%@@%#= #@%
13
+ %@+ .::. +@%
14
+ #%+ +%#
@@ -0,0 +1,28 @@
1
+ -%%#*: :*#%%-
2
+ .%@@@@- -@@@@%.
3
+ #@@@@* *@@@@#
4
+ =@@@@%. .%@@@@=
5
+ :%@@@%- -%@@@%:
6
+ .: =@@@@%. .-+****+-. .%@@@@= :.
7
+ =#%@%- #@@@@#. +%@@@@@@@@%+ .#@@@@# -%@%#=
8
+ +@@@@@+ *@@@@# .#@@@@@@@@@@@@#. #@@@@* +@@@@@+
9
+ =%@@@@#. *@@@* *@@@@@@@@@@@@@@* *@@@* .#@@@@%=
10
+ :#@@@@%- :-+. .%@@@@@@@@@@@@@@%. .+-: -%@@@@#:
11
+ +@@@@@*+-:. =@@@@@@@@@@@@@@@@= :-=*@@@@@+
12
+ -%@@@@@@@%#*++++%@@@@@@@@@@@@@@@@%++++*#%@@@@@@@%-
13
+ .=*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*=.
14
+ ..-=*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*=-..
15
+ -#%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%#-
16
+ .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.
17
+ :#@@@@%+++++%@@@@@%@@@@@@@@@@@@@@@@@@@@%@@@@@%+++++%@@@@#:
18
+ =%@@@@*. *%@@@%-+@@@@@@@@@@@@@@@@@@@@+-%@@@%* .*@@@@%=
19
+ .*@@@@%= :#@@@@%: +@@@@@@@@@@@@@@@@@@@@+ :%@@@@#: =%@@@@*.
20
+ %@@@@#: -%@@@@*. +@@@@@@@@@@@@@@@@@@@@+ .*@@@@%- :#@@@@%
21
+ .=##+ +@@@@@+ :%@@@@@@@@@@@@@@@@@@%: +@@@@@+ +##=.
22
+ .*@@@@%- -%@@@@@@@@@@@@@@@@%- -%@@@@*.
23
+ #@@@@#: :#@@@@@@@@@@@@@@#: :#@@@@#
24
+ %@@@@- :+#%@@@@@@%#+: -@@@@%
25
+ %@@@@- .:-==-:. -@@@@%
26
+ %@@@@- -@@@@%
27
+ %@@@@- -@@@@%
28
+ +%%%#. .#%%%+