@darrenjaws/spotify-mcp 1.0.1 → 1.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.
Files changed (41) hide show
  1. package/README.md +14 -7
  2. package/build/bin.js +4 -4
  3. package/build/index.js +151 -24
  4. package/build/index.js.map +1 -1
  5. package/build/setup.d.ts.map +1 -1
  6. package/build/setup.js +156 -156
  7. package/build/setup.js.map +1 -1
  8. package/build/spotify/auth.d.ts +4 -0
  9. package/build/spotify/auth.d.ts.map +1 -1
  10. package/build/spotify/auth.js +38 -15
  11. package/build/spotify/auth.js.map +1 -1
  12. package/build/spotify/client.d.ts +8 -2
  13. package/build/spotify/client.d.ts.map +1 -1
  14. package/build/spotify/client.js +72 -4
  15. package/build/spotify/client.js.map +1 -1
  16. package/build/tools/library.d.ts.map +1 -1
  17. package/build/tools/library.js +58 -30
  18. package/build/tools/library.js.map +1 -1
  19. package/build/tools/playback.d.ts +3 -1
  20. package/build/tools/playback.d.ts.map +1 -1
  21. package/build/tools/playback.js +98 -21
  22. package/build/tools/playback.js.map +1 -1
  23. package/build/tools/playlists.d.ts.map +1 -1
  24. package/build/tools/playlists.js +39 -17
  25. package/build/tools/playlists.js.map +1 -1
  26. package/build/tools/search.d.ts.map +1 -1
  27. package/build/tools/search.js +11 -5
  28. package/build/tools/search.js.map +1 -1
  29. package/build/tools/user.d.ts.map +1 -1
  30. package/build/tools/user.js +11 -6
  31. package/build/tools/user.js.map +1 -1
  32. package/build/types.d.ts +52 -0
  33. package/build/types.d.ts.map +1 -1
  34. package/build/utils/logger.d.ts.map +1 -1
  35. package/build/utils/logger.js +32 -16
  36. package/build/utils/logger.js.map +1 -1
  37. package/build/utils/validation.d.ts +40 -0
  38. package/build/utils/validation.d.ts.map +1 -0
  39. package/build/utils/validation.js +57 -0
  40. package/build/utils/validation.js.map +1 -0
  41. package/package.json +7 -2
