visionclaw 0.1.193 → 0.1.194-dev.feat-backup-progress-reporting.1

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 (352) hide show
  1. package/dist/agent/backup-uploader.d.ts +44 -0
  2. package/dist/agent/backup-uploader.d.ts.map +1 -0
  3. package/dist/agent/backup-uploader.js +83 -0
  4. package/dist/agent/backup-uploader.js.map +1 -0
  5. package/dist/agent/backup.d.ts +7 -1
  6. package/dist/agent/backup.d.ts.map +1 -1
  7. package/dist/agent/backup.js +337 -52
  8. package/dist/agent/backup.js.map +1 -1
  9. package/dist/agent/command-handlers.d.ts +2 -0
  10. package/dist/agent/command-handlers.d.ts.map +1 -1
  11. package/dist/agent/command-handlers.js +29 -3
  12. package/dist/agent/command-handlers.js.map +1 -1
  13. package/dist/agent/context.d.ts +2 -0
  14. package/dist/agent/context.d.ts.map +1 -1
  15. package/dist/agent/context.js +11 -1
  16. package/dist/agent/context.js.map +1 -1
  17. package/dist/agent/data-collector.d.ts.map +1 -1
  18. package/dist/agent/data-collector.js +23 -38
  19. package/dist/agent/data-collector.js.map +1 -1
  20. package/dist/agent/loop.d.ts +3 -0
  21. package/dist/agent/loop.d.ts.map +1 -1
  22. package/dist/agent/loop.js +48 -0
  23. package/dist/agent/loop.js.map +1 -1
  24. package/dist/agent/message-format.d.ts.map +1 -1
  25. package/dist/agent/message-format.js +3 -0
  26. package/dist/agent/message-format.js.map +1 -1
  27. package/dist/agent/status.d.ts.map +1 -1
  28. package/dist/agent/status.js +2 -1
  29. package/dist/agent/status.js.map +1 -1
  30. package/dist/backup.d.ts +4 -1
  31. package/dist/backup.d.ts.map +1 -1
  32. package/dist/backup.js +86 -3
  33. package/dist/backup.js.map +1 -1
  34. package/dist/calendar/google-calendar.d.ts +2 -0
  35. package/dist/calendar/google-calendar.d.ts.map +1 -1
  36. package/dist/calendar/google-calendar.js +3 -0
  37. package/dist/calendar/google-calendar.js.map +1 -1
  38. package/dist/channels/interface.d.ts +9 -0
  39. package/dist/channels/interface.d.ts.map +1 -1
  40. package/dist/channels/manager.d.ts +7 -1
  41. package/dist/channels/manager.d.ts.map +1 -1
  42. package/dist/channels/manager.js +12 -0
  43. package/dist/channels/manager.js.map +1 -1
  44. package/dist/channels/telegram.d.ts.map +1 -1
  45. package/dist/channels/telegram.js +5 -0
  46. package/dist/channels/telegram.js.map +1 -1
  47. package/dist/cli/index.d.ts +1 -0
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +42 -2
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/config/types.d.ts +9 -0
  52. package/dist/config/types.d.ts.map +1 -1
  53. package/dist/config/types.js +6 -0
  54. package/dist/config/types.js.map +1 -1
  55. package/dist/drive/google-drive.d.ts +1 -0
  56. package/dist/drive/google-drive.d.ts.map +1 -1
  57. package/dist/drive/google-drive.js +5 -0
  58. package/dist/drive/google-drive.js.map +1 -1
  59. package/dist/i18n/messages.d.ts +4 -0
  60. package/dist/i18n/messages.d.ts.map +1 -1
  61. package/dist/i18n/messages.js +7 -2
  62. package/dist/i18n/messages.js.map +1 -1
  63. package/dist/index.js.map +1 -1
  64. package/dist/obs/server.d.ts +7 -0
  65. package/dist/obs/server.d.ts.map +1 -1
  66. package/dist/obs/server.js +22 -0
  67. package/dist/obs/server.js.map +1 -1
  68. package/dist/onboarding/bot-profile.d.ts.map +1 -1
  69. package/dist/onboarding/bot-profile.js +1 -0
  70. package/dist/onboarding/bot-profile.js.map +1 -1
  71. package/dist/onboarding/index.d.ts.map +1 -1
  72. package/dist/onboarding/index.js +5 -0
  73. package/dist/onboarding/index.js.map +1 -1
  74. package/dist/onboarding/prepare-mac.d.ts +1 -0
  75. package/dist/onboarding/prepare-mac.d.ts.map +1 -1
  76. package/dist/onboarding/prepare-mac.js +32 -15
  77. package/dist/onboarding/prepare-mac.js.map +1 -1
  78. package/dist/onboarding/setup-shared.d.ts.map +1 -1
  79. package/dist/onboarding/setup-shared.js +6 -0
  80. package/dist/onboarding/setup-shared.js.map +1 -1
  81. package/dist/onboarding/setup-steps.d.ts.map +1 -1
  82. package/dist/onboarding/setup-steps.js +8 -0
  83. package/dist/onboarding/setup-steps.js.map +1 -1
  84. package/dist/realtime/agent-bridge.d.ts +7 -0
  85. package/dist/realtime/agent-bridge.d.ts.map +1 -0
  86. package/dist/realtime/agent-bridge.js +31 -0
  87. package/dist/realtime/agent-bridge.js.map +1 -0
  88. package/dist/realtime/assets/index.html +1058 -0
  89. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  90. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  91. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  92. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  93. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  94. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  95. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  96. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  97. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  98. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  99. package/dist/realtime/context.d.ts +14 -0
  100. package/dist/realtime/context.d.ts.map +1 -0
  101. package/dist/realtime/context.js +153 -0
  102. package/dist/realtime/context.js.map +1 -0
  103. package/dist/realtime/http-helpers.d.ts +5 -0
  104. package/dist/realtime/http-helpers.d.ts.map +1 -0
  105. package/dist/realtime/http-helpers.js +29 -0
  106. package/dist/realtime/http-helpers.js.map +1 -0
  107. package/dist/realtime/index.d.ts +62 -0
  108. package/dist/realtime/index.d.ts.map +1 -0
  109. package/dist/realtime/index.js +94 -0
  110. package/dist/realtime/index.js.map +1 -0
  111. package/dist/realtime/server.d.ts +6 -0
  112. package/dist/realtime/server.d.ts.map +1 -0
  113. package/dist/realtime/server.js +476 -0
  114. package/dist/realtime/server.js.map +1 -0
  115. package/dist/realtime/telegram-auth.d.ts +2 -0
  116. package/dist/realtime/telegram-auth.d.ts.map +1 -0
  117. package/dist/realtime/telegram-auth.js +24 -0
  118. package/dist/realtime/telegram-auth.js.map +1 -0
  119. package/dist/realtime/tools.d.ts +829 -0
  120. package/dist/realtime/tools.d.ts.map +1 -0
  121. package/dist/realtime/tools.js +630 -0
  122. package/dist/realtime/tools.js.map +1 -0
  123. package/dist/realtime/types.d.ts +62 -0
  124. package/dist/realtime/types.d.ts.map +1 -0
  125. package/dist/realtime/types.js +3 -0
  126. package/dist/realtime/types.js.map +1 -0
  127. package/dist/realtime/voice-summarizer.d.ts +4 -0
  128. package/dist/realtime/voice-summarizer.d.ts.map +1 -0
  129. package/dist/realtime/voice-summarizer.js +129 -0
  130. package/dist/realtime/voice-summarizer.js.map +1 -0
  131. package/dist/restore.d.ts +5 -0
  132. package/dist/restore.d.ts.map +1 -1
  133. package/dist/restore.js +132 -16
  134. package/dist/restore.js.map +1 -1
  135. package/dist/tools/email.d.ts +1 -1
  136. package/dist/tools/memory.d.ts +13 -0
  137. package/dist/tools/memory.d.ts.map +1 -1
  138. package/dist/tools/memory.js +43 -43
  139. package/dist/tools/memory.js.map +1 -1
  140. package/dist/tools/stock-data.d.ts +16 -0
  141. package/dist/tools/stock-data.d.ts.map +1 -1
  142. package/dist/tools/stock-data.js +36 -38
  143. package/dist/tools/stock-data.js.map +1 -1
  144. package/dist/tools/web-fetch.d.ts +4 -0
  145. package/dist/tools/web-fetch.d.ts.map +1 -1
  146. package/dist/tools/web-fetch.js +95 -23
  147. package/dist/tools/web-fetch.js.map +1 -1
  148. package/dist/tos-storage.d.ts +45 -0
  149. package/dist/tos-storage.d.ts.map +1 -0
  150. package/dist/tos-storage.js +134 -0
  151. package/dist/tos-storage.js.map +1 -0
  152. package/dist-agent/bundle.cjs +170934 -167547
  153. package/package.json +3 -2
  154. package/dist/agent/applied-credential-signature.d.ts +0 -53
  155. package/dist/agent/applied-credential-signature.d.ts.map +0 -1
  156. package/dist/agent/applied-credential-signature.js +0 -137
  157. package/dist/agent/applied-credential-signature.js.map +0 -1
  158. package/dist/agent/engines/claude/cli-resolver.d.ts +0 -16
  159. package/dist/agent/engines/claude/cli-resolver.d.ts.map +0 -1
  160. package/dist/agent/engines/claude/cli-resolver.js +0 -83
  161. package/dist/agent/engines/claude/cli-resolver.js.map +0 -1
  162. package/dist/agent/engines/claude/session-browser-policy.d.ts +0 -9
  163. package/dist/agent/engines/claude/session-browser-policy.d.ts.map +0 -1
  164. package/dist/agent/engines/claude/session-browser-policy.js +0 -49
  165. package/dist/agent/engines/claude/session-browser-policy.js.map +0 -1
  166. package/dist/agent/engines/claude/session.d.ts +0 -291
  167. package/dist/agent/engines/claude/session.d.ts.map +0 -1
  168. package/dist/agent/engines/claude/session.js +0 -1177
  169. package/dist/agent/engines/claude/session.js.map +0 -1
  170. package/dist/agent/engines/client-factory.d.ts +0 -63
  171. package/dist/agent/engines/client-factory.d.ts.map +0 -1
  172. package/dist/agent/engines/client-factory.js +0 -382
  173. package/dist/agent/engines/client-factory.js.map +0 -1
  174. package/dist/agent/engines/engine.d.ts +0 -8
  175. package/dist/agent/engines/engine.d.ts.map +0 -1
  176. package/dist/agent/engines/engine.js +0 -15
  177. package/dist/agent/engines/engine.js.map +0 -1
  178. package/dist/agent/engines/openai/file-session.d.ts +0 -49
  179. package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
  180. package/dist/agent/engines/openai/file-session.js +0 -108
  181. package/dist/agent/engines/openai/file-session.js.map +0 -1
  182. package/dist/agent/engines/openai/file-tools.d.ts +0 -35
  183. package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
  184. package/dist/agent/engines/openai/file-tools.js +0 -194
  185. package/dist/agent/engines/openai/file-tools.js.map +0 -1
  186. package/dist/agent/engines/openai/session.d.ts +0 -190
  187. package/dist/agent/engines/openai/session.d.ts.map +0 -1
  188. package/dist/agent/engines/openai/session.js +0 -1066
  189. package/dist/agent/engines/openai/session.js.map +0 -1
  190. package/dist/agent/engines/openai/tools.d.ts +0 -13
  191. package/dist/agent/engines/openai/tools.d.ts.map +0 -1
  192. package/dist/agent/engines/openai/tools.js +0 -248
  193. package/dist/agent/engines/openai/tools.js.map +0 -1
  194. package/dist/agent/engines/session-types.d.ts +0 -146
  195. package/dist/agent/engines/session-types.d.ts.map +0 -1
  196. package/dist/agent/engines/session-types.js +0 -2
  197. package/dist/agent/engines/session-types.js.map +0 -1
  198. package/dist/agent/engines/system-prompt-log.d.ts +0 -9
  199. package/dist/agent/engines/system-prompt-log.d.ts.map +0 -1
  200. package/dist/agent/engines/system-prompt-log.js +0 -46
  201. package/dist/agent/engines/system-prompt-log.js.map +0 -1
  202. package/dist/agent/transcript/transcript-backfill.d.ts +0 -54
  203. package/dist/agent/transcript/transcript-backfill.d.ts.map +0 -1
  204. package/dist/agent/transcript/transcript-backfill.js +0 -604
  205. package/dist/agent/transcript/transcript-backfill.js.map +0 -1
  206. package/dist/agent/transcript/transcript-indexer.d.ts +0 -273
  207. package/dist/agent/transcript/transcript-indexer.d.ts.map +0 -1
  208. package/dist/agent/transcript/transcript-indexer.js +0 -1217
  209. package/dist/agent/transcript/transcript-indexer.js.map +0 -1
  210. package/dist/agent/transcript/transcript-memory-migrations.d.ts +0 -25
  211. package/dist/agent/transcript/transcript-memory-migrations.d.ts.map +0 -1
  212. package/dist/agent/transcript/transcript-memory-migrations.js +0 -87
  213. package/dist/agent/transcript/transcript-memory-migrations.js.map +0 -1
  214. package/dist/agent/transcript-memory-migrations.d.ts +0 -25
  215. package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
  216. package/dist/agent/transcript-memory-migrations.js +0 -87
  217. package/dist/agent/transcript-memory-migrations.js.map +0 -1
  218. package/dist/agent/tunnel-credential-handler.d.ts +0 -90
  219. package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
  220. package/dist/agent/tunnel-credential-handler.js +0 -162
  221. package/dist/agent/tunnel-credential-handler.js.map +0 -1
  222. package/dist/agent/usage/usage-backfill-handler.d.ts +0 -18
  223. package/dist/agent/usage/usage-backfill-handler.d.ts.map +0 -1
  224. package/dist/agent/usage/usage-backfill-handler.js +0 -69
  225. package/dist/agent/usage/usage-backfill-handler.js.map +0 -1
  226. package/dist/agent/usage/usage-gate.d.ts +0 -25
  227. package/dist/agent/usage/usage-gate.d.ts.map +0 -1
  228. package/dist/agent/usage/usage-gate.js +0 -83
  229. package/dist/agent/usage/usage-gate.js.map +0 -1
  230. package/dist/agent/usage/usage-handler.d.ts +0 -7
  231. package/dist/agent/usage/usage-handler.d.ts.map +0 -1
  232. package/dist/agent/usage/usage-handler.js +0 -28
  233. package/dist/agent/usage/usage-handler.js.map +0 -1
  234. package/dist/agent/usage/usage-report-builder.d.ts +0 -26
  235. package/dist/agent/usage/usage-report-builder.d.ts.map +0 -1
  236. package/dist/agent/usage/usage-report-builder.js +0 -80
  237. package/dist/agent/usage/usage-report-builder.js.map +0 -1
  238. package/dist/agent/usage/usage-report-queue.d.ts +0 -26
  239. package/dist/agent/usage/usage-report-queue.d.ts.map +0 -1
  240. package/dist/agent/usage/usage-report-queue.js +0 -199
  241. package/dist/agent/usage/usage-report-queue.js.map +0 -1
  242. package/dist/agent/usage/usage-report-types.d.ts +0 -41
  243. package/dist/agent/usage/usage-report-types.d.ts.map +0 -1
  244. package/dist/agent/usage/usage-report-types.js +0 -2
  245. package/dist/agent/usage/usage-report-types.js.map +0 -1
  246. package/dist/agent/usage/usage-reporter.d.ts +0 -31
  247. package/dist/agent/usage/usage-reporter.d.ts.map +0 -1
  248. package/dist/agent/usage/usage-reporter.js +0 -102
  249. package/dist/agent/usage/usage-reporter.js.map +0 -1
  250. package/dist/agent/usage-backfill-handler.d.ts +0 -18
  251. package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
  252. package/dist/agent/usage-backfill-handler.js +0 -69
  253. package/dist/agent/usage-backfill-handler.js.map +0 -1
  254. package/dist/agent/usage-gate.d.ts +0 -25
  255. package/dist/agent/usage-gate.d.ts.map +0 -1
  256. package/dist/agent/usage-gate.js +0 -83
  257. package/dist/agent/usage-gate.js.map +0 -1
  258. package/dist/agent/usage-report-builder.d.ts +0 -26
  259. package/dist/agent/usage-report-builder.d.ts.map +0 -1
  260. package/dist/agent/usage-report-builder.js +0 -80
  261. package/dist/agent/usage-report-builder.js.map +0 -1
  262. package/dist/agent/usage-report-queue.d.ts +0 -26
  263. package/dist/agent/usage-report-queue.d.ts.map +0 -1
  264. package/dist/agent/usage-report-queue.js +0 -199
  265. package/dist/agent/usage-report-queue.js.map +0 -1
  266. package/dist/agent/usage-report-types.d.ts +0 -41
  267. package/dist/agent/usage-report-types.d.ts.map +0 -1
  268. package/dist/agent/usage-report-types.js +0 -2
  269. package/dist/agent/usage-report-types.js.map +0 -1
  270. package/dist/agent/usage-reporter.d.ts +0 -31
  271. package/dist/agent/usage-reporter.d.ts.map +0 -1
  272. package/dist/agent/usage-reporter.js +0 -102
  273. package/dist/agent/usage-reporter.js.map +0 -1
  274. package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
  275. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
  276. package/dist/agent/wake-cycle-tool-tracker.js +0 -72
  277. package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
  278. package/dist/billing/payg-handler.d.ts +0 -29
  279. package/dist/billing/payg-handler.d.ts.map +0 -1
  280. package/dist/billing/payg-handler.js +0 -92
  281. package/dist/billing/payg-handler.js.map +0 -1
  282. package/dist/billing/payment-handler.d.ts +0 -24
  283. package/dist/billing/payment-handler.d.ts.map +0 -1
  284. package/dist/billing/payment-handler.js +0 -101
  285. package/dist/billing/payment-handler.js.map +0 -1
  286. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  287. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  288. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  289. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  290. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  291. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  292. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  293. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  294. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  295. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  296. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  297. package/dist/data-processing/convert-demo-cli.d.ts +0 -7
  298. package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
  299. package/dist/data-processing/convert-demo-cli.js +0 -30
  300. package/dist/data-processing/convert-demo-cli.js.map +0 -1
  301. package/dist/data-processing/convert-demo.d.ts +0 -26
  302. package/dist/data-processing/convert-demo.d.ts.map +0 -1
  303. package/dist/data-processing/convert-demo.js +0 -233
  304. package/dist/data-processing/convert-demo.js.map +0 -1
  305. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  306. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  307. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  308. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  309. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  310. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  311. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  312. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  313. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  314. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  315. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  316. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  317. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  318. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  319. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  320. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  321. package/dist/obs/tunnel-telemetry.d.ts +0 -46
  322. package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
  323. package/dist/obs/tunnel-telemetry.js +0 -70
  324. package/dist/obs/tunnel-telemetry.js.map +0 -1
  325. package/dist/onboarding/cloudflared-cert.d.ts +0 -15
  326. package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
  327. package/dist/onboarding/cloudflared-cert.js +0 -57
  328. package/dist/onboarding/cloudflared-cert.js.map +0 -1
  329. package/dist/onboarding/playwriter-extension.d.ts +0 -19
  330. package/dist/onboarding/playwriter-extension.d.ts.map +0 -1
  331. package/dist/onboarding/playwriter-extension.js +0 -246
  332. package/dist/onboarding/playwriter-extension.js.map +0 -1
  333. package/dist/service/gbox-tun.d.ts +0 -14
  334. package/dist/service/gbox-tun.d.ts.map +0 -1
  335. package/dist/service/gbox-tun.js +0 -315
  336. package/dist/service/gbox-tun.js.map +0 -1
  337. package/dist/skills/installed.d.ts +0 -11
  338. package/dist/skills/installed.d.ts.map +0 -1
  339. package/dist/skills/installed.js +0 -35
  340. package/dist/skills/installed.js.map +0 -1
  341. package/dist/tools/coordinate-resolver.d.ts +0 -30
  342. package/dist/tools/coordinate-resolver.d.ts.map +0 -1
  343. package/dist/tools/coordinate-resolver.js +0 -104
  344. package/dist/tools/coordinate-resolver.js.map +0 -1
  345. package/dist/utils/playwriter-relay.d.ts +0 -9
  346. package/dist/utils/playwriter-relay.d.ts.map +0 -1
  347. package/dist/utils/playwriter-relay.js +0 -77
  348. package/dist/utils/playwriter-relay.js.map +0 -1
  349. package/dist/utils/wechat-monitor.d.ts +0 -21
  350. package/dist/utils/wechat-monitor.d.ts.map +0 -1
  351. package/dist/utils/wechat-monitor.js +0 -88
  352. package/dist/utils/wechat-monitor.js.map +0 -1
@@ -1,67 +0,0 @@
1
- #!/usr/bin/env bash
2
- # phone_wake_unlock.sh - Wake up and unlock Android phone screen
3
- #
4
- # Usage:
5
- # bash phone_wake_unlock.sh [options]
6
- #
7
- # Options:
8
- # -d DEVICE_ID Target specific device
9
- # -q Quiet mode
10
- #
11
- # The script checks if the screen is on, wakes it if needed,
12
- # and performs a swipe-up gesture to unlock (works for swipe-to-unlock screens).
13
- # For PIN/pattern locks, additional input is needed after this script.
14
-
15
- set -euo pipefail
16
-
17
- DEVICE=""
18
- QUIET=false
19
-
20
- while getopts "d:q" opt; do
21
- case $opt in
22
- d) DEVICE="$OPTARG" ;;
23
- q) QUIET=true ;;
24
- *) echo "Usage: $0 [-d device] [-q]" >&2; exit 1 ;;
25
- esac
26
- done
27
-
28
- ADB_CMD="adb"
29
- if [ -n "$DEVICE" ]; then
30
- ADB_CMD="adb -s $DEVICE"
31
- fi
32
-
33
- info() { $QUIET || echo "[phone_wake] $*" >&2; }
34
-
35
- # Verify device connection
36
- if ! $ADB_CMD get-state >/dev/null 2>&1; then
37
- echo "ERROR: No device connected or device unauthorized" >&2
38
- exit 1
39
- fi
40
-
41
- # Check screen state
42
- WAKE_STATE=$($ADB_CMD shell dumpsys power | grep "mWakefulness=" | head -1 | sed 's/.*mWakefulness=//')
43
-
44
- if [ "$WAKE_STATE" = "Awake" ]; then
45
- info "Screen is already awake"
46
- else
47
- info "Screen is asleep, waking up..."
48
- $ADB_CMD shell input keyevent KEYCODE_WAKEUP
49
- sleep 0.5
50
- fi
51
-
52
- # Get screen resolution for swipe coordinates
53
- SIZE=$($ADB_CMD shell wm size | grep "Physical" | awk '{print $3}')
54
- WIDTH=$(echo "$SIZE" | cut -d'x' -f1)
55
- HEIGHT=$(echo "$SIZE" | cut -d'x' -f2)
56
-
57
- # Swipe up from bottom quarter to middle to unlock
58
- START_X=$((WIDTH / 2))
59
- START_Y=$((HEIGHT * 3 / 4))
60
- END_Y=$((HEIGHT / 3))
61
-
62
- info "Swiping to unlock (${START_X}, ${START_Y}) -> (${START_X}, ${END_Y})..."
63
- $ADB_CMD shell input swipe "$START_X" "$START_Y" "$START_X" "$END_Y" 300
64
- sleep 0.5
65
-
66
- info "Done. Phone should be unlocked (if no PIN/pattern required)."
67
- echo "unlocked"
@@ -1,122 +0,0 @@
1
- ---
2
- description: Use this skill to transcribe audio files (voice messages, recordings) to text, extract audio from Bilibili videos, or handle Telegram voice messages. Supports OGG, MP3, WAV, M4A, and other common audio formats. Uses whisper.cpp with auto language detection -- supports Chinese, English, and all other languages.
3
- ---
4
-
5
- # Transcribe Audio & Media Extraction
6
-
7
- Transcribe audio files to text using whisper.cpp (local, free, private, native macOS binary).
8
-
9
- ## Prerequisites
10
-
11
- whisper-cpp, ffmpeg, and the whisper model are checked during `visionclaw setup`. If they're missing, run setup again or install manually:
12
-
13
- ```bash
14
- brew install whisper-cpp ffmpeg
15
- mkdir -p ~/.local/share/whisper-cpp && curl -L -o ~/.local/share/whisper-cpp/ggml-large-v3-turbo.bin 'https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin?download=true'
16
- ```
17
-
18
- Binary is `whisper-cli` (not `whisper`). If not on PATH: `/opt/homebrew/bin/whisper-cli`
19
-
20
- ## Steps
21
-
22
- 1. **Download the audio file** if it's a URL:
23
- ```bash
24
- curl -s -o /tmp/audio_input.ogg "THE_AUDIO_URL"
25
- ```
26
-
27
- 2. **Convert to 16kHz WAV** (required by whisper.cpp):
28
- ```bash
29
- ffmpeg -y -i /tmp/audio_input.ogg -ar 16000 -ac 1 /tmp/audio_input.wav 2>/dev/null
30
- ```
31
-
32
- 3. **Transcribe**:
33
- ```bash
34
- whisper-cli -m ~/.local/share/whisper-cpp/ggml-large-v3-turbo.bin -f /tmp/audio_input.wav --no-timestamps -l auto 2>/dev/null
35
- ```
36
-
37
- 4. **Use the transcription** as needed -- respond to the user, take action, etc.
38
-
39
- > **CRITICAL**: Always use `-l auto` for language detection. The default is `-l en` which BREAKS Chinese transcription.
40
-
41
- ## Notes
42
-
43
- - Uses `large-v3-turbo` (~1.5GB) -- near-large accuracy at half the size of full large-v3.
44
- - whisper.cpp is optimized for Apple Silicon -- runs efficiently on any M1/M2/M3/M4 MacBook.
45
- - Supports: OGG, MP3, WAV, M4A, FLAC, WEBM, and most common audio formats (via ffmpeg conversion).
46
- - Runs entirely locally -- no API calls, no costs, fully private.
47
- - If whisper-cli is not found, verify with `which whisper-cli`. The Homebrew package is `whisper-cpp` but the binary is `whisper-cli`.
48
-
49
- ## Telegram Voice Messages
50
-
51
- Telegram voice messages arrive as OGG files:
52
-
53
- ```bash
54
- curl -s -o /tmp/voice.ogg "{file_url}"
55
- ffmpeg -y -i /tmp/voice.ogg -ar 16000 -ac 1 /tmp/voice.wav 2>/dev/null
56
- whisper-cli -m ~/.local/share/whisper-cpp/ggml-large-v3-turbo.bin -f /tmp/voice.wav --no-timestamps -l auto 2>/dev/null
57
- ```
58
-
59
- ## Bilibili Video Audio Extraction
60
-
61
- ### Method: Browser Network Interception
62
-
63
- When the standard yt-dlp approach fails (Bilibili returns HTTP 412), use Playwright to intercept the .m4s audio stream URLs directly from the browser's network requests.
64
-
65
- ```python
66
- # 1. Navigate to Bilibili video in Playwright browser
67
- await page.goto(f'https://www.bilibili.com/video/{bv_id}')
68
-
69
- # 2. Wait for video to load, then check network requests
70
- # The audio stream URL contains "30216" in the filename (30216 = audio codec ID)
71
- # Example: [CID]-1-30216.m4s
72
-
73
- # 3. Download the audio .m4s with Referer header
74
- curl -s -L \
75
- -H "Referer: https://www.bilibili.com/video/[BV_ID]" \
76
- -H "User-Agent: Mozilla/5.0 ..." \
77
- -o /tmp/audio.m4a \
78
- "{audio_url}"
79
- ```
80
-
81
- ### Finding Bilibili Video for a WeChat 视频号 Video
82
-
83
- 1. Note the creator name (shown in WeChat video player) and video title keywords
84
- 2. Search Bilibili: `https://search.bilibili.com/all?keyword={creator}+{keywords}`
85
- 3. Extract BV IDs from search results (look for `BV[A-Za-z0-9]+` patterns)
86
- 4. Get video metadata from initial page state:
87
- ```javascript
88
- window.__INITIAL_STATE__.videoData.cid // CID for subtitle API
89
- ```
90
- 5. Check for subtitles via API: `GET https://api.bilibili.com/x/player/v2?bvid={bvid}&cid={cid}`
91
- - If `subtitle.subtitles` is empty → use audio extraction + Whisper
92
-
93
- ### M4S File ID Numbers (Bilibili)
94
- - `30032` — Video stream
95
- - `30216` — Audio stream (64kbps AAC)
96
- - `30280` — Higher quality audio
97
-
98
- ### yt-dlp (when it works)
99
- ```bash
100
- yt-dlp --cookies-from-browser chrome \
101
- --write-auto-subs --sub-lang zh-CN \
102
- --skip-download -o /tmp/subtitle \
103
- https://www.bilibili.com/video/{BV_ID}
104
- ```
105
- Often fails with HTTP 412 on Bilibili even with cookies. Prefer the network interception method.
106
-
107
- ## Generating Voice Replies (TTS)
108
-
109
- To send a voice message back to the user, use macOS text-to-speech:
110
-
111
- ```bash
112
- # For Chinese text, use the Tingting voice:
113
- say -v "Tingting (Chinese (China mainland))" -o /tmp/reply.aiff "你好!这是语音回复"
114
- # For English text:
115
- say -o /tmp/reply.aiff "Your reply text here"
116
- # Convert to OGG:
117
- ffmpeg -y -i /tmp/reply.aiff /tmp/reply_voice.ogg 2>/dev/null
118
- ```
119
-
120
- Then send via notify_user with `file_path: "/tmp/reply_voice.ogg"`.
121
-
122
- Most users prefer TEXT messages. Use voice only when specifically requested.
@@ -1,7 +0,0 @@
1
- /**
2
- * CLI wrapper for convert-demo.
3
- *
4
- * Usage: visionclaw convert-demo <output-dir> [-o demo-output-dir]
5
- */
6
- export declare function runConvertDemo(args: string[]): Promise<void>;
7
- //# sourceMappingURL=convert-demo-cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-demo-cli.d.ts","sourceRoot":"","sources":["../../src/data-processing/convert-demo-cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BlE"}
@@ -1,30 +0,0 @@
1
- /**
2
- * CLI wrapper for convert-demo.
3
- *
4
- * Usage: visionclaw convert-demo <output-dir> [-o demo-output-dir]
5
- */
6
- import { convertDemo } from "./convert-demo.js";
7
- export async function runConvertDemo(args) {
8
- let outputDir = "";
9
- let demoOutputDir;
10
- for (let i = 0; i < args.length; i++) {
11
- const arg = args[i];
12
- if ((arg === "-o" || arg === "--output-dir") && i + 1 < args.length) {
13
- demoOutputDir = args[++i];
14
- }
15
- else if (!arg.startsWith("-") && !outputDir) {
16
- outputDir = arg;
17
- }
18
- }
19
- if (!outputDir) {
20
- console.error("Usage: visionclaw convert-demo <output-dir> [-o demo-output-dir]\n" +
21
- "\n" +
22
- " <output-dir> Path to pipeline output (contains restructured-*.jsonl + workspace/)\n" +
23
- " -o <dir> Where to write demo-*.jsonl (defaults to output-dir)");
24
- process.exit(1);
25
- }
26
- console.log(`Converting to demo format: ${outputDir}`);
27
- await convertDemo({ outputDir, demoOutputDir });
28
- console.log("Done.");
29
- }
30
- //# sourceMappingURL=convert-demo-cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-demo-cli.js","sourceRoot":"","sources":["../../src/data-processing/convert-demo-cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,aAAiC,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpE,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,SAAS,GAAG,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,oEAAoE;YACpE,IAAI;YACJ,yFAAyF;YACzF,uEAAuE,CACxE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Convert restructured JSONL records to the OpenClaw demo.json format.
3
- *
4
- * The demo format uses an OpenAI chat-completion-style messages array:
5
- * system → user → (assistant → tool)* → assistant
6
- *
7
- * Usage:
8
- * npx tsx src/data-processing/convert-demo.ts <output-dir> [-o <demo-output-dir>]
9
- *
10
- * Reads:
11
- * <output-dir>/restructured-*.jsonl
12
- * <output-dir>/workspace/system-prompt.md
13
- *
14
- * Writes:
15
- * <demo-output-dir>/demo-clean.jsonl (or specified output dir)
16
- * <demo-output-dir>/demo-interrupted.jsonl
17
- * <demo-output-dir>/demo-heartbeat.jsonl
18
- */
19
- export interface ConvertDemoOptions {
20
- /** Path to output dir (containing restructured-*.jsonl and workspace/) */
21
- outputDir: string;
22
- /** Where to write demo JSONL files (defaults to outputDir) */
23
- demoOutputDir?: string;
24
- }
25
- export declare function convertDemo(opts: ConvertDemoOptions): Promise<void>;
26
- //# sourceMappingURL=convert-demo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-demo.d.ts","sourceRoot":"","sources":["../../src/data-processing/convert-demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA2PH,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCzE"}
@@ -1,233 +0,0 @@
1
- /**
2
- * Convert restructured JSONL records to the OpenClaw demo.json format.
3
- *
4
- * The demo format uses an OpenAI chat-completion-style messages array:
5
- * system → user → (assistant → tool)* → assistant
6
- *
7
- * Usage:
8
- * npx tsx src/data-processing/convert-demo.ts <output-dir> [-o <demo-output-dir>]
9
- *
10
- * Reads:
11
- * <output-dir>/restructured-*.jsonl
12
- * <output-dir>/workspace/system-prompt.md
13
- *
14
- * Writes:
15
- * <demo-output-dir>/demo-clean.jsonl (or specified output dir)
16
- * <demo-output-dir>/demo-interrupted.jsonl
17
- * <demo-output-dir>/demo-heartbeat.jsonl
18
- */
19
- import fs from "node:fs";
20
- import path from "node:path";
21
- import readline from "node:readline";
22
- import { randomUUID } from "node:crypto";
23
- // ---------------------------------------------------------------------------
24
- // Turn grouping helpers
25
- // ---------------------------------------------------------------------------
26
- /**
27
- * Group trajectory entries into chat-style turns.
28
- *
29
- * Grouping rules:
30
- * - Consecutive `thinking`, `assistant`, `tool_call` entries are merged
31
- * into a single `assistant` message.
32
- * - Each `tool_result` becomes a separate `tool` message.
33
- * - `user_message` entries become `user` messages.
34
- * - `context` entries become `user` messages (system-injected context).
35
- */
36
- function groupTrajectoryIntoMessages(trajectory) {
37
- const messages = [];
38
- // Accumulator for a single assistant turn
39
- let thinkingBuf = "";
40
- let contentBuf = "";
41
- let toolCalls = [];
42
- let toolCallCounter = 0;
43
- function flushAssistant() {
44
- if (!thinkingBuf && !contentBuf && toolCalls.length === 0)
45
- return;
46
- const msg = {
47
- role: "assistant",
48
- content: contentBuf,
49
- };
50
- if (thinkingBuf) {
51
- msg.reasoning_content = thinkingBuf;
52
- }
53
- if (toolCalls.length > 0) {
54
- msg.tool_calls = [...toolCalls];
55
- }
56
- messages.push(msg);
57
- thinkingBuf = "";
58
- contentBuf = "";
59
- toolCalls = [];
60
- }
61
- for (const entry of trajectory) {
62
- switch (entry.role) {
63
- case "thinking":
64
- // Thinking can appear before assistant/tool_call, accumulate
65
- if (thinkingBuf)
66
- thinkingBuf += "\n";
67
- thinkingBuf += entry.content;
68
- break;
69
- case "assistant":
70
- // Assistant text content
71
- if (contentBuf)
72
- contentBuf += "\n";
73
- contentBuf += entry.content;
74
- break;
75
- case "tool_call": {
76
- // Parse tool call metadata
77
- const meta = entry.metadata ?? {};
78
- const toolName = meta.tool_name ?? entry.content;
79
- const toolInput = meta.tool_input !== undefined && meta.tool_input !== null
80
- ? (typeof meta.tool_input === "string" ? meta.tool_input : JSON.stringify(meta.tool_input))
81
- : "";
82
- const toolUseId = meta.tool_use_id ?? `call_${++toolCallCounter}`;
83
- toolCalls.push({
84
- id: toolUseId,
85
- type: "function",
86
- function: {
87
- name: toolName,
88
- arguments: toolInput,
89
- },
90
- });
91
- break;
92
- }
93
- case "tool_result": {
94
- // Flush pending assistant turn before adding tool result
95
- flushAssistant();
96
- const resultMeta = entry.metadata ?? {};
97
- const resultToolUseId = resultMeta.tool_use_id ?? `call_${toolCallCounter}`;
98
- messages.push({
99
- role: "tool",
100
- content: entry.content,
101
- tool_call_id: resultToolUseId,
102
- });
103
- break;
104
- }
105
- case "user_message":
106
- // Flush any pending assistant turn
107
- flushAssistant();
108
- messages.push({
109
- role: "user",
110
- content: entry.content,
111
- });
112
- break;
113
- case "context":
114
- // Flush any pending assistant turn
115
- flushAssistant();
116
- messages.push({
117
- role: "user",
118
- content: entry.content,
119
- });
120
- break;
121
- default:
122
- // Unknown role — skip
123
- break;
124
- }
125
- }
126
- // Flush any remaining assistant content
127
- flushAssistant();
128
- return messages;
129
- }
130
- // ---------------------------------------------------------------------------
131
- // Prior context → user message
132
- // ---------------------------------------------------------------------------
133
- function buildPriorContextContent(priorContext, prompt) {
134
- const parts = [];
135
- if (priorContext?.compaction_summary) {
136
- parts.push(`[Prior Context Summary]\n${priorContext.compaction_summary}`);
137
- }
138
- if (priorContext?.prior_messages && priorContext.prior_messages.length > 0) {
139
- const priorText = priorContext.prior_messages
140
- .map((m) => `[${m.role}] ${m.content}`)
141
- .join("\n");
142
- parts.push(`[Prior Messages]\n${priorText}`);
143
- }
144
- parts.push(prompt);
145
- return parts.join("\n\n");
146
- }
147
- // ---------------------------------------------------------------------------
148
- // Convert a single OutputRecord → DemoRecord
149
- // ---------------------------------------------------------------------------
150
- function convertRecord(record, systemPrompt) {
151
- const messages = [];
152
- // 1. System message
153
- messages.push({
154
- role: "system",
155
- content: systemPrompt,
156
- });
157
- // 2. User message (prior context + prompt)
158
- const userContent = buildPriorContextContent(record.prior_context, record.prompt);
159
- messages.push({
160
- role: "user",
161
- content: userContent,
162
- });
163
- // 3. Trajectory → grouped messages
164
- const trajectoryMessages = groupTrajectoryIntoMessages(record.trajectory);
165
- messages.push(...trajectoryMessages);
166
- return {
167
- uid: record.wake_cycle_id ?? randomUUID(),
168
- agent_type: "main",
169
- subagent_index: null,
170
- prompt: record.prompt,
171
- success: record.complete,
172
- messages,
173
- };
174
- }
175
- // ---------------------------------------------------------------------------
176
- // File processing
177
- // ---------------------------------------------------------------------------
178
- async function processJsonlFile(inputPath, outputPath, systemPrompt) {
179
- if (!fs.existsSync(inputPath))
180
- return 0;
181
- const rl = readline.createInterface({
182
- input: fs.createReadStream(inputPath),
183
- crlfDelay: Infinity,
184
- });
185
- const outStream = fs.createWriteStream(outputPath);
186
- let count = 0;
187
- for await (const line of rl) {
188
- if (!line.trim())
189
- continue;
190
- try {
191
- const record = JSON.parse(line);
192
- const demo = convertRecord(record, systemPrompt);
193
- outStream.write(JSON.stringify(demo) + "\n");
194
- count++;
195
- }
196
- catch {
197
- // Skip malformed lines
198
- }
199
- }
200
- outStream.end();
201
- return count;
202
- }
203
- export async function convertDemo(opts) {
204
- const { outputDir } = opts;
205
- const demoOutputDir = opts.demoOutputDir ?? outputDir;
206
- // Read system prompt
207
- const systemPromptPath = path.join(outputDir, "workspace", "system-prompt.md");
208
- if (!fs.existsSync(systemPromptPath)) {
209
- console.error(`System prompt not found: ${systemPromptPath}`);
210
- console.error("Run the pipeline with system-prompt export first.");
211
- process.exit(1);
212
- }
213
- const systemPrompt = fs.readFileSync(systemPromptPath, "utf-8");
214
- fs.mkdirSync(demoOutputDir, { recursive: true });
215
- // Convert each category
216
- const categories = ["clean", "interrupted", "incomplete", "heartbeat"];
217
- let totalRecords = 0;
218
- for (const cat of categories) {
219
- const inputFile = path.join(outputDir, `restructured-${cat}.jsonl`);
220
- const outputFile = path.join(demoOutputDir, `demo-${cat}.jsonl`);
221
- const count = await processJsonlFile(inputFile, outputFile, systemPrompt);
222
- if (count > 0) {
223
- console.log(` ${path.basename(outputFile)}: ${count} records`);
224
- totalRecords += count;
225
- }
226
- else if (fs.existsSync(outputFile)) {
227
- // Remove empty output files
228
- fs.unlinkSync(outputFile);
229
- }
230
- }
231
- console.log(` Total: ${totalRecords} demo records`);
232
- }
233
- //# sourceMappingURL=convert-demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-demo.js","sourceRoot":"","sources":["../../src/data-processing/convert-demo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>macwindow.on.rectangle</title>
3
- <path transform="matrix(0.7202572347266881, 0, 0, 0.7202572347266881, -1.739549839228296, 48.250803858520904)" d="M19.13-5.38L23.41-5.38L23.41-2.06C23.41 5.03 27.44 9.09 34.56 9.09L75.22 9.09C81.88 9.09 85.72 5.03 85.72-2.06L85.72-28.59C85.72-35.69 81.88-39.75 75.22-39.75L70.28-39.75L70.28-43.06C70.28-50.16 66.44-54.22 59.78-54.22L19.13-54.22C12-54.22 7.97-50.16 7.97-43.06L7.97-16.53C7.97-9.41 12-5.38 19.13-5.38ZM19.13-10.41C15.19-10.41 13-12.59 13-16.53L13-43.03C13-46.97 15.19-49.16 19.13-49.16L59.09-49.16C63.03-49.16 65.22-46.97 65.22-43.03L65.22-39.75L34.56-39.75C27.44-39.75 23.41-35.69 23.41-28.59L23.41-10.41ZM34.56 4.06C30.63 4.06 28.44 1.88 28.44-2.06L28.44-28.56C28.44-32.50 30.63-34.69 34.56-34.69L74.53-34.69C78.47-34.69 80.66-32.50 80.66-28.56L80.66-2.06C80.66 1.88 78.47 4.06 74.53 4.06ZM36.91-23.69C38.41-23.69 39.63-24.97 39.63-26.41C39.63-27.84 38.41-29.13 36.91-29.13C35.41-29.13 34.19-27.84 34.19-26.41C34.19-24.97 35.41-23.69 36.91-23.69ZM45.63-23.69C47.13-23.69 48.38-24.97 48.38-26.41C48.38-27.84 47.13-29.13 45.63-29.13C44.13-29.13 42.91-27.84 42.91-26.41C42.91-24.97 44.13-23.69 45.63-23.69ZM54.38-23.69C55.88-23.69 57.09-24.97 57.09-26.41C57.09-27.84 55.88-29.13 54.38-29.13C52.88-29.13 51.66-27.84 51.66-26.41C51.66-24.97 52.88-23.69 54.38-23.69Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>tray.and.arrow.down</title>
3
- <path transform="matrix(0.7599660729431722, 0, 0, 0.7599660729431722, -2.0559796437659035, 51.4147582697201)" d="M34.22-34.34C32.91-34.34 31.97-33.41 31.97-32.16C31.97-31.47 32.22-30.97 32.69-30.50L43-20.56C43.63-19.94 44.19-19.75 44.81-19.75C45.47-19.75 46-19.94 46.63-20.56L56.94-30.50C57.41-30.97 57.66-31.47 57.66-32.16C57.66-33.41 56.69-34.34 55.38-34.34C54.78-34.34 54.13-34.09 53.69-33.59L48.88-28.44L47.09-26.56L47.31-31.28L47.31-59.06C47.31-60.38 46.16-61.50 44.81-61.50C43.47-61.50 42.34-60.38 42.34-59.06L42.34-31.28L42.56-26.56L40.75-28.44L35.94-33.59C35.50-34.09 34.81-34.34 34.22-34.34ZM53.16-42.97L53.16-38.56L58.63-38.56C60.91-38.56 62.66-37.81 64.19-35.88L75.81-21.22C76.31-20.56 76.13-19.69 75.09-19.69L54.47-19.69C52.84-19.69 52.09-18.44 52.09-17.16L52.09-17.03C52.09-13.41 49.25-9.59 44.81-9.59C40.41-9.59 37.56-13.41 37.56-17.03L37.56-17.16C37.56-18.44 36.78-19.69 35.16-19.69L14.56-19.69C13.53-19.69 13.31-20.56 13.84-21.22L25.44-35.88C26.97-37.81 28.72-38.56 31-38.56L36.47-38.56L36.47-42.97L31.38-42.97C25.81-42.97 24.22-41.59 20.56-37.09L9.75-23.72C8.38-22.03 7.97-20.63 7.97-17.78L7.97 0.72C7.97 7.16 11.25 10.41 17.78 10.41L71.84 10.41C78.41 10.41 81.66 7.16 81.66 0.72L81.66-17.78C81.66-20.63 81.28-22.03 79.88-23.72L69.09-37.09C65.44-41.59 63.81-42.97 58.25-42.97ZM17.84 5.38C14.72 5.38 13 3.69 13 0.44L13-15.09L32.81-15.09C33.56-9.25 38.47-4.94 44.81-4.94C51.16-4.94 56.06-9.28 56.81-15.09L76.63-15.09L76.63 0.44C76.63 3.69 74.88 5.38 71.78 5.38Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>tray.and.arrow.up</title>
3
- <path transform="matrix(0.7596439169139466, 0, 0, 0.7596439169139466, -2.0415430267062344, 52.09495548961424)" d="M44.81-20.69C46.16-20.69 47.31-21.78 47.31-23.09L47.31-51.78L47.09-56.50L48.88-54.59L53.69-49.44C54.13-48.94 54.78-48.69 55.38-48.69C56.69-48.69 57.66-49.63 57.66-50.91C57.66-51.56 57.41-52.06 56.94-52.53L46.63-62.47C46-63.09 45.47-63.31 44.81-63.31C44.19-63.31 43.63-63.09 43-62.47L32.69-52.53C32.22-52.06 31.97-51.56 31.97-50.91C31.97-49.63 32.91-48.69 34.22-48.69C34.81-48.69 35.50-48.94 35.94-49.44L40.75-54.59L42.56-56.50L42.34-51.78L42.34-23.09C42.34-21.78 43.47-20.69 44.81-20.69ZM53.16-42.97L53.16-38.56L58.63-38.56C60.91-38.56 62.66-37.81 64.19-35.88L75.81-21.22C76.31-20.56 76.13-19.69 75.09-19.69L54.47-19.69C52.84-19.69 52.09-18.44 52.09-17.16L52.09-17.03C52.09-13.41 49.25-9.59 44.81-9.59C40.41-9.59 37.56-13.41 37.56-17.03L37.56-17.16C37.56-18.44 36.78-19.69 35.16-19.69L14.56-19.69C13.53-19.69 13.31-20.56 13.84-21.22L25.44-35.88C26.97-37.81 28.72-38.56 31-38.56L36.47-38.56L36.47-42.97L31.38-42.97C25.81-42.97 24.22-41.59 20.56-37.09L9.75-23.72C8.38-22.03 7.97-20.63 7.97-17.78L7.97 0.72C7.97 7.16 11.25 10.41 17.78 10.41L71.84 10.41C78.41 10.41 81.66 7.16 81.66 0.72L81.66-17.78C81.66-20.63 81.28-22.03 79.88-23.72L69.09-37.09C65.44-41.59 63.81-42.97 58.25-42.97ZM17.84 5.38C14.72 5.38 13 3.69 13 0.44L13-15.09L32.81-15.09C33.56-9.25 38.47-4.94 44.81-4.94C51.16-4.94 56.06-9.28 56.81-15.09L76.63-15.09L76.63 0.44C76.63 3.69 74.88 5.38 71.78 5.38Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>document.on.clipboard</title>
3
- <path transform="matrix(0.712241653418124, 0, 0, 0.712241653418124, 3.565977742448334, 48.092209856915744)" d="M7.97 6.91C7.97 13.44 11.19 16.72 17.66 16.72L47.03 16.72C53.50 16.72 56.72 13.41 56.72 6.91L56.72 1.13L62.19 1.13C68.63 1.13 71.88-2.19 71.88-8.69L71.88-52.09C71.88-58.59 68.63-61.91 62.19-61.91L32.81-61.91C26.38-61.91 23.13-58.63 23.13-52.09L23.13-46.31L17.66-46.31C11.22-46.31 7.97-43.03 7.97-36.50ZM39.88-51.19C38.50-51.19 37.88-52.09 37.88-53.03L37.88-53.69C37.88-54.66 38.50-55.53 39.88-55.53L55.13-55.53C56.47-55.53 57.13-54.66 57.13-53.69L57.13-53.03C57.13-52.09 56.47-51.19 55.13-51.19ZM13 6.81L13-36.44C13-39.50 14.66-41.28 17.91-41.28L28.16-41.28L28.16-23.16C28.16-19.22 30.16-17.25 34.03-17.25L51.69-17.25L51.69 6.81C51.69 9.94 50 11.69 46.78 11.69L17.88 11.69C14.66 11.69 13 9.94 13 6.81ZM34.63-21.97C33.38-21.97 32.88-22.47 32.88-23.72L32.88-40.13L50.72-21.97Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>document.on.clipboard</title>
3
- <path transform="matrix(0.712241653418124, 0, 0, 0.712241653418124, 3.565977742448334, 48.092209856915744)" d="M7.97 6.91C7.97 13.44 11.19 16.72 17.66 16.72L47.03 16.72C53.50 16.72 56.72 13.41 56.72 6.91L56.72 1.13L62.19 1.13C68.63 1.13 71.88-2.19 71.88-8.69L71.88-52.09C71.88-58.59 68.63-61.91 62.19-61.91L32.81-61.91C26.38-61.91 23.13-58.63 23.13-52.09L23.13-46.31L17.66-46.31C11.22-46.31 7.97-43.03 7.97-36.50ZM39.88-51.19C38.50-51.19 37.88-52.09 37.88-53.03L37.88-53.69C37.88-54.66 38.50-55.53 39.88-55.53L55.13-55.53C56.47-55.53 57.13-54.66 57.13-53.69L57.13-53.03C57.13-52.09 56.47-51.19 55.13-51.19ZM13 6.81L13-36.44C13-39.50 14.66-41.28 17.91-41.28L28.16-41.28L28.16-23.16C28.16-19.22 30.16-17.25 34.03-17.25L51.69-17.25L51.69 6.81C51.69 9.94 50 11.69 46.78 11.69L17.88 11.69C14.66 11.69 13 9.94 13 6.81ZM34.63-21.97C33.38-21.97 32.88-22.47 32.88-23.72L32.88-40.13L50.72-21.97Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>arrow.trianglehead.2.clockwise.rotate.90.page.on.clipboard</title>
3
- <path transform="matrix(0.712241653418124, 0, 0, 0.712241653418124, 3.565977742448334, 48.092209856915744)" d="M7.97 6.91C7.97 13.44 11.19 16.72 17.66 16.72L47.03 16.72C53.50 16.72 56.72 13.41 56.72 6.91L56.72 1.13L62.19 1.13C68.63 1.13 71.88-2.19 71.88-8.69L71.88-52.09C71.88-58.59 68.63-61.91 62.19-61.91L32.81-61.91C26.38-61.91 23.13-58.63 23.13-52.09L23.13-46.31L17.66-46.31C11.19-46.31 7.97-43.06 7.97-36.50ZM37.88-53.03L37.88-53.69C37.88-54.66 38.50-55.53 39.88-55.53L55.13-55.53C56.47-55.53 57.13-54.66 57.13-53.69L57.13-53.03C57.13-52.09 56.47-51.19 55.13-51.19L39.88-51.19C38.50-51.19 37.88-52.09 37.88-53.03ZM13 6.81L13-36.44C13-39.53 14.66-41.28 17.88-41.28L46.78-41.28C50-41.28 51.69-39.53 51.69-36.44L51.69 6.81C51.69 9.94 50 11.69 46.78 11.69L17.88 11.69C14.66 11.69 13 9.94 13 6.81ZM32.44-28.56C29.19-28.56 26.19-27.41 24.09-25.69C22.88-24.78 22.84-23.50 23.44-22.72C24-22 25.13-21.72 26.38-22.59C28-23.88 30.06-24.72 32.44-24.72C37.13-24.72 41.06-21.41 42.06-17L39.88-17C38.72-17 38.47-15.91 39.09-15.03L43.09-9.50C43.75-8.59 44.88-8.53 45.56-9.50L49.50-15.03C50.13-15.91 49.84-17 48.75-17L46-17C44.94-23.56 39.25-28.56 32.44-28.56ZM16.09-12.63L18.84-12.63C19.91-6.06 25.59-1.06 32.44-1.06C35.66-1.06 38.66-2.22 40.75-3.94C41.97-4.84 42-6.13 41.41-6.91C40.84-7.63 39.72-7.91 38.47-7.03C36.84-5.75 34.78-4.91 32.44-4.91C27.72-4.91 23.78-8.22 22.78-12.63L24.97-12.63C26.13-12.63 26.38-13.72 25.75-14.59L21.75-20.13C21.09-21.03 19.97-21.09 19.28-20.13L15.34-14.59C14.72-13.72 15-12.63 16.09-12.63Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 41 38" width="41" height="38">
2
- <title>cursorarrow.square</title>
3
- <image width="41" height="38" href="data:image/png;base64,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nXSenQxGYEf1xCcJnp3gmtz3z3A3GowOHZla4Hxt2WQirb7tParPp/enINCVgH81c7Ni9bnY5PF3umo8+0lb4O3BE8uT0heI8un/KQi0LeC/WJYrmiTDcdt+pO2GU38eAi9sYXJ5wvksKH+n2ERBQSBawH/+vl/hS02MS3BNly2NbjD15StwQ0uTzJP0fsVHFbsoKAg0FfB7jR9Q3KdomgTn2/7nqnt9BWWWQMm/uTxFDqfPsmjr7o9U8dcU1ytuV/j9Sl+u1EcBEeemVDWUAQj4tegE5aNEv7+4ROE/pX9Hsaui7fLP2sGJbe8kt/pLTpCba7CcrNbLbdBoLwItCPjL5t9sod6sqyz5S84/08hdmPXo0XgEYgT8dhPJcYxlyQnSHB9S8GfumInBoqIEPlhUb2t0tvQEeZOszq3hxaoIDE3A743zl9Q8o1rye5AVyY66c6Nig2oBtwgUJHCw+npFQf2t1dW1a609zJUfULf8qTLndxzm+NKr+QXO1FMfn/9pnuEIctUcsMN/KfZnSiBQiMAd6ufuihWF9Heqbpb+HmSF5i/PHqu4q1rALQIDFvAJVo5WkBzXMMgkyGeBfCblwxQ/f3YR9xAYnIC/teGzj183uJ610CES5CiqP6x5rYIkOerCo2EI+FwBb1dcNIzutN8L3oMcb7yHFl+q8E++KAgMQeARdeIYxcVD6ExXfeAIcry0L6Wwr+Lq8U+zFIGsBHw+gAMUJMeaw8bXfOYH85/ZZytWKnyeR6yEQMlO4Ay1+EjF8uxaToOzEfDZVPxrA3/aTWCQwxy4RnP1AAUFgc4EfEGjSxR+szuHFwltLG+crtXc5HLEQogofEgzneL22syfBh6nWKKgINCngM9MdZ7C53T0++eUIAESZHNI//ntnyk69lZsqqAg0KaAP5H2BbYuV1ym+JbC32+kBAuQIINBVd0Oij0Vuym2nRWb675PiLF45pYT9QqCMiLwhB75Q8FHZ27v161/wOATOztuVjgx3qogIQqBggACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCOQi8P9KumlzKYrIkQAAAABJRU5ErkJggg=="/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>menubar.dock.rectangle</title>
3
- <path transform="matrix(0.7599660729431722, 0, 0, 0.7599660729431722, -2.0559796437659035, 49.13486005089059)" d="M21.16 6.22L69.25 6.22C77.13 6.22 81.66 1.47 81.66-6.97L81.66-38.09C81.66-46.53 77.13-51.31 69.25-51.31L21.16-51.31C12.75-51.31 7.97-46.53 7.97-38.09L7.97-6.97C7.97 1.47 12.75 6.22 21.16 6.22ZM21.19-46.28L68.44-46.28C72.66-46.28 75.44-44.31 76.31-40.78L13.31-40.78C14.19-44.31 16.97-46.28 21.19-46.28ZM21.19 1.19C16 1.19 13-1.78 13-6.97L13-36.38L76.63-36.38L76.63-6.97C76.63-1.78 73.63 1.19 68.44 1.19ZM21.41-6.47C21.41-4.84 22.53-3.75 24.19-3.75L65.53-3.75C67.19-3.75 68.31-4.84 68.31-6.47L68.31-11.16C68.31-12.78 67.19-13.88 65.53-13.88L24.19-13.88C22.53-13.88 21.41-12.78 21.41-11.16Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>display</title>
3
- <path transform="matrix(0.7516778523489933, 0, 0, 0.7516778523489933, -1.9899328859060406, 48.125838926174495)" d="M15.16-1.06L35.34-1.06L35.34 4.97L35.16 4.97C33.78 4.97 32.63 6.09 32.63 7.50C32.63 8.91 33.78 10.03 35.16 10.03L55.28 10.03C56.66 10.03 57.78 8.91 57.78 7.50C57.78 6.09 56.66 4.97 55.28 4.97L55.09 4.97L55.09-1.06L75.25-1.06C79.75-1.06 82.47-3.78 82.47-8.28L82.47-45.75C82.47-50.25 79.75-52.94 75.25-52.94L15.16-52.94C10.69-52.94 7.97-50.25 7.97-45.75L7.97-8.28C7.97-3.78 10.69-1.06 15.16-1.06ZM15.25-6.09C13.88-6.09 13-6.97 13-8.34L13-45.66C13-47.06 13.88-47.91 15.25-47.91L75.19-47.91C76.56-47.91 77.44-47.06 77.44-45.66L77.44-8.34C77.44-6.97 76.56-6.09 75.19-6.09Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>square.grid.3x3</title>
3
- <path transform="matrix(0.9138194798572157, 0, 0, 0.9138194798572157, -3.2819989801121876, 52.66088730239674)" d="M13.38-34.91L20.28-34.91C23.69-34.91 25.69-36.91 25.69-40.44L25.69-47.09C25.69-50.63 23.69-52.63 20.28-52.63L13.38-52.63C9.97-52.63 7.97-50.63 7.97-47.09L7.97-40.44C7.97-36.91 9.97-34.91 13.38-34.91ZM35.13-34.91L42.06-34.91C45.47-34.91 47.44-36.91 47.44-40.44L47.44-47.09C47.44-50.63 45.47-52.63 42.06-52.63L35.13-52.63C31.72-52.63 29.75-50.63 29.75-47.09L29.75-40.44C29.75-36.91 31.72-34.91 35.13-34.91ZM56.94-34.91L63.84-34.91C67.25-34.91 69.25-36.91 69.25-40.44L69.25-47.09C69.25-50.63 67.25-52.63 63.84-52.63L56.94-52.63C53.53-52.63 51.53-50.63 51.53-47.09L51.53-40.44C51.53-36.91 53.53-34.91 56.94-34.91ZM13.97-39.19C12.84-39.19 12.28-39.78 12.28-40.97L12.28-46.56C12.28-47.72 12.84-48.31 13.97-48.31L19.69-48.31C20.78-48.31 21.41-47.72 21.41-46.56L21.41-40.97C21.41-39.78 20.78-39.19 19.69-39.19ZM35.72-39.19C34.59-39.19 34.03-39.78 34.03-40.97L34.03-46.56C34.03-47.72 34.59-48.31 35.72-48.31L41.47-48.31C42.56-48.31 43.16-47.72 43.16-46.56L43.16-40.97C43.16-39.78 42.56-39.19 41.47-39.19ZM57.53-39.19C56.41-39.19 55.81-39.78 55.81-40.97L55.81-46.56C55.81-47.72 56.41-48.31 57.53-48.31L63.25-48.31C64.34-48.31 64.94-47.72 64.94-46.56L64.94-40.97C64.94-39.78 64.34-39.19 63.25-39.19ZM13.38-13.75L20.28-13.75C23.69-13.75 25.69-15.72 25.69-19.25L25.69-25.94C25.69-29.47 23.69-31.47 20.28-31.47L13.38-31.47C9.97-31.47 7.97-29.47 7.97-25.94L7.97-19.25C7.97-15.72 9.97-13.75 13.38-13.75ZM35.13-13.75L42.06-13.75C45.47-13.75 47.44-15.72 47.44-19.25L47.44-25.94C47.44-29.47 45.47-31.47 42.06-31.47L35.13-31.47C31.72-31.47 29.75-29.47 29.75-25.94L29.75-19.25C29.75-15.72 31.72-13.75 35.13-13.75ZM56.94-13.75L63.84-13.75C67.25-13.75 69.25-15.72 69.25-19.25L69.25-25.94C69.25-29.47 67.25-31.47 63.84-31.47L56.94-31.47C53.53-31.47 51.53-29.47 51.53-25.94L51.53-19.25C51.53-15.72 53.53-13.75 56.94-13.75ZM13.97-18.03C12.84-18.03 12.28-18.63 12.28-19.81L12.28-25.44C12.28-26.59 12.84-27.19 13.97-27.19L19.69-27.19C20.78-27.19 21.41-26.59 21.41-25.44L21.41-19.81C21.41-18.63 20.78-18.03 19.69-18.03ZM35.72-18.03C34.59-18.03 34.03-18.63 34.03-19.81L34.03-25.44C34.03-26.59 34.59-27.19 35.72-27.19L41.47-27.19C42.56-27.19 43.16-26.59 43.16-25.44L43.16-19.81C43.16-18.63 42.56-18.03 41.47-18.03ZM57.53-18.03C56.41-18.03 55.81-18.63 55.81-19.81L55.81-25.44C55.81-26.59 56.41-27.19 57.53-27.19L63.25-27.19C64.34-27.19 64.94-26.59 64.94-25.44L64.94-19.81C64.94-18.63 64.34-18.03 63.25-18.03ZM13.38 7.41L20.28 7.41C23.69 7.41 25.69 5.41 25.69 1.88L25.69-4.78C25.69-8.31 23.69-10.31 20.28-10.31L13.38-10.31C9.97-10.31 7.97-8.31 7.97-4.78L7.97 1.88C7.97 5.41 9.97 7.41 13.38 7.41ZM35.13 7.41L42.06 7.41C45.47 7.41 47.44 5.41 47.44 1.88L47.44-4.78C47.44-8.31 45.47-10.31 42.06-10.31L35.13-10.31C31.72-10.31 29.75-8.31 29.75-4.78L29.75 1.88C29.75 5.41 31.72 7.41 35.13 7.41ZM56.94 7.41L63.84 7.41C67.25 7.41 69.25 5.41 69.25 1.88L69.25-4.78C69.25-8.31 67.25-10.31 63.84-10.31L56.94-10.31C53.53-10.31 51.53-8.31 51.53-4.78L51.53 1.88C51.53 5.41 53.53 7.41 56.94 7.41ZM13.97 3.09C12.84 3.09 12.28 2.50 12.28 1.34L12.28-4.25C12.28-5.44 12.84-6.03 13.97-6.03L19.69-6.03C20.78-6.03 21.41-5.44 21.41-4.25L21.41 1.34C21.41 2.50 20.78 3.09 19.69 3.09ZM35.72 3.09C34.59 3.09 34.03 2.50 34.03 1.34L34.03-4.25C34.03-5.44 34.59-6.03 35.72-6.03L41.47-6.03C42.56-6.03 43.16-5.44 43.16-4.25L43.16 1.34C43.16 2.50 42.56 3.09 41.47 3.09ZM57.53 3.09C56.41 3.09 55.81 2.50 55.81 1.34L55.81-4.25C55.81-5.44 56.41-6.03 57.53-6.03L63.25-6.03C64.34-6.03 64.94-5.44 64.94-4.25L64.94 1.34C64.94 2.50 64.34 3.09 63.25 3.09Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>rectangle.3.group</title>
3
- <path transform="matrix(0.6363636363636364, 0, 0, 0.6363636363636364, -1.0710227272727275, 46.39772727272727)" d="M15.16-23.84L43.91-23.84C48.69-23.84 51.09-26.16 51.09-30.97L51.09-43.94C51.09-48.72 48.69-51.03 43.91-51.03L15.16-51.03C10.38-51.03 7.97-48.72 7.97-43.94L7.97-30.97C7.97-26.16 10.38-23.84 15.16-23.84ZM68.38 2.13L88.78 2.13C93.56 2.13 95.97-0.19 95.97-5L95.97-39.72C95.97-44.50 93.56-46.81 88.78-46.81L68.38-46.81C63.59-46.81 61.19-44.50 61.19-39.72L61.19-5C61.19-0.19 63.59 2.13 68.38 2.13ZM15.53-28.56C13.69-28.56 12.69-29.53 12.69-31.47L12.69-43.41C12.69-45.38 13.69-46.31 15.53-46.31L43.53-46.31C45.38-46.31 46.38-45.38 46.38-43.41L46.38-31.47C46.38-29.53 45.38-28.56 43.53-28.56ZM68.72-2.59C66.91-2.59 65.91-3.56 65.91-5.50L65.91-39.19C65.91-41.16 66.91-42.09 68.72-42.09L88.38-42.09C90.25-42.09 91.25-41.16 91.25-39.19L91.25-5.50C91.25-3.56 90.25-2.59 88.38-2.59ZM23.13 5.78L47.78 5.78C52.56 5.78 54.97 3.44 54.97-1.34L54.97-10.16C54.97-14.94 52.56-17.25 47.78-17.25L23.13-17.25C18.34-17.25 15.94-14.94 15.94-10.16L15.94-1.34C15.94 3.44 18.34 5.78 23.13 5.78ZM23.50 1.06C21.66 1.06 20.66 0.09 20.66-1.84L20.66-9.66C20.66-11.59 21.66-12.53 23.50-12.53L47.38-12.53C49.25-12.53 50.25-11.59 50.25-9.66L50.25-1.84C50.25 0.09 49.25 1.06 47.38 1.06Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>camera</title>
3
- <path transform="matrix(0.7296416938110749, 0, 0, 0.7296416938110749, -1.8143322475570036, 49.18078175895765)" d="M17.78 6.25L74.91 6.25C81.41 6.25 84.72 3 84.72-3.44L84.72-36.16C84.72-42.59 81.41-45.81 74.91-45.81L65.97-45.81C63.50-45.81 62.75-46.31 61.34-47.88L58.84-50.69C57.28-52.41 55.69-53.34 52.47-53.34L40-53.34C36.78-53.34 35.19-52.41 33.63-50.69L31.13-47.88C29.72-46.34 28.94-45.81 26.50-45.81L17.78-45.81C11.25-45.81 7.97-42.59 7.97-36.16L7.97-3.44C7.97 3 11.25 6.25 17.78 6.25ZM17.84 1.22C14.78 1.22 13-0.44 13-3.69L13-35.88C13-39.13 14.78-40.78 17.84-40.78L27.75-40.78C30.56-40.78 32.09-41.31 33.66-43.06L36.09-45.81C37.88-47.81 38.81-48.31 41.56-48.31L50.91-48.31C53.66-48.31 54.59-47.81 56.38-45.81L58.81-43.06C60.38-41.31 61.91-40.78 64.72-40.78L74.81-40.78C77.91-40.78 79.69-39.13 79.69-35.88L79.69-3.69C79.69-0.44 77.91 1.22 74.81 1.22ZM46.34-3.28C55.78-3.28 63.38-10.84 63.38-20.38C63.38-29.88 55.81-37.44 46.34-37.44C36.88-37.44 29.28-29.88 29.28-20.38C29.28-10.84 36.88-3.28 46.34-3.28ZM70-29.38C72.13-29.38 73.88-31.13 73.88-33.25C73.88-35.41 72.13-37.13 70-37.13C67.84-37.13 66.13-35.41 66.13-33.25C66.13-31.13 67.84-29.38 70-29.38ZM46.34-8.03C39.56-8.03 34-13.50 34-20.38C34-27.22 39.53-32.72 46.34-32.72C53.16-32.72 58.66-27.22 58.66-20.38C58.66-13.50 53.16-8.03 46.34-8.03Z" fill="currentColor"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <title>1.magnifyingglass</title>
3
- <path transform="matrix(0.9082615306639635, 0, 0, 0.9082615306639635, -2.258489609731373, 52.478459199189054)" d="M7.19-28.44C7.19-14.69 18.38-3.50 32.13-3.50C37.56-3.50 42.53-5.25 46.63-8.19L62 7.22C62.72 7.94 63.66 8.28 64.66 8.28C66.78 8.28 68.25 6.69 68.25 4.59C68.25 3.59 67.88 2.69 67.22 2.03L51.94-13.34C55.16-17.53 57.06-22.75 57.06-28.44C57.06-42.19 45.88-53.38 32.13-53.38C18.38-53.38 7.19-42.19 7.19-28.44ZM12.53-28.44C12.53-39.25 21.31-48.03 32.13-48.03C42.94-48.03 51.72-39.25 51.72-28.44C51.72-17.63 42.94-8.84 32.13-8.84C21.31-8.84 12.53-17.63 12.53-28.44ZM33.47-16.81C34.75-16.81 35.66-17.38 35.66-18.75L35.66-37.94C35.66-39.41 34.69-40.41 33.16-40.41C32.06-40.41 31.44-40.16 30.22-39.31L26.03-36.38C25.19-35.81 24.94-35.31 24.94-34.53C24.94-33.59 25.75-32.84 26.59-32.84C27.19-32.84 27.47-33.03 28-33.41L31.09-35.59L31.31-35.59L31.31-19.06C31.31-17.66 32.19-16.81 33.47-16.81Z" fill="currentColor"/>
4
- </svg>