@sarjallab09/figma-intelligence 1.1.0 → 1.2.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 (297) hide show
  1. package/README.md +69 -36
  2. package/dist/bin/cli.js +2 -0
  3. package/dist/design-bridge/bridge.js +2 -0
  4. package/dist/figma-bridge-plugin/bridge-relay.js +2 -0
  5. package/dist/figma-bridge-plugin/code.js +1 -0
  6. package/{figma-bridge-plugin → dist/figma-bridge-plugin}/package-lock.json +0 -3
  7. package/dist/figma-bridge-plugin/ui.html +4970 -0
  8. package/dist/figma-intelligence-layer/dist/index.js +2 -0
  9. package/dist/scripts/clean-existing-chunks.js +2 -0
  10. package/dist/scripts/connect-ai-tool.js +2 -0
  11. package/dist/scripts/convert-hub-pdfs.js +2 -0
  12. package/dist/scripts/figma-mcp-status.js +2 -0
  13. package/dist/scripts/register-codex-mcp.js +2 -0
  14. package/dist/scripts/test-copilot-chat.js +2 -0
  15. package/package.json +11 -8
  16. package/bin/cli.js +0 -859
  17. package/design-bridge/bridge.js +0 -196
  18. package/design-bridge/lib/assets.js +0 -367
  19. package/design-bridge/lib/prompt.js +0 -85
  20. package/design-bridge/lib/server.js +0 -66
  21. package/design-bridge/lib/stitch.js +0 -37
  22. package/design-bridge/lib/tokens.js +0 -82
  23. package/design-bridge/package-lock.json +0 -579
  24. package/figma-bridge-plugin/README.md +0 -97
  25. package/figma-bridge-plugin/anthropic-chat-runner.js +0 -192
  26. package/figma-bridge-plugin/bridge-relay.js +0 -2505
  27. package/figma-bridge-plugin/chat-runner.js +0 -485
  28. package/figma-bridge-plugin/code.js +0 -1534
  29. package/figma-bridge-plugin/codex-runner.js +0 -505
  30. package/figma-bridge-plugin/component-schemas.js +0 -110
  31. package/figma-bridge-plugin/content-context.js +0 -869
  32. package/figma-bridge-plugin/create-button.js +0 -216
  33. package/figma-bridge-plugin/gemini-cli-runner.js +0 -291
  34. package/figma-bridge-plugin/gemini-runner.js +0 -187
  35. package/figma-bridge-plugin/html-to-figma.js +0 -927
  36. package/figma-bridge-plugin/knowledge-hub/.gitkeep +0 -0
  37. package/figma-bridge-plugin/knowledge-hub/uspec-references/anatomy-spec.md +0 -159
  38. package/figma-bridge-plugin/knowledge-hub/uspec-references/api-spec.md +0 -162
  39. package/figma-bridge-plugin/knowledge-hub/uspec-references/color-spec.md +0 -148
  40. package/figma-bridge-plugin/knowledge-hub/uspec-references/full-spec-template.md +0 -314
  41. package/figma-bridge-plugin/knowledge-hub/uspec-references/property-spec.md +0 -175
  42. package/figma-bridge-plugin/knowledge-hub/uspec-references/screen-reader-spec.md +0 -180
  43. package/figma-bridge-plugin/knowledge-hub/uspec-references/structure-spec.md +0 -165
  44. package/figma-bridge-plugin/perplexity-runner.js +0 -188
  45. package/figma-bridge-plugin/references/SKILL.md +0 -178
  46. package/figma-bridge-plugin/references/anatomy-spec.md +0 -159
  47. package/figma-bridge-plugin/references/api-spec.md +0 -162
  48. package/figma-bridge-plugin/references/color-spec.md +0 -148
  49. package/figma-bridge-plugin/references/full-spec-template.md +0 -314
  50. package/figma-bridge-plugin/references/property-spec.md +0 -175
  51. package/figma-bridge-plugin/references/screen-reader-spec.md +0 -180
  52. package/figma-bridge-plugin/references/structure-spec.md +0 -165
  53. package/figma-bridge-plugin/shared-prompt-config.js +0 -645
  54. package/figma-bridge-plugin/spec-helpers/build-table.js +0 -269
  55. package/figma-bridge-plugin/spec-helpers/classify-elements.js +0 -189
  56. package/figma-bridge-plugin/spec-helpers/index.js +0 -35
  57. package/figma-bridge-plugin/spec-helpers/parse-figma-link.js +0 -49
  58. package/figma-bridge-plugin/spec-helpers/position-markers.js +0 -158
  59. package/figma-bridge-plugin/stitch-auth.js +0 -322
  60. package/figma-bridge-plugin/stitch-runner.js +0 -1427
  61. package/figma-bridge-plugin/token-resolver.js +0 -107
  62. package/figma-bridge-plugin/ui.html +0 -4542
  63. package/figma-intelligence-layer/.env.example +0 -39
  64. package/figma-intelligence-layer/docs/local-image-generation.md +0 -60
  65. package/figma-intelligence-layer/examples/comfyui-workflow-template.example.json +0 -101
  66. package/figma-intelligence-layer/jest.config.js +0 -14
  67. package/figma-intelligence-layer/mcp-config.json +0 -19
  68. package/figma-intelligence-layer/package-lock.json +0 -5892
  69. package/figma-intelligence-layer/scripts/setup-comfyui-local.sh +0 -67
  70. package/figma-intelligence-layer/scripts/start-comfyui.sh +0 -33
  71. package/figma-intelligence-layer/src/index.ts +0 -2233
  72. package/figma-intelligence-layer/src/shared/auto-layout-validator.ts +0 -404
  73. package/figma-intelligence-layer/src/shared/cache.ts +0 -187
  74. package/figma-intelligence-layer/src/shared/color-operations.ts +0 -533
  75. package/figma-intelligence-layer/src/shared/color-utils.ts +0 -138
  76. package/figma-intelligence-layer/src/shared/component-script-builder.ts +0 -413
  77. package/figma-intelligence-layer/src/shared/component-templates.ts +0 -2767
  78. package/figma-intelligence-layer/src/shared/concept-taxonomy.ts +0 -694
  79. package/figma-intelligence-layer/src/shared/decision-log.ts +0 -128
  80. package/figma-intelligence-layer/src/shared/design-system-context.ts +0 -568
  81. package/figma-intelligence-layer/src/shared/design-system-intelligence.ts +0 -131
  82. package/figma-intelligence-layer/src/shared/design-system-matcher.ts +0 -184
  83. package/figma-intelligence-layer/src/shared/design-system-normalizers.ts +0 -196
  84. package/figma-intelligence-layer/src/shared/design-system-tokens.ts +0 -295
  85. package/figma-intelligence-layer/src/shared/dtcg-validator.ts +0 -530
  86. package/figma-intelligence-layer/src/shared/enrichment-pipeline.ts +0 -671
  87. package/figma-intelligence-layer/src/shared/figma-bridge.ts +0 -1418
  88. package/figma-intelligence-layer/src/shared/font-config.ts +0 -126
  89. package/figma-intelligence-layer/src/shared/icon-catalog.ts +0 -360
  90. package/figma-intelligence-layer/src/shared/icon-fetch.ts +0 -80
  91. package/figma-intelligence-layer/src/shared/prototype-script-builder.ts +0 -162
  92. package/figma-intelligence-layer/src/shared/response-compression.ts +0 -440
  93. package/figma-intelligence-layer/src/shared/semantic-token-catalog.ts +0 -324
  94. package/figma-intelligence-layer/src/shared/token-binder.ts +0 -505
  95. package/figma-intelligence-layer/src/shared/token-math.ts +0 -427
  96. package/figma-intelligence-layer/src/shared/token-naming.ts +0 -468
  97. package/figma-intelligence-layer/src/shared/token-utils.ts +0 -420
  98. package/figma-intelligence-layer/src/shared/types.ts +0 -346
  99. package/figma-intelligence-layer/src/shared/typography-presets.ts +0 -94
  100. package/figma-intelligence-layer/src/shared/unsplash.ts +0 -165
  101. package/figma-intelligence-layer/src/shared/vision-client.ts +0 -607
  102. package/figma-intelligence-layer/src/shared/vision-provider-anthropic.ts +0 -334
  103. package/figma-intelligence-layer/src/shared/vision-provider-openai.ts +0 -446
  104. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-handler.ts +0 -782
  105. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-renderer.ts +0 -496
  106. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotation-kit.ts +0 -230
  107. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/colorblind-sim.ts +0 -66
  108. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/index.ts +0 -810
  109. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-analyzer.ts +0 -1191
  110. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-figma-page.ts +0 -1346
  111. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-handler.ts +0 -148
  112. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-figma-page.ts +0 -499
  113. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-report.ts +0 -910
  114. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-checker.ts +0 -989
  115. package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-criteria.ts +0 -1160
  116. package/figma-intelligence-layer/src/tools/phase1-vision/design-from-ref/index.ts +0 -424
  117. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/component-recognizer.ts +0 -38
  118. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/ds-matcher.ts +0 -111
  119. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/font-matcher.ts +0 -114
  120. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/icon-resolver.ts +0 -103
  121. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/index.ts +0 -1060
  122. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/layout-segmenter.ts +0 -18
  123. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/token-inferencer.ts +0 -39
  124. package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/vision-pipeline.ts +0 -58
  125. package/figma-intelligence-layer/src/tools/phase1-vision/sketch-to-design/index.ts +0 -298
  126. package/figma-intelligence-layer/src/tools/phase1-vision/visual-audit/index.ts +0 -197
  127. package/figma-intelligence-layer/src/tools/phase2-accuracy/component-audit/index.ts +0 -494
  128. package/figma-intelligence-layer/src/tools/phase2-accuracy/intent-translator/index.ts +0 -356
  129. package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/container-patterns.ts +0 -123
  130. package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/index.ts +0 -663
  131. package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/built-in-rules.yaml +0 -56
  132. package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/index.ts +0 -614
  133. package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/rule-engine.ts +0 -113
  134. package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/color-theory.ts +0 -178
  135. package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/index.ts +0 -470
  136. package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/index.ts +0 -429
  137. package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/token-override-maps.ts +0 -226
  138. package/figma-intelligence-layer/src/tools/phase3-generation/ai-image-insert/index.ts +0 -535
  139. package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/index.ts +0 -660
  140. package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/pattern-fingerprints.ts +0 -209
  141. package/figma-intelligence-layer/src/tools/phase3-generation/composition-builder/index.ts +0 -540
  142. package/figma-intelligence-layer/src/tools/phase3-generation/figma-animated-build.ts +0 -391
  143. package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/index.ts +0 -2019
  144. package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/screen-templates.ts +0 -131
  145. package/figma-intelligence-layer/src/tools/phase3-generation/prototype-map/index.ts +0 -381
  146. package/figma-intelligence-layer/src/tools/phase3-generation/prototype-wire/index.ts +0 -565
  147. package/figma-intelligence-layer/src/tools/phase3-generation/swarm-build/index.ts +0 -764
  148. package/figma-intelligence-layer/src/tools/phase3-generation/system-drift/index.ts +0 -535
  149. package/figma-intelligence-layer/src/tools/phase3-generation/unsplash-search/index.ts +0 -84
  150. package/figma-intelligence-layer/src/tools/phase3-generation/url-to-frame/index.ts +0 -401
  151. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/css-animations.ts +0 -68
  152. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/framer-motion.ts +0 -78
  153. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/swift-animations.ts +0 -93
  154. package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/index.ts +0 -596
  155. package/figma-intelligence-layer/src/tools/phase4-sync/ci-check/index.ts +0 -462
  156. package/figma-intelligence-layer/src/tools/phase4-sync/export-tokens/index.ts +0 -1470
  157. package/figma-intelligence-layer/src/tools/phase4-sync/generate-component-code/index.ts +0 -829
  158. package/figma-intelligence-layer/src/tools/phase4-sync/handoff-spec/index.ts +0 -702
  159. package/figma-intelligence-layer/src/tools/phase4-sync/icon-library-sync/index.ts +0 -483
  160. package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/index.ts +0 -501
  161. package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/storybook-parser.ts +0 -106
  162. package/figma-intelligence-layer/src/tools/phase4-sync/watch-docs/index.ts +0 -676
  163. package/figma-intelligence-layer/src/tools/phase4-sync/webhook-listener/index.ts +0 -560
  164. package/figma-intelligence-layer/src/tools/phase5-governance/apg-doc/index.ts +0 -1043
  165. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/component-detection.ts +0 -620
  166. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/anatomy.ts +0 -331
  167. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/color-tokens.ts +0 -77
  168. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/properties.ts +0 -54
  169. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/snapshot.ts +0 -287
  170. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/spacing.ts +0 -71
  171. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/states.ts +0 -43
  172. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/typography.ts +0 -71
  173. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/index.ts +0 -221
  174. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/_default.ts +0 -166
  175. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/accordion.ts +0 -232
  176. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/alert.ts +0 -234
  177. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar-group.ts +0 -270
  178. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar.ts +0 -249
  179. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/badge.ts +0 -231
  180. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/banner.ts +0 -293
  181. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/breadcrumb.ts +0 -240
  182. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/button.ts +0 -243
  183. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/calendar.ts +0 -307
  184. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/card.ts +0 -143
  185. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/checkbox.ts +0 -227
  186. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/chip.ts +0 -233
  187. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/combobox.ts +0 -282
  188. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/datepicker.ts +0 -276
  189. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/divider.ts +0 -223
  190. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/drawer.ts +0 -255
  191. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/dropdown-menu.ts +0 -289
  192. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/empty-state.ts +0 -261
  193. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/file-uploader.ts +0 -290
  194. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/form.ts +0 -265
  195. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/grid.ts +0 -238
  196. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/icon.ts +0 -255
  197. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/index.ts +0 -128
  198. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-edit.ts +0 -286
  199. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-message.ts +0 -255
  200. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/input.ts +0 -330
  201. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/link.ts +0 -247
  202. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/list.ts +0 -250
  203. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/menu.ts +0 -247
  204. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/modal.ts +0 -144
  205. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navbar.ts +0 -264
  206. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navigation.ts +0 -251
  207. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/number-input.ts +0 -261
  208. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/pagination.ts +0 -248
  209. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/popover.ts +0 -270
  210. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/progress.ts +0 -251
  211. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/radio.ts +0 -142
  212. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/range-slider.ts +0 -282
  213. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/rating.ts +0 -250
  214. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/search.ts +0 -258
  215. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/segmented-control.ts +0 -265
  216. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/select.ts +0 -319
  217. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/skeleton.ts +0 -256
  218. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/slider.ts +0 -232
  219. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/spinner.ts +0 -239
  220. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/status-dot.ts +0 -252
  221. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/stepper.ts +0 -270
  222. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/table.ts +0 -244
  223. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tabs.ts +0 -143
  224. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tag.ts +0 -243
  225. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/textarea.ts +0 -259
  226. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/time-picker.ts +0 -293
  227. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toast.ts +0 -144
  228. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toggle.ts +0 -289
  229. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toolbar.ts +0 -267
  230. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tooltip.ts +0 -232
  231. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/treeview.ts +0 -257
  232. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/typography.ts +0 -319
  233. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/legacy-compat.ts +0 -121
  234. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/anatomy-diagram.ts +0 -430
  235. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/figma-page.ts +0 -312
  236. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/json.ts +0 -129
  237. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/markdown.ts +0 -78
  238. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/visual-doc.ts +0 -2333
  239. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/accessibility.ts +0 -100
  240. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/anatomy.ts +0 -32
  241. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/color-tokens.ts +0 -59
  242. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/content-guidance.ts +0 -18
  243. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/design-tokens.ts +0 -53
  244. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/interaction-rules.ts +0 -19
  245. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/overview.ts +0 -91
  246. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/properties-api.ts +0 -71
  247. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/qa-criteria.ts +0 -19
  248. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/related-components.ts +0 -110
  249. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/responsive.ts +0 -19
  250. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/size-specs.ts +0 -67
  251. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/spacing-structure.ts +0 -58
  252. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/state-specs.ts +0 -79
  253. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/states.ts +0 -50
  254. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/type-hierarchy.ts +0 -33
  255. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/typography.ts +0 -55
  256. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/usage-guidelines.ts +0 -73
  257. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/variants.ts +0 -81
  258. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/types.ts +0 -409
  259. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/index.ts +0 -198
  260. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/renderer.ts +0 -701
  261. package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/types.ts +0 -88
  262. package/figma-intelligence-layer/src/tools/phase5-governance/decision-log/index.ts +0 -135
  263. package/figma-intelligence-layer/src/tools/phase5-governance/design-decision-log/index.ts +0 -491
  264. package/figma-intelligence-layer/src/tools/phase5-governance/ds-primitives/index.ts +0 -416
  265. package/figma-intelligence-layer/src/tools/phase5-governance/ds-scaffolder/index.ts +0 -722
  266. package/figma-intelligence-layer/src/tools/phase5-governance/ds-variables/index.ts +0 -449
  267. package/figma-intelligence-layer/src/tools/phase5-governance/health-report/index.ts +0 -393
  268. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/index.ts +0 -406
  269. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/figma-page.ts +0 -292
  270. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/json.ts +0 -24
  271. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/markdown.ts +0 -172
  272. package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/naming-guide.ts +0 -409
  273. package/figma-intelligence-layer/src/tools/phase5-governance/token-analytics/index.ts +0 -594
  274. package/figma-intelligence-layer/src/tools/phase5-governance/token-docs/index.ts +0 -710
  275. package/figma-intelligence-layer/src/tools/phase5-governance/token-migrate/index.ts +0 -458
  276. package/figma-intelligence-layer/src/tools/phase5-governance/token-naming/index.ts +0 -134
  277. package/figma-intelligence-layer/tests/apg-doc.test.ts +0 -101
  278. package/figma-intelligence-layer/tests/design-system-context.test.ts +0 -152
  279. package/figma-intelligence-layer/tests/design-system-matcher.test.ts +0 -144
  280. package/figma-intelligence-layer/tests/figma-bridge.test.ts +0 -83
  281. package/figma-intelligence-layer/tests/generate-image-and-insert.test.ts +0 -56
  282. package/figma-intelligence-layer/tests/screen-cloner-regression.test.ts +0 -69
  283. package/figma-intelligence-layer/tests/smoke.test.ts +0 -174
  284. package/figma-intelligence-layer/tests/spec-generator.test.ts +0 -127
  285. package/figma-intelligence-layer/tests/token-migrate.test.ts +0 -21
  286. package/figma-intelligence-layer/tests/token-naming.test.ts +0 -30
  287. package/figma-intelligence-layer/tsconfig.json +0 -19
  288. package/scripts/clean-existing-chunks.js +0 -179
  289. package/scripts/connect-ai-tool.js +0 -490
  290. package/scripts/convert-hub-pdfs.js +0 -425
  291. package/scripts/figma-mcp-status.js +0 -349
  292. package/scripts/register-codex-mcp.js +0 -96
  293. /package/{design-bridge → dist/design-bridge}/.env.example +0 -0
  294. /package/{design-bridge → dist/design-bridge}/package.json +0 -0
  295. /package/{figma-bridge-plugin → dist/figma-bridge-plugin}/manifest.json +0 -0
  296. /package/{figma-bridge-plugin → dist/figma-bridge-plugin}/package.json +0 -0
  297. /package/{figma-intelligence-layer → dist/figma-intelligence-layer}/package.json +0 -0
package/README.md CHANGED
@@ -3,35 +3,30 @@
3
3
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)
4
4
  [![npm](https://img.shields.io/npm/v/@sarjallab09/figma-intelligence)](https://www.npmjs.com/package/@sarjallab09/figma-intelligence)
5
5
  [![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)
6
- [![MCP Tools](https://img.shields.io/badge/MCP%20tools-88-blue)]()
6
+ [![MCP Tools](https://img.shields.io/badge/MCP%20tools-90-blue)]()
7
7
 
8
- > 88 AI-powered design tools for Figma. Works with your Claude, OpenAI Codex, or Gemini CLI subscription. One command to set up.
8
+ > 90 AI-powered design tools for Figma. Works with your Claude, OpenAI Codex, or Gemini CLI subscription. One command to set up.
9
9
 
10
10
  ```
11
- You (chat in Figma plugin) ◄──► Local Relay ◄──► Claude / OpenAI Codex / Gemini CLI
11
+ You (chat in Figma plugin) <---> Local Relay <---> Claude / OpenAI Codex / Gemini CLI
12
12
  ```
13
13
 
14
14
  ---
15
15
 
16
- ## Quick Start (3 steps)
16
+ ## Quick Start
17
17
 
18
- ### 1. Install the Figma plugin
18
+ ### Step 1: Install an AI CLI and log in
19
19
 
20
- Search **"Figma Intelligence"** in the Figma Community plugins, or install it from the plugin page.
21
-
22
- > **Note:** Requires Figma Desktop app — the browser version won't work.
23
-
24
- ### 2. Install an AI CLI and log in
25
-
26
- You need at least one. All three use your existing subscription — no extra API costs.
20
+ You need at least one. All four use your existing subscription no extra API costs.
27
21
 
28
22
  | Provider | Install | Log in |
29
23
  |---|---|---|
30
24
  | **Claude** | [claude.ai/download](https://claude.ai/download) | `claude login` |
31
25
  | **OpenAI Codex** | `npm install -g @openai/codex` | `codex login` |
32
26
  | **Google Gemini** | `npm install -g @google/gemini-cli` | `gemini` (opens Google sign-in) |
27
+ | **GitHub Copilot** | `npm install -g @github/copilot` | `copilot` then type `/login` (GitHub device flow) |
33
28
 
34
- ### 3. Run setup
29
+ ### Step 2: Run setup
35
30
 
36
31
  Open your terminal and run:
37
32
 
@@ -45,9 +40,52 @@ This will:
45
40
  - Ask for your **Figma Personal Access Token** ([how to get one](#figma-personal-access-token))
46
41
  - Register the MCP server with your detected providers
47
42
  - Start the local relay server
43
+ - Copy the Figma plugin files to your **Documents folder**
44
+ - **Automatically copy the plugin path to your clipboard** (makes Step 3 one-click)
48
45
  - Optionally install as a background service (macOS)
49
46
 
50
- **That's it.** Open the plugin in Figma — it auto-connects.
47
+ ### Step 3: Load the plugin in Figma (one-time)
48
+
49
+ After setup completes, you need to import the plugin into Figma. **You only do this once** — after that, the plugin stays in your Figma permanently.
50
+
51
+ > **Note:** Requires Figma Desktop app — the browser version won't work.
52
+
53
+ The setup command already copied the plugin path to your clipboard and opened the plugin folder in Finder. Just follow these steps:
54
+
55
+ 1. **Open any file** in Figma Desktop
56
+ *(The plugin menu only works when a file is open)*
57
+
58
+ 2. **Open the Resources panel** by pressing **Shift + I**
59
+ *(or click the grid-like icon in the top toolbar)*
60
+
61
+ 3. In the Resources panel:
62
+ - Click the **"Plugins"** tab at the top
63
+ - Click the **three-dot menu** ( **...** ) in the top-right corner of the panel
64
+ - Select **"Import plugin from manifest..."**
65
+
66
+ 4. **A file picker opens.** Here's the easiest way to find the file:
67
+
68
+ **Option A — Paste the path (fastest):**
69
+ - **Mac:** Press **Cmd + Shift + G**, then **Cmd + V**, then **Enter**
70
+ - **Windows:** Press **Ctrl + L**, then **Ctrl + V**, then **Enter**
71
+
72
+ The path was automatically copied to your clipboard by the setup command.
73
+
74
+ **Option B — Navigate manually:**
75
+ - Go to **Documents** > **Figma Intelligence** > select **manifest.json**
76
+
77
+ 5. **Click Open** — the plugin is now installed!
78
+
79
+ ### Step 4: Open the plugin
80
+
81
+ You can open the plugin any time using one of these methods:
82
+
83
+ - **Right-click** anywhere on the canvas > **Plugins** > **Figma Intelligence**
84
+ - Press **Shift + I** > click **Plugins** tab > search **"Figma Intelligence"**
85
+
86
+ > **Pro tip:** Right-click the plugin name and select **"Save to favorites"** — this pins it to the top of your Plugins menu for instant access.
87
+
88
+ **That's it.** The plugin auto-connects to the relay server. Start chatting!
51
89
 
52
90
  ---
53
91
 
@@ -73,6 +111,7 @@ npx @sarjallab09/figma-intelligence stop # Stop the relay server
73
111
  npx @sarjallab09/figma-intelligence status # Show relay + provider status
74
112
  npx @sarjallab09/figma-intelligence doctor # Diagnose issues
75
113
  npx @sarjallab09/figma-intelligence setup # Full setup (first time or reconfigure)
114
+ npx @sarjallab09/figma-intelligence update # Update plugin files to latest version
76
115
  ```
77
116
 
78
117
  ---
@@ -91,17 +130,29 @@ Then open the Figma plugin — it reconnects automatically.
91
130
 
92
131
  ---
93
132
 
133
+ ## Updating to a new version
134
+
135
+ When a new version is released:
136
+
137
+ ```bash
138
+ npx @sarjallab09/figma-intelligence@latest update
139
+ ```
140
+
141
+ This copies the latest plugin files to your local folder. Figma automatically picks up the changes — just close and reopen the plugin.
142
+
143
+ ---
144
+
94
145
  ## What does this do?
95
146
 
96
147
  Type something like *"Make a login screen with a blue button"* and the AI will actually create the components and layers in your Figma file — not just describe how to do it.
97
148
 
98
- The plugin exposes **88 MCP tools** across 5 phases:
149
+ The plugin exposes **90 MCP tools** across 5 phases:
99
150
 
100
151
  | Phase | Tools | Examples |
101
152
  |---|---|---|
102
153
  | **Visual Intelligence** | 7 | Screen cloning, visual audit, accessibility audit, sketch-to-design |
103
154
  | **Design System Accuracy** | 6 | Intent translation, layout intelligence, variant expansion, linting |
104
- | **Generation & Scaffolding** | 13 | Page architect, swarm build, prototype wiring, composition builder |
155
+ | **Generation & Scaffolding** | 14 | Page architect, swarm build, prototype wiring, composition builder |
105
156
  | **Sync & Bidirectionality** | 9 | Token export (16 formats), component code gen, handoff specs |
106
157
  | **Governance & Health** | 15 | Health reports, token docs, design system scaffolding, DTCG validation |
107
158
  | **Node Operations** | 38 | Create, read, update, delete nodes, variables, styles, components |
@@ -158,6 +209,8 @@ The active provider will show its signed-in email in the auth strip when availab
158
209
  | **"npm: command not found"** | Node.js is not installed — download it from [nodejs.org](https://nodejs.org) |
159
210
  | **Plugin shows "Server offline"** | Run `npx @sarjallab09/figma-intelligence start` in your terminal |
160
211
  | **Plugin shows setup guide** | Follow the on-screen steps — run the setup command in your terminal |
212
+ | **Plugin not found in Figma** | Import it: press Shift+I > Plugins tab > ... menu > "Import plugin from manifest..." > navigate to **Documents > Figma Intelligence > manifest.json** |
213
+ | **Can't find the plugin folder** | It's in `~/Documents/Figma Intelligence/`. On Mac, use Cmd+Shift+G in the file picker and paste the path. |
161
214
  | **Not sure what is broken** | Run `npx @sarjallab09/figma-intelligence doctor` for full diagnostics |
162
215
  | **Chat does nothing / no response** | Run `claude login` / `codex login` / `gemini` to authenticate your AI provider |
163
216
  | **Gemini doesn't build in Figma** | Install Gemini CLI: `npm i -g @google/gemini-cli`, run `gemini` to sign in, re-run setup |
@@ -166,26 +219,6 @@ The active provider will show its signed-in email in the auth strip when availab
166
219
 
167
220
  ---
168
221
 
169
- ## Folder structure (for the curious)
170
-
171
- ```
172
- bin/cli.js ← CLI entrypoint (npx @sarjallab09/figma-intelligence)
173
- figma-bridge-plugin/
174
- manifest.json ← Figma plugin manifest
175
- bridge-relay.js ← local WebSocket relay server
176
- chat-runner.js ← connects Claude to the plugin chat
177
- codex-runner.js ← connects OpenAI Codex to the plugin chat
178
- gemini-cli-runner.js ← connects Gemini CLI to the plugin chat
179
- ui.html / code.js ← plugin UI panel (Chat / Code / Design+Code)
180
- figma-intelligence-layer/
181
- src/tools/ ← 88 MCP tool implementations (5 phases)
182
- dist/index.js ← built MCP server (created by setup)
183
- design-bridge/ ← Asset MCP bridge (Unsplash, Pexels, Iconify)
184
- scripts/ ← Utility scripts (status, connect)
185
- ```
186
-
187
- ---
188
-
189
222
  ## Contributing
190
223
 
191
224
  1. Fork the repo and create a feature branch
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';const _0x5bf999=_0x2244;(function(_0x4242ab,_0x2da1f5){const _0x5802cb=_0x2244,_0x218b81=_0x4242ab();while(!![]){try{const _0x5cbd83=parseInt(_0x5802cb(0x126))/0x1+parseInt(_0x5802cb(0x243))/0x2+parseInt(_0x5802cb(0x1fe))/0x3+parseInt(_0x5802cb(0x1e5))/0x4+parseInt(_0x5802cb(0x161))/0x5+-parseInt(_0x5802cb(0x106))/0x6+-parseInt(_0x5802cb(0x186))/0x7;if(_0x5cbd83===_0x2da1f5)break;else _0x218b81['push'](_0x218b81['shift']());}catch(_0x42413e){_0x218b81['push'](_0x218b81['shift']());}}}(_0x8832,0x20557));const {spawn,spawnSync,execSync}=require(_0x5bf999(0x1fb)),fs=require('fs'),path=require('path'),os=require('os'),readline=require('readline'),ROOT_DIR=path['resolve'](__dirname,'..'),RELAY_SCRIPT=path[_0x5bf999(0x19c)](ROOT_DIR,'figma-bridge-plugin',_0x5bf999(0xef)),MCP_BUILD=path[_0x5bf999(0x19c)](ROOT_DIR,'figma-intelligence-layer','dist',_0x5bf999(0x252)),MCP_SRC=path['join'](ROOT_DIR,'figma-intelligence-layer'),BRIDGE_DIR=path['join'](ROOT_DIR,'figma-bridge-plugin'),DESIGN_BRIDGE_DIR=path['join'](ROOT_DIR,_0x5bf999(0x179)),DATA_DIR=path['join'](os['homedir'](),'.figma-intelligence'),PID_FILE=path['join'](DATA_DIR,'relay.pid'),LOG_FILE=path['join'](DATA_DIR,'relay.log'),PORT=parseInt(process.env.BRIDGE_PORT||'9001',0xa),PLIST_LABEL='com.figma-intelligence.bridge-relay',PLIST_DIR=path[_0x5bf999(0x19c)](os[_0x5bf999(0xf8)](),'Library',_0x5bf999(0x21f)),PLIST_PATH=path['join'](PLIST_DIR,PLIST_LABEL+'.plist');function log(_0xc91eb7){const _0x2074b7=_0x5bf999;console[_0x2074b7(0x219)](_0xc91eb7);}function success(_0x4abcf2){console['log']('\x20\x20✔\x20'+_0x4abcf2);}function warn(_0x1522b5){console['log']('\x20\x20⚠\x20'+_0x1522b5);}function fail(_0x23b50f){console['log']('\x20\x20❌\x20'+_0x23b50f);}function info(_0xf461f2){const _0x3a0f5b=_0x5bf999;console[_0x3a0f5b(0x219)](_0x3a0f5b(0x1f7)+_0xf461f2);}function run(_0x5c1647,_0x112e63,_0x5bda87={}){const _0x4179cb=_0x5bf999,_0x169bd0={'tmdck':function(_0x2e1b87,_0x34530d,_0x477bd6,_0x4093c4){return _0x2e1b87(_0x34530d,_0x477bd6,_0x4093c4);},'rJKCO':function(_0x564b71,_0x2a7087){return _0x564b71===_0x2a7087;}},_0x309109=_0x169bd0['tmdck'](spawnSync,_0x5c1647,_0x112e63,{'encoding':'utf8','shell':!![],..._0x5bda87});return{'ok':_0x169bd0['rJKCO'](_0x309109['status'],0x0),'stdout':(_0x309109['stdout']||'')['trim'](),'stderr':(_0x309109['stderr']||'')[_0x4179cb(0x163)]()};}function which(_0x495404){const _0x382ddf=_0x5bf999,_0x33c7a5={'fmFCT':_0x382ddf(0xe2)},_0x16be08=run(_0x33c7a5['fmFCT'],[_0x495404]);return _0x16be08['ok']?_0x16be08[_0x382ddf(0xed)]:null;}function extractEmail(_0x221e87){const _0x5c6b5c=_0x221e87['match'](/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);return _0x5c6b5c?_0x5c6b5c[0x0]:'';}function maskToken(_0x52f2a2){const _0x493eb5=_0x5bf999,_0x4d76b0={'PyymT':'(not\x20set)'};if(!_0x52f2a2||_0x52f2a2['length']<0x8)return _0x4d76b0['PyymT'];return _0x52f2a2[_0x493eb5(0x23d)](0x0,0x4)+_0x493eb5(0x108)+_0x52f2a2['slice'](-0x4);}function ensureDataDir(){const _0x1c9b88=_0x5bf999;fs[_0x1c9b88(0x23c)](DATA_DIR,{'recursive':!![]});}function isPortInUse(_0x15eb9d){const _0xc98af8=_0x5bf999,_0x1a2af9={'ELDVJ':function(_0x6e0c71,_0x2a2994,_0x312804){return _0x6e0c71(_0x2a2994,_0x312804);},'UJTIq':'lsof','wHFSU':'-sTCP:LISTEN'},_0x1ce4a7=_0x1a2af9['ELDVJ'](run,_0x1a2af9[_0xc98af8(0x1f9)],['-n','-P',_0xc98af8(0x1ec)+_0x15eb9d,_0x1a2af9[_0xc98af8(0x21e)]]);return _0x1ce4a7['ok']&&_0x1ce4a7[_0xc98af8(0xed)][_0xc98af8(0x1d5)]>0x0;}function getRelayPid(){const _0x35640e=_0x5bf999,_0xdc254e={'LVxcj':_0x35640e(0x20e),'HJYYO':function(_0x3fc93e,_0x3ef072,_0x579680){return _0x3fc93e(_0x3ef072,_0x579680);},'IReuW':_0x35640e(0x15f)};if(!fs[_0x35640e(0x224)](PID_FILE))return null;const _0x1bac10=_0xdc254e['HJYYO'](parseInt,fs[_0x35640e(0x1ad)](PID_FILE,_0xdc254e['IReuW'])['trim'](),0xa);if(isNaN(_0x1bac10))return null;try{return process['kill'](_0x1bac10,0x0),_0x1bac10;}catch{if(_0x35640e(0xd8)===_0x35640e(0x21b))_0x5e1d4b(_0xdc254e[_0x35640e(0x24e)]);else return null;}}function _0x2244(_0x202b22,_0x28048f){_0x202b22=_0x202b22-0xd8;const _0x88326b=_0x8832();let _0x22445c=_0x88326b[_0x202b22];if(_0x2244['tfhJJD']===undefined){var _0x3366e3=function(_0x257815){const _0x3057fc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1234e6='',_0x286b69='';for(let _0x1cdb9c=0x0,_0x2c4658,_0x576586,_0x3387f=0x0;_0x576586=_0x257815['charAt'](_0x3387f++);~_0x576586&&(_0x2c4658=_0x1cdb9c%0x4?_0x2c4658*0x40+_0x576586:_0x576586,_0x1cdb9c++%0x4)?_0x1234e6+=String['fromCharCode'](0xff&_0x2c4658>>(-0x2*_0x1cdb9c&0x6)):0x0){_0x576586=_0x3057fc['indexOf'](_0x576586);}for(let _0xd1f0c5=0x0,_0x4e7b6f=_0x1234e6['length'];_0xd1f0c5<_0x4e7b6f;_0xd1f0c5++){_0x286b69+='%'+('00'+_0x1234e6['charCodeAt'](_0xd1f0c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286b69);};_0x2244['AlYmYq']=_0x3366e3,_0x2244['tFNGid']={},_0x2244['tfhJJD']=!![];}const _0xc56a11=_0x88326b[0x0],_0x198788=_0x202b22+_0xc56a11,_0x41e050=_0x2244['tFNGid'][_0x198788];return!_0x41e050?(_0x22445c=_0x2244['AlYmYq'](_0x22445c),_0x2244['tFNGid'][_0x198788]=_0x22445c):_0x22445c=_0x41e050,_0x22445c;}function prompt(_0xb09ae1){return new Promise(_0x54d22f=>{const _0xacb258=_0x2244,_0x429baa={'mjWud':function(_0x48e059,_0x4fa455){return _0x48e059(_0x4fa455);}},_0x458a0f=readline[_0xacb258(0x1d8)]({'input':process[_0xacb258(0xee)],'output':process['stdout']});_0x458a0f['question'](_0xb09ae1,_0x56bad9=>{const _0x486d1c=_0xacb258;_0x458a0f[_0x486d1c(0x177)](),_0x429baa['mjWud'](_0x54d22f,_0x56bad9['trim']());});});}function detectCLIs(){const _0x4ecd21=_0x5bf999,_0x58373b={'xGneS':'utf8','OwxMj':'auth','MatXH':_0x4ecd21(0xe5),'OMMxB':function(_0x431cfd,_0x2643b4){return _0x431cfd+_0x2643b4;},'awdFE':function(_0x490547,_0x5e116d){return _0x490547(_0x5e116d);},'fIFQU':'codex','xQLOo':function(_0x306041,_0x9f9967,_0xf632d5){return _0x306041(_0x9f9967,_0xf632d5);},'UGnkw':_0x4ecd21(0xfe),'ftcxq':function(_0x40f792,_0x20701d){return _0x40f792!==_0x20701d;},'DZBOI':_0x4ecd21(0x229),'ACkkm':function(_0x3ab8e3,_0x12786e){return _0x3ab8e3===_0x12786e;},'stiZY':'find-generic-password','tEPyA':_0x4ecd21(0x11d),'vLXQm':'security','fdixI':_0x4ecd21(0x14e),'YXUsD':_0x4ecd21(0x17c)},_0x44780b={},_0x4b3e12=which('claude');if(_0x4b3e12){const _0x5ce07c=run(_0x4b3e12,[_0x58373b[_0x4ecd21(0x133)],_0x58373b['MatXH']]),_0x4078ab=_0x58373b['OMMxB'](_0x5ce07c['stdout']+'\x20',_0x5ce07c[_0x4ecd21(0x148)]);_0x44780b['claude']={'bin':_0x4b3e12,'loggedIn':_0x5ce07c['ok'],'email':extractEmail(_0x4078ab)};}let _0x1ee2d5=_0x58373b[_0x4ecd21(0x1e8)](which,_0x58373b['fIFQU']);!_0x1ee2d5&&fs[_0x4ecd21(0x224)]('/Applications/Codex.app/Contents/Resources/codex')&&(_0x1ee2d5='/Applications/Codex.app/Contents/Resources/codex');if(_0x1ee2d5){const _0xb0b3f7=_0x58373b[_0x4ecd21(0x1c7)](run,_0x1ee2d5,[_0x58373b['UGnkw'],_0x58373b['MatXH']]),_0x3ecccb=_0xb0b3f7['stdout']+'\x20'+_0xb0b3f7[_0x4ecd21(0x148)];_0x44780b['codex']={'bin':_0x1ee2d5,'loggedIn':_0xb0b3f7['ok'],'email':_0x58373b[_0x4ecd21(0x1e8)](extractEmail,_0x3ecccb)};}const _0x4f77ec=which(_0x4ecd21(0x131));if(_0x4f77ec){if(_0x58373b[_0x4ecd21(0x255)](_0x58373b['DZBOI'],_0x4ecd21(0x229)))try{_0x558d77['rmSync'](_0x36ebce,{'recursive':!![],'force':!![]});}catch{}else{let _0x128ae9=![],_0x3d1df6='';if(_0x58373b[_0x4ecd21(0xf3)](process[_0x4ecd21(0x254)],_0x4ecd21(0xe9))){const _0x239876=run('security',[_0x58373b[_0x4ecd21(0x1d7)],'-s','gemini-cli-oauth','-a',_0x4ecd21(0x111)]);if(_0x239876['ok']){_0x128ae9=!![];try{if(_0x4ecd21(0x11d)!==_0x58373b[_0x4ecd21(0x15c)])_0x246337=_0x325597['parse'](_0x54c8cc['readFileSync'](_0x24b549,_0x58373b[_0x4ecd21(0x25d)]));else{const _0xf0c7cf=run(_0x58373b['vLXQm'],[_0x58373b['stiZY'],'-s',_0x58373b['fdixI'],'-a','main-account','-w']);if(_0xf0c7cf['ok']&&_0xf0c7cf['stdout'])try{const _0x109fd4=JSON['parse'](Buffer['from'](_0xf0c7cf[_0x4ecd21(0xed)],_0x4ecd21(0x11e))[_0x4ecd21(0x207)](_0x4ecd21(0x15f)));_0x3d1df6=_0x109fd4['email']||_0x109fd4[_0x4ecd21(0x21d)]||'';}catch{try{if('fhDml'!=='fhDml')_0x1cdb9c['log'](_0x2c4658);else{const _0x494bfe=JSON['parse'](_0xf0c7cf[_0x4ecd21(0xed)]);_0x3d1df6=_0x494bfe[_0x4ecd21(0x17a)]||_0x494bfe[_0x4ecd21(0x21d)]||'';}}catch{}}}}catch{}}}if(!_0x128ae9){const _0xc32311=[path[_0x4ecd21(0x19c)](os[_0x4ecd21(0xf8)](),_0x4ecd21(0x17c),_0x4ecd21(0x135)),path[_0x4ecd21(0x19c)](os['homedir'](),'.gemini',_0x4ecd21(0xfc)),path['join'](os[_0x4ecd21(0xf8)](),_0x58373b['YXUsD'],_0x4ecd21(0x1b2))];for(const _0x53d889 of _0xc32311){if(fs['existsSync'](_0x53d889)){_0x128ae9=!![];try{const _0x281b3b=JSON['parse'](fs['readFileSync'](_0x53d889,_0x4ecd21(0x15f)));_0x3d1df6=_0x281b3b['email']||_0x281b3b[_0x4ecd21(0x21d)]||_0x281b3b[_0x4ecd21(0x218)]&&_0x281b3b['user'][_0x4ecd21(0x17a)]||'';}catch{}break;}}}_0x44780b['gemini']={'bin':_0x4f77ec,'loggedIn':_0x128ae9,'email':_0x3d1df6};}}return _0x44780b;}function registerMcpWithClaude(_0x136064,_0x158cc8,_0x289cc1={}){const _0x583bf9=_0x5bf999,_0x29396b={'WHYoA':'mcp','fWdsZ':_0x583bf9(0x176),'nyxnk':function(_0x322446,_0x22083b,_0x4b9f93){return _0x322446(_0x22083b,_0x4b9f93);},'yZZhX':'user','eNJKA':_0x583bf9(0x1f0)};run(_0x136064,['mcp',_0x583bf9(0x190),_0x583bf9(0x1f0)]),run(_0x136064,[_0x29396b['WHYoA'],'remove',_0x583bf9(0x179)]);const _0x2aa399=['-e',_0x583bf9(0x16e)+_0x158cc8,'-e',_0x29396b['fWdsZ'],'-e','ENABLE_DECISION_LOG=true'];if(_0x289cc1['UNSPLASH_ACCESS_KEY'])_0x2aa399[_0x583bf9(0x11f)]('-e',_0x583bf9(0x18c)+_0x289cc1['UNSPLASH_ACCESS_KEY']);if(_0x289cc1[_0x583bf9(0x1ce)])_0x2aa399[_0x583bf9(0x11f)]('-e','PEXELS_API_KEY='+_0x289cc1['PEXELS_API_KEY']);const _0x286ec4=_0x29396b[_0x583bf9(0x170)](run,_0x136064,[_0x583bf9(0x16d),'add','-s',_0x29396b[_0x583bf9(0x180)],..._0x2aa399,_0x29396b['eNJKA'],'--','node',MCP_BUILD]);return _0x286ec4['ok'];}function registerMcpWithCodex(_0x2ac51d,_0x3c859a){const _0x53be63=_0x5bf999,_0x1e586e={'jaNAr':function(_0xd14f08,_0x1ac8b8,_0x2931ad){return _0xd14f08(_0x1ac8b8,_0x2931ad);},'IlpQy':_0x53be63(0x16d),'wMmAj':'remove','BJJEJ':'add','CznJX':'FIGMA_BRIDGE_PORT=9001','PrMYQ':'--env','ZwEri':'ENABLE_DECISION_LOG=true'};_0x1e586e[_0x53be63(0x10b)](run,_0x2ac51d,[_0x1e586e[_0x53be63(0x1ef)],_0x1e586e['wMmAj'],_0x53be63(0x1f0)]);const _0x4470ec=_0x1e586e[_0x53be63(0x10b)](run,_0x2ac51d,[_0x1e586e[_0x53be63(0x1ef)],_0x1e586e[_0x53be63(0x1b3)],_0x53be63(0x1f0),_0x53be63(0x160),_0x53be63(0x16e)+_0x3c859a,'--env',_0x1e586e[_0x53be63(0x16f)],_0x1e586e[_0x53be63(0x156)],_0x1e586e[_0x53be63(0x103)],'--','node',MCP_BUILD]);return _0x4470ec['ok'];}function _0x8832(){const _0x468312=['zMrAsgu','rMLNBweGsw50zwXSAwDLBMnLifn0yxr1CW','ugX1z2LUigzPBgvZihvWzgf0zwq','lMzPz21HlwLUDgvSBgLNzw5Jzq','wuvZue4','BwnW','rKLhtufFqundrvntx1rps0vopq','q3PUsLG','BNL4BMS','AxHjqvy','ic0GCMvXDwLYzxmGpJ0GmtG','tuPvu1G','igLUihvZzsbIDxqGBM90igj5ig91CIbYzwXHEq','icaGicaGierVy3vTzw50CYdIHPiGrMLNBweGsw50zwXSAwDLBMnLiokgKIbTyw5PzMvZDc5QC29U','rKLhtufFqLjjreDfx1bpuLq9otaWmq','y2XVC2u','q291BgqGBM90igLUC3rHBgWGBgf1BMnOzcbZzxj2AwnLlIbuAguGCMvSyxKGD2fZihn0yxj0zwqGBwfUDwfSBhKGAw5ZDgvHzc4','zgvZAwDUlwjYAwrNzq','zw1HAwW','D2LUmZi','lMDLBwLUAq','Aw5JBhvKzxm','vxbKyxrPBMCGrMLNBweGsw50zwXSAwDLBMnLihbSDwDPBIbMAwXLCY4UlG','uMvSyxKGywXYzwfKEsbYDw5UAw5NicHqsuq6ia','EvPAAfG','DvLkDKq','sK5gyvy','rMLNBweGugvYC29UywWGqwnJzxnZifrVA2vU','BwfUAwzLC3qUANnVBG','swzdExq','mJCXotK0oe53s0DSwG','BM9Kzv9TB2r1BgvZ','y29KzxG','uNvUicDJB2rLEcbSB2DPBICGDg8Gyxv0AgvUDgLJyxrL','DMvYC2LVBG','q0PNuNa','vu5tueXbu0HFqundrvntx0Tfwt0','zKXXzM4','q291BgqGBM90ihn0B3aGueLeia','vwDQAw8','CMvTB3zL','lxnLBgvJDgLVBG','CgTPBgW','tunqihnLCNzLCIbKzxbLBMrLBMnPzxmGBwLZC2LUzYaOCNvUicDUChGGzMLNBweTAw50zwXSAwDLBMnLihnLDhvWjYK','CNvU','uNDVvwC','qLjXELm','AMTktwu','A3z4DNO','ALf2DKC','AxnbCNjHEq','DNvbAvG','AM9PBG','DLv5yu0','q2XHDwrL','uuXfAw8','icbqyxn0zsb5B3vYihrVA2vUoIa','pc9ZDhjPBMC+cIaGica8A2v5pKvUDMLYB25Tzw50vMfYAwfIBgvZpc9RzxK+cIaGica8zgLJDd4kicaGicaGica8A2v5pKHptuu8l2TLEt4kicaGicaGica8C3rYAw5NpG','Bg9Nz2vKsw4','qxDqq0S','tM8GquKGq0XjigLZigXVz2DLzcbPBI4Gtg9NigLUihrVigf0igXLyxn0ig9UzsbWCM92AwrLCG','uu5UC2y','uNvUicDNzw1PBMKNihrVigf1DgHLBNrPy2f0zsb2AweGr29Vz2XL','s0vJwhG','C29Tzq','icbbBgWGy2HLy2TZihbHC3nLzceGww91CIbZzxr1CcbPCYbOzwfSDgH5lG','yMLU','icbuAxa6ifjPz2H0lwnSAwnRihrOzsbWBhvNAw4G4OAsicjtyxzLihrVigzHDM9YAxrLCYiGzM9Yihf1AwnRigfJy2vZCYe','icbmB2DZoIa','CMvHzezPBgvtEw5J','DvD0BNG','Aw5ZDgfSBa','t25jywO','zuv0rgS','yxv0Ac5QC29U','qKPkruO','u0Divfe','icbmB2nHDgLVBJOG','icbZDgfYDcaGicbtDgfYDcb0AguGyNjPzgDLihjLBgf5ihnLCNzLCIaOzgvMyxvSDcK','l3nIAw4','r2vTAw5PoIbSB2DNzwqGAw4','Bhn5sxq','uLDjtfa','icbtzxr1CcbJB21WBgv0zse','tunqihnLCNzLCJOGtK9uiejvsuXuicHYDw4Gj25WEcbMAwDTys1PBNrLBgXPz2vUy2uGC2v0DxaNkq','cIaGicaGicaGpgTLEt5dt0rfwf9csu5FuefusdWVA2v5pGOGicaGicaGidXZDhjPBMC+','q2XHDwrLienmssbUB3qGzM91BMqUieLUC3rHBgWGzNjVBtOGAhr0Chm6lY9JBgf1zguUywKVzg93BMXVywq','sePODNu','s1Dxrvq','igLUC3rHBgWGzMfPBgvKoIa','A1r3seC','zxHLy1bHDgG','uxfwzMy','igLZigfSCMvHzhKGAw4GDxnLigj5igfUB3rOzxiGChjVy2vZCY4','uMvNAxn0zxjLzcb3AxrOienVzgv4','Effmt28','D3jPDgvgAwXLu3LUyW','cIaGicaGicaGpgTLEt5hru1jtKLFqKLox1bbveG8l2TLEt4kicaGicaGica8C3rYAw5NpG','shvgvfq','uKzlAeK','q3jTDwS','icaGicboyxzPz2f0zsb0BZOGrg9JDw1LBNrZiokgKIbgAwDTysbjBNrLBgXPz2vUy2uG4OAsig1HBMLMzxn0lMPZB24','uevyruXtx0fqsv9lrvK','C0LWs0S','sePXAe8','C3bSAxq','DKvcvgi','l3vZCI9SB2nHBc9IAw4','lI4U','BgvUz3rO','rMLNBweGsw50zwXSAwDLBMnL','C3rPwLK','y3jLyxrLsw50zxjMywnL','t3bLBKfjienVzgv4oIbUB3qGAw5ZDgfSBgvKicHUCg0GAsaTzYbaB3bLBMfPl2nVzgv4kq','lMnSyxvKzq','Evnhy0W','sK56Ahe','icaXlIbpCgvUigfUEsbMAwXLigLUiezPz21HierLC2T0B3a','qNjPzgDLihjLBgf5','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kpcfet0nuwvbfihbSAxn0ifbvqKXjqYaIls8VqxbWBguVl0rurcbqteLtvcaXlJaVl0voiIaIAhr0CdOVl3D3DY5HChbSzs5JB20VrfreCY9qCM9Wzxj0EuXPC3qTms4WlMr0zci+cJXWBgLZDcb2zxjZAw9UpsiXlJaIpGO8zgLJDd4kicaGidXRzxK+tgfIzwW8l2TLEt4kicaGidXZDhjPBMC+','igLZihrVBYbVBgqUieLUC3rHBgWGtM9Kzs5QCYaXocSGzNjVBsbODhrWCZOVl25VzgvQCY5VCMC','sMvPCe4','EuTIsMm','sMrZBwi','tuvbCKm','nZi0nZu2sw1PyLrp','tNzADgm','CuHtyvq','yxDKrKu','tunqihnLCNzLCJOGqLvjtfq','q2XHDwrLoIbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4Gkhj1BIaNy2XHDwrLigXVz2LUjYK','l3vZCI9IAw4','lwLuq1a6','BKfPEgC','qNv3Cg8','swXWuxK','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvY','wKTPufu','r2vTAw5PoIbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4Gkhj1BIaNz2vTAw5PjYK','wu9vuL9gsuDnqv9ut0TftL9irvjf','C3rHCNq','wxznsey','DMH6zM4','icdIHlKG','z0fWqxq','vuPusxe','icbZDg9WicaGicbtDg9WihrOzsbYzwXHEsbZzxj2zxi','y2HPBgrFChjVy2vZCW','C3bjrgS','icdILidILiaGuMvZDgfYDcb0AgvZzsbHChbZihrVihbPy2SGDxaGtunqignOyw5NzxmG4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','nde0nte5tK1stg1q','ELzJz2m','Du1xvfa','qMvjs3K','r2vTAw5P','qNjPzgDLihjLBgf5ig5VDcbMB3vUzc4GuNvUicDUChGGzMLNBweTAw50zwXSAwDLBMnLihnLDhvWjYbMAxjZDc4','icbbDMfPBgfIBguGChjVDMLKzxjZoG','rg9JDw1LBNrZ','u3rVChbLzcbYzwXHEsaOueLeoIa','Dg9tDhjPBMC','zxHPDa','tM8GDg9Rzw4GChjVDMLKzwqUifnLDcbPDcbSyxrLCIbPBIb+lY5JBgf1zguVC2v0DgLUz3mUANnVBG','uKPsCvq','ica1lIbtzwXLy3qGBwfUAwzLC3qUANnVBIbHBMqGy2XPy2SGt3bLBIdIGjqGzg9Uzse','zLnSA2O','tNv6D0y','qNjPzgDLihjLBgf5igrLCgvUzgvUy2LLCYbPBNn0ywXSzwq','tunqihrVB2WGCgvYBwLZC2LVBNmGyxv0BY1LBMfIBgvK','EKnev3m','t21VsMO','EhnLBa','Bgftr2q','q29WEwLUzYbWBhvNAw4GzMLSzxmUlI4','t3bLBKfjienVzgv4','DMzeCfC','sgPxwNC','DxnLCG','Bg9N','l2jPBG','rwjtzgC','wK1yD04','y2XPzw50x2vTywLS','D0Hgu1u','tgf1BMnOqwDLBNrZ','BwnWx19MAwDTys1PBNrLBgXPz2vUy2uTBgf5zxjFxYO','reTVuhO','y0fPuLq','te5lAg0','zxHPC3rZu3LUyW','y2XHDwrL','BKDYAvi','t3bLBMvKihrOzsbWBhvNAw4GzM9SzgvYigzVCIb5B3u','CMvWzwf0','tfjXtxK','yu1mEgW','BfbmDKK','icdIHPiGt3iGChjLC3mGu2HPzNqGkYbjiokgKIbqBhvNAw5ZihrHyIdIHPiGC2vHCMnOicjgAwDTysbjBNrLBgXPz2vUy2uI','C25gCxG','CwnqBge','icbpCgvUquKGq29KzxG6ig5WBsbPic1NiebVCgvUywKVy29KzxG','sK15swq','sunTvw8','uMvSyxK6ie5pvcbsvu5osu5h','pc9ZDhjPBMC+cIaGica8l2fYCMf5pGOGicaGpgTLEt5xB3jRAw5NrgLYzwn0B3j5pc9RzxK+cIaGica8C3rYAw5NpG','zw52','icbJB2rLEcbSB2DPBG','sev6vvu','y2XPCa','te93q0C','vg10D0G','yvvvv0m','rhbezLG','BwTKAxjtEw5J','C2XPy2u','vuzgzwe','q2XHDwrLoIbSB2DNzwqGAw4','Dw5SB2fK','tunqihnLCNzLCIbUB3qGyNvPBhq','vxHcBvy','mJa1mZq0s2PjuMny','C21fv0S','teTOrwm','DM9Rs0W','nxWXFdn8mNWWFdq','sLjeEwu','DgHkBMS','AwDUB3jL','EMPezxi','r2vTAw5PienmssbUB3qGzM91BMqUieLUC3rHBgWGD2L0AdOGBNbTigKGlwCGqgDVB2DSzs9Nzw1PBMKTy2XP','tw9dz2C','tfz4y2O','uMvSyxKGzMfPBgvKihrVihn0yxj0lIbdAgvJAYbSB2DZoG','tunqihnLCNzLCG','Ew9hA0C','Aw5KzxGUANm','cIaGvgvZDgLUzYbnq1aGC2vYDMvYigHHBMrZAgfRzs4UlG','CgXHDgzVCM0','zNrJEhe','ug9YDca','txLbuKm','AwnbqwS','cIaGicaGignVBNn0ihSGC3bHD24GFsa9ihjLCxvPCMuOj2nOAwXKx3bYB2nLC3mNktSkicaGicaGy29UC3qGCca9ihnWyxDUkcDUB2rLjYWGwYC','u1H1rMq','zKD3tMO','uMvSyxKGC3rVChbLza','EeDUzvm','sLPztMW','DvfxBuu','wMDVsNu','igfZia','z3DmCeS','t3bLBKfjienVzgv4oIbSB2DNzwqGAw4','tM8GquKGChjVDMLKzxjZigfYzsbSB2DNzwqGAw4Uifj1BIbVBMuGB2y6','v3f4vhC','zM1Luem','tM9Kzs5QCYa','zgLYBMfTzq','DwPSBgK','icbgAwDTysb3AwXSihbPy2SGDxaGDgHLignOyw5NzxmGyxv0B21HDgLJywXSEs4','ywLxuMu','icaGicbpuIbTyw51ywXSEsbUyxzPz2f0zsb0BZO','wNzru24','q3vnqK8','D2HPy2G','q291BgqGBM90ihjLz2LZDgvYihDPDgGGr2vTAw5P','zxHWBg9YzxiGiG','C3rHDhvZ','rgDfv2y','yu50wLq','j10SihSkicaGicaGicbLBNy6ihSGlI4UChjVy2vZCY5LBNySiezjr01bx0fdq0vtu19ut0TftJOGj3rLC3qNlcbgsuDnqv9cuKLer0vFue9svdOGjZaNih0ScIaGicaGicaGC3rKAw86ifSNCgLWzsCSicDWAxbLjYWGj3bPCguNxqOGicaGicb9ktSkicaGicaGy29UC3qGBxnNid0GsLnptI5ZDhjPBMDPzNKOEYbQC29UCNbJoIaNmI4WjYWGAwq6ideSig1LDgHVzdOGj2LUAxrPywXPEMuNlcbWyxjHBxm6ihSGChjVDg9JB2XwzxjZAw9UoIaNmJaYnc0Xms0WnsCSignHCgfIAwXPDgLLCZOGE30SignSAwvUDeLUzM86ihSGBMfTztOGj2rVy3rVCICSihzLCNnPB246icCXlJaUmcCGFsb9ih0PoWOGicaGicbSzxqGCMvZCg9UzgvKid0GzMfSC2u7cIaGicaGihaUC3rKB3v0lM9UkcDKyxrHjYWGkcKGpt4GEYbPzIaOixjLC3bVBMrLzcKGEYbYzxnWB25KzwqGpsb0CNvLoYbJB25ZB2XLlMXVzYGNB2SNktSGCc5RAwXSkcK7ih0GFsK7cIaGicaGihaUC3rKAw4UD3jPDguOBxnNicSGj1XUjYK7cIaGicaGihnLDfrPBwvVDxqOkcKGpt4GEYbPzIaOixjLC3bVBMrLzcKGy29UC29Szs5SB2COj3rPBwvVDxqNktSGCc5RAwXSkcK7ihbYB2nLC3mUzxHPDcGWktSGFsWGntaWmcK7cIaGica','zgfYD2LU','wfzTvKe','sw5ZDgfSBgvKigfZigXVz2LUihnLCNzPy2uGkgf1Dg8TC3rHCNrZig9UihjLyM9VDcK','z1DRwhy','C3rKB3v0','C3rKAw4','yNjPzgDLlxjLBgf5lMPZ','u3L1Bhi','icboB3CGB3bLBIb5B3vYiezPz21HihbSDwDPBIaTigL0ihDPBgWGyxv0BY1JB25Uzwn0lG','r2vTAw5PigXVz2DLzcbPBG','qunRA20','ugX1z2LUigzPBgvZignVCgLLzcb0BYa','DMfSDwvZ','uwDPCKy','Bgf1BMnOy3rS','Ag9TzwrPCG','t0f0B00','CLPHqNa','D0jWB1u','y3jLzgvUDgLHBhmUANnVBG','ywrK','Bg9NAw4','EMXIs1e','ywrSz0u','icaGicbtzwXLy3qGiKLTCg9YDcbWBhvNAw4GzNjVBsbTyw5PzMvZDc4UlIi','BLj5sve','wNDfCMK','sgv6u2O','BM9Kzq','mta4mZu0ve96yuzW','tM8GquKGq0XjigLUC3rHBgXLzc4Gsw5ZDgfSBcbHDcbSzwfZDcbVBMu6ignSyxvKzsWGy29KzxGSig9YigDLBwLUAq','lI4UlG','Dg9mB3DLCKnHC2u','CgLK','AMfoqxi','AgDkDve','A2v5CW','y3jfEei','v3vUsKW','twzPCgy','BwfPBI1Hy2nVDw50','icaGicaGifrOzw4GChjLC3mGienTzcaRifyGihrVihbHC3rLihrOzsbWyxrOicHHBhjLywr5ignVCgLLzceP','icaGicdIMiuGruftsuvtvdOGuhjLC3mGien0CMWGkYbmicbPBIb0AguGzMLSzsbWAwnRzxi','nxWZFdr8mhWYFde','z0THCfO','yxjNDG','ENLJANu','sujRuu8','BwnWu2vYDMvYCW','Ag5twxe','ica0lIbbigzPBguGCgLJA2vYig9Wzw5ZlIbzB3uGAgf2zsbuv08GzwfZEsb3yxLZihrVigzPBMqGDgHLigzPBgu6','icbZzxr1CcaGicbgDwXSigLUDgvYywn0AxzLihnLDhvWicHPBNn0ywXSigrLChmSihjLz2LZDgvYie1ducWGC3rHCNqGCMvSyxKP','tKX5rwC','yMfZzty0','ChvZAa','s2DLtLi','tunqihnLCNzLCIbIDwLSDa','CgvYBwLZC2LVBNm','C3rYAw5NAwz5','lcbWB3j0ia','rMLNBweGsw50zwXSAwDLBMnLienmsq','ntq3otjqD1nUuMu','wgzKwLe','icdIHPiGuMLNAhqTy2XPy2SGB24Gy2fUDMfZiokgKIbqBhvNAw5ZiokgKIbgAwDTysbjBNrLBgXPz2vUy2u','zgrfrey','vxvvB3G','tunqihnLCNzLCIbKzxbLBMrLBMnPzxmGAw5ZDgfSBgvK','BuLHv3y','yNvPBgq','DNLzCfa','CNjKvhq','icaGicbgDwXSihbHDgGGkgLMig5LzwrLzcK6','z2vTAw5P','sxHqsgS','t3D4twO','icaGicdIMiuGruftsuvtvdOGuhjLC3mGienTzcaRifnOAwz0icSGrYaGAw4GDgHLigzPBguGCgLJA2vY','B2f1DgHFy3jLzhmUANnVBG','pc9ZDhjPBMC+cIaGicaGicaGpgTLEt5qqvripc9RzxK+cIaGicaGicaGphn0CMLUzZ4','q3LMuKW','icb1CgrHDguGicbvCgrHDguGCgX1z2LUigzPBgvZihrVigXHDgvZDcb2zxjZAw9U','BgX5y3m','BNbT','qNvPBgqGzMfPBgvKoIa','BgTjvgS','CM1tEw5J','rg1QvuC','B2D3q04','icbJBgf1zguGBg9NAw4','CgfYC2u','whrhrNC','C2HHCNa','Dw5ZAgLMDa','icbNzw1PBMK','DxbKyxrL','AgvSCa','C3rKzxjY','pc9ZDhjPBMC+cIaGicaGicaGphn0CMLUzZ4','thzQAgW','AejAvem','yuzbr1a','icbxzwjtB2nRzxq6ihDZoI8VBg9JywXOB3n0oG','z2vTAw5PlwnSAs1Vyxv0Aa','DeDKzuC','q291BgqGBM90ihjLywqGq2XHDwrLihnLDhrPBMDZ','pc9ZDhjPBMC+','txLmr3i','B1bfrgu','Du94ueS','v0HqAvu','uhjnwve','y1HSveG','ywXSB3C','q29KzxGGq0XjigLUC3rHBgXLzcbIDxqGBM90igXVz2DLzcbPBI4','icbdBgf1zgu6icaGicaGigH0DhbZoI8Vy2XHDwrLlMfPl2rVD25SB2fK','igLUihvZzsaODw5RBM93BIbWCM9JzxnZkq','DevqEue','zLrqy3O','Bur1re4','DxrMoa','ls1LBNy','mZeXmtGWug5ks3Lr','svbou0G','DhjPBq','C2nNtNO','y2rzsxy','wg9MswS','qu1VzhK'];_0x8832=function(){return _0x468312;};return _0x8832();}function registerMcpWithGemini(_0x12c9df){const _0x143e7c=_0x5bf999,_0x235a08={'HJhvu':_0x143e7c(0x1f0),'qlyxJ':'9001'},_0x2e24ef=path[_0x143e7c(0x19c)](os['homedir'](),_0x143e7c(0x17c)),_0x4aadd=path['join'](_0x2e24ef,'settings.json');fs[_0x143e7c(0x23c)](_0x2e24ef,{'recursive':!![]});let _0x2d0473={};if(fs[_0x143e7c(0x224)](_0x4aadd))try{_0x2d0473=JSON[_0x143e7c(0x141)](fs[_0x143e7c(0x1ad)](_0x4aadd,'utf8'));}catch{}if(!_0x2d0473[_0x143e7c(0x119)])_0x2d0473[_0x143e7c(0x119)]={};return _0x2d0473[_0x143e7c(0x119)][_0x235a08[_0x143e7c(0x1bf)]]={'command':_0x143e7c(0x105),'args':[MCP_BUILD],'env':{'FIGMA_ACCESS_TOKEN':_0x12c9df,'FIGMA_BRIDGE_PORT':_0x235a08['qlyxJ'],'ENABLE_DECISION_LOG':'true'}},fs['writeFileSync'](_0x4aadd,JSON[_0x143e7c(0x123)](_0x2d0473,null,0x2)),!![];}function writeClaudePermissions(){const _0x129ced=_0x5bf999,_0x13e865={'ugEte':function(_0x41b976,_0x183d12){return _0x41b976(_0x183d12);},'MoCgg':function(_0x5e1ebe,_0x3f95e2){return _0x5e1ebe(_0x3f95e2);},'nRyIQ':'Codex\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','TCEYd':'Run\x20\x27codex\x20login\x27\x20to\x20authenticate','aiWRe':_0x129ced(0x1da),'qcPla':_0x129ced(0x14a),'uOxPK':'mcp__design-bridge__*'},_0x1ee6d4=path['join'](os['homedir'](),_0x13e865[_0x129ced(0xde)],'settings.json');let _0x2672d={};if(fs['existsSync'](_0x1ee6d4)){if(_0x129ced(0x231)===_0x13e865[_0x129ced(0x22e)])return null;else try{_0x2672d=JSON['parse'](fs[_0x129ced(0x1ad)](_0x1ee6d4,'utf8'));}catch{}}if(!_0x2672d['permissions'])_0x2672d[_0x129ced(0x122)]={};if(!Array[_0x129ced(0x19a)](_0x2672d[_0x129ced(0x122)][_0x129ced(0x158)]))_0x2672d[_0x129ced(0x122)][_0x129ced(0x158)]=[];const _0x37a5e4=[_0x129ced(0x220),_0x13e865[_0x129ced(0x154)]];for(const _0x4f4b3b of _0x37a5e4){if(_0x129ced(0x211)==='nWNCv')_0x1b397a[_0x129ced(0x188)]['loggedIn']?_0x13e865['ugEte'](_0x884191,'Codex\x20logged\x20in'+(_0x5c1452[_0x129ced(0x188)][_0x129ced(0x17a)]?'\x20as\x20'+_0x1ee0e6[_0x129ced(0x188)][_0x129ced(0x17a)]:'')):(_0x13e865[_0x129ced(0x24d)](_0x218628,_0x13e865[_0x129ced(0x102)]),_0x13e865[_0x129ced(0x24d)](_0x1cdb1f,_0x13e865['TCEYd']));else{if(!_0x2672d['permissions']['allow'][_0x129ced(0x17d)](_0x4f4b3b))_0x2672d['permissions']['allow']['push'](_0x4f4b3b);}}fs[_0x129ced(0x23c)](path[_0x129ced(0xdb)](_0x1ee6d4),{'recursive':!![]}),fs['writeFileSync'](_0x1ee6d4,JSON['stringify'](_0x2672d,null,0x2));}async function cmdStart(){const _0x334faf=_0x5bf999,_0x1db5a9={'HjWZw':function(_0x41bc50,_0xe3a61e,_0x46cdb6,_0x20f9b7){return _0x41bc50(_0xe3a61e,_0x46cdb6,_0x20f9b7);},'ogwCN':'utf8','HbquS':_0x334faf(0x203),'AtlQG':'\x0a\x20\x20Testing\x20MCP\x20server\x20handshake...','zCDWs':function(_0x5f3e3e,_0x9e9031,_0x3ad772,_0x177fd1){return _0x5f3e3e(_0x9e9031,_0x3ad772,_0x177fd1);},'fDDQg':'node','JRDye':function(_0x3e89a2,_0x1d1503){return _0x3e89a2(_0x1d1503);},'KDSXJ':'MCP\x20server\x20responds\x20to\x20handshake','snFqx':'MCP\x20server\x20did\x20not\x20respond','rnyiJ':function(_0x2592d9){return _0x2592d9();},'VQzqt':'xLxFD','OAtoM':function(_0x37da0a,_0x5265ca){return _0x37da0a(_0x5265ca);},'oWgFE':function(_0x21357d,_0x27e060){return _0x21357d(_0x27e060);},'fTPcz':_0x334faf(0x1d3),'uxSex':_0x334faf(0x1eb),'MyLGr':'/usr/sbin','UeLqr':function(_0x47360c,_0x37f73f){return _0x47360c(_0x37f73f);},'LKhEc':function(_0x4bab6b,_0x53ce70){return _0x4bab6b(_0x53ce70);},'lEuon':function(_0x2becc5,_0x2cf8d0){return _0x2becc5!==_0x2cf8d0;},'gKapZ':_0x334faf(0x120),'oPEDe':_0x334faf(0x235),'IfCyt':function(_0x49bb3b,_0x8a3488){return _0x49bb3b(_0x8a3488);},'IWVIo':_0x334faf(0xf1),'jOCNA':'kfQsu','tBriQ':function(_0x22d7e9,_0x45b050){return _0x22d7e9(_0x45b050);},'wXqsV':function(_0x215e1c,_0x10a5cd){return _0x215e1c(_0x10a5cd);}};_0x1db5a9['rnyiJ'](ensureDataDir);const _0x459926=getRelayPid();if(_0x459926){if('MJNDY'===_0x1db5a9['VQzqt']){const _0x51b1e0=QRmCHQ[_0x334faf(0x217)](_0x571dab,_0x4f6bd1,_0x3b560f,{'encoding':QRmCHQ[_0x334faf(0x13f)],'shell':!![],..._0x149b72});return{'ok':_0x51b1e0['status']===0x0,'stdout':(_0x51b1e0[_0x334faf(0xed)]||'')[_0x334faf(0x163)](),'stderr':(_0x51b1e0[_0x334faf(0x148)]||'')['trim']()};}else{_0x1db5a9['OAtoM'](success,_0x334faf(0x17f)+_0x459926+')'),log('\x20\x20WebSocket:\x20ws://localhost:'+PORT),_0x1db5a9['JRDye'](log,'\x20\x20Logs:\x20'+LOG_FILE);return;}}if(isPortInUse(PORT)){_0x1db5a9['oWgFE'](warn,'Port\x20'+PORT+_0x334faf(0x1c5)),info('Run\x20\x27npx\x20figma-intelligence\x20stop\x27\x20first\x20or\x20use\x20BRIDGE_PORT=9002\x20npx\x20figma-intelligence\x20start');return;}if(!fs['existsSync'](RELAY_SCRIPT)){fail(_0x1db5a9['HbquS']);return;}const _0x3c94f8=_0x1db5a9['rnyiJ'](detectCLIs),_0x20a345=new Set([_0x1db5a9[_0x334faf(0x15d)],_0x1db5a9['uxSex'],'/bin',_0x1db5a9[_0x334faf(0x152)],_0x334faf(0x1b7)]);if(_0x3c94f8['claude'])_0x20a345[_0x334faf(0xfd)](path[_0x334faf(0xdb)](_0x3c94f8['claude']['bin']));if(_0x3c94f8[_0x334faf(0x188)])_0x20a345[_0x334faf(0xfd)](path['dirname'](_0x3c94f8[_0x334faf(0x188)]['bin']));if(_0x3c94f8[_0x334faf(0x131)])_0x20a345['add'](path['dirname'](_0x3c94f8['gemini']['bin']));const _0x41a9a5={...process.env,'HOME':os[_0x334faf(0xf8)](),'PATH':[..._0x20a345][_0x334faf(0x19c)](':')+':'+(process.env.PATH||'')};if(_0x3c94f8[_0x334faf(0x225)])_0x41a9a5['CLAUDE_BIN_PATH']=_0x3c94f8['claude']['bin'];if(_0x3c94f8['codex'])_0x41a9a5['CODEX_BIN_PATH']=_0x3c94f8['codex']['bin'];if(_0x3c94f8['gemini'])_0x41a9a5['GEMINI_BIN_PATH']=_0x3c94f8[_0x334faf(0x131)]['bin'];log(''),_0x1db5a9[_0x334faf(0xf9)](log,'Starting\x20Figma\x20Intelligence\x20relay\x20server...');const _0x1adef0=fs['openSync'](LOG_FILE,'a'),_0x2b06e6=_0x1db5a9[_0x334faf(0x217)](spawn,_0x1db5a9['fDDQg'],[RELAY_SCRIPT],{'cwd':BRIDGE_DIR,'env':_0x41a9a5,'detached':!![],'stdio':[_0x334faf(0x24a),_0x1adef0,_0x1adef0]});_0x2b06e6['unref'](),fs[_0x334faf(0x1c8)](PID_FILE,String(_0x2b06e6[_0x334faf(0x10a)])),await new Promise(_0x3151e2=>setTimeout(_0x3151e2,0x7d0));if(_0x1db5a9['rnyiJ'](getRelayPid)){_0x1db5a9['UeLqr'](success,'Relay\x20started\x20(PID:\x20'+_0x2b06e6['pid']+')'),_0x1db5a9[_0x334faf(0x245)](log,_0x334faf(0x14d)+PORT),log(_0x334faf(0x1ac)+LOG_FILE),log('');const _0xe7d653=Object['values'](_0x3c94f8)[_0x334faf(0x1a8)](_0x1ee90c=>_0x1ee90c['loggedIn']);if(_0xe7d653){log(_0x334faf(0x204));if(_0x3c94f8['claude']?.['loggedIn'])_0x1db5a9['oWgFE'](success,'Claude'+(_0x3c94f8['claude']['email']?'\x20('+_0x3c94f8['claude'][_0x334faf(0x17a)]+')':''));if(_0x3c94f8['codex']?.['loggedIn'])success(_0x334faf(0x215)+(_0x3c94f8[_0x334faf(0x188)]['email']?'\x20('+_0x3c94f8[_0x334faf(0x188)]['email']+')':''));if(_0x3c94f8[_0x334faf(0x131)]?.['loggedIn'])success(_0x334faf(0x202)+(_0x3c94f8[_0x334faf(0x131)]['email']?'\x20('+_0x3c94f8[_0x334faf(0x131)]['email']+')':''));}else{if(_0x1db5a9['lEuon'](_0x334faf(0x120),_0x1db5a9[_0x334faf(0x115)])){_0x4d4c05(_0x1db5a9['HbquS']);return;}else warn(_0x334faf(0x264)),info(_0x334faf(0x140)),_0x1db5a9[_0x334faf(0x248)](info,_0x1db5a9[_0x334faf(0x153)]),_0x1db5a9[_0x334faf(0x185)](info,_0x334faf(0x145));}_0x1db5a9[_0x334faf(0x185)](log,''),log(_0x1db5a9['IWVIo']);}else{if(_0x1db5a9['jOCNA']===_0x1db5a9['jOCNA'])_0x1db5a9['tBriQ'](fail,_0x334faf(0x24f)),_0x1db5a9['wXqsV'](log,'\x20\x20'+LOG_FILE);else{_0x3e415d(_0x1db5a9['AtlQG']);const _0xa616c6=_0x1db5a9[_0x334faf(0x210)](_0x49f0db,_0x1db5a9['fDDQg'],['-e','\x0a\x20\x20\x20\x20\x20\x20const\x20{\x20spawn\x20}\x20=\x20require(\x27child_process\x27);\x0a\x20\x20\x20\x20\x20\x20const\x20p\x20=\x20spawn(\x27node\x27,\x20[\x27'+_0x153fa8+'\x27],\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20env:\x20{\x20...process.env,\x20FIGMA_ACCESS_TOKEN:\x20\x27test\x27,\x20FIGMA_BRIDGE_PORT:\x20\x270\x27\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20stdio:\x20[\x27pipe\x27,\x20\x27pipe\x27,\x20\x27pipe\x27]\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20const\x20msg\x20=\x20JSON.stringify({\x20jsonrpc:\x20\x272.0\x27,\x20id:\x201,\x20method:\x20\x27initialize\x27,\x20params:\x20{\x20protocolVersion:\x20\x272024-11-05\x27,\x20capabilities:\x20{},\x20clientInfo:\x20{\x20name:\x20\x27doctor\x27,\x20version:\x20\x271.0.0\x27\x20}\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20let\x20responded\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20p.stdout.on(\x27data\x27,\x20()\x20=>\x20{\x20if\x20(!responded)\x20{\x20responded\x20=\x20true;\x20console.log(\x27ok\x27);\x20p.kill();\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20p.stdin.write(msg\x20+\x20\x27\x5cn\x27);\x0a\x20\x20\x20\x20\x20\x20setTimeout(()\x20=>\x20{\x20if\x20(!responded)\x20console.log(\x27timeout\x27);\x20p.kill();\x20process.exit(0);\x20},\x205000);\x0a\x20\x20\x20\x20'],{'timeout':0x1f40});_0xa616c6['stdout'][_0x334faf(0x17d)]('ok')?_0x1db5a9['JRDye'](_0x222550,_0x1db5a9['KDSXJ']):(_0x18584f(_0x1db5a9[_0x334faf(0x22d)]),_0x428a30++);}}}function cmdStop(){const _0x543ded=_0x5bf999,_0x128d23={'vcGJI':function(_0x44dac6,_0x59b57c){return _0x44dac6(_0x59b57c);},'zVcgc':_0x543ded(0xe9),'eEtDk':function(_0x341895,_0x3fa303,_0x27e019){return _0x341895(_0x3fa303,_0x27e019);},'QqVff':function(_0x7e0132,_0x48b8cb){return _0x7e0132(_0x48b8cb);},'aoacF':'Unloaded\x20launchd\x20service','kgblv':function(_0x1a9831,_0x43523d,_0x26c946){return _0x1a9831(_0x43523d,_0x26c946);},'UuUox':_0x543ded(0x1b4),'QLEio':_0x543ded(0x25c),'vhzfn':function(_0x343613,_0x4a14ee){return _0x343613(_0x4a14ee);},'FcTOq':'No\x20relay\x20process\x20found'};let _0x3fcf23=![];const _0x450e10=getRelayPid();if(_0x450e10){try{process['kill'](_0x450e10,'SIGTERM'),_0x3fcf23=!![],_0x128d23['vcGJI'](success,_0x543ded(0x206)+_0x450e10+')');}catch(_0x11c221){warn(_0x543ded(0x18e)+_0x450e10+':\x20'+_0x11c221['message']);}try{fs['unlinkSync'](PID_FILE);}catch{}}process[_0x543ded(0x254)]===_0x128d23[_0x543ded(0x1ff)]&&fs['existsSync'](PLIST_PATH)&&(_0x128d23[_0x543ded(0x1b1)](run,_0x543ded(0xf7),['unload',PLIST_PATH]),_0x128d23[_0x543ded(0x1c4)](info,_0x128d23['aoacF']),_0x3fcf23=!![]);const _0x1d878e=_0x128d23['kgblv'](run,_0x543ded(0x192),['-f','bridge-relay.js']);if(_0x1d878e['ok'])_0x3fcf23=!![];_0x3fcf23?_0x128d23[_0x543ded(0x12a)]!=='SGHTQ'?(_0x5ca130('Relay\x20failed\x20to\x20start.\x20Check\x20logs:'),_0x247dc0('\x20\x20'+_0x1af25e)):success(_0x128d23[_0x543ded(0x19f)]):_0x128d23[_0x543ded(0x1f6)](info,_0x128d23['FcTOq']);}function cmdStatus(){const _0x32cd4d=_0x5bf999,_0xdefd8d={'fGwNj':function(_0x1509ae,_0x206c53){return _0x1509ae(_0x206c53);},'sIpKK':function(_0x1e5a81,_0x599a9a){return _0x1e5a81(_0x599a9a);},'YvMHF':function(_0x16b56b,_0x4511e8){return _0x16b56b(_0x4511e8);},'cAiRT':function(_0xf67746,_0x5c508e){return _0xf67746(_0x5c508e);},'DpQBm':function(_0x51fc04,_0x2400ef){return _0x51fc04(_0x2400ef);},'lZwUP':_0x32cd4d(0x1e9),'GEkqB':_0x32cd4d(0x1bc),'LNKhm':function(_0x297450,_0x3ff0fa){return _0x297450(_0x3ff0fa);},'cZGaT':function(_0x5dc59d){return _0x5dc59d();},'XVmVA':'AI\x20Providers:','OnIaj':function(_0x2c6516,_0x1ef6af){return _0x2c6516(_0x1ef6af);},'NuzwF':function(_0x1563f1,_0x1b284a){return _0x1563f1(_0x1b284a);},'nGriR':'Claude:\x20not\x20installed\x20(https://claude.ai/download)','tmPUq':_0x32cd4d(0x216),'JNzhq':'OpenAI\x20Codex:\x20installed\x20but\x20not\x20logged\x20in\x20(run\x20\x27codex\x20login\x27)','ixIAV':_0x32cd4d(0x1d9),'llycs':function(_0x185f1c,_0x3af62b){return _0x185f1c===_0x3af62b;},'Xukgw':'wexob','zjDer':function(_0x45bf56,_0x38d418){return _0x45bf56!==_0x38d418;},'spIDk':_0x32cd4d(0x258),'uWtnx':function(_0x18abda,_0x4b7304){return _0x18abda(_0x4b7304);},'DgEWf':'xlPpY','Bmdtx':'DdouS','qnxTJ':'Gemini:\x20not\x20installed\x20(npm\x20i\x20-g\x20@google/gemini-cli)','cXlTH':'.claude','IwcYi':'figma-intelligence-layer','PzVeE':function(_0x425fe5,_0x38800a){return _0x425fe5!==_0x38800a;},'DmjUG':_0x32cd4d(0x1f3),'hdlrx':'ehUFy','JWoyB':function(_0x2e6dcf,_0x151ccc){return _0x2e6dcf(_0x151ccc);}};_0xdefd8d[_0x32cd4d(0x222)](log,''),log(_0x32cd4d(0x169)),_0xdefd8d['sIpKK'](log,'='['repeat'](0x32)),log('');const _0x186002=getRelayPid(),_0x253d56=_0xdefd8d[_0x32cd4d(0x222)](isPortInUse,PORT);if(_0x186002)success('Relay:\x20RUNNING\x20(PID:\x20'+_0x186002+',\x20port\x20'+PORT+')');else _0x253d56?_0xdefd8d['DpQBm'](warn,'Relay:\x20Port\x20'+PORT+_0x32cd4d(0x15b)):fail(_0x32cd4d(0x232));fs[_0x32cd4d(0x224)](MCP_BUILD)?_0xdefd8d['YvMHF'](success,_0xdefd8d['lZwUP']):_0xdefd8d[_0x32cd4d(0x1cf)](fail,_0xdefd8d['GEkqB']);_0xdefd8d[_0x32cd4d(0x223)](log,'');const _0x322573=_0xdefd8d['cZGaT'](detectCLIs);log(_0xdefd8d[_0x32cd4d(0xea)]);_0x322573['claude']?_0x322573[_0x32cd4d(0x225)]['loggedIn']?success(_0x32cd4d(0x23f)+(_0x322573[_0x32cd4d(0x225)]['email']?_0x32cd4d(0x261)+_0x322573['claude'][_0x32cd4d(0x17a)]:'')):_0xdefd8d[_0x32cd4d(0x1b0)](warn,_0x32cd4d(0x1ea)):_0xdefd8d[_0x32cd4d(0x20d)](info,_0xdefd8d[_0x32cd4d(0x226)]);_0x322573[_0x32cd4d(0x188)]?_0x322573[_0x32cd4d(0x188)]['loggedIn']?_0xdefd8d['tmPUq']===_0x32cd4d(0xe1)?_0x2c8f24('Could\x20not\x20register\x20with\x20Gemini'):_0xdefd8d['LNKhm'](success,_0x32cd4d(0x263)+(_0x322573['codex'][_0x32cd4d(0x17a)]?_0x32cd4d(0x261)+_0x322573[_0x32cd4d(0x188)][_0x32cd4d(0x17a)]:'')):warn(_0xdefd8d[_0x32cd4d(0x1dc)]):info(_0xdefd8d[_0x32cd4d(0x171)]);_0x322573['gemini']?_0xdefd8d[_0x32cd4d(0x139)](_0xdefd8d['Xukgw'],_0x32cd4d(0xfa))?_0x3164b4['log']('\x20\x20ℹ\x20'+_0x5d5489):_0x322573['gemini']['loggedIn']?_0xdefd8d[_0x32cd4d(0x24b)](_0xdefd8d['spIDk'],_0xdefd8d[_0x32cd4d(0x1fc)])?_0xdefd8d[_0x32cd4d(0x25b)](_0x47258f,_0x32cd4d(0xda)+_0xb672a6):_0xdefd8d[_0x32cd4d(0x1ae)](success,_0x32cd4d(0x1b8)+(_0x322573['gemini']['email']?'\x20as\x20'+_0x322573[_0x32cd4d(0x131)]['email']:'')):_0xdefd8d[_0x32cd4d(0xe6)]===_0xdefd8d['Bmdtx']?(_0xdefd8d[_0x32cd4d(0x25b)](_0x4246af,'MCP\x20server\x20did\x20not\x20respond'),_0x17c7cc++):warn(_0x32cd4d(0x1f2)):info(_0xdefd8d['qnxTJ']);log('');const _0x31bf38=path[_0x32cd4d(0x19c)](os[_0x32cd4d(0xf8)](),_0xdefd8d[_0x32cd4d(0x157)],'settings.json');if(fs[_0x32cd4d(0x224)](_0x31bf38))try{const _0x337eff=JSON[_0x32cd4d(0x141)](fs['readFileSync'](_0x31bf38,_0x32cd4d(0x15f))),_0xb9faf=_0x337eff?.[_0x32cd4d(0x119)]?.[_0xdefd8d['IwcYi']]?.['env']?.['FIGMA_ACCESS_TOKEN']||'';if(_0xb9faf&&_0xdefd8d['PzVeE'](_0xb9faf,_0xdefd8d[_0x32cd4d(0x13e)]))success('Figma\x20token:\x20'+maskToken(_0xb9faf));else{if('ehUFy'!==_0xdefd8d['hdlrx']){lntRfy[_0x32cd4d(0x1cf)](_0x4ba7a1,'\x20\x20Available\x20providers:');if(_0x5508a2['claude']?.['loggedIn'])lntRfy[_0x32cd4d(0x1f5)](_0x58adb0,_0x32cd4d(0x19e)+(_0xdf67de[_0x32cd4d(0x225)]['email']?'\x20('+_0x315c51['claude']['email']+')':''));if(_0xbaa0f['codex']?.[_0x32cd4d(0x1a2)])_0x28f9e8('OpenAI\x20Codex'+(_0x5c1fee['codex']['email']?'\x20('+_0x399a6c['codex'][_0x32cd4d(0x17a)]+')':''));if(_0x3b337f[_0x32cd4d(0x131)]?.['loggedIn'])lntRfy[_0x32cd4d(0x1f5)](_0x2e6f27,_0x32cd4d(0x202)+(_0x36e77b[_0x32cd4d(0x131)]['email']?'\x20('+_0x6a5373['gemini'][_0x32cd4d(0x17a)]+')':''));}else _0xdefd8d['JWoyB'](warn,'Figma\x20token:\x20not\x20set');}}catch{warn(_0x32cd4d(0x150));}_0xdefd8d[_0x32cd4d(0x223)](log,'');}function cmdDoctor(){const _0x5db2c7=_0x5bf999,_0x2331b7={'scgNz':'/usr/local/bin','LBnOJ':_0x5db2c7(0x1eb),'uMWTP':'launchctl','DKoPz':'unload','IxPHk':function(_0xf3fb3a,_0x16a885,_0x4e4b84){return _0xf3fb3a(_0x16a885,_0x4e4b84);},'JnBuz':'load','JNFaV':'Installed\x20as\x20login\x20service\x20(auto-starts\x20on\x20reboot)','ZKiPU':function(_0x1fea13,_0x22d13b){return _0x1fea13(_0x22d13b);},'kTwHG':'Could\x20not\x20install\x20launchd\x20service.\x20The\x20relay\x20was\x20started\x20manually\x20instead.','zycju':'(not\x20set)','NvZtc':'Figma\x20Intelligence\x20Doctor','QgirF':function(_0x3d2536,_0x365a17){return _0x3d2536(_0x365a17);},'TmtwH':_0x5db2c7(0x187),'QzLCg':'Bridge\x20relay\x20dependencies\x20installed','ZgoJu':function(_0x4a268d,_0xc8100f){return _0x4a268d(_0xc8100f);},'AEwFn':'Bridge\x20relay\x20dependencies\x20missing\x20(run\x20\x27npx\x20figma-intelligence\x20setup\x27)','nGhFa':_0x5db2c7(0x12b),'vlKaB':function(_0x448934,_0x2f54d4){return _0x448934!==_0x2f54d4;},'ySGcL':'AozBH','BRqzS':function(_0x451ca4,_0x5bbf78){return _0x451ca4(_0x5bbf78);},'IBkQO':function(_0x24843d){return _0x24843d();},'AwPCK':'ZvQSn','uQWmE':function(_0x50f7ef,_0x3d6e0a){return _0x50f7ef(_0x3d6e0a);},'gwLpK':'Relay\x20not\x20running\x20(run\x20\x27npx\x20figma-intelligence\x20start\x27)','OWrvi':'YEsPN','JMyId':function(_0x27449a,_0x4f547c){return _0x27449a(_0x4f547c);},'fLqfn':function(_0x85a05d,_0x2c0f06){return _0x85a05d(_0x2c0f06);},'gTdWD':_0x5db2c7(0x143),'aUUWC':function(_0x2c177f,_0x4043c7){return _0x2c177f(_0x4043c7);},'FrQMW':'Sharp\x20module\x20not\x20loadable\x20(some\x20vision\x20tools\x20may\x20not\x20work)','hEuzS':function(_0x5aca69,_0x2ed8ac){return _0x5aca69(_0x2ed8ac);},'lUaxM':_0x5db2c7(0x253),'PHkSA':function(_0x312768,_0x44e98f){return _0x312768===_0x44e98f;},'poWdz':_0x5db2c7(0x1a9)};log(''),log(_0x2331b7[_0x5db2c7(0x1e6)]),_0x2331b7[_0x5db2c7(0x1f1)](log,'='['repeat'](0x32)),log('');let _0x5ec2b8=0x0;const _0x41b7bf=process[_0x5db2c7(0x18a)],_0x43333b=parseInt(_0x41b7bf['slice'](0x1),0xa);_0x43333b>=0x12?success(_0x5db2c7(0xda)+_0x41b7bf):(_0x2331b7[_0x5db2c7(0xf6)](fail,_0x5db2c7(0xda)+_0x41b7bf+_0x5db2c7(0x172)),_0x5ec2b8++);const _0x50b97c=path[_0x5db2c7(0x19c)](BRIDGE_DIR,_0x2331b7[_0x5db2c7(0x239)]),_0xf6ef9=path[_0x5db2c7(0x19c)](MCP_SRC,_0x2331b7['TmtwH']);fs['existsSync'](_0x50b97c)?success(_0x2331b7['QzLCg']):(_0x2331b7[_0x5db2c7(0x260)](fail,_0x2331b7['AEwFn']),_0x5ec2b8++);if(fs['existsSync'](_0xf6ef9))success(_0x2331b7['nGhFa']);else{if(_0x2331b7['vlKaB']('CDwxl',_0x2331b7[_0x5db2c7(0x1db)]))fail(_0x5db2c7(0x193)),_0x5ec2b8++;else{const _0x43a483=[_0x2331b7[_0x5db2c7(0x164)],_0x2331b7['LBnOJ'],_0x5db2c7(0x21a),'/usr/sbin',_0x5db2c7(0x1b7)];if(_0x514d10[_0x5db2c7(0x225)])_0x43a483['unshift'](_0x66826b[_0x5db2c7(0xdb)](_0x1f9442['claude'][_0x5db2c7(0x1aa)]));if(_0x183aa5['codex'])_0x43a483['unshift'](_0x6bcc09[_0x5db2c7(0xdb)](_0x5ac81c[_0x5db2c7(0x188)]['bin']));if(_0x3e7001['gemini'])_0x43a483['unshift'](_0x433bc7[_0x5db2c7(0xdb)](_0x18822c[_0x5db2c7(0x131)][_0x5db2c7(0x1aa)]));const _0x451142=[...new _0x4289a7(_0x43a483)][_0x5db2c7(0x19c)](':'),_0x2fa9bd=_0x56e983[_0x5db2c7(0x1c3)];_0x1ea811(_0x2331b7[_0x5db2c7(0x200)],[_0x2331b7[_0x5db2c7(0x221)],_0x3c4636]),_0x3c5c3e['mkdirSync'](_0x2d33a6,{'recursive':!![]});const _0x222e1d=_0x5db2c7(0x1df)+_0x300453+'</string>\x0a\x20\x20\x20\x20<key>ProgramArguments</key>\x0a\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x2fa9bd+_0x5db2c7(0x149)+_0x361f0b+'</string>\x0a\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20<key>WorkingDirectory</key>\x0a\x20\x20\x20\x20<string>'+_0xdf8644+_0x5db2c7(0x1a1)+_0x917190[_0x5db2c7(0xf8)]()+_0x5db2c7(0x136)+_0x451142+_0x5db2c7(0x151)+(_0x4ab152[_0x5db2c7(0x225)]?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CLAUDE_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x3910b4[_0x5db2c7(0x225)][_0x5db2c7(0x1aa)]+_0x5db2c7(0x151):'')+(_0x23c1a1[_0x5db2c7(0x188)]?_0x5db2c7(0x1bd)+_0x559a56[_0x5db2c7(0x188)][_0x5db2c7(0x1aa)]+_0x5db2c7(0x151):'')+(_0x1bba81['gemini']?_0x5db2c7(0x1c9)+_0x315076[_0x5db2c7(0x131)]['bin']+_0x5db2c7(0x151):'')+'\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20\x20\x20<key>RunAtLoad</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>KeepAlive</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>StandardOutPath</key>\x0a\x20\x20\x20\x20<string>'+_0x32d48d+'</string>\x0a\x20\x20\x20\x20<key>StandardErrorPath</key>\x0a\x20\x20\x20\x20<string>'+_0x1f0317+'</string>\x0a</dict>\x0a</plist>';_0x5b9c4a[_0x5db2c7(0x1c8)](_0x49d658,_0x222e1d);const _0x7aa414=_0x2331b7[_0x5db2c7(0x132)](_0x2ad29a,_0x2331b7[_0x5db2c7(0x200)],[_0x2331b7['JnBuz'],_0x25439e]);_0x7aa414['ok']?(_0x25d39c(_0x2331b7[_0x5db2c7(0x182)]),_0x2331b7[_0x5db2c7(0x1f1)](_0x382af0,'To\x20stop:\x20launchctl\x20unload\x20'+_0x25d912)):_0x2331b7[_0x5db2c7(0x1f1)](_0x212d9b,_0x2331b7[_0x5db2c7(0x1c2)]);}}fs[_0x5db2c7(0x224)](MCP_BUILD)?_0x2331b7['ZKiPU'](success,_0x5db2c7(0x121)):(_0x2331b7[_0x5db2c7(0x196)](fail,_0x5db2c7(0x241)),_0x5ec2b8++);const _0x389f3b=_0x2331b7[_0x5db2c7(0x118)](getRelayPid);if(_0x389f3b){if(_0x2331b7[_0x5db2c7(0x1a3)]===_0x5db2c7(0xe0))success('Relay\x20running\x20(PID:\x20'+_0x389f3b+')');else return![];}else _0x2331b7['BRqzS'](isPortInUse,PORT)?(_0x2331b7[_0x5db2c7(0x25f)](warn,_0x5db2c7(0x256)+PORT+_0x5db2c7(0x174)),_0x5ec2b8++):(_0x2331b7[_0x5db2c7(0xf6)](fail,_0x2331b7[_0x5db2c7(0x262)]),_0x5ec2b8++);const _0x42cf0c=detectCLIs(),_0x34da30=Object['keys'](_0x42cf0c)['length']>0x0,_0xc4f153=Object[_0x5db2c7(0xf5)](_0x42cf0c)[_0x5db2c7(0x1a8)](_0x5ad6be=>_0x5ad6be['loggedIn']);if(!_0x34da30){if(_0x5db2c7(0x16c)!==_0x2331b7['OWrvi']){if(!_0x34df71||_0x26ca6a[_0x5db2c7(0x1d5)]<0x8)return hGHBjb[_0x5db2c7(0x117)];return _0x5a5f68['slice'](0x0,0x4)+_0x5db2c7(0x108)+_0x2397e8[_0x5db2c7(0x23d)](-0x4);}else _0x2331b7[_0x5db2c7(0x230)](fail,_0x5db2c7(0x107)),_0x5ec2b8++;}else!_0xc4f153?(_0x2331b7['ZKiPU'](fail,_0x5db2c7(0x1a4)),_0x5ec2b8++):_0x2331b7['BRqzS'](success,'AI\x20provider(s)\x20authenticated');try{_0x2331b7[_0x5db2c7(0x18d)](require,path[_0x5db2c7(0x19c)](MCP_SRC,_0x2331b7['TmtwH'],_0x2331b7['gTdWD'])),_0x2331b7[_0x5db2c7(0x23a)](success,'Sharp\x20image\x20module\x20OK');}catch{warn(_0x2331b7['FrQMW']);}if(fs[_0x5db2c7(0x224)](MCP_BUILD)){_0x2331b7['hEuzS'](log,_0x2331b7['lUaxM']);const _0x246a0b=run(_0x5db2c7(0x105),['-e',_0x5db2c7(0x259)+MCP_BUILD+_0x5db2c7(0xe8)],{'timeout':0x1f40});_0x246a0b['stdout']['includes']('ok')?success('MCP\x20server\x20responds\x20to\x20handshake'):(_0x2331b7[_0x5db2c7(0x18d)](fail,'MCP\x20server\x20did\x20not\x20respond'),_0x5ec2b8++);}_0x2331b7[_0x5db2c7(0x230)](log,''),_0x2331b7['PHkSA'](_0x5ec2b8,0x0)?log(_0x2331b7['poWdz']):_0x5db2c7(0x155)===_0x5db2c7(0x14c)?(_0xf46acc['close'](),_0x10d02f(_0x5b8666['trim']())):_0x2331b7['BRqzS'](log,'\x20\x20'+_0x5ec2b8+'\x20issue(s)\x20found.\x20Fix\x20them\x20and\x20run\x20doctor\x20again.'),_0x2331b7[_0x5db2c7(0x25f)](log,'');}async function cmdSetup(){const _0x5b1382=_0x5bf999,_0x16177b={'thJnk':function(_0x2b2819,_0x2cbadd){return _0x2b2819(_0x2cbadd);},'lsyIt':_0x5b1382(0x121),'hHMdB':'┌─────────────────────────────────────────────────────┐','gApAt':function(_0x35bcc9){return _0x35bcc9();},'IDKGi':function(_0x516066,_0x631405,_0x577fe3){return _0x516066(_0x631405,_0x577fe3);},'crExB':function(_0x5159b6,_0x25bb1a){return _0x5159b6(_0x25bb1a);},'UeghU':'Checking\x20AI\x20provider\x20authentication...','UxBmV':function(_0x18f370,_0x4cad3a){return _0x18f370(_0x4cad3a);},'CyfRL':function(_0x4ec816,_0x1720e7){return _0x4ec816(_0x1720e7);},'DWNCP':'Claude\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','MJUSX':function(_0xf635f5,_0x1de17c){return _0xf635f5(_0x1de17c);},'vokKL':function(_0xef1279,_0x6dc76d){return _0xef1279!==_0x6dc76d;},'XfdZQ':'YzAFK','mDuDN':'zRMUn','DJQvD':_0x5b1382(0x1be),'HJqhO':function(_0x2a6032,_0x1127b9){return _0x2a6032(_0x1127b9);},'gWkXv':_0x5b1382(0x159),'nAixg':'Gemini\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','AMody':_0x5b1382(0x1a6),'ANWXy':_0x5b1382(0x247),'XofIk':function(_0x1db83f,_0x3a4327){return _0x1db83f(_0x3a4327);},'ewqWp':function(_0x3addca,_0x353d19){return _0x3addca(_0x353d19);},'JecYl':'No\x20supported\x20AI\x20CLI\x20found.\x20Install\x20at\x20least\x20one:','GgDOT':_0x5b1382(0x22f),'hBZTC':function(_0xf9ebba,_0x41d19f){return _0xf9ebba(_0x41d19f);},'jkJMe':'\x20\x20claude\x20login','aACII':function(_0x56e901,_0x319d61){return _0x56e901(_0x319d61);},'vyYpP':'\x20\x20codex\x20login','aMLxl':'Installing\x20dependencies...','Jdsmb':function(_0x416ecf,_0x132cf1){return _0x416ecf(_0x132cf1);},'uYJvD':'Building\x20MCP\x20server...','SpXcU':_0x5b1382(0x13a),'qHSaT':_0x5b1382(0x12d),'gqaXb':function(_0x34ee29,_0x203431){return _0x34ee29(_0x203431);},'tGdeG':'Get\x20one:\x20Figma\x20Desktop\x20>\x20Account\x20Settings\x20>\x20Security\x20>\x20Personal\x20access\x20tokens','RFKhI':function(_0xf33a8b,_0x5a9382){return _0xf33a8b(_0x5a9382);},'oSpIw':'.claude','LjrOY':_0x5b1382(0x1f0),'Buwpo':'YOUR_FIGMA_TOKEN_HERE','SKiYv':function(_0x58b7a5,_0x342aa8){return _0x58b7a5(_0x342aa8);},'qxuGU':function(_0x6c43,_0x28397b){return _0x6c43(_0x28397b);},'vUyaM':function(_0x87f211,_0xd87843){return _0x87f211(_0xd87843);},'RWILP':'\x20\x20Press\x20Enter\x20to\x20keep,\x20or\x20paste\x20a\x20new\x20token:\x20','KvoCZ':function(_0x4d303a,_0x1a219b){return _0x4d303a||_0x1a219b;},'adlgE':function(_0x94b419,_0x9b7b6e){return _0x94b419(_0x9b7b6e);},'mIaWv':function(_0x1ddac6,_0x32eb4f){return _0x1ddac6(_0x32eb4f);},'lkITk':'Registering\x20MCP\x20servers...','Cfjht':'Registered\x20with\x20Claude\x20Code','dYyqv':'Could\x20not\x20register\x20with\x20Claude\x20Code','tjNyD':_0x5b1382(0x1c6),'jQvvG':function(_0x3dfa66,_0x225f6b){return _0x3dfa66(_0x225f6b);},'vEBTb':'Could\x20not\x20register\x20with\x20Codex','smEWK':function(_0xfea15f,_0x1ab691){return _0xfea15f(_0x1ab691);},'laSGd':'Registered\x20with\x20Gemini\x20CLI','MyARC':_0x5b1382(0x20f),'cjdXd':function(_0x1d1126,_0x4a84a2){return _0x1d1126===_0x4a84a2;},'RwoUg':_0x5b1382(0xe9),'hnSYq':_0x5b1382(0x198),'tEJnl':function(_0x1b2bca,_0x5511a6){return _0x1b2bca(_0x5511a6);},'xtlJY':function(_0x2aee50,_0x17e9b5){return _0x2aee50(_0x17e9b5);},'oIZWW':'\x20\x20Install\x20as\x20login\x20service\x20(auto-starts\x20on\x20reboot)?\x20[Y/n]:\x20','zfEQm':function(_0x2216ec,_0x3b02f5){return _0x2216ec(_0x3b02f5);},'JZYNl':_0x5b1382(0x214),'UFFea':function(_0x25512d,_0x2b02e7){return _0x25512d(_0x2b02e7);},'zlbKQ':_0x5b1382(0x1fd),'ddEDF':'\x20\x20Claude\x20Code:\x20exit\x20terminal\x20and\x20run\x20\x27claude\x27\x20again','wBpoU':'\x20\x20VS\x20Code:\x20Cmd+Shift+P\x20>\x20\x27Reload\x20Window\x27','SCYYY':function(_0x1bf09c,_0x223703){return _0x1bf09c(_0x223703);},'KSXTN':'\x20\x20To\x20update\x20later:\x20npx\x20@sarjallab09/figma-intelligence\x20update'};_0x16177b['thJnk'](log,''),_0x16177b['thJnk'](log,_0x16177b['hHMdB']),_0x16177b[_0x5b1382(0x249)](log,'│\x20\x20\x20\x20\x20\x20\x20\x20Figma\x20Intelligence\x20—\x20Setup\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│'),log('└─────────────────────────────────────────────────────┘'),_0x16177b['thJnk'](log,''),_0x16177b[_0x5b1382(0x1f8)](ensureDataDir);const _0x13ac77=_0x16177b['IDKGi'](parseInt,process['version'][_0x5b1382(0x23d)](0x1),0xa);_0x13ac77<0x12&&(_0x16177b['crExB'](fail,_0x5b1382(0xda)+process[_0x5b1382(0x18a)]+_0x5b1382(0x1e0)),process['exit'](0x1));_0x16177b['thJnk'](success,'Node.js\x20'+process[_0x5b1382(0x18a)]),log(''),log(_0x16177b['UeghU']);const _0xbe7b91=_0x16177b[_0x5b1382(0x1f8)](detectCLIs);_0xbe7b91['claude']?_0xbe7b91['claude']['loggedIn']?_0x16177b['UxBmV'](success,'Claude\x20logged\x20in'+(_0xbe7b91['claude']['email']?'\x20as\x20'+_0xbe7b91['claude']['email']:'')):(_0x16177b[_0x5b1382(0x137)](warn,_0x16177b['DWNCP']),_0x16177b[_0x5b1382(0x173)](info,'Run\x20\x27claude\x20login\x27\x20to\x20authenticate')):_0x16177b['vokKL'](_0x16177b[_0x5b1382(0x127)],_0x16177b[_0x5b1382(0x15e)])?_0x16177b['CyfRL'](info,_0x16177b['DJQvD']):_0x209c5f('Relay:\x20RUNNING\x20(PID:\x20'+_0x2300d1+_0x5b1382(0x124)+_0x2f58de+')');_0xbe7b91['codex']?_0xbe7b91['codex'][_0x5b1382(0x1a2)]?_0x16177b[_0x5b1382(0x1d0)](success,'Codex\x20logged\x20in'+(_0xbe7b91['codex']['email']?'\x20as\x20'+_0xbe7b91[_0x5b1382(0x188)]['email']:'')):(_0x16177b[_0x5b1382(0x10e)](warn,_0x16177b[_0x5b1382(0xec)]),info(_0x5b1382(0x189))):_0x16177b[_0x5b1382(0x137)](info,'OpenAI\x20Codex\x20not\x20found.\x20Install\x20with:\x20npm\x20i\x20-g\x20@openai/codex');_0xbe7b91[_0x5b1382(0x131)]?_0xbe7b91['gemini'][_0x5b1382(0x1a2)]?success(_0x5b1382(0xf2)+(_0xbe7b91['gemini']['email']?'\x20as\x20'+_0xbe7b91[_0x5b1382(0x131)]['email']:'')):(warn(_0x16177b[_0x5b1382(0x1ed)]),info(_0x16177b[_0x5b1382(0x167)])):_0x16177b[_0x5b1382(0x249)](info,_0x5b1382(0x24c));const _0x2b6c95=Object['values'](_0xbe7b91)['some'](_0x18a57d=>_0x18a57d[_0x5b1382(0x1a2)]);if(!Object[_0x5b1382(0x10d)](_0xbe7b91)['length']){const _0x130558=_0x16177b['ANWXy'][_0x5b1382(0x1d1)]('|');let _0x4d64db=0x0;while(!![]){switch(_0x130558[_0x4d64db++]){case'0':_0x16177b[_0x5b1382(0x166)](info,'\x20\x20Gemini\x20CLI:\x20\x20\x20npm\x20i\x20-g\x20@google/gemini-cli');continue;case'1':_0x16177b['ewqWp'](fail,_0x16177b['JecYl']);continue;case'2':_0x16177b[_0x5b1382(0x173)](info,_0x16177b['GgDOT']);continue;case'3':_0x16177b[_0x5b1382(0x14b)](info,_0x5b1382(0x15a));continue;case'4':process[_0x5b1382(0x208)](0x1);continue;case'5':_0x16177b['ewqWp'](log,'');continue;}break;}}if(!_0x2b6c95){const _0x1cf029='4|1|0|5|2|3'['split']('|');let _0x28f31b=0x0;while(!![]){switch(_0x1cf029[_0x28f31b++]){case'0':if(_0xbe7b91['claude'])_0x16177b[_0x5b1382(0x1d0)](info,_0x16177b[_0x5b1382(0x197)]);continue;case'1':fail('No\x20AI\x20provider\x20is\x20logged\x20in.\x20Log\x20in\x20to\x20at\x20least\x20one:');continue;case'2':if(_0xbe7b91[_0x5b1382(0x131)])info(_0x5b1382(0x145));continue;case'3':process['exit'](0x1);continue;case'4':_0x16177b['aACII'](log,'');continue;case'5':if(_0xbe7b91['codex'])_0x16177b['thJnk'](info,_0x16177b[_0x5b1382(0x12e)]);continue;}break;}}log(''),_0x16177b[_0x5b1382(0x249)](log,_0x16177b[_0x5b1382(0x22a)]);const _0x1cc6b8=[{'name':_0x5b1382(0x1de),'dir':BRIDGE_DIR},{'name':_0x5b1382(0x250),'dir':MCP_SRC}];fs[_0x5b1382(0x224)](DESIGN_BRIDGE_DIR)&&_0x1cc6b8[_0x5b1382(0x11f)]({'name':'Design\x20bridge','dir':DESIGN_BRIDGE_DIR});for(const _0x28ffaf of _0x1cc6b8){log('\x20\x20Installing\x20'+_0x28ffaf['name']+_0x5b1382(0x1d4));const _0x34819d=run('npm',[_0x5b1382(0x1af)],{'cwd':_0x28ffaf['dir']});_0x34819d['ok']?success(_0x28ffaf['name']+'\x20dependencies\x20installed'):(_0x16177b[_0x5b1382(0x1e3)](fail,_0x28ffaf['name']+_0x5b1382(0x1c1)+_0x34819d[_0x5b1382(0x148)]),process['exit'](0x1));}log(''),_0x16177b[_0x5b1382(0x166)](log,_0x16177b[_0x5b1382(0x181)]);const _0xf1b9d0=run(_0x16177b['SpXcU'],[_0x5b1382(0x194),_0x16177b[_0x5b1382(0x1e7)]],{'cwd':MCP_SRC});_0xf1b9d0['ok']?success(_0x5b1382(0x121)):(_0x16177b['gqaXb'](fail,_0x5b1382(0x13b)+_0xf1b9d0[_0x5b1382(0x148)]),process[_0x5b1382(0x208)](0x1));log(''),log(_0x5b1382(0x183)),info('Required\x20to\x20read\x20your\x20Figma\x20files.'),_0x16177b['gqaXb'](info,_0x16177b[_0x5b1382(0x14f)]),_0x16177b[_0x5b1382(0x1cb)](log,'');let _0x3c791e='';const _0x5dd472=path[_0x5b1382(0x19c)](os[_0x5b1382(0xf8)](),_0x16177b['oSpIw'],'settings.json');if(fs['existsSync'](_0x5dd472))try{const _0x294e32=JSON['parse'](fs[_0x5b1382(0x1ad)](_0x5dd472,'utf8')),_0x46285c=_0x294e32?.['mcpServers']?.[_0x16177b['LjrOY']]?.[_0x5b1382(0x234)]?.['FIGMA_ACCESS_TOKEN']||'';if(_0x46285c&&_0x16177b['vokKL'](_0x46285c,_0x16177b[_0x5b1382(0x1ee)]))_0x3c791e=_0x46285c;}catch{}let _0x379d21;if(_0x3c791e){_0x16177b['SKiYv'](log,'\x20\x20Found\x20existing\x20token:\x20'+_0x16177b['qxuGU'](maskToken,_0x3c791e));const _0x50ed08=await _0x16177b[_0x5b1382(0x19d)](prompt,_0x16177b[_0x5b1382(0x1ba)]);_0x379d21=_0x16177b['KvoCZ'](_0x50ed08,_0x3c791e);}else _0x379d21=await _0x16177b['adlgE'](prompt,_0x5b1382(0x1a0)),!_0x379d21&&(_0x379d21=_0x16177b[_0x5b1382(0x1ee)],_0x16177b[_0x5b1382(0x12c)](warn,_0x5b1382(0x209)));_0x16177b['RFKhI'](log,''),_0x16177b[_0x5b1382(0x242)](log,_0x16177b[_0x5b1382(0x13c)]);_0xbe7b91[_0x5b1382(0x225)]&&(_0x16177b['IDKGi'](registerMcpWithClaude,_0xbe7b91['claude'][_0x5b1382(0x1aa)],_0x379d21)?success(_0x16177b['Cfjht']):_0x16177b['qxuGU'](warn,_0x16177b['dYyqv']));_0xbe7b91[_0x5b1382(0x188)]&&(_0x16177b['IDKGi'](registerMcpWithCodex,_0xbe7b91['codex']['bin'],_0x379d21)?success(_0x16177b['tjNyD']):_0x16177b['jQvvG'](warn,_0x16177b[_0x5b1382(0x1d2)]));if(_0xbe7b91[_0x5b1382(0x131)]){if(_0x16177b[_0x5b1382(0x244)](registerMcpWithGemini,_0x379d21))_0x16177b[_0x5b1382(0x100)](success,_0x16177b[_0x5b1382(0x213)]);else{if(_0x5b1382(0x1a5)==='dwOVI')try{const _0x942e03=_0x1c7e16['parse'](_0x14307b[_0x5b1382(0xed)]);_0x9abaed=_0x942e03['email']||_0x942e03[_0x5b1382(0x21d)]||'';}catch{}else _0x16177b[_0x5b1382(0x173)](warn,_0x5b1382(0xe3));}}writeClaudePermissions(),_0x16177b[_0x5b1382(0x199)](success,_0x16177b[_0x5b1382(0x257)]),_0x16177b[_0x5b1382(0x19d)](log,''),_0x16177b['smEWK'](log,'Starting\x20relay\x20server...'),await cmdStart();if(_0x16177b['cjdXd'](process['platform'],_0x16177b[_0x5b1382(0x195)])){if(_0x16177b[_0x5b1382(0x11a)]===_0x16177b[_0x5b1382(0x11a)]){_0x16177b['tEJnl'](log,'');const _0x46f432=await _0x16177b['xtlJY'](prompt,_0x16177b['oIZWW']);(!_0x46f432||_0x16177b[_0x5b1382(0x246)](_0x46f432[_0x5b1382(0x109)](),'n'))&&_0x16177b['zfEQm'](installLaunchdService,_0xbe7b91);}else _0x16177b[_0x5b1382(0x249)](_0x2c2e91,_0x16177b[_0x5b1382(0x1b9)]);}log(''),_0x16177b['tEJnl'](log,_0x16177b[_0x5b1382(0x25e)]),copyPluginFiles(),_0x16177b[_0x5b1382(0x23e)](success,_0x5b1382(0xf4)+PLUGIN_DIR),_0x16177b['HJqhO'](log,''),log('='[_0x5b1382(0x228)](0x35)),log(_0x5b1382(0x1bb)),log('='[_0x5b1382(0x228)](0x35)),printPluginLoadInstructions(),_0x16177b[_0x5b1382(0x23e)](log,_0x16177b[_0x5b1382(0xff)]),log(''),_0x16177b[_0x5b1382(0x173)](info,_0x16177b[_0x5b1382(0x129)]),_0x16177b['aACII'](info,_0x16177b[_0x5b1382(0xfb)]),_0x16177b['SCYYY'](log,''),_0x16177b['HJqhO'](log,_0x16177b['KSXTN']),log('');}function installLaunchdService(_0x28e596){const _0x2a92a7=_0x5bf999,_0x27569e={'lPLvI':'Gemini:\x20not\x20installed\x20(npm\x20i\x20-g\x20@google/gemini-cli)','eEQec':'/usr/local/bin','tGmJc':_0x2a92a7(0x1b7),'cdYIv':function(_0x5674c1,_0x27c78e,_0xdcac6f){return _0x5674c1(_0x27c78e,_0xdcac6f);},'yJQbU':function(_0xb7302c,_0x55c6f2){return _0xb7302c===_0x55c6f2;},'WwXEG':_0x2a92a7(0xd9),'UvbWe':_0x2a92a7(0xeb),'ODXZf':function(_0x5ba414,_0x3b1ac9){return _0x5ba414(_0x3b1ac9);},'IPNSH':_0x2a92a7(0x178)},_0x275a42=[_0x27569e['eEQec'],_0x2a92a7(0x1eb),'/bin','/usr/sbin',_0x27569e['tGmJc']];if(_0x28e596[_0x2a92a7(0x225)])_0x275a42['unshift'](path[_0x2a92a7(0xdb)](_0x28e596['claude']['bin']));if(_0x28e596['codex'])_0x275a42[_0x2a92a7(0x144)](path[_0x2a92a7(0xdb)](_0x28e596['codex'][_0x2a92a7(0x1aa)]));if(_0x28e596['gemini'])_0x275a42['unshift'](path[_0x2a92a7(0xdb)](_0x28e596[_0x2a92a7(0x131)][_0x2a92a7(0x1aa)]));const _0x5e3204=[...new Set(_0x275a42)]['join'](':'),_0x422867=process['execPath'];run(_0x2a92a7(0xf7),[_0x2a92a7(0x240),PLIST_PATH]),fs['mkdirSync'](PLIST_DIR,{'recursive':!![]});const _0x21ecc8='<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<!DOCTYPE\x20plist\x20PUBLIC\x20\x22-//Apple//DTD\x20PLIST\x201.0//EN\x22\x20\x22http://www.apple.com/DTDs/PropertyList-1.0.dtd\x22>\x0a<plist\x20version=\x221.0\x22>\x0a<dict>\x0a\x20\x20\x20\x20<key>Label</key>\x0a\x20\x20\x20\x20<string>'+PLIST_LABEL+'</string>\x0a\x20\x20\x20\x20<key>ProgramArguments</key>\x0a\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x422867+_0x2a92a7(0x149)+RELAY_SCRIPT+_0x2a92a7(0x233)+BRIDGE_DIR+'</string>\x0a\x20\x20\x20\x20<key>EnvironmentVariables</key>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>HOME</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+os[_0x2a92a7(0xf8)]()+'</string>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x5e3204+_0x2a92a7(0x151)+(_0x28e596['claude']?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CLAUDE_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x28e596['claude'][_0x2a92a7(0x1aa)]+'</string>':'')+(_0x28e596[_0x2a92a7(0x188)]?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CODEX_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x28e596[_0x2a92a7(0x188)]['bin']+_0x2a92a7(0x151):'')+(_0x28e596[_0x2a92a7(0x131)]?_0x2a92a7(0x1c9)+_0x28e596[_0x2a92a7(0x131)][_0x2a92a7(0x1aa)]+'</string>':'')+'\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20\x20\x20<key>RunAtLoad</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>KeepAlive</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>StandardOutPath</key>\x0a\x20\x20\x20\x20<string>'+LOG_FILE+'</string>\x0a\x20\x20\x20\x20<key>StandardErrorPath</key>\x0a\x20\x20\x20\x20<string>'+LOG_FILE+'</string>\x0a</dict>\x0a</plist>';fs[_0x2a92a7(0x1c8)](PLIST_PATH,_0x21ecc8);const _0x34b13e=_0x27569e[_0x2a92a7(0x165)](run,_0x2a92a7(0xf7),['load',PLIST_PATH]);_0x34b13e['ok']?_0x27569e['yJQbU']('tcILI',_0x27569e['WwXEG'])?_0x736947(QBGGVl[_0x2a92a7(0x22b)]):(success(_0x27569e['UvbWe']),info('To\x20stop:\x20launchctl\x20unload\x20'+PLIST_PATH)):_0x27569e['ODXZf'](warn,_0x27569e[_0x2a92a7(0x162)]);}const PLUGIN_DIR=path[_0x5bf999(0x19c)](os[_0x5bf999(0xf8)](),_0x5bf999(0x205),_0x5bf999(0x1d6));function copyPluginFiles(){const _0xa5976c=_0x5bf999,_0x585d10={'Syulr':_0xa5976c(0x184),'KEcXx':'code.js','TsTMj':function(_0x400399,_0x465a6b){return _0x400399===_0x465a6b;},'eBWoO':_0xa5976c(0x12f),'iIspj':_0xa5976c(0x16b),'HuFTT':'plugin'};fs[_0xa5976c(0x23c)](PLUGIN_DIR,{'recursive':!![]});const _0xb1a105=[_0x585d10[_0xa5976c(0xf0)],_0x585d10[_0xa5976c(0x1a7)],'ui.html'];for(const _0x420ca8 of _0xb1a105){if(_0x585d10['TsTMj'](_0x585d10['eBWoO'],_0xa5976c(0x18f)))_0x5a713d(_0xa5976c(0x107)),_0x278746++;else{const _0x470025=path['join'](BRIDGE_DIR,_0x420ca8);fs[_0xa5976c(0x224)](_0x470025)&&fs['copyFileSync'](_0x470025,path[_0xa5976c(0x19c)](PLUGIN_DIR,_0x420ca8));}}const _0x282c76=path['join'](os[_0xa5976c(0xf8)](),_0x585d10['iIspj'],_0x585d10[_0xa5976c(0x1ca)]);if(fs['existsSync'](_0x282c76))try{fs[_0xa5976c(0x13d)](_0x282c76,{'recursive':!![],'force':!![]});}catch{}return PLUGIN_DIR;}function copyToClipboard(_0x43a7b4){const _0x3eeaf5=_0x5bf999,_0x127c1c={'KWWET':function(_0x5556b2,_0x124b88){return _0x5556b2(_0x124b88);},'hgJuQ':function(_0x298ea5,_0x3bcc9d,_0x258654,_0x247a95){return _0x298ea5(_0x3bcc9d,_0x258654,_0x247a95);},'rpCve':'pbcopy','LOwCG':_0x3eeaf5(0x17b),'GajuE':_0x3eeaf5(0x191),'dECuB':'clipboard','Mfipf':function(_0x3f60b4,_0x228927){return _0x3f60b4===_0x228927;},'yYVlD':'--clipboard'};try{const {spawnSync:_0x294b56}=_0x127c1c[_0x3eeaf5(0x1c0)](require,_0x3eeaf5(0x1fb));if(process['platform']==='darwin')return _0x127c1c[_0x3eeaf5(0x10c)](_0x294b56,_0x127c1c['rpCve'],[],{'input':_0x43a7b4}),!![];else{if(process[_0x3eeaf5(0x254)]===_0x127c1c[_0x3eeaf5(0x238)])return _0x294b56(_0x3eeaf5(0x237),[],{'input':_0x43a7b4,'shell':!![]}),!![];else{const _0x262052=_0x127c1c['hgJuQ'](_0x294b56,'xclip',[_0x127c1c['GajuE'],_0x127c1c['dECuB']],{'input':_0x43a7b4});if(_0x127c1c[_0x3eeaf5(0x110)](_0x262052['status'],0x0))return!![];const _0x2a3af0=_0x294b56(_0x3eeaf5(0x212),[_0x127c1c['yYVlD'],'--input'],{'input':_0x43a7b4});return _0x2a3af0['status']===0x0;}}}catch{return![];}}function printPluginLoadInstructions(){const _0x97e178=_0x5bf999,_0x5c25de={'HKjRG':'\x20\x20──\x20Load\x20Plugin\x20in\x20Figma\x20(one-time\x20setup)\x20──────────────────','ZMXwN':function(_0x13f2c1,_0x2515ba){return _0x13f2c1(_0x2515ba);},'fdZHe':'Plugin\x20path\x20copied\x20to\x20clipboard\x20—\x20you\x20can\x20paste\x20it\x20in\x20the\x20next\x20steps','HEzUU':_0x97e178(0x1dd),'Crmuk':function(_0x347162,_0x1eea9a){return _0x347162(_0x1eea9a);},'ujlli':'\x20\x202.\x20Press\x20\x20Shift\x20+\x20I\x20\x20to\x20open\x20the\x20Resources\x20panel','yKbJc':function(_0x23c62b,_0x75c44c){return _0x23c62b(_0x75c44c);},'fSlkj':'\x20\x20\x20\x20\x20Then\x20click\x20the\x20\x20⋯\x20\x20menu\x20(top-right\x20corner)','WunJL':function(_0x4bb5a1,_0x40afe7){return _0x4bb5a1(_0x40afe7);},'nSEfz':function(_0x5bbdd0,_0x3fff1e){return _0x5bbdd0(_0x3fff1e);},'yoGkG':function(_0x53f6e6,_0xdf677d){return _0x53f6e6===_0xdf677d;},'eXLov':'darwin','eQCEm':_0x97e178(0x134),'RJRqT':'\x20\x20\x20\x20\x20\x20\x20Then\x20press\x20\x20Enter\x20\x20—\x20you\x27re\x20there!','SXuFd':function(_0x134978,_0xdf202){return _0x134978(_0xdf202);},'BeIKy':_0x97e178(0x1cd),'XghTy':_0x97e178(0x130),'deGsR':function(_0x472d8d,_0x52a71f){return _0x472d8d(_0x52a71f);},'SapBt':_0x97e178(0x20b),'CJgRp':_0x97e178(0x128),'aNtZT':_0x97e178(0x22c),'HezSj':function(_0x207ea5,_0x4a4e89){return _0x207ea5(_0x4a4e89);},'edEcn':function(_0x49f795,_0x1245f7){return _0x49f795(_0x1245f7);},'aQWSG':_0x97e178(0x1ab),'CZrYf':function(_0x196b29,_0x224a2d){return _0x196b29(_0x224a2d);},'MEArC':function(_0x1974da,_0x27162d){return _0x1974da(_0x27162d);},'JeipN':_0x97e178(0x227)},_0x4f2dfd=path[_0x97e178(0x19c)](PLUGIN_DIR,'manifest.json'),_0x24216b=copyToClipboard(_0x4f2dfd);log(''),log(_0x5c25de['HKjRG']),log('');_0x24216b&&(_0x5c25de[_0x97e178(0x21c)](success,_0x5c25de[_0x97e178(0x168)]),log(''));log(_0x5c25de[_0x97e178(0x236)]),_0x5c25de[_0x97e178(0x21c)](log,'\x20\x20\x20\x20\x20(The\x20plugin\x20menu\x20only\x20works\x20when\x20a\x20file\x20is\x20open)'),log(''),_0x5c25de[_0x97e178(0x1cc)](log,_0x5c25de[_0x97e178(0xdc)]),log('\x20\x20\x20\x20\x20(or\x20click\x20the\x20grid-like\x20icon\x20in\x20the\x20top\x20toolbar)'),_0x5c25de['yKbJc'](log,''),log('\x20\x203.\x20Click\x20the\x20\x22Plugins\x22\x20tab\x20at\x20the\x20top\x20of\x20the\x20panel'),log(_0x5c25de[_0x97e178(0x20c)]),_0x5c25de['yKbJc'](log,_0x97e178(0x101)),_0x5c25de[_0x97e178(0x21c)](log,''),_0x5c25de['WunJL'](log,_0x97e178(0x11b)),_0x5c25de['nSEfz'](log,'');if(_0x5c25de[_0x97e178(0x251)](process[_0x97e178(0x254)],_0x5c25de['eXLov'])){const _0x1449ce='0|4|1|5|3|2'['split']('|');let _0x42785a=0x0;while(!![]){switch(_0x1449ce[_0x42785a++]){case'0':log(_0x5c25de['eQCEm']);continue;case'1':log(_0x5c25de[_0x97e178(0x20a)]);continue;case'2':_0x5c25de['ZMXwN'](log,_0x97e178(0x175));continue;case'3':_0x5c25de[_0x97e178(0x10f)](log,_0x97e178(0xdf));continue;case'4':log(_0x97e178(0x112));continue;case'5':log('');continue;}break;}}else{if(_0x5c25de['yoGkG'](process['platform'],_0x97e178(0x17b))){const _0x2987d0=_0x97e178(0x114)['split']('|');let _0x56165b=0x0;while(!![]){switch(_0x2987d0[_0x56165b++]){case'0':log('');continue;case'1':log('\x20\x20\x20\x20\x20\x20\x20Documents\x20→\x20Figma\x20Intelligence\x20→\x20manifest.json');continue;case'2':log('\x20\x20\x20\x20\x20OR\x20manually\x20navigate\x20to:');continue;case'3':_0x5c25de['yKbJc'](log,'\x20\x20\x20\x20\x20\x20\x20Then\x20press\x20\x20Ctrl\x20+\x20V\x20\x20to\x20paste\x20the\x20path\x20(already\x20copied!)');continue;case'4':log('\x20\x20\x20\x20\x20\x20\x20Then\x20press\x20\x20Enter\x20\x20—\x20you\x27re\x20there!');continue;case'5':_0x5c25de[_0x97e178(0x25a)](log,_0x97e178(0x113));continue;}break;}}else log(_0x5c25de[_0x97e178(0x201)]);}log(''),log(_0x5c25de['XghTy']),log('\x20\x20\x20\x20\x20'+_0x4f2dfd),_0x5c25de['deGsR'](log,''),_0x5c25de[_0x97e178(0x25a)](log,_0x5c25de['SapBt']),_0x5c25de['Crmuk'](log,''),log('\x20\x20──\x20How\x20to\x20open\x20the\x20plugin\x20every\x20time\x20──────────────────────'),log(''),_0x5c25de['WunJL'](log,_0x5c25de[_0x97e178(0x18b)]),_0x5c25de[_0x97e178(0x25a)](log,_0x5c25de[_0x97e178(0xe7)]),_0x5c25de[_0x97e178(0x104)](log,''),_0x5c25de['edEcn'](log,_0x5c25de['aQWSG']),_0x5c25de['CZrYf'](log,'');if(process[_0x97e178(0x254)]===_0x97e178(0xe9))try{const {execSync:_0x139c7b}=_0x5c25de[_0x97e178(0x1e2)](require,_0x97e178(0x1fb));_0x5c25de[_0x97e178(0x1e4)](_0x139c7b,'open\x20\x22'+PLUGIN_DIR+'\x22'),_0x5c25de['ZMXwN'](success,_0x5c25de[_0x97e178(0x1e1)]);}catch{}else{if(process['platform']===_0x97e178(0x17b))try{const {execSync:_0x13ba5a}=require(_0x97e178(0x1fb));_0x13ba5a(_0x97e178(0xe4)+PLUGIN_DIR+'\x22'),success(_0x97e178(0x227));}catch{}}}async function cmdUpdate(){const _0x579ce5=_0x5bf999,_0x1fc529={'XtGFw':function(_0x4fed30,_0x31a296){return _0x4fed30(_0x31a296);},'DpDfX':function(_0x425aba){return _0x425aba();},'RBKOW':_0x579ce5(0x16a),'qKuDI':function(_0x4abd82,_0x3eda19){return _0x4abd82(_0x3eda19);},'YWYoO':function(_0x16bf81,_0x20ba39){return _0x16bf81(_0x20ba39);},'vuAiX':'\x20\x20If\x20the\x20plugin\x20is\x20open,\x20close\x20and\x20reopen\x20it\x20to\x20see\x20updates.'};ensureDataDir(),log(''),_0x1fc529[_0x579ce5(0x142)](log,_0x579ce5(0x17e)),_0x1fc529[_0x579ce5(0x23b)](copyPluginFiles),success(_0x1fc529['RBKOW']),_0x1fc529['qKuDI'](log,_0x579ce5(0x1b5)+PLUGIN_DIR),_0x1fc529['YWYoO'](log,''),log(_0x579ce5(0xdd)),log(_0x1fc529[_0x579ce5(0x19b)]),log('');}const command=process[_0x5bf999(0x116)][0x2]||_0x5bf999(0x1f4);switch(command){case _0x5bf999(0x1f4):cmdStart();break;case'stop':cmdStop();break;case _0x5bf999(0xe5):cmdStatus();break;case'doctor':cmdDoctor();break;case'setup':cmdSetup();break;case _0x5bf999(0x146):cmdUpdate();break;case _0x5bf999(0x147):case'--help':case'-h':log(''),log(_0x5bf999(0x125)),log(''),log('Usage:\x20npx\x20figma-intelligence\x20<command>'),log(''),log('Commands:'),log(_0x5bf999(0x1b6)),log(_0x5bf999(0x1fa)),log('\x20\x20status\x20\x20\x20Show\x20relay\x20+\x20CLI\x20auth\x20status'),log('\x20\x20doctor\x20\x20\x20Diagnose\x20common\x20issues'),log(_0x5bf999(0x11c)),log(_0x5bf999(0x138)),log('\x20\x20help\x20\x20\x20\x20\x20Show\x20this\x20help\x20message'),log('');break;default:fail('Unknown\x20command:\x20'+command),log('Run\x20\x27npx\x20figma-intelligence\x20help\x27\x20for\x20usage.'),process['exit'](0x1);}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x386809=_0x328a;function _0x328a(_0x5c8084,_0x2f7485){_0x5c8084=_0x5c8084-0xcd;const _0x503b7b=_0x503b();let _0x328a98=_0x503b7b[_0x5c8084];if(_0x328a['HPNjVv']===undefined){var _0x55445e=function(_0x5642c0){const _0x2d1b89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27d960='',_0xa911c6='';for(let _0x48df7c=0x0,_0x2acbbb,_0x230c5c,_0xce1419=0x0;_0x230c5c=_0x5642c0['charAt'](_0xce1419++);~_0x230c5c&&(_0x2acbbb=_0x48df7c%0x4?_0x2acbbb*0x40+_0x230c5c:_0x230c5c,_0x48df7c++%0x4)?_0x27d960+=String['fromCharCode'](0xff&_0x2acbbb>>(-0x2*_0x48df7c&0x6)):0x0){_0x230c5c=_0x2d1b89['indexOf'](_0x230c5c);}for(let _0x4ee148=0x0,_0x14f7a7=_0x27d960['length'];_0x4ee148<_0x14f7a7;_0x4ee148++){_0xa911c6+='%'+('00'+_0x27d960['charCodeAt'](_0x4ee148)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa911c6);};_0x328a['EzRUNi']=_0x55445e,_0x328a['ewiplw']={},_0x328a['HPNjVv']=!![];}const _0x5d6be9=_0x503b7b[0x0],_0xb0faec=_0x5c8084+_0x5d6be9,_0x3bc433=_0x328a['ewiplw'][_0xb0faec];return!_0x3bc433?(_0x328a98=_0x328a['EzRUNi'](_0x328a98),_0x328a['ewiplw'][_0xb0faec]=_0x328a98):_0x328a98=_0x3bc433,_0x328a98;}(function(_0x59b05f,_0x3aaf46){const _0x4a2733=_0x328a,_0x28282a=_0x59b05f();while(!![]){try{const _0x136091=parseInt(_0x4a2733(0x119))/0x1+parseInt(_0x4a2733(0x12d))/0x2+-parseInt(_0x4a2733(0x1d5))/0x3*(-parseInt(_0x4a2733(0x1db))/0x4)+parseInt(_0x4a2733(0x1a9))/0x5+parseInt(_0x4a2733(0x11c))/0x6+-parseInt(_0x4a2733(0x1bd))/0x7+-parseInt(_0x4a2733(0x1b9))/0x8;if(_0x136091===_0x3aaf46)break;else _0x28282a['push'](_0x28282a['shift']());}catch(_0x4e78d4){_0x28282a['push'](_0x28282a['shift']());}}}(_0x503b,0x53391));function w({name:_0x42f523,version:_0x56af8c,tools:_0xc4006d}){const _0x885ac=_0x328a,_0x12b9c3={'WjvEC':'#F7F7F8','dcBhG':'#26262A','wmxZr':'#71717A','kcmBg':'#D4D4D8','VkRjN':_0x885ac(0x153),'CbWAQ':function(_0x35e35b,_0x127797){return _0x35e35b+_0x127797;},'OFtLo':function(_0x6680f,_0x465e93){return _0x6680f!==_0x465e93;},'yzqTT':'qsFde','ATWgt':'#818CF8','AYtMB':'#FAFAFA','lOcjo':'#3F3F46','XldKX':function(_0x1ef18e,_0x18f953){return _0x1ef18e===_0x18f953;},'UqaNq':function(_0x2b7fcb,_0x2fe4f9,_0x329759){return _0x2b7fcb(_0x2fe4f9,_0x329759);},'kuqVT':function(_0x4f6294,_0x2cc0d1,_0x1d1926){return _0x4f6294(_0x2cc0d1,_0x1d1926);},'DxOfI':_0x885ac(0x1c8),'ERffA':_0x885ac(0x159)};return{'start'(){const _0x1177be=_0x885ac,_0x22fe08={'lOpRz':function(_0x16496,_0x5ae9f1){return _0x12b9c3['OFtLo'](_0x16496,_0x5ae9f1);},'lxWqO':_0x12b9c3[_0x1177be(0x23b)],'ezydq':function(_0x5edfb8,_0x590a29){return _0x5edfb8(_0x590a29);},'RYAli':'#6366F1','YKvxG':_0x12b9c3[_0x1177be(0xf4)],'KLZna':'#B91C1C','NLaVx':_0x1177be(0xff),'sUidQ':_0x1177be(0x1ad),'UIiyd':'#38BDF8','XzgzJ':'6366F1','itLQK':'#0F0F10','qWzVQ':'#FFFFFF','PdiuY':_0x1177be(0x1e9),'lIBCH':_0x12b9c3[_0x1177be(0x22b)],'dHWkE':'#27272A','okGoG':_0x1177be(0x227),'FDAhz':_0x12b9c3[_0x1177be(0x16e)],'XjlEt':function(_0x216118,_0x22963d){return _0x12b9c3['XldKX'](_0x216118,_0x22963d);},'WrrOb':'initialize','UFUjw':function(_0x3d6731,_0x1e1030,_0x2466ad){return _0x12b9c3['UqaNq'](_0x3d6731,_0x1e1030,_0x2466ad);},'KwEye':function(_0x43d4a8,_0x36dca9){return _0x43d4a8===_0x36dca9;},'kadOk':_0x1177be(0xe4),'EyAtL':function(_0x1ae547,_0x46c12d,_0xf7eb96){return _0x12b9c3['kuqVT'](_0x1ae547,_0x46c12d,_0xf7eb96);},'zyAxx':function(_0x57aff5,_0x39be72,_0x1ab9d6){const _0x290741=_0x1177be;return _0x12b9c3[_0x290741(0xd6)](_0x57aff5,_0x39be72,_0x1ab9d6);},'snvlL':function(_0x5eaf40,_0x3e62bb){return _0x5eaf40===_0x3e62bb;},'Zaxve':_0x12b9c3['DxOfI'],'INNEB':function(_0x255188,_0x5011d6){return _0x255188||_0x5011d6;},'jsRev':function(_0x46fd10,_0x10f3ce){return _0x46fd10!==_0x10f3ce;},'SQBan':'HlOmr','LALKL':_0x12b9c3['VkRjN']};process['stdin']['setEncoding'](_0x1177be(0x134));let _0x5ed927='';process['stdin']['on'](_0x12b9c3['ERffA'],_0x183b88=>{const _0x437445=_0x1177be,_0x19863c={'kwqwB':_0x12b9c3[_0x437445(0xe8)],'kCLaJ':_0x12b9c3[_0x437445(0x1cf)],'VBtvl':'#FAFAFA','QMSKf':'#A1A1AA','PrWNX':_0x12b9c3['wmxZr'],'GGEzJ':_0x437445(0x174),'PHJAf':'#3F3F46','WRcpf':_0x12b9c3[_0x437445(0xfe)]};_0x5ed927+=_0x183b88;let _0x1eae6e=_0x5ed927[_0x437445(0x23d)]('\x0a');_0x5ed927=_0x1eae6e['pop'](),_0x1eae6e['forEach'](_0x440ade=>{const _0x68f235=_0x437445;if(_0x22fe08['lOpRz'](_0x22fe08['lxWqO'],_0x22fe08['lxWqO']))return{'accent':_0x5d0e19[0x0],'accentSoft':_0x13cd7a[0x1],'primary':_0x23a42d[0x2],'secondary':_0x26062f[0x3],'bgPrimary':_0x520141?_0x68f235(0x126):'#FFFFFF','bgSecondary':_0x82e5b3?'#1A1A1C':_0x19863c[_0x68f235(0x1a1)],'bgTertiary':_0x1105e5?_0x19863c[_0x68f235(0x193)]:_0x68f235(0x113),'textPrimary':_0x314f0f?_0x19863c[_0x68f235(0x1f8)]:'#0A0A0B','textSecondary':_0x999055?_0x19863c[_0x68f235(0x1ce)]:_0x68f235(0x229),'textTertiary':_0x43b4e3?_0x19863c['PrWNX']:'#A1A1AA','border':_0x342009?_0x19863c[_0x68f235(0xe3)]:'#E4E4E7','borderStrong':_0x141a8e?_0x19863c[_0x68f235(0x109)]:_0x19863c['WRcpf']};else _0x440ade[_0x68f235(0xfd)]()&&_0x22fe08['ezydq'](_0x3ab1fa,_0x440ade['trim']());});});async function _0x3ab1fa(_0x10842c){const _0x5b8e45=_0x1177be;let _0x4339c2;try{_0x4339c2=JSON[_0x5b8e45(0x1d4)](_0x10842c);}catch{return;}if(_0x22fe08['XjlEt'](_0x4339c2[_0x5b8e45(0x1d8)],_0x22fe08[_0x5b8e45(0x1b3)]))_0x22fe08[_0x5b8e45(0x1ee)](_0xc9b847,_0x4339c2['id'],{'protocolVersion':'2024-11-05','capabilities':{'tools':{}},'serverInfo':{'name':_0x42f523,'version':_0x56af8c}});else{if(_0x22fe08[_0x5b8e45(0x170)](_0x4339c2['method'],_0x22fe08['kadOk']))_0x22fe08['EyAtL'](_0xc9b847,_0x4339c2['id'],{'tools':Object['entries'](_0xc4006d)['map'](([_0x318f55,_0x15fb77])=>({'name':_0x318f55,'description':_0x15fb77['description'],'inputSchema':_0x15fb77['inputSchema']}))});else{if(_0x4339c2['method']===_0x5b8e45(0x1e3)){let {name:_0x2ea3c8,arguments:_0x3fdb56}=_0x4339c2[_0x5b8e45(0xde)],_0x3e2a5a=_0xc4006d[_0x2ea3c8];if(!_0x3e2a5a){_0x22fe08[_0x5b8e45(0x198)](_0x3476b4,_0x4339c2['id'],'Unknown\x20tool:\x20'+_0x2ea3c8);return;}try{if(_0x22fe08[_0x5b8e45(0x1aa)](_0x22fe08['Zaxve'],'wGWxb')){let _0x121b3e=await _0x3e2a5a['handler'](_0x22fe08['INNEB'](_0x3fdb56,{}));_0x22fe08['UFUjw'](_0xc9b847,_0x4339c2['id'],{'content':[{'type':_0x5b8e45(0xdc),'text':JSON['stringify'](_0x121b3e,null,0x2)}]});}else{let _0x5667ef={'6366F1':{'accent':_0x22fe08[_0x5b8e45(0x207)],'accentSoft':'#EEF2FF','primary':_0x5b8e45(0x11d),'secondary':_0x22fe08['YKvxG']},'DC2626':{'accent':_0x5b8e45(0x107),'accentSoft':_0x5b8e45(0x161),'primary':_0x22fe08['KLZna'],'secondary':'#F87171'},'B45309':{'accent':'#B45309','accentSoft':_0x5b8e45(0x1e1),'primary':_0x5b8e45(0x1d0),'secondary':_0x5b8e45(0x1ca)},'0EA5E9':{'accent':_0x22fe08[_0x5b8e45(0x17f)],'accentSoft':_0x22fe08['sUidQ'],'primary':'#0284C7','secondary':_0x22fe08['UIiyd']}};return{..._0x5667ef[_0x1724b4]||_0x5667ef[_0x22fe08[_0x5b8e45(0x1f6)]],'bgPrimary':_0x2fa50b?_0x22fe08[_0x5b8e45(0x211)]:_0x22fe08[_0x5b8e45(0x112)],'bgSecondary':_0x5f01e8?_0x22fe08[_0x5b8e45(0x1e7)]:'#F7F7F8','bgTertiary':_0x19b59f?_0x5b8e45(0x127):'#EEEEF0','textPrimary':_0xf77717?_0x22fe08['lIBCH']:_0x5b8e45(0x15b),'textSecondary':_0x5a51c1?_0x5b8e45(0xf6):'#52525B','textTertiary':_0x5d3b38?_0x5b8e45(0x10e):'#A1A1AA','border':_0x238684?_0x22fe08[_0x5b8e45(0x208)]:_0x22fe08['okGoG'],'borderStrong':_0x378a9e?_0x22fe08[_0x5b8e45(0x1b4)]:'#D4D4D8'};}}catch(_0x2b7f57){_0x22fe08[_0x5b8e45(0x21b)](_0x22fe08['SQBan'],_0x22fe08[_0x5b8e45(0x100)])?_0x3bc704(_0x22e0da['id'],_0x29c0cb['message']):_0x3476b4(_0x4339c2['id'],_0x2b7f57['message']);}}}}}function _0xc9b847(_0x176a60,_0x1afa33){const _0x448473=_0x1177be;let _0x4989cc=JSON[_0x448473(0x214)]({'jsonrpc':_0x12b9c3[_0x448473(0x14c)],'id':_0x176a60,'result':_0x1afa33});process['stdout']['write'](_0x12b9c3['CbWAQ'](_0x4989cc,'\x0a'));}function _0x3476b4(_0x35857d,_0x57c3fa){const _0x18d128=_0x1177be;let _0x331a6a=JSON[_0x18d128(0x214)]({'jsonrpc':_0x22fe08[_0x18d128(0x233)],'id':_0x35857d,'error':{'code':-0x7f5b,'message':_0x57c3fa}});process['stdout']['write'](_0x331a6a+'\x0a');}}};}var S={'fintech':'photo-1611974789855-9c2a0a7236a3','finance':'photo-1554224155-6726b3ff858f','banking':'photo-1501167786227-4cba60f6d58f','saas':_0x386809(0x1a2),'dashboard':_0x386809(0x1a6),'analytics':'photo-1518186285589-2f7649de83e0','health':'photo-1576091160399-112ba8d25d1d','medical':'photo-1559757148-5c350d0d3c56','food':_0x386809(0x151),'restaurant':_0x386809(0x160),'travel':'photo-1488646953014-85cb44e25828','hotel':'photo-1542314831-068cd1dbfeeb','ecommerce':_0x386809(0x237),'shop':_0x386809(0x228),'team':_0x386809(0x101),'people':_0x386809(0x15d),'abstract':_0x386809(0x1b0),'hero':'photo-1557804506-669a67965ba0','tech':'photo-1518770660439-4636190af475','code':_0x386809(0x1f4),'education':_0x386809(0x192),'nature':'photo-1441974231531-c6227db76b6e','city':'photo-1477959858617-67f85cf4f1df','architecture':_0x386809(0x238),'fitness':'photo-1571019613454-1cb2f99b2d8b','music':'photo-1511379938547-c1f69419868d','art':_0x386809(0xf0),'startup':'photo-1559136555-9303baea8ebd','office':_0x386809(0x23a),'minimal':_0x386809(0x1b0),'dark':'photo-1534796636912-3b95b3ab5986','gradient':'photo-1557682224-5b8590cd9ec5'},P={'navigation':['lucide:menu','lucide:x',_0x386809(0x1cb),_0x386809(0x10c),'lucide:arrow-right','lucide:arrow-left'],'user':[_0x386809(0x17e),'lucide:users','lucide:user-circle',_0x386809(0x243),_0x386809(0x239)],'action':['lucide:plus',_0x386809(0x175),_0x386809(0x152),'lucide:copy',_0x386809(0xf9),'lucide:download'],'status':['lucide:check',_0x386809(0x1c0),_0x386809(0x10f),'lucide:alert-circle',_0x386809(0x21e)],'content':[_0x386809(0x156),_0x386809(0xe2),_0x386809(0x1d3),_0x386809(0x215),_0x386809(0x14f)],'media':[_0x386809(0x1bb),_0x386809(0xe1),_0x386809(0x231),'lucide:play',_0x386809(0x1eb)],'data':[_0x386809(0x129),'lucide:trending-up',_0x386809(0x1f0),_0x386809(0x1b7),_0x386809(0x19f)],'settings':['lucide:settings',_0x386809(0x121),'lucide:filter','lucide:search','lucide:bell'],'ecommerce':[_0x386809(0xcf),_0x386809(0x1de),_0x386809(0xfb),_0x386809(0x124),_0x386809(0x18c)],'social':['lucide:twitter',_0x386809(0x10a),_0x386809(0xd7),'lucide:instagram','lucide:youtube']},f=class{constructor(_0x22dfdd){const _0x263c46=_0x386809;this[_0x263c46(0x102)]=_0x22dfdd,this['pixabayKey']=_0x22dfdd['pixabayKey']||process.env.PIXABAY_API_KEY||'';}async['resolveImages'](_0xb61485,_0x32e74a=0x5,_0x72284c=_0x386809(0x1df)){const _0xaadc24=_0x386809,_0x299b04={'zSFhq':function(_0x47aed9,_0x5e5e72){return _0x47aed9<_0x5e5e72;},'nHnoX':'pexels','fDeuD':function(_0x41f9b1,_0x3b54b1){return _0x41f9b1<_0x3b54b1;},'ulRIR':_0xaadc24(0x23e),'hArWT':_0xaadc24(0xfa),'UnXJe':'#F59E0B','zHnYa':_0xaadc24(0x189),'MOFyJ':'36px','rjCDd':_0xaadc24(0x1b8),'PnxfC':_0xaadc24(0x178),'MIzJa':'1.3','IqFbZ':'1.6','iRHZx':_0xaadc24(0xfc),'ZVcGz':'12px','LUUNL':_0xaadc24(0x205),'pEyeT':_0xaadc24(0x185),'aifpK':_0xaadc24(0x13a),'mEEDz':'96px','TAzEI':_0xaadc24(0x142),'IKfcl':function(_0x37a45c,_0x1c662f){return _0x37a45c(_0x1c662f);},'UZWyM':function(_0x15b6ce,_0x5058eb,_0x15b507){return _0x15b6ce(_0x5058eb,_0x15b507);},'QaZgb':function(_0x5df2ad,_0x4a81ce){return _0x5df2ad>=_0x4a81ce;},'QUuip':'kpbbp','qWsqq':function(_0x5c1476,_0xae7c31){return _0x5c1476>=_0xae7c31;},'NAggN':'Unsplash'};let _0x157e48=this['_extractKeyword'](_0xb61485),_0x5ea0df=[];if(this['config'][_0xaadc24(0x11f)])try{let _0xbecefe='https://api.unsplash.com/search/photos?query='+_0x299b04['IKfcl'](encodeURIComponent,_0xb61485)+_0xaadc24(0x184)+_0x32e74a+_0xaadc24(0x1e0)+_0x72284c,_0x683147=await _0x299b04['UZWyM'](fetch,_0xbecefe,{'headers':{'Authorization':_0xaadc24(0x116)+this[_0xaadc24(0x102)]['unsplashKey']}});if(_0x683147['ok']&&((await _0x683147[_0xaadc24(0x144)]())['results']?.['forEach'](_0x332893=>{const _0x461ba8=_0xaadc24;_0x5ea0df['push']({'url':_0x332893['urls'][_0x461ba8(0x14d)]+_0x461ba8(0x1d1),'thumb':_0x332893[_0x461ba8(0x187)]['small'],'alt':_0x332893[_0x461ba8(0x220)]||_0xb61485,'source':'unsplash','credit':_0x332893[_0x461ba8(0x14a)][_0x461ba8(0x1b5)]});}),_0x299b04['QaZgb'](_0x5ea0df[_0xaadc24(0x15a)],_0x32e74a)))return _0x5ea0df['slice'](0x0,_0x32e74a);}catch{}if(this[_0xaadc24(0x102)]['pexelsKey']&&_0x299b04[_0xaadc24(0x1f2)](_0x5ea0df[_0xaadc24(0x15a)],_0x32e74a))try{if('eNwJn'!==_0x299b04['QUuip']){let _0x239634=await fetch(_0xaadc24(0x17a)+_0x299b04[_0xaadc24(0xd9)](encodeURIComponent,_0xb61485)+_0xaadc24(0x184)+_0x32e74a,{'headers':{'Authorization':this['config'][_0xaadc24(0x13f)]}});if(_0x239634['ok']&&((await _0x239634[_0xaadc24(0x144)]())['photos']?.['forEach'](_0x47d5e1=>{const _0xf9d659=_0xaadc24;_0x5ea0df['length']<_0x32e74a&&_0x5ea0df['push']({'url':_0x47d5e1[_0xf9d659(0x173)][_0xf9d659(0xd5)],'thumb':_0x47d5e1['src']['small'],'alt':_0x47d5e1['alt']||_0xb61485,'source':_0xf9d659(0x194),'credit':_0x47d5e1[_0xf9d659(0x235)]});}),_0x299b04['qWsqq'](_0x5ea0df[_0xaadc24(0x15a)],_0x32e74a)))return _0x5ea0df;}else _0x299b04[_0xaadc24(0x13e)](_0x297dc0[_0xaadc24(0x15a)],_0x37863e)&&_0x20805e[_0xaadc24(0x19e)]({'url':_0x21cf76[_0xaadc24(0x173)][_0xaadc24(0xd5)],'thumb':_0x4b8265['src'][_0xaadc24(0x191)],'alt':_0x120910[_0xaadc24(0x1e4)]||_0x35e4f8,'source':_0x299b04['nHnoX'],'credit':_0xe90458['photographer']});}catch{}if(this['pixabayKey']&&this[_0xaadc24(0x102)]['usePixabay']&&_0x5ea0df['length']<_0x32e74a)try{let _0x113516=_0x32e74a-_0x5ea0df['length'],_0x481b2d=await fetch(_0xaadc24(0x179)+encodeURIComponent(_0xb61485)+'&key='+this[_0xaadc24(0x1ef)]+'&image_type=photo&per_page='+_0x113516+'&safesearch=true');_0x481b2d['ok']&&(await _0x481b2d[_0xaadc24(0x144)]())['hits']?.[_0xaadc24(0x105)](_0x45209e=>{const _0x487e6b=_0xaadc24;_0x299b04['fDeuD'](_0x5ea0df[_0x487e6b(0x15a)],_0x32e74a)&&_0x5ea0df[_0x487e6b(0x19e)]({'url':_0x45209e['largeImageURL'],'thumb':_0x45209e[_0x487e6b(0x176)],'alt':_0x45209e['tags']||_0xb61485,'source':_0x299b04[_0x487e6b(0x190)],'credit':_0x45209e[_0x487e6b(0x14a)]});});}catch{}if(_0x5ea0df[_0xaadc24(0x15a)]<_0x32e74a){let _0x1742ac=S[_0x157e48]||S[_0xaadc24(0x130)];for(let _0x1212d4=_0x5ea0df[_0xaadc24(0x15a)];_0x299b04[_0xaadc24(0x1f2)](_0x1212d4,_0x32e74a);_0x1212d4++){if('SVRME'===_0xaadc24(0x230)){let _0x188764=_0x69888?_0x6df72c['dark']:_0x213245['light'];return{'colors':{'--bg-primary':_0x2765c2['bgPrimary'],'--bg-secondary':_0x454498[_0xaadc24(0x236)],'--bg-tertiary':_0xd713a['bgTertiary'],'--text-primary':_0x26f383[_0xaadc24(0x122)],'--text-secondary':_0x5bf4c7[_0xaadc24(0x1a7)],'--text-tertiary':_0x3fc0e4[_0xaadc24(0x201)],'--accent':_0x217d43[_0xaadc24(0x210)],'--accent-soft':_0x189b57['accentSoft'],'--primary':_0x3481d2[_0xaadc24(0x209)],'--secondary':_0x2019b8[_0xaadc24(0x183)],'--border':_0xc2b929['border'],'--border-strong':_0x352a98[_0xaadc24(0x103)],'--success':_0x299b04[_0xaadc24(0x22e)],'--error':_0xaadc24(0x16f),'--warning':_0x299b04['UnXJe']},'typography':{'--font-display':'\x27'+_0x56afa7['display']+'\x27,\x20sans-serif','--font-body':'\x27'+_0x4f4f60['body']+'\x27,\x20sans-serif','--font-mono':'\x27'+_0x13ac34['mono']+'\x27,\x20monospace','--text-xs':_0xaadc24(0x158),'--text-sm':'13px','--text-base':'15px','--text-lg':_0xaadc24(0xf2),'--text-xl':_0x299b04['zHnYa'],'--text-2xl':'28px','--text-3xl':_0x299b04['MOFyJ'],'--text-4xl':_0x299b04[_0xaadc24(0xdd)],'--text-5xl':_0x299b04[_0xaadc24(0x219)],'--leading-tight':_0xaadc24(0x1a8),'--leading-snug':_0x299b04['MIzJa'],'--leading-body':_0x299b04[_0xaadc24(0x182)],'--tracking-tight':_0xaadc24(0x145),'--tracking-normal':'0','--tracking-wide':_0x299b04['iRHZx'],'--tracking-widest':_0xaadc24(0x1e6)},'spacing':{'--space-1':_0xaadc24(0x10d),'--space-2':'8px','--space-3':_0x299b04[_0xaadc24(0x17d)],'--space-4':_0x299b04['LUUNL'],'--space-5':'20px','--space-6':_0x299b04['pEyeT'],'--space-8':'32px','--space-10':_0x299b04[_0xaadc24(0x12b)],'--space-12':_0x299b04[_0xaadc24(0xdd)],'--space-16':_0x299b04[_0xaadc24(0x219)],'--space-20':'80px','--space-24':_0x299b04[_0xaadc24(0x1d9)]},'radii':{'--radius-xs':'4px','--radius-sm':_0xaadc24(0x1fb),'--radius-md':_0x299b04[_0xaadc24(0x17d)],'--radius-lg':_0xaadc24(0x205),'--radius-xl':_0x299b04['pEyeT'],'--radius-full':_0x299b04['TAzEI']},'shadows':{'--shadow-xs':_0x188764['xs'],'--shadow-sm':_0x188764['sm'],'--shadow-md':_0x188764['md'],'--shadow-lg':_0x188764['lg'],'--shadow-xl':_0x188764['xl']}};}else{let _0x521272=_0x1742ac+'?w=1200&h=800&fit=crop&auto=format&q=80';_0x5ea0df['push']({'url':'https://images.unsplash.com/'+_0x521272+_0xaadc24(0x18d)+_0x1212d4,'thumb':'https://images.unsplash.com/'+_0x521272+'&w=400&sig='+_0x1212d4,'alt':_0xb61485,'source':'unsplash-source','credit':_0x299b04[_0xaadc24(0x22c)]});}}}return _0x5ea0df[_0xaadc24(0x13b)](0x0,_0x32e74a);}async[_0x386809(0x234)](_0x3326bd,_0x52da1b=!0x1){const _0x35defb=_0x386809,_0x3a51e1={'OBXfd':'6366F1','TVEEr':'DC2626','xGYhj':'B45309','EzGFD':'0EA5E9','kgdQr':_0x35defb(0x22a)};let _0x3db443={'modern':_0x3a51e1[_0x35defb(0x1ff)],'editorial':_0x3a51e1['TVEEr'],'luxury':_0x3a51e1[_0x35defb(0xe9)],'tech':_0x3a51e1['EzGFD']},_0x20e8e6=_0x3db443[_0x3326bd]||_0x3db443['modern'];return this['resolvePaletteFromSeed']('#'+_0x20e8e6,_0x3a51e1[_0x35defb(0x164)],_0x52da1b);}async['resolvePaletteFromSeed'](_0x5a664b,_0x32c99b=_0x386809(0x22a),_0x1ce998=!0x1){const _0xbc0b9c=_0x386809;let _0x2047aa=_0x5a664b['replace']('#','');if(this[_0xbc0b9c(0x102)]['useColorAPI'])try{let _0x26dcab=_0xbc0b9c(0xf5)+_0x2047aa+'&mode='+_0x32c99b+'&count=6',_0x3a9a95=await fetch(_0x26dcab);if(_0x3a9a95['ok']){let _0x2f3ada=(await _0x3a9a95[_0xbc0b9c(0x144)]())['colors'][_0xbc0b9c(0x147)](_0x3d3fac=>_0x3d3fac[_0xbc0b9c(0x1d6)]['value']);return this[_0xbc0b9c(0x20a)](_0x2f3ada,_0x1ce998);}}catch{}return this[_0xbc0b9c(0xef)](_0x2047aa,_0x1ce998);}['_buildPaletteFromSwatches'](_0x43681d,_0x254c99){const _0x1fe210=_0x386809,_0x10a9ed={'VLJVq':'#1A1A1C','siphw':_0x1fe210(0x106),'nwTAk':'#FAFAFA','oBRnf':_0x1fe210(0x15b),'RgwgR':_0x1fe210(0xf6),'FnFWx':'#52525B','cGgLj':'#27272A','aoBiz':_0x1fe210(0x13d),'SHQMD':'#D4D4D8'};return{'accent':_0x43681d[0x0],'accentSoft':_0x43681d[0x1],'primary':_0x43681d[0x2],'secondary':_0x43681d[0x3],'bgPrimary':_0x254c99?_0x1fe210(0x126):_0x1fe210(0x1ea),'bgSecondary':_0x254c99?_0x10a9ed['VLJVq']:_0x10a9ed[_0x1fe210(0xce)],'bgTertiary':_0x254c99?'#26262A':_0x1fe210(0x113),'textPrimary':_0x254c99?_0x10a9ed[_0x1fe210(0x180)]:_0x10a9ed['oBRnf'],'textSecondary':_0x254c99?_0x10a9ed[_0x1fe210(0x1bc)]:_0x10a9ed[_0x1fe210(0x1fa)],'textTertiary':_0x254c99?'#71717A':'#A1A1AA','border':_0x254c99?_0x10a9ed['cGgLj']:'#E4E4E7','borderStrong':_0x254c99?_0x10a9ed[_0x1fe210(0x143)]:_0x10a9ed[_0x1fe210(0x225)]};}[_0x386809(0xef)](_0x18c91d,_0x3402d7){const _0x477a9a=_0x386809,_0x27204a={'jcokZ':'#6366F1','HUUVh':'#818CF8','FaHgo':'#DC2626','rjiJt':'#FEF2F2','VyUZZ':_0x477a9a(0x165),'ouZje':'#B45309','DFEiK':'#0284C7','QORKD':_0x477a9a(0x199),'SUAtq':'#0F0F10','gzEqM':_0x477a9a(0x1ea),'rUBfH':_0x477a9a(0x1e9),'gPVVZ':'#F7F7F8','xTSSL':_0x477a9a(0x113),'aTLsJ':'#FAFAFA','vVqBQ':'#0A0A0B','wsfSx':'#71717A','ZSpqf':_0x477a9a(0xf6),'dRRqn':'#27272A','fjyPj':_0x477a9a(0x227),'wCvPK':_0x477a9a(0x13d),'HJeOZ':_0x477a9a(0xe7)};let _0x24bee9={'6366F1':{'accent':_0x27204a['jcokZ'],'accentSoft':'#EEF2FF','primary':'#4F46E5','secondary':_0x27204a[_0x477a9a(0x13c)]},'DC2626':{'accent':_0x27204a[_0x477a9a(0x1ba)],'accentSoft':_0x27204a[_0x477a9a(0x20f)],'primary':'#B91C1C','secondary':_0x27204a['VyUZZ']},'B45309':{'accent':_0x27204a['ouZje'],'accentSoft':'#FFFBEB','primary':'#92400E','secondary':_0x477a9a(0x1ca)},'0EA5E9':{'accent':'#0EA5E9','accentSoft':'#F0F9FF','primary':_0x27204a[_0x477a9a(0x216)],'secondary':_0x27204a['QORKD']}};return{..._0x24bee9[_0x18c91d]||_0x24bee9[_0x477a9a(0x218)],'bgPrimary':_0x3402d7?_0x27204a['SUAtq']:_0x27204a['gzEqM'],'bgSecondary':_0x3402d7?_0x27204a[_0x477a9a(0xd0)]:_0x27204a['gPVVZ'],'bgTertiary':_0x3402d7?'#26262A':_0x27204a['xTSSL'],'textPrimary':_0x3402d7?_0x27204a[_0x477a9a(0x195)]:_0x27204a['vVqBQ'],'textSecondary':_0x3402d7?_0x477a9a(0xf6):'#52525B','textTertiary':_0x3402d7?_0x27204a[_0x477a9a(0x203)]:_0x27204a['ZSpqf'],'border':_0x3402d7?_0x27204a['dRRqn']:_0x27204a[_0x477a9a(0x1f9)],'borderStrong':_0x3402d7?_0x27204a[_0x477a9a(0x120)]:_0x27204a[_0x477a9a(0x1f3)]};}async['resolveIcons'](_0x2a637b,_0x1ad79a=0xc){const _0x39191d=_0x386809,_0x4f0fa5={'tcTkL':'status','LuLZv':'ecommerce','ggxcy':'action','dosoN':_0x39191d(0x159),'OZwrv':'settings','vhtrZ':_0x39191d(0x141),'rVFXu':_0x39191d(0x204),'CZVBo':_0x39191d(0x20b)};let _0xe49a75=_0x2a637b['toLowerCase'](),_0x33947d=['navigation','action',_0x4f0fa5[_0x39191d(0x14e)]];/(shop|cart|product|buy|store)/['test'](_0xe49a75)?_0x33947d=[_0x4f0fa5['LuLZv'],_0x4f0fa5[_0x39191d(0x17c)],_0x4f0fa5['tcTkL']]:/(data|chart|metric|analytic|stat)/['test'](_0xe49a75)?_0x33947d=[_0x4f0fa5['dosoN'],_0x4f0fa5['OZwrv'],_0x4f0fa5['tcTkL']]:/(social|share|follow|like)/['test'](_0xe49a75)?_0x33947d=[_0x4f0fa5[_0x39191d(0xd2)],_0x4f0fa5['rVFXu'],_0x4f0fa5[_0x39191d(0x17c)]]:/(user|profile|account|team)/['test'](_0xe49a75)&&(_0x33947d=[_0x39191d(0x14a),'action',_0x39191d(0x163)]);let _0x5652ba=_0x33947d[_0x39191d(0x1c9)](_0x1e1af9=>P[_0x1e1af9]||[])['slice'](0x0,_0x1ad79a);return this['config']['useIconify']?this[_0x39191d(0x21d)](_0x5652ba):{'names':_0x5652ba,'source':_0x4f0fa5[_0x39191d(0x162)],'importLine':'import\x20{\x20'+_0x5652ba['map'](_0x4a6a3d=>this[_0x39191d(0x1f1)](_0x4a6a3d[_0x39191d(0x23d)](':')[0x1]))['join'](',\x20')+'\x20}\x20from\x20\x27lucide-react\x27'};}async[_0x386809(0x21d)](_0x1d32af){const _0x24dbcd=_0x386809,_0x39fdfb={'DbiXd':_0x24dbcd(0x111),'KMfHE':function(_0x314104,_0x2a0689){return _0x314104(_0x2a0689);}};let _0x2fed0c={};return await Promise['allSettled'](_0x1d32af[_0x24dbcd(0x147)](async _0x59ec7c=>{const _0x20b31e=_0x24dbcd;try{let [_0x5dc291,_0x1f18c9]=_0x59ec7c[_0x20b31e(0x240)](':')?_0x59ec7c[_0x20b31e(0x23d)](':'):[_0x39fdfb['DbiXd'],_0x59ec7c],_0x6224fd=await _0x39fdfb['KMfHE'](fetch,'https://api.iconify.design/'+_0x5dc291+'/'+_0x1f18c9+_0x20b31e(0xeb));_0x6224fd['ok']&&(_0x2fed0c[_0x59ec7c]={'svg':await _0x6224fd[_0x20b31e(0xdc)](),'name':_0x59ec7c,'set':_0x5dc291,'icon':_0x1f18c9});}catch{}})),_0x2fed0c;}async[_0x386809(0xdb)](_0x3c60c5){const _0x21d3f0=_0x386809,_0x1c2912={'naAfv':'DM\x20Sans','wKHdP':'JetBrains\x20Mono','ufkQz':_0x21d3f0(0xec),'DwOSH':_0x21d3f0(0x222),'VPqSn':'Jost','NmUkT':_0x21d3f0(0x200),'TSNFC':_0x21d3f0(0x1af),'iafGB':_0x21d3f0(0xea),'qOpdR':_0x21d3f0(0x150),'fdnMw':'IBM\x20Plex\x20Mono'};let _0x27d6ff={'modern':{'display':_0x21d3f0(0x10b),'body':_0x1c2912['naAfv'],'mono':_0x1c2912[_0x21d3f0(0x1fc)],'googleUrl':_0x1c2912['ufkQz'],'cdnUrl':_0x21d3f0(0xe6)},'editorial':{'display':_0x1c2912[_0x21d3f0(0x1fd)],'body':'Source\x20Serif\x204','mono':'IBM\x20Plex\x20Mono','googleUrl':'https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600&display=swap','cdnUrl':null},'luxury':{'display':'Cormorant\x20Garamond','body':_0x1c2912[_0x21d3f0(0x11a)],'mono':_0x1c2912['NmUkT'],'googleUrl':_0x1c2912['TSNFC'],'cdnUrl':null},'tech':{'display':_0x1c2912[_0x21d3f0(0x16c)],'body':_0x1c2912[_0x21d3f0(0x22d)],'mono':_0x1c2912[_0x21d3f0(0x1b6)],'googleUrl':_0x21d3f0(0x11e),'cdnUrl':null}};return _0x27d6ff[_0x3c60c5]||_0x27d6ff['modern'];}async['resolveMockData'](_0x50914c){const _0x199839=_0x386809,_0x154eda={'blwos':function(_0x4c2f4a,_0x52c543){return _0x4c2f4a!==_0x52c543;},'FhYJP':function(_0x9f6b2e,_0x1b8500){return _0x9f6b2e(_0x1b8500);},'oEBlk':function(_0x3bede7,_0x338e87){return _0x3bede7(_0x338e87);},'kAydp':'https://jsonplaceholder.typicode.com/posts?_limit=6'};let _0x36adfb=_0x50914c[_0x199839(0xd4)](),_0x112905={};if(_0x154eda[_0x199839(0x221)](this[_0x199839(0x102)][_0x199839(0x138)],!0x1))try{if(/(user|profile|team|people|member)/[_0x199839(0x137)](_0x36adfb)){let _0x430234=await _0x154eda[_0x199839(0x19d)](fetch,'https://jsonplaceholder.typicode.com/users');_0x430234['ok']&&(_0x112905[_0x199839(0xd3)]=await _0x430234['json']());}if(/(post|article|blog|news|content)/[_0x199839(0x137)](_0x36adfb)){let _0x452e2d=await _0x154eda[_0x199839(0x15e)](fetch,_0x154eda[_0x199839(0x135)]);_0x452e2d['ok']&&(_0x112905['posts']=await _0x452e2d[_0x199839(0x144)]());}if(/(comment|review|feedback)/['test'](_0x36adfb)){let _0x51bf16=await fetch('https://jsonplaceholder.typicode.com/comments?_limit=5');_0x51bf16['ok']&&(_0x112905['comments']=await _0x51bf16[_0x199839(0x144)]());}}catch{}return _0x112905;}async['resolveAvatars'](_0x5565a1=0x5){const _0x159297=_0x386809,_0x552e9b={'JxaTG':'avataaars','FfTZp':'personas','IYkxi':_0x159297(0xda),'ABCnE':function(_0x41afaf,_0x11d9a7){return _0x41afaf*_0x11d9a7;},'xbxMX':_0x159297(0x108),'cXLxd':_0x159297(0x226)};if(!this[_0x159297(0x102)]['useDiceBear'])return[];let _0x21b1a3=[_0x552e9b[_0x159297(0x114)],_0x552e9b[_0x159297(0x132)],_0x552e9b[_0x159297(0xed)],_0x159297(0x17b),_0x159297(0xe0)],_0x460959=_0x21b1a3[Math[_0x159297(0x155)](_0x552e9b['ABCnE'](Math[_0x159297(0x12e)](),_0x21b1a3['length']))],_0x491f02=[_0x159297(0x15f),_0x552e9b['xbxMX'],'Morgan',_0x159297(0x1e5),_0x159297(0x21c),'Riley',_0x159297(0xf3),_0x552e9b['cXLxd']];return Array['from']({'length':_0x5565a1},(_0x4e8d84,_0x452cd8)=>({'url':_0x159297(0xd8)+_0x460959+_0x159297(0x139)+_0x491f02[_0x452cd8%_0x491f02[_0x159297(0x15a)]]+_0x159297(0x136),'name':_0x491f02[_0x452cd8%_0x491f02['length']],'style':_0x460959}));}async['checkAllAPIs'](){const _0x5df166=_0x386809,_0x27bba1={'aotUw':function(_0x18ae20,_0x7b74ef,_0x5712f2){return _0x18ae20(_0x7b74ef,_0x5712f2);},'EUCwp':function(_0xb33940,_0x384199){return _0xb33940(_0x384199);},'NYnul':_0x5df166(0x166),'CdBdu':'https://jsonplaceholder.typicode.com/users?_limit=1'};let _0x5a6c71=await Promise[_0x5df166(0x224)]([this['config'][_0x5df166(0x11f)]?fetch('https://api.unsplash.com/photos/random?client_id='+this['config']['unsplashKey'])['then'](_0x57709d=>_0x57709d['ok']):Promise['resolve'](!0x1),this[_0x5df166(0x102)][_0x5df166(0x13f)]?_0x27bba1[_0x5df166(0x1cd)](fetch,'https://api.pexels.com/v1/search?query=test&per_page=1',{'headers':{'Authorization':this[_0x5df166(0x102)]['pexelsKey']}})['then'](_0x38569d=>_0x38569d['ok']):Promise[_0x5df166(0x1dd)](!0x1),fetch(_0x5df166(0x1b2))['then'](_0x237c6f=>_0x237c6f['ok'])['catch'](()=>!0x1),_0x27bba1['EUCwp'](fetch,_0x27bba1['NYnul'])['then'](_0x136a18=>_0x136a18['ok'])['catch'](()=>!0x1),fetch(_0x5df166(0x217))[_0x5df166(0x128)](_0x956844=>_0x956844['ok'])[_0x5df166(0x196)](()=>!0x1),fetch(_0x27bba1[_0x5df166(0x232)])['then'](_0x50873f=>_0x50873f['ok'])['catch'](()=>!0x1)]);return{'unsplash':{'active':_0x5a6c71[0x0]['value'],'keyRequired':!0x0},'pexels':{'active':_0x5a6c71[0x1][_0x5df166(0x1e8)],'keyRequired':!0x0},'colorAPI':{'active':_0x5a6c71[0x2]['value'],'keyRequired':!0x1},'iconify':{'active':_0x5a6c71[0x3]['value'],'keyRequired':!0x1},'dicebear':{'active':_0x5a6c71[0x4]['value'],'keyRequired':!0x1},'jsonPlaceholder':{'active':_0x5a6c71[0x5]['value'],'keyRequired':!0x1},'googleFonts':{'active':!0x0,'keyRequired':!0x1},'pixabay':{'active':!0x0,'keyRequired':!0x1}};}[_0x386809(0x212)](_0x7436cf){const _0x320408=_0x386809;let _0x4cbf98=_0x7436cf[_0x320408(0xd4)]();return Object['keys'](S)[_0x320408(0x115)](_0x217a22=>_0x4cbf98[_0x320408(0x240)](_0x217a22))||'abstract';}['_toPascalCase'](_0x349818){const _0x25e25b=_0x386809;return _0x349818['split']('-')['map'](_0x203b62=>_0x203b62[0x0][_0x25e25b(0x1c6)]()+_0x203b62['slice'](0x1))[_0x25e25b(0x18a)]('');}},E={'light':{'xs':'0\x201px\x202px\x20rgba(0,0,0,0.05)','sm':_0x386809(0xdf),'md':_0x386809(0x1d2),'lg':'0\x208px\x2032px\x20rgba(0,0,0,0.10),\x200\x204px\x208px\x20rgba(0,0,0,0.04)','xl':_0x386809(0x19c)},'dark':{'xs':_0x386809(0x206),'sm':_0x386809(0x12f),'md':_0x386809(0x12c),'lg':_0x386809(0x20d),'xl':_0x386809(0xee)}},y=class{['generate']({palette:_0x3c0cd8,fonts:_0x33c65f,theme:_0x24e790,darkMode:_0x4af431}){const _0x1de51c=_0x386809,_0x506306={'EfHhQ':'#10B981','qsmYY':'#F59E0B','VbdXS':'13px','wvrCV':'15px','FVjQH':_0x1de51c(0xf2),'pjbsF':'22px','Xdsnu':'36px','mIith':'64px','iWOPK':_0x1de51c(0x1a8),'KBcvO':_0x1de51c(0x18b),'iDyUv':'-0.03em','xUkRQ':'0.05em','WtbPe':_0x1de51c(0x1e6),'LtQXL':_0x1de51c(0x10d),'EuEXt':'20px','ZFYlF':_0x1de51c(0x185),'QCWmJ':'32px','wQTeL':'40px','ESfTH':_0x1de51c(0x21a),'betXn':_0x1de51c(0x142)};let _0x1949b1=_0x4af431?E['dark']:E['light'];return{'colors':{'--bg-primary':_0x3c0cd8['bgPrimary'],'--bg-secondary':_0x3c0cd8['bgSecondary'],'--bg-tertiary':_0x3c0cd8[_0x1de51c(0x19a)],'--text-primary':_0x3c0cd8[_0x1de51c(0x122)],'--text-secondary':_0x3c0cd8[_0x1de51c(0x1a7)],'--text-tertiary':_0x3c0cd8['textTertiary'],'--accent':_0x3c0cd8[_0x1de51c(0x210)],'--accent-soft':_0x3c0cd8[_0x1de51c(0x1c1)],'--primary':_0x3c0cd8[_0x1de51c(0x209)],'--secondary':_0x3c0cd8['secondary'],'--border':_0x3c0cd8['border'],'--border-strong':_0x3c0cd8[_0x1de51c(0x103)],'--success':_0x506306[_0x1de51c(0x125)],'--error':_0x1de51c(0x16f),'--warning':_0x506306['qsmYY']},'typography':{'--font-display':'\x27'+_0x33c65f['display']+'\x27,\x20sans-serif','--font-body':'\x27'+_0x33c65f['body']+'\x27,\x20sans-serif','--font-mono':'\x27'+_0x33c65f['mono']+'\x27,\x20monospace','--text-xs':'11px','--text-sm':_0x506306[_0x1de51c(0xcd)],'--text-base':_0x506306[_0x1de51c(0x172)],'--text-lg':_0x506306['FVjQH'],'--text-xl':_0x506306[_0x1de51c(0x1be)],'--text-2xl':'28px','--text-3xl':_0x506306['Xdsnu'],'--text-4xl':'48px','--text-5xl':_0x506306['mIith'],'--leading-tight':_0x506306[_0x1de51c(0x22f)],'--leading-snug':_0x506306['KBcvO'],'--leading-body':'1.6','--tracking-tight':_0x506306['iDyUv'],'--tracking-normal':'0','--tracking-wide':_0x506306[_0x1de51c(0xf7)],'--tracking-widest':_0x506306['WtbPe']},'spacing':{'--space-1':_0x506306[_0x1de51c(0x1ed)],'--space-2':'8px','--space-3':_0x1de51c(0x18f),'--space-4':_0x1de51c(0x205),'--space-5':_0x506306['EuEXt'],'--space-6':_0x506306[_0x1de51c(0x15c)],'--space-8':_0x506306['QCWmJ'],'--space-10':_0x506306[_0x1de51c(0x110)],'--space-12':'48px','--space-16':'64px','--space-20':_0x1de51c(0x1c7),'--space-24':_0x506306['ESfTH']},'radii':{'--radius-xs':_0x506306['LtQXL'],'--radius-sm':_0x1de51c(0x1fb),'--radius-md':'12px','--radius-lg':'16px','--radius-xl':_0x506306['ZFYlF'],'--radius-full':_0x506306[_0x1de51c(0x12a)]},'shadows':{'--shadow-xs':_0x1949b1['xs'],'--shadow-sm':_0x1949b1['sm'],'--shadow-md':_0x1949b1['md'],'--shadow-lg':_0x1949b1['lg'],'--shadow-xl':_0x1949b1['xl']}};}},b=class{[_0x386809(0x149)]({tokens:_0x3fab50,fonts:_0xa5a7b4,images:_0x227ad8,icons:_0x2a9203,mockData:_0xd50b2d,avatars:_0x321325,stitchOutput:_0x22c068,platform:_0x4e212b,darkMode:_0x47e82f}){const _0x34566b=_0x386809,_0x529143={'mCrfY':_0x34566b(0x1a4)};let _0x37eb0c=_0x2a9203[_0x34566b(0x1a3)]?_0x34566b(0x1ec)+_0x2a9203['importLine']:'Icons\x20(inline\x20SVGs\x20pre-resolved):\x0a'+Object['keys'](_0x2a9203)[_0x34566b(0x13b)](0x0,0x8)['map'](_0x26f466=>'•\x20'+_0x26f466)['join']('\x0a'),_0x6ca104=_0x227ad8[_0x34566b(0x13b)](0x0,0x5)[_0x34566b(0x147)]((_0x5d54c6,_0x17a79f)=>_0x34566b(0xf1)+(_0x17a79f+0x1)+':\x20'+_0x5d54c6[_0x34566b(0x171)]+_0x34566b(0x154)+_0x5d54c6[_0x34566b(0x1e4)]+'\x22\x20|\x20Source:\x20'+_0x5d54c6['source'])[_0x34566b(0x18a)]('\x0a'),_0x129455=_0x321325[_0x34566b(0x13b)](0x0,0x3)[_0x34566b(0x147)]((_0x1e8178,_0x364e87)=>'•\x20Avatar\x20'+(_0x364e87+0x1)+':\x20'+_0x1e8178['url']+'\x20('+_0x1e8178['name']+')')[_0x34566b(0x18a)]('\x0a'),_0x441d09=[...Object['entries'](_0x3fab50['colors']),...Object['entries'](_0x3fab50['typography']),...Object[_0x34566b(0x1c5)](_0x3fab50[_0x34566b(0x19b)]),...Object['entries'](_0x3fab50[_0x34566b(0x104)]),...Object[_0x34566b(0x1c5)](_0x3fab50[_0x34566b(0x1f7)])]['map'](([_0x3daeae,_0x55d646])=>'\x20\x20'+_0x3daeae+':\x20'+_0x55d646+';')[_0x34566b(0x18a)]('\x0a'),_0x4b6219=_0x22c068?'\x0aStitch\x20Base\x20Design:\x0aUse\x20this\x20HTML/CSS\x20as\x20the\x20layout\x20foundation,\x20then\x20enhance\x20it:\x0a'+_0x22c068[_0x34566b(0x167)]?.['slice'](0x0,0x7d0)+_0x34566b(0x20c):'';return _0x34566b(0x131)+_0x4e212b+'\x20interface.\x0a\x0a'+_0x4b6219+_0x34566b(0x18e)+_0xa5a7b4[_0x34566b(0x21f)]+'\x27\x20\x20→\x20\x20'+(_0xa5a7b4['cdnUrl']||_0x529143['mCrfY'])+_0x34566b(0x197)+_0xa5a7b4['body']+'\x27\x20\x20\x20\x20\x20→\x20\x20'+_0xa5a7b4['googleUrl']+_0x34566b(0x188)+_0x6ca104+'\x0a\x0aAVATARS\x20—\x20Use\x20for\x20user\x20lists,\x20testimonials,\x20teams:\x0a'+_0x129455+'\x0a\x0a'+_0x37eb0c+_0x34566b(0x20e)+_0x441d09+_0x34566b(0x1c3)+(_0xd50b2d['users']?_0x34566b(0x213)+JSON['stringify'](_0xd50b2d[_0x34566b(0xd3)][_0x34566b(0x13b)](0x0,0x3),null,0x2)+'\x0aUse\x20this\x20for\x20realistic\x20user/team\x20sections.':'')+_0x34566b(0x117);}},x=class{constructor({apiKey:_0x2738bc,projectId:_0x52eb26,mode:_0x1ddb4a}){const _0x52ef04=_0x386809,_0x448a3d={'WRSrp':function(_0xf83213,_0x3f9d87){return _0xf83213||_0x3f9d87;},'FjmNe':_0x52ef04(0x202)};this[_0x52ef04(0x133)]=_0x2738bc,this['projectId']=_0x52eb26,this[_0x52ef04(0x118)]=_0x448a3d['WRSrp'](_0x1ddb4a,_0x448a3d[_0x52ef04(0x1da)]);}['isConfigured'](){const _0x266c30=_0x386809;return!!(this[_0x266c30(0x133)]&&this['projectId']);}async['generate'](_0x2818d0,_0x5659fa=_0x386809(0x1c4)){const _0x40f611=_0x386809,_0x289def={'cLoKA':_0x40f611(0x1e2),'CGVlf':'POST','rsCWU':'application/json'};if(!this[_0x40f611(0x11b)]())return null;try{let _0xe016e2=await fetch(_0x289def[_0x40f611(0x241)],{'method':_0x289def['CGVlf'],'headers':{'Authorization':_0x40f611(0xf8)+this[_0x40f611(0x133)],'Content-Type':_0x289def['rsCWU'],'x-goog-user-project':this['projectId']},'body':JSON[_0x40f611(0x214)]({'prompt':_0x2818d0,'platform':_0x5659fa,'mode':this[_0x40f611(0x118)]})});return _0xe016e2['ok']?await _0xe016e2[_0x40f611(0x144)]():null;}catch{return null;}}};import _0x5378b8 from'dotenv';_0x5378b8['config']();var p=new f({'unsplashKey':process.env.UNSPLASH_ACCESS_KEY,'pexelsKey':process.env.PEXELS_API_KEY,'googleFontsKey':process.env.GOOGLE_FONTS_API_KEY,'useColorAPI':process.env.USE_COLOR_API==='true','useIconify':process.env.USE_ICONIFY===_0x386809(0xd1),'useDiceBear':process.env.USE_DICEBEAR==='true','usePixabay':process.env.USE_PIXABAY===_0x386809(0xd1)}),F=new y(),k=new b(),v=new x({'apiKey':process.env.STITCH_API_KEY,'projectId':process.env.GOOGLE_CLOUD_PROJECT,'mode':process.env.STITCH_MODE||'experimental'}),O=w({'name':_0x386809(0x223),'version':_0x386809(0x168),'tools':{'generate_ui':{'description':'Generate\x20a\x20complete,\x20production-quality\x20UI\x20with\x20real\x20images,\x20icons,\x20fonts\x20and\x20color\x20tokens.\x20Returns\x20React/HTML\x20code.','inputSchema':{'type':'object','properties':{'prompt':{'type':_0x386809(0x242),'description':'What\x20UI\x20to\x20build'},'theme':{'type':_0x386809(0x242),'enum':[_0x386809(0x1b1),_0x386809(0x1bf),'editorial','luxury',_0x386809(0x140)],'default':'auto'},'darkMode':{'type':'boolean','default':!0x1},'platform':{'type':_0x386809(0x242),'enum':['web','mobile'],'default':'web'}},'required':['prompt']},'handler':async({prompt:_0x24aed7,theme:_0x4864ad='auto',darkMode:_0x39697c=!0x1,platform:_0x233a46=_0x386809(0x1c4)})=>{const _0x4bbfe7=_0x386809,_0x1f8888={'ICKSo':function(_0x180f6b,_0xd28020){return _0x180f6b===_0xd28020;},'WjLiv':_0x4bbfe7(0x1b1)};let _0x133c3a=_0x1f8888[_0x4bbfe7(0x1a0)](_0x4864ad,_0x1f8888[_0x4bbfe7(0xe5)])?T(_0x24aed7):_0x4864ad,[_0x5c6e18,_0x8035af,_0x180ab8,_0x4c5200,_0x41ebf5,_0x31bde8]=await Promise['all']([p[_0x4bbfe7(0x148)](_0x24aed7,0x5),p[_0x4bbfe7(0x1ac)](_0x24aed7,0xc),p[_0x4bbfe7(0x234)](_0x133c3a,_0x39697c),p[_0x4bbfe7(0xdb)](_0x133c3a),p['resolveMockData'](_0x24aed7),p[_0x4bbfe7(0x1f5)](0x3)]),_0x59c561=F[_0x4bbfe7(0x169)]({'palette':_0x180ab8,'fonts':_0x4c5200,'theme':_0x133c3a,'darkMode':_0x39697c}),_0x2605f2=null;return v['isConfigured']()&&(_0x2605f2=await v[_0x4bbfe7(0x169)](_0x24aed7,_0x233a46)[_0x4bbfe7(0x196)](()=>null)),{'systemPrompt':k[_0x4bbfe7(0x149)]({'tokens':_0x59c561,'fonts':_0x4c5200,'images':_0x5c6e18,'icons':_0x8035af,'mockData':_0x41ebf5,'avatars':_0x31bde8,'stitchOutput':_0x2605f2,'platform':_0x233a46,'darkMode':_0x39697c}),'resolvedAssets':{'images':_0x5c6e18,'icons':_0x8035af,'palette':_0x180ab8,'fonts':_0x4c5200,'mockData':_0x41ebf5,'avatars':_0x31bde8},'tokens':_0x59c561,'stitchAvailable':!!_0x2605f2};}},'resolve_images':{'description':_0x386809(0x1dc),'inputSchema':{'type':'object','properties':{'query':{'type':'string'},'count':{'type':_0x386809(0x146),'default':0x5},'orientation':{'type':'string','enum':['landscape',_0x386809(0x1ab),_0x386809(0x1c2)],'default':_0x386809(0x1df)}},'required':['query']},'handler':async({query:_0x16f2d6,count:_0x31b058=0x5,orientation:_0x52d183='landscape'})=>p[_0x386809(0x148)](_0x16f2d6,_0x31b058,_0x52d183)},'resolve_palette':{'description':'Generate\x20a\x20harmonious\x20color\x20palette\x20for\x20a\x20given\x20theme\x20or\x20seed\x20color.','inputSchema':{'type':_0x386809(0x23f),'properties':{'seed':{'type':_0x386809(0x242),'description':'Hex\x20color\x20or\x20theme\x20name\x20(e.g.\x20#6D28D9\x20or\x20\x22ocean\x22)'},'mode':{'type':'string','enum':[_0x386809(0x22a),'complement','triad',_0x386809(0x186)],'default':'analogic'},'darkMode':{'type':_0x386809(0x16a),'default':!0x1}},'required':['seed']},'handler':async({seed:_0x326012,mode:_0x225c5f='analogic',darkMode:_0x35562a=!0x1})=>p[_0x386809(0x1ae)](_0x326012,_0x225c5f,_0x35562a)},'resolve_icons':{'description':_0x386809(0x16d),'inputSchema':{'type':_0x386809(0x23f),'properties':{'icons':{'type':'array','items':{'type':'string'},'description':'Icon\x20names\x20e.g.\x20[\x22lucide:arrow-right\x22,\x20\x22phosphor:star\x22,\x20\x22heroicons:bell\x22]'}},'required':['icons']},'handler':async({icons:_0x4dee23})=>p['fetchIconSVGs'](_0x4dee23)},'get_design_tokens':{'description':_0x386809(0x1cc),'inputSchema':{'type':_0x386809(0x23f),'properties':{'theme':{'type':_0x386809(0x242),'enum':[_0x386809(0x1bf),'editorial','luxury','tech'],'default':_0x386809(0x1bf)},'darkMode':{'type':'boolean','default':!0x1},'accentColor':{'type':'string','description':_0x386809(0x177)}}},'handler':async({theme:_0x324cf3=_0x386809(0x1bf),darkMode:_0x233a52=!0x1,accentColor:_0x18c45c})=>{const _0x18df3a=_0x386809;let _0x228411=await p['resolvePalette'](_0x324cf3,_0x233a52);return _0x18c45c&&(_0x228411[_0x18df3a(0x210)]=_0x18c45c),F['generate']({'palette':_0x228411,'theme':_0x324cf3,'darkMode':_0x233a52});}},'status':{'description':'Check\x20which\x20APIs\x20are\x20active\x20and\x20their\x20status.','inputSchema':{'type':'object','properties':{}},'handler':async()=>{const _0x432635=_0x386809,_0x16f805={'zsQkb':'online','zeimG':_0x432635(0x168),'ZsoKY':'auto'};let _0x422a4b=await p['checkAllAPIs']();return{'bridge':_0x16f805[_0x432635(0x23c)],'version':_0x16f805[_0x432635(0x181)],'theme':process.env.DEFAULT_THEME||_0x16f805[_0x432635(0x1d7)],'apis':_0x422a4b,'stitchConfigured':v[_0x432635(0x11b)]()};}}}});function T(_0x456ced){const _0x168ec2=_0x386809,_0x236725={'BjNfP':'tech','qkvmy':_0x168ec2(0x157),'oBgEA':_0x168ec2(0x1b1),'VCbOI':_0x168ec2(0x1bf)};let _0x4d9faa=_0x456ced[_0x168ec2(0xd4)]();return/(finance|bank|saas|dashboard|enterprise|analytics|data|metrics)/[_0x168ec2(0x137)](_0x4d9faa)?_0x236725[_0x168ec2(0x14b)]:/(luxury|fashion|jewelry|beauty|premium|boutique|haute|couture)/[_0x168ec2(0x137)](_0x4d9faa)?'luxury':/(magazine|editorial|blog|news|article|media|journal|story)/['test'](_0x4d9faa)?_0x236725[_0x168ec2(0x1a5)]:process.env.DEFAULT_THEME===_0x236725['oBgEA']?_0x236725[_0x168ec2(0x1fe)]:process.env.DEFAULT_THEME||'modern';}function _0x503b(){const _0x1f7ed2=['cGPpDxrWDxq6ieeGC2LUz2XLignVBxbSzxrLifjLywn0iePtwcbMAwXLlIbezwzHDwX0igv4Cg9YDc4GwMvYBYbYzxf1AxjLzcbWCM9WCY4GuhjVzhvJDgLVBIbYzwfKEs4','Bw9Kzq','mZGYoti0zxvTtwvH','vLbXu24','AxndB25MAwD1CMvK','mte1otC0wxPoreXQ','iZrgndzfnq','Ahr0Chm6lY9MB250CY5NB29NBgvHCgLZlMnVBs9JC3mYp2zHBwLSEt1tCgfJzsThCM90zxnRoNDNAhrandaWoZuWmdS2mda7nZaWjMzHBwLSEt1jqK0RugXLEcTtyw5ZoML0ywWSD2DODeaWldmWmdSWldqWmdSWlduWmdSWldyWmczMyw1PBhK9sujnk1bSzxGRtw9UBZP3z2H0qdqWmdS1mdaMzgLZCgXHEt1ZD2fW','Dw5ZCgXHC2HlzxK','D0n2ueS','BhvJAwrLoNnSAwrLCNm','Dgv4DfbYAw1HCNK','zxjYB3i','BhvJAwrLoNbHy2THz2u','rwziAfe','iZbgmeyXma','iZi2mJyYqq','DgHLBG','BhvJAwrLoMjHCI1JAgfYDc0Y','yMv0wg4','ywLMCeS','mca0ChGGmtzWEcbYz2jHkdaSmcWWldaUmZiPlcaWidjWEca0ChGGCMDIysGWldaSmcWWlJe2kq','oty4odK2zwLWrhrz','CMfUzg9T','mcaYChGGohb4ihjNyMeOmcWWldaSmc4YncKSidaGmxb4idjWEcbYz2jHkdaSmcWWldaUmtyP','ywjZDhjHy3q','ww91igfYzsbHihDVCMXKlwnSyxnZifvjigvUz2LUzwvYlIbcDwLSzcbHignVBxbSzxrLlcbWCM9KDwn0Aw9UlwDYywrLia','rMzuwNa','yxbPs2v5','DxrMoa','A0f5zha','jNnPEMu9mti4','DgvZDa','DxnLsNnVBLbSywnLAg9SzgvY','l3n2zZ9ZzwvKpq','ndbWEa','C2XPy2u','sfvvvMG','iZngm0y0nG','ELngAhe','Cgv4zwXZs2v5','DgvJAa','C29JAwfS','otK5oxb4','yw9cAxO','ANnVBG','ltaUmdnLBq','BNvTyMvY','BwfW','CMvZB2X2zuLTywDLCW','yNvPBgq','DxnLCG','qMPozLa','vMTsAK4','CMf3','DgnuA0W','BhvJAwrLoM1LC3nHz2uTy2LYy2XL','sujnifbSzxGGu2fUCW','CgHVDg8Tmtu1ntm5nJi3mY0ZnJDLytrLyJrKyJu','BhvJAwrLoNrYyxnO','mI4W','cIaGqwX0oIaI','zMXVB3i','BhvJAwrLoNn0yxi','zwrPDg9YAwfS','mtfWEa','zgf0yq','BgvUz3rO','iZbbmeeWqG','wKzzBey','CgHVDg8TmtuYote1nJa2otG5oc00otK1m2uZowiZywm','B0vcBgS','qwXLEa','CgHVDg8TmtqXndiZnta3nZqYoc0ZmZG5odLHmMu4yZa','i0zfrJjgmG','q1PwqM8','C2v0DgLUz3m','A2DKuxi','i0y4nZe3mq','Ahr0Chm6lY9HCgKUAwnVBMLMEs5KzxnPz24VBhvJAwrLl3n0yxiUC3zN','AhrTBa','ms4WlJa','z2vUzxjHDgu','yM9VBgvHBG','C3rHCNq','AwfMr0i','r2v0ifnwrYbPy29Uihn0CMLUz3mGzM9YigeGBgLZDcbVzIbPy29Uig5HBwvZigzYB20GswnVBMLMEsaOthvJAwrLlcbqAg9ZCgHVCIWGsgvYB2LJB25ZlcbLDgmUkq','Be9JAM8','i0vgndq0na','s3DfEwu','DxjS','D3zYq1y','C3jJ','iZi3mJCYqq','BhvJAwrLoMvKAxq','ChjLDMLLD1vsta','t3b0Aw9UywWGAgv4igfJy2vUDcbJB2XVCIb0BYbVDMvYCMLKzsbKzwzHDwX0','nJrWEa','Ahr0Chm6lY9WAxHHyMf5lMnVBs9HCgKVp3e9','Ahr0Chm6lY9HCgKUCgv4zwXZlMnVBs92ms9ZzwfYy2G/CxvLCNK9','Bg9YzwXLAq','z2D4y3K','wLzJr3O','BhvJAwrLoNvZzxi','tKXHvNG','BNDuqwS','EMvPBuC','sxfgyLO','C2vJB25Kyxj5','jNbLCL9WywDLpq','mJrWEa','CxvHza','DxjSCW','cGPjtufhrvmG4OcuifvZzsb0AgvZzsbfwefdvcbvuKXZicHYzwfSihbOB3rVCYWGBM90ihbSywnLAg9SzgvYCYK6cG','mJjWEa','AM9PBG','ms4Z','BhvJAwrLoNrHzW','jNnPzZ0','cGRILihILihILieGtuforefut1jzoIbvu0uGveHfu0uGrvHbq1qGufjflvjfu09mvKveieftu0vuuYdILihILihILihILihILihILihILihILihILihILihILiekcKzptLrtiokaLcbmB2fKiejpveGGDgHLC2uGvvjmCYbPBIbku1GGkg5VDcb1C2vfzMzLy3qPoGOGierPC3bSyxK6icC','mtjWEa','DwXssvi','C21HBgW','CgHVDg8TmtuYmZa1mdG1nda1oc04zgy5mdeXmgm5zJe','A0nmyuO','Cgv4zwXZ','yvrmC0O','y2f0y2G','cIaGqM9KEtOGicaGjW','ENLbEhG','iZm4qKrgoa','yMDuzxj0AwfYEq','C3bHy2LUzW','mcaYnhb4idy0ChGGCMDIysGWldaSmcWWlJe0kq','rMHzsLa','ChvZAa','BhvJAwrLoMfJDgL2Axr5','sunlu28','A3DXD0i','CgHVDg8Tmtu1mti4oda0os1IzwjKytrLmZHMnZe','Aw1WB3j0tgLUzq','DMLHieDVB2DSzsbgB250CW','CwT2BxK','CgHVDg8Tmtq2mdKYntG5ntKXnY1HzMrHyJGYn2m1mMy','Dgv4DfnLy29UzgfYEq','ms4X','nZi4nZaWwxnXzu5s','C252BeW','Cg9YDhjHAxq','CMvZB2X2zuLJB25Z','i0yWrJLgrG','CMvZB2X2zvbHBgv0DgvgCM9Tu2vLza','Ahr0Chm6lY9MB250CY5NB29NBgvHCgLZlMnVBs9JC3mYp2zHBwLSEt1dB3jTB3jHBNqRr2fYyw1VBMq6AxrHBcX3z2H0qdaSmZaWoZaSndaWoZaSnJaWoZeSmZaWoZeSndaWjMzHBwLSEt1kB3n0oNDNAhramZaWoZqWmdS1mdaMzgLZCgXHEt1ZD2fW','CgHVDg8TmtyXodaWnte4mJm4nc1HodnHogjKntDMyMu','yxv0BW','Ahr0Chm6lY93D3CUDgHLy29SB3jHCgKUy29Tl2LKp2HLEd02rdi4rdK','v3jYt2i','rKrbAhO','BMfTzq','zMrUtxC','BhvJAwrLoNbPzs1JAgfYDa','ndHWEa','nZiXmJy5nLzABLzvzq','rMfiz28','BhvJAwrLoMLTywDL','uMD3z1i','mZeXotiXnfzfvwfPrG','CgPIC0y','Bw9KzxjU','BhvJAwrLoMnOzwnRlwnPCMnSzq','ywnJzw50u29MDa','C3f1yxjL','cN0kcUkuGEkuGEkuGsbjtvbmru1ftLrbveLptIbsvuXfuYaOtK9olu5fr09usufcteuPiokuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGqOkms4GrK9ovfm6ieXVywqGD2L0Aca8BgLUAZ4GAw4GsLnyihjLDhvYBI4GtMv2zxiGDxnLrwzMzwn0lIbozxzLCIbKB2n1BwvUDc5OzwfKlGOYlIbdt0XpuLm6iev2zxj5ignVBg9Yig11C3qGCMvMzxjLBMnLigeGq1ntihzHCMLHyMXLlIbAzxjVigHHCMrJB2rLzcbOzxGUcJmUifnqqunjtKC6ifvZzsbVBMX5ic0TC3bHy2uTkIb2yxjPywjSzxmUie5Vig1Hz2LJig51BwjLCNmUcJqUifrzue9huKfqsfK6ieXLDhrLCI1ZCgfJAw5Nig9UiefmtcbOzwfKAw5NCZOGDMfYkc0TDhjHy2TPBMCTDgLNAhqPcIaGicaGicaGicaGicaGieXPBMuTAgvPz2H0ig9UigjVzhK6ihzHCIGTlwXLywrPBMCTyM9KEsKkns4Gq0fsrfm6igHVDMvYiokgKIb0CMfUC2XHDgvzkc00ChGPicSGC2HHzg93ihvWz3jHzguUiefSD2f5CY4knI4GvfjbtLnjveLptLm6ihrYyw5ZAxrPB246igfSBcaWlJjZign1yMLJlwjLEMLLCIGWlJqSidaSidaUmIWGmsKGB24GquXmigLUDgvYywn0AxzLigvSzw1LBNrZcJCUieLnquDfuZOGvxnLieLTzYbJB21WB25LBNqGD2L0AcbVBKvYCM9YigzHBgXIywnRlIborvzfuIbICM9Rzw4GAw1Hz2vZlGO4lIbtrunusu9ouZOGqwX0zxjUyxrLic0TyMCTChjPBwfYEsbHBMqGls1IzY1ZzwnVBMrHCNKkos4Gtu9csuXfoIb1C2vcCMvHA3bVAw50kdC2ocKGAg9VAYbVBIbHBgWGz3jPzhmkmtaUievzrujst1C6iev2zxj5ihnLy3rPB24Gz2v0CYbHideYChGGDxbWzxjJyxnLihrYywnRzwqGBgfIzwWGywjVDMuGDgHLigHLywrPBMCkmteUiefosu1bveLptJOGu3rHz2DLCMvKigzHzguTAw4GB24GCgfNzsbSB2fKlIbdyxjKCYbHBMLTyxrLig9UihnJCM9SBc4kmtiUifniqurpv1m6ifvZzsbZAgfKB3CGAgLLCMfYy2H5iokaLcbJyxjKCYb1C2uGls1ZAgfKB3CTBwqSigHVDMvYihvZzxmGls1ZAgfKB3CTBgCkmtmUiejpuKrfuI1squrjvvm6ifvZzsaTlxjHzgL1CY1SzYaOmtzWEcKGzM9YignHCMrZlcaTlxjHzgL1CY1MDwXSigzVCIbWAwXSCY9IywrNzxmkcUkuGEkuGEkuGsbdt01qt05ftLqGuvvbteLuwsbtveforefsrfmG4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4PsbcGPoyxy6icaGihn0AwnREsWGyMfJA2rYB3bgAwX0zxiGyMX1CIGYmhb4ksWGC2nYB2XSlwf3yxjLigjVCMrLCGPizxjVoIaGigz1BgWTyMXLzwqGAw1Hz2uGD2L0AcbNCMfKAwvUDcbVDMvYBgf5lcbIB2XKigHLywrSAw5LlcbdveeGCgfPCGPdyxjKCZOGihjLywWGCgHVDg9ZlcbWCM9WzxiGC2HHzg93lcbOB3zLCIbSAwz0lcbSB2fKAw5NihnRzwXLDg9UcKj1DhrVBNm6ihbYAw1HCNKGkhnVBgLKigfJy2vUDcKSihnLy29UzgfYEsaOz2HVC3qPlcb0zxj0AwfYEsaODgv4DcKkrM9YBxm6icbMB2n1CYbYAw5NCYWGDMfSAwrHDgLVBIbZDgf0zxmSigLUBgLUzsbSywjLBhmkrM9VDgvYoIbTDwX0As1JB2X1Bw4Sig11DgvKihrLEhqSihbYB3bLCIbZCgfJAw5NcGO','D2vI','zw50CMLLCW','Dg9vChbLCKnHC2u','odbWEa','D0DxEgi','zMXHDe1HCa','i0q5nZCWnG','BhvJAwrLoMnOzxzYB24Tzg93BG','r2v0igeGy29TCgXLDguGzgvZAwDUihrVA2vUihnLDcaOy29SB3jZlcb0ExbVz3jHCgH5lcbZCgfJAw5NlcbZAgfKB3DZlcbYywrPAsKGzM9YigeGDgHLBwuU','yw90vxC','uu1ts2y','zgncAeC','iZKYndaWrq','jNC9mtiWmczOptGWmczMAxq9y3jVCczHDxrVpwzVCM1HDczXptGW','mca0ChGGmtzWEcbYz2jHkdaSmcWWldaUmdGPlcaWidjWEca0ChGGCMDIysGWldaSmcWWlJa0kq','BhvJAwrLoMjVB2TTyxjR','CgfYC2u','ovDitu1MEG','Agv4','wNnVs1K','Bwv0Ag9K','BuvfrhO','rMPTtMu','odC0mtCYsLz1tvnX','rMLUzcbYzwfSihbOB3rVz3jHCgH5igzVCIbHigDPDMvUihrVCgLJlIbszxr1CM5ZifvsthmGzNjVBsbvBNnWBgfZAc9qzxHLBhmVugL4ywjHEs4','CMvZB2X2zq','BhvJAwrLoNnOB3bWAw5NlwjHzW','BgfUzhnJyxbL','jM9YAwvUDgf0Aw9Upq','i0zgrKjfqG','Ahr0Chm6lY9ZDgL0y2GUz29Vz2XLyxbPCY5JB20VDJeVzgvZAwDUCZPNzw5LCMf0zq','Dg9VBhmVy2fSBa','ywX0','vgf5Bg9Y','mc4Xzw0','ugrPDvK','DMfSDwu','iZfbmueXqW','i0zgrKzgrG','BhvJAwrLoNbHDxnL','swnVBNmGkgLTCg9YDcbMCM9TigX1y2LKzs1YzwfJDcK6cG','thrrweW','vuzvANC','CgL4ywjHEuTLEq','BhvJAwrLoNrYzw5KAw5NlwrVD24','x3rVugfZy2fSq2fZzq','zKrLDuq','sePLt1O','CgHVDg8Tmtq2mtC0oti4mdy4nc1Ky2nIytyZmguYzJy','CMvZB2X2zuf2yxrHCNm','whPNEKO','C2HHzg93CW','vKj0DMW','zMP5ugO','rM5gv3G','ohb4','D0Tizfa','rhDpu0G','vKnIt0K','t0jyzMq','q291CMLLCIbqCMLTzq','Dgv4DfrLCNrPyxj5','zxHWzxjPBwvUDgfS','D3nMu3G','y29UDgvUDa','mtzWEa','mcaXChGGmNb4ihjNyMeOmcWWldaSmc4YmcK','uLLbBgK','zeHxA0u','ChjPBwfYEq','x2j1AwXKugfSzxr0zuzYB21tD2f0y2HLCW','BhvJAwrLlxjLywn0','lI4UcG','mca4ChGGmZjWEcbYz2jHkdaSmcWWldaUndaPlcaWidrWEca4ChGGCMDIysGWldaSmcWWlJe2kq','cGRILihILihILieGrevtsuDoifrps0vouYdIGjqGvvnfifrirvnfievyqunuifzbtfvfuYdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILiekcJPYB290ihSk','CMPPsNq','ywnJzw50','AxrmuuS','x2v4DhjHy3rlzxL3B3jK','cK1Vy2SGvxnLCNmGrgf0ysbbDMfPBgfIBgu6cG','C3rYAw5NAwz5','BhvJAwrLoMv5zq','rezfAuS','Ahr0Chm6lY9HCgKUzgLJzwjLyxiUy29TlZKUEc9HDMf0ywfHCNmVC3zNp3nLzwq9DgvZDa','nJm2nKyX','ug54zKm','otzWEa','ANnszxy','q2fZzxK','zMv0y2Hjy29Uu1zhCW','BhvJAwrLoMLUzM8','zgLZCgXHEq','ywX0x2rLC2nYAxb0Aw9U','yMX3B3m','ugXHEwzHAxiGrgLZCgXHEq','zgvZAwDUlwjYAwrNzq','ywXSu2v0DgXLza','u0Hrtuq','rhjLDW','i0u0rtrfnW','CgHVDg8Tmtq0mtK4nJmWmdKXnY02ndy3ngjKnJaWzdG','iZuYnti1qG','yw5HBg9NAwm','qvL0tui','tKfNz04','Cu9Wzfi','AefYv1q','AvDpueS','EuT4BM8','BhvJAwrLoM11C2LJ','q2rczhu','tefms0W','CMvZB2X2zvbHBgv0Dgu','CgHVDg9NCMfWAgvY','yMDtzwnVBMrHCNK','CgHVDg8TmtyWnZa4mJm0odGYnc0WytK2zJjHngi5zge','CgHVDg8Tmtq4nJmYntiXmJaYnY04mdGXztq4nti1nwu','BhvJAwrLoMXVzY1VDxq','CgHVDg8Tmtq5nZm2nJiXnJu0oc0ZnZuYnJa3mdi5n2m','ExPXvfq','ENnrA2i','C3bSAxq','CgL4ywjHEq','B2jQzwn0','Aw5JBhvKzxm','y0XVs0e','C3rYAw5N','BhvJAwrLoMXVzY1PBG','vMjKwfm','C2LWAhC','BhvJAwrLoNnOB3bWAw5NlwnHCNq','CLvczKG','Dhj1zq','DMH0CLO','DxnLCNm','Dg9mB3DLCKnHC2u','BgfYz2uYEa','A3vXvLq','BhvJAwrLoMXPBMTLzgLU','Ahr0Chm6lY9HCgKUzgLJzwjLyxiUy29TlZKUEc8','suTMy2W','BwLJywG','CMvZB2X2zuzVBNrZ','Dgv4Da','CMPdrgq','CgfYyw1Z','mcaYChGGohb4ihjNyMeOmcWWldaSmc4WnIKSidaGmxb4idjWEcbYz2jHkdaSmcWWldaUmdqP','BM90Aw9UAxn0CW','BhvJAwrLoNzPzgvV','BhvJAwrLoMHLyxj0','r0DfEKO','Dg9VBhmVBgLZDa','v2PmAxy','Ahr0Chm6lY9HCgKUzM9UDhnOyxjLlMnVBs92mI9JC3m/zLTDpwnHyMLUzxqTz3jVDgvZA0a0mdaSntaWldCWmcW4mdaMzgLZCgXHEt1ZD2fW','i0q0rdreoa','v2P2rum','EeDzAgO','u3bHy2uGr3jVDgvZAW','lNn2zZ9JB2XVCJ1JDxjYzw50q29SB3i','Ahr0Chm6lY9MB250CY5NB29NBgvHCgLZlMnVBs9JC3mYp2zHBwLSEt1etsTtyw5ZoML0ywWSB3bZEIX3z2H0qdaSos4UndaSmZaWoZaSos4UndaSndaWoZaSos4UndaSntaWoZaSos4UndaSnZaWjMzHBwLSEt1kzxrcCMfPBNmRtw9UBZP3z2H0qdqWmdS1mdaMzgLZCgXHEt1ZD2fW','svLREgK','mcaYnhb4idy0ChGGCMDIysGWldaSmcWWlJu2kq','x2zHBgXIywnRugfSzxr0zq','CgHVDg8TmtuWmdq2mJKXoda1os1ImweWy2i1mtjMmwq','4OcIieLTywDLia','mtHWEa','uxvPBM4','qvrxz3q','Ahr0Chm6lY93D3CUDgHLy29SB3jHCgKUy29Tl3nJAgvTzt9OzxG9','i0eXqtfbqq','EfvRuLe','qMvHCMvYia','BhvJAwrLoNnOyxjLlti','iZeWqJK4mq','BhvJAwrLoMnYzwrPDc1JyxjK','mc4WnwvT','DhjPBq','A2nTqMC','iZbfqtvfoq','u1fcyw4','CgHVDg8TmtuYmJa3mtGYmda4ms0WmdLMmdeYowm3mwm','y29UzMLN','yM9YzgvYu3rYB25N','CMfKAwK','zM9YrwfJAa','i0y3rJDgoa','i0rdmJyYnG','sM9YzgfU','ueHkqwy','BhvJAwrLoMDPDgH1yG','q2fIAw5LDcbhCM90zxnR','BhvJAwrLoMnOzxzYB24TCMLNAhq','nhb4','iZCXnZe3qq','BhvJAwrLoNGTy2LYy2XL','D1fuzuW','BhvJAwrL','CvD6vLe','i0vfruvgma','sNHHveC','zMLUza','q2XPzw50luLeia'];_0x503b=function(){return _0x1f7ed2;};return _0x503b();}O[_0x386809(0x16b)](),console[_0x386809(0x123)]('MCP\x20Design\x20Bridge\x20running\x20—\x20all\x20APIs\x20active');