package/README.md CHANGED
@@ -21,7 +21,7 @@ A Model Context Protocol (MCP) server that provides seamless integration with Sp
21
21
  - [Environment Variables](#environment-variables)
22
22
  - [MCP Configuration](#mcp-configuration)
23
23
  - [Usage](#usage)
24
- - [Available Tools (30 total)](#available-tools-30-total)
24
+ - [Available Tools (32 total)](#available-tools-32-total)
25
25
  - [Playback & Device Control](#playback--device-control)
26
26
  - [Search & Discovery](#search--discovery)
27
27
  - [Playlist Management](#playlist-management)
@@ -334,22 +334,26 @@ Once configured, you can interact with Spotify through natural language:
334
334
  - "What song is currently playing?"
335
335
  - "Create a playlist called 'Workout Mix' with these songs..."
336
336
  - "Skip to the next track"
337
+ - "Turn on shuffle"
338
+ - "Set repeat to track"
337
339
  - "Show me my top artists from the last month"
338
340
  - "Search for songs by The Beatles"
339
341
  - "Add this song to my liked songs"
340
342
 
341
- ## Available Tools (30 total)
343
+ ## Available Tools (32 total)
342
344
 
343
- ### Playback & Device Control (8 tools)
345
+ ### Playback & Device Control (10 tools)
344
346
 
345
347
  - `spotify_play` - Start or resume playback of tracks, albums, playlists, or artists
346
348
  - `spotify_pause` - Pause playback
347
349
  - `spotify_next` - Skip to next track
348
350
  - `spotify_previous` - Skip to previous track
349
351
  - `spotify_set_volume` - Adjust volume level (0-100)
350
- - `spotify_get_playback_state` - Get current playback information
352
+ - `spotify_get_playback_state` - Get current playback information (includes shuffle/repeat status)
351
353
  - `spotify_get_devices` - List available Spotify Connect devices
352
354
  - `spotify_transfer_playback` - Transfer playback to a different device
355
+ - `spotify_shuffle` - Enable or disable shuffle mode
356
+ - `spotify_repeat` - Set repeat mode (track, context, or off)
353
357
 
354
358
  ### Search & Discovery (1 tool)
355
359
 
@@ -474,7 +478,7 @@ DEBUG=true npx @modelcontextprotocol/inspector node build/bin.js
474
478
 
475
479
  **Benefits:**
476
480
 
477
- - ✅ Interactive UI to test all 30 tools
481
+ - ✅ Interactive UI to test all 32 tools
478
482
  - ✅ See JSON-RPC messages in real-time
479
483
  - ✅ No need to configure Claude Desktop during development
480
484
  - ✅ Quickly iterate on tool implementations
@@ -568,12 +572,15 @@ npm run test:watch # Run tests in watch mode
568
572
 
569
573
  **Test Coverage:**
570
574
 
571
- - ✅ 213 tests across 11 test files
575
+ - ✅ 310 tests across 16 test files
572
576
  - ✅ Tool-level unit tests for playback, search, playlists, library, user, and system
573
- - ✅ Auth tests (credentials, token management, file permissions, refresh)
577
+ - ✅ Auth tests (credentials, token management, file permissions, refresh, OAuth callback)
574
578
  - ✅ Logger tests (sensitive data redaction, log levels)
575
579
  - ✅ Error handling tests (all HTTP status codes, security)
576
580
  - ✅ Server registration and integration tests
581
+ - ✅ Client tests (token orchestration, retry logic, rate limiting)
582
+ - ✅ Validation tests (URI format, array size, numeric range)
583
+ - ✅ Setup wizard and CLI argument tests
577
584
 
578
585
  ### Linting and Code Quality
579
586
 
package/build/bin.js CHANGED
@@ -5,18 +5,18 @@
5
5
  */
6
6
  const args = process.argv.slice(2);
7
7
  // Check if user wants to run setup
8
- if (args.includes('setup') || args.includes('--setup') || args.includes('init')) {
8
+ if (args.includes("setup") || args.includes("--setup") || args.includes("init")) {
9
9
  // Run setup wizard
10
- import('./setup.js').then(({ runSetup }) => {
10
+ import("./setup.js").then(({ runSetup }) => {
11
11
  runSetup().catch((err) => {
12
- console.error('Setup failed:', err);
12
+ console.error("Setup failed:", err);
13
13
  process.exit(1);
14
14
  });
15
15
  });
16
16
  }
17
17
  else {
18
18
  // Run normal MCP server
19
- import('./index.js');
19
+ import("./index.js");
20
20
  }
21
21
  export {};
22
22
  //# sourceMappingURL=bin.js.map
package/build/index.js CHANGED
@@ -19,6 +19,12 @@ for (const varName of requiredEnvVars) {
19
19
  process.exit(1);
20
20
  }
21
21
  }
22
+ // The MCP SDK validates tool inputs against Zod schemas at runtime before
23
+ // calling handlers (see McpServer.validateToolInput which calls safeParseAsync).
24
+ // Tool handlers receive pre-validated args, so we do not need explicit .parse()
25
+ // calls for schema-level validation. However, tool handlers still perform
26
+ // domain-specific validation (e.g., Spotify URI format, array size limits)
27
+ // using utilities from src/utils/validation.ts.
22
28
  // Create MCP server instance
23
29
  const server = new McpServer({
24
30
  name: "spotify-mcp",
@@ -32,7 +38,10 @@ const server = new McpServer({
32
38
  server.registerTool("spotify_play", {
33
39
  description: "Start or resume playback of a track, album, artist, or playlist",
34
40
  inputSchema: {
35
- uri: z.string().optional().describe("Spotify URI to play (e.g., spotify:track:xxx, spotify:album:xxx, spotify:playlist:xxx, spotify:artist:xxx). Use search tool to get URIs."),
41
+ uri: z
42
+ .string()
43
+ .optional()
44
+ .describe("Spotify URI to play (e.g., spotify:track:xxx, spotify:album:xxx, spotify:playlist:xxx, spotify:artist:xxx). Use search tool to get URIs."),
36
45
  device_id: z.string().optional().describe("Optional: Device ID to play on"),
37
46
  },
38
47
  }, async ({ uri, device_id }) => playbackTools.play({ uri, device_id }));
@@ -69,25 +78,57 @@ server.registerTool("spotify_get_devices", {
69
78
  description: "List available Spotify Connect devices",
70
79
  inputSchema: {},
71
80
  }, async () => playbackTools.getDevices());
81
+ server.registerTool("spotify_shuffle", {
82
+ description: "Enable or disable shuffle mode",
83
+ inputSchema: {
84
+ state: z.boolean().describe("true to enable shuffle, false to disable"),
85
+ device_id: z.string().optional().describe("Optional: Device ID"),
86
+ },
87
+ }, async ({ state, device_id }) => playbackTools.setShuffle({ state, device_id }));
88
+ server.registerTool("spotify_repeat", {
89
+ description: "Set repeat mode: 'track' repeats current track, 'context' repeats album/playlist, 'off' disables repeat",
90
+ inputSchema: {
91
+ state: z
92
+ .enum(["track", "context", "off"])
93
+ .describe("Repeat mode: 'track', 'context' (album/playlist), or 'off'"),
94
+ device_id: z.string().optional().describe("Optional: Device ID"),
95
+ },
96
+ }, async ({ state, device_id }) => playbackTools.setRepeat({ state, device_id }));
72
97
  // Register search tool
73
98
  server.registerTool("spotify_search", {
74
99
  description: "Search for tracks, albums, artists, or playlists with optional field filters",
75
100
  inputSchema: {
76
101
  query: z.string().describe("Search query"),
77
102
  type: z.enum(["track", "album", "artist", "playlist"]).describe("Type of item to search for"),
78
- limit: z.number().min(1).max(10).optional().describe("Number of results to return (default: 5, max: 10)"),
103
+ limit: z
104
+ .number()
105
+ .min(1)
106
+ .max(10)
107
+ .optional()
108
+ .describe("Number of results to return (default: 5, max: 10)"),
79
109
  artist: z.string().optional().describe("Filter by artist name"),
80
110
  album: z.string().optional().describe("Filter by album name"),
81
111
  genre: z.string().optional().describe("Filter by genre"),
82
- year: z.string().optional().describe("Filter by year or year range (e.g., '2024' or '2020-2024')"),
83
- tag: z.enum(["new", "hipster"]).optional().describe("Filter by tag: 'new' for recent releases, 'hipster' for low-popularity"),
112
+ year: z
113
+ .string()
114
+ .optional()
115
+ .describe("Filter by year or year range (e.g., '2024' or '2020-2024')"),
116
+ tag: z
117
+ .enum(["new", "hipster"])
118
+ .optional()
119
+ .describe("Filter by tag: 'new' for recent releases, 'hipster' for low-popularity"),
84
120
  },
85
121
  }, async ({ query, type, limit, artist, album, genre, year, tag }) => searchTools.search({ query, type, limit, artist, album, genre, year, tag }));
86
122
  // Register playlist tools
87
123
  server.registerTool("spotify_get_playlists", {
88
124
  description: "Get current user's playlists",
89
125
  inputSchema: {
90
- limit: z.number().min(1).max(50).optional().describe("Number of playlists to return (default: 20)"),
126
+ limit: z
127
+ .number()
128
+ .min(1)
129
+ .max(50)
130
+ .optional()
131
+ .describe("Number of playlists to return (default: 20)"),
91
132
  },
92
133
  }, async ({ limit }) => playlistTools.getPlaylists({ limit }));
93
134
  server.registerTool("spotify_get_playlist", {
@@ -101,7 +142,10 @@ server.registerTool("spotify_create_playlist", {
101
142
  inputSchema: {
102
143
  name: z.string().describe("Playlist name"),
103
144
  description: z.string().optional().describe("Playlist description"),
104
- public: z.boolean().optional().describe("Whether the playlist should be public (default: true)"),
145
+ public: z
146
+ .boolean()
147
+ .optional()
148
+ .describe("Whether the playlist should be public (default: true)"),
105
149
  },
106
150
  }, async ({ name, description, public: isPublic }) => playlistTools.createPlaylist({ name, description, public: isPublic }));
107
151
  server.registerTool("spotify_add_to_playlist", {
@@ -109,7 +153,10 @@ server.registerTool("spotify_add_to_playlist", {
109
153
  inputSchema: {
110
154
  playlist_id: z.string().describe("Spotify playlist ID"),
111
155
  uris: z.array(z.string()).describe("Array of Spotify track URIs to add"),
112
- position: z.number().optional().describe("Position to insert tracks (default: end of playlist)"),
156
+ position: z
157
+ .number()
158
+ .optional()
159
+ .describe("Position to insert tracks (default: end of playlist)"),
113
160
  },
114
161
  }, async ({ playlist_id, uris, position }) => playlistTools.addToPlaylist({ playlist_id, uris, position }));
115
162
  server.registerTool("spotify_remove_from_playlist", {
@@ -117,7 +164,10 @@ server.registerTool("spotify_remove_from_playlist", {
117
164
  inputSchema: {
118
165
  playlist_id: z.string().describe("Spotify playlist ID"),
119
166
  uris: z.array(z.string()).min(1).describe("Array of Spotify track URIs to remove"),
120
- snapshot_id: z.string().optional().describe("Playlist snapshot ID for concurrent modification safety"),
167
+ snapshot_id: z
168
+ .string()
169
+ .optional()
170
+ .describe("Playlist snapshot ID for concurrent modification safety"),
121
171
  },
122
172
  }, async ({ playlist_id, uris, snapshot_id }) => playlistTools.removeFromPlaylist({ playlist_id, uris, snapshot_id }));
123
173
  server.registerTool("spotify_reorder_playlist_tracks", {
@@ -127,9 +177,18 @@ server.registerTool("spotify_reorder_playlist_tracks", {
127
177
  range_start: z.number().min(0).describe("Position of the first track to move"),
128
178
  insert_before: z.number().min(0).describe("Position where tracks should be inserted"),
129
179
  range_length: z.number().min(1).optional().describe("Number of tracks to move (default: 1)"),
130
- snapshot_id: z.string().optional().describe("Playlist snapshot ID for concurrent modification safety"),
180
+ snapshot_id: z
181
+ .string()
182
+ .optional()
183
+ .describe("Playlist snapshot ID for concurrent modification safety"),
131
184
  },
132
- }, async ({ playlist_id, range_start, insert_before, range_length, snapshot_id }) => playlistTools.reorderPlaylistTracks({ playlist_id, range_start, insert_before, range_length, snapshot_id }));
185
+ }, async ({ playlist_id, range_start, insert_before, range_length, snapshot_id }) => playlistTools.reorderPlaylistTracks({
186
+ playlist_id,
187
+ range_start,
188
+ insert_before,
189
+ range_length,
190
+ snapshot_id,
191
+ }));
133
192
  server.registerTool("spotify_delete_playlist", {
134
193
  description: "Delete (unfollow) a playlist. You can only delete playlists you own.",
135
194
  inputSchema: {
@@ -143,9 +202,18 @@ server.registerTool("spotify_update_playlist", {
143
202
  name: z.string().optional().describe("New playlist name"),
144
203
  description: z.string().optional().describe("New playlist description"),
145
204
  public: z.boolean().optional().describe("Whether the playlist should be public"),
146
- collaborative: z.boolean().optional().describe("Whether the playlist should be collaborative (must be non-public)"),
205
+ collaborative: z
206
+ .boolean()
207
+ .optional()
208
+ .describe("Whether the playlist should be collaborative (must be non-public)"),
147
209
  },
148
- }, async ({ playlist_id, name, description, public: isPublic, collaborative }) => playlistTools.updatePlaylist({ playlist_id, name, description, public: isPublic, collaborative }));
210
+ }, async ({ playlist_id, name, description, public: isPublic, collaborative }) => playlistTools.updatePlaylist({
211
+ playlist_id,
212
+ name,
213
+ description,
214
+ public: isPublic,
215
+ collaborative,
216
+ }));
149
217
  // Register user data tools
150
218
  server.registerTool("spotify_get_user_profile", {
151
219
  description: "Get current user's profile information",
@@ -159,35 +227,63 @@ server.registerTool("spotify_get_top_items", {
159
227
  .enum(["short_term", "medium_term", "long_term"])
160
228
  .optional()
161
229
  .describe("Time range: short_term (4 weeks), medium_term (6 months), long_term (all time)"),
162
- limit: z.number().min(1).max(50).optional().describe("Number of items to return (default: 20)"),
230
+ limit: z
231
+ .number()
232
+ .min(1)
233
+ .max(50)
234
+ .optional()
235
+ .describe("Number of items to return (default: 20)"),
163
236
  },
164
237
  }, async ({ type, time_range, limit }) => userTools.getTopItems({ type, time_range, limit }));
165
238
  server.registerTool("spotify_get_recently_played", {
166
239
  description: "Get user's recently played tracks",
167
240
  inputSchema: {
168
- limit: z.number().min(1).max(50).optional().describe("Number of tracks to return (default: 20)"),
241
+ limit: z
242
+ .number()
243
+ .min(1)
244
+ .max(50)
245
+ .optional()
246
+ .describe("Number of tracks to return (default: 20)"),
169
247
  },
170
248
  }, async ({ limit }) => userTools.getRecentlyPlayed({ limit }));
171
249
  // Register library tools
172
250
  server.registerTool("spotify_get_saved_tracks", {
173
251
  description: "Get tracks saved in the current user's library",
174
252
  inputSchema: {
175
- limit: z.number().min(1).max(50).optional().describe("Number of tracks to return (default: 20)"),
253
+ limit: z
254
+ .number()
255
+ .min(1)
256
+ .max(50)
257
+ .optional()
258
+ .describe("Number of tracks to return (default: 20)"),
176
259
  offset: z.number().min(0).optional().describe("Index of first track to return (default: 0)"),
177
260
  },
178
261
  }, async ({ limit, offset }) => libraryTools.getSavedTracks({ limit, offset }));
179
262
  server.registerTool("spotify_get_saved_albums", {
180
263
  description: "Get albums saved in the current user's library",
181
264
  inputSchema: {
182
- limit: z.number().min(1).max(50).optional().describe("Number of albums to return (default: 20)"),
265
+ limit: z
266
+ .number()
267
+ .min(1)
268
+ .max(50)
269
+ .optional()
270
+ .describe("Number of albums to return (default: 20)"),
183
271
  offset: z.number().min(0).optional().describe("Index of first album to return (default: 0)"),
184
272
  },
185
273
  }, async ({ limit, offset }) => libraryTools.getSavedAlbums({ limit, offset }));
186
274
  server.registerTool("spotify_get_followed_artists", {
187
275
  description: "Get artists followed by the current user",
188
276
  inputSchema: {
189
- limit: z.number().min(1).max(50).optional().describe("Number of artists to return (default: 20)"),
190
- after: z.string().optional().describe("Last artist ID from previous page for cursor pagination"),
277
+ limit: z
278
+ .number()
279
+ .min(1)
280
+ .max(50)
281
+ .optional()
282
+ .describe("Number of artists to return (default: 20)"),
283
+ after: z
284
+ .string()
285
+ .optional()
286
+ .describe("Last artist ID from previous page for cursor pagination"),
191
287
  },
192
288
  }, async ({ limit, after }) => libraryTools.getFollowedArtists({ limit, after }));
193
289
  server.registerTool("spotify_save_tracks", {
@@ -199,7 +295,11 @@ server.registerTool("spotify_save_tracks", {
199
295
  server.registerTool("spotify_remove_saved_tracks", {
200
296
  description: "Remove tracks from the current user's library",
201
297
  inputSchema: {
202
- track_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify track IDs to remove"),
298
+ track_ids: z
299
+ .array(z.string())
300
+ .min(1)
301
+ .max(50)
302
+ .describe("Array of Spotify track IDs to remove"),
203
303
  },
204
304
  }, async ({ track_ids }) => libraryTools.removeSavedTracks({ track_ids }));
205
305
  server.registerTool("spotify_save_albums", {
@@ -211,19 +311,31 @@ server.registerTool("spotify_save_albums", {
211
311
  server.registerTool("spotify_remove_saved_albums", {
212
312
  description: "Remove albums from the current user's library",
213
313
  inputSchema: {
214
- album_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify album IDs to remove"),
314
+ album_ids: z
315
+ .array(z.string())
316
+ .min(1)
317
+ .max(50)
318
+ .describe("Array of Spotify album IDs to remove"),
215
319
  },
216
320
  }, async ({ album_ids }) => libraryTools.removeSavedAlbums({ album_ids }));
217
321
  server.registerTool("spotify_follow_artists", {
218
322
  description: "Follow one or more artists",
219
323
  inputSchema: {
220
- artist_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify artist IDs to follow"),
324
+ artist_ids: z
325
+ .array(z.string())
326
+ .min(1)
327
+ .max(50)
328
+ .describe("Array of Spotify artist IDs to follow"),
221
329
  },
222
330
  }, async ({ artist_ids }) => libraryTools.followArtists({ artist_ids }));
223
331
  server.registerTool("spotify_unfollow_artists", {
224
332
  description: "Unfollow one or more artists",
225
333
  inputSchema: {
226
- artist_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify artist IDs to unfollow"),
334
+ artist_ids: z
335
+ .array(z.string())
336
+ .min(1)
337
+ .max(50)
338
+ .describe("Array of Spotify artist IDs to unfollow"),
227
339
  },
228
340
  }, async ({ artist_ids }) => libraryTools.unfollowArtists({ artist_ids }));
229
341
  // Register device management tools
@@ -231,14 +343,22 @@ server.registerTool("spotify_transfer_playback", {
231
343
  description: "Transfer playback to a different device (use spotify_get_devices to find device IDs)",
232
344
  inputSchema: {
233
345
  device_id: z.string().describe("Device ID to transfer playback to"),
234
- play: z.boolean().optional().describe("Whether to start playback on the new device (default: true)"),
346
+ play: z
347
+ .boolean()
348
+ .optional()
349
+ .describe("Whether to start playback on the new device (default: true)"),
235
350
  },
236
351
  }, async ({ device_id, play }) => playbackTools.transferPlayback({ device_id, play }));
237
352
  // Register system tools
238
353
  server.registerTool("spotify_open", {
239
354
  description: "Open the Spotify desktop app on this machine",
240
355
  inputSchema: {
241
- wait_seconds: z.number().min(0).max(30).optional().describe("Seconds to wait after opening for Spotify to initialize (0-30)"),
356
+ wait_seconds: z
357
+ .number()
358
+ .min(0)
359
+ .max(30)
360
+ .optional()
361
+ .describe("Seconds to wait after opening for Spotify to initialize (0-30)"),
242
362
  },
243
363
  }, async ({ wait_seconds }) => systemTools.openSpotify({ wait_seconds }));
244
364
  // Handle shutdown signals
@@ -249,6 +369,13 @@ const cleanup = async () => {
249
369
  };
250
370
  process.on("SIGINT", cleanup);
251
371
  process.on("SIGTERM", cleanup);
372
+ // Keep the MCP server alive on unexpected errors
373
+ process.on("uncaughtException", (error) => {
374
+ logger.error("Uncaught exception:", error);
375
+ });
376
+ process.on("unhandledRejection", (reason) => {
377
+ logger.error("Unhandled rejection:", reason);
378
+ });
252
379
  // Start the server
253
380
  async function main() {
254
381
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAkPH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAyM9C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA;;;GAGG;AA4PH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA0M9C"}