@sarjallab09/figma-intelligence 1.2.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.
- package/README.md +13 -11
- package/dist/bin/cli.js +1 -1
- package/dist/design-bridge/bridge.js +1 -1
- package/dist/figma-bridge-plugin/bridge-relay.js +1 -1
- package/dist/figma-bridge-plugin/code.js +1 -1
- package/dist/figma-intelligence-layer/dist/index.js +1 -1
- package/dist/scripts/clean-existing-chunks.js +1 -1
- package/dist/scripts/connect-ai-tool.js +1 -1
- package/dist/scripts/convert-hub-pdfs.js +1 -1
- package/dist/scripts/figma-mcp-status.js +1 -1
- package/dist/scripts/register-codex-mcp.js +1 -1
- package/dist/scripts/test-copilot-chat.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,7 +40,8 @@ This will:
|
|
|
40
40
|
- Ask for your **Figma Personal Access Token** ([how to get one](#figma-personal-access-token))
|
|
41
41
|
- Register the MCP server with your detected providers
|
|
42
42
|
- Start the local relay server
|
|
43
|
-
- Copy the Figma plugin files to
|
|
43
|
+
- Copy the Figma plugin files to your **Documents folder**
|
|
44
|
+
- **Automatically copy the plugin path to your clipboard** (makes Step 3 one-click)
|
|
44
45
|
- Optionally install as a background service (macOS)
|
|
45
46
|
|
|
46
47
|
### Step 3: Load the plugin in Figma (one-time)
|
|
@@ -49,6 +50,8 @@ After setup completes, you need to import the plugin into Figma. **You only do t
|
|
|
49
50
|
|
|
50
51
|
> **Note:** Requires Figma Desktop app — the browser version won't work.
|
|
51
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
|
+
|
|
52
55
|
1. **Open any file** in Figma Desktop
|
|
53
56
|
*(The plugin menu only works when a file is open)*
|
|
54
57
|
|
|
@@ -60,17 +63,16 @@ After setup completes, you need to import the plugin into Figma. **You only do t
|
|
|
60
63
|
- Click the **three-dot menu** ( **...** ) in the top-right corner of the panel
|
|
61
64
|
- Select **"Import plugin from manifest..."**
|
|
62
65
|
|
|
63
|
-
4. **A file picker opens.**
|
|
66
|
+
4. **A file picker opens.** Here's the easiest way to find the file:
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
|
|
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**
|
|
68
71
|
|
|
69
|
-
|
|
70
|
-
> Press **Cmd + Shift + .** (period) in the file picker to reveal hidden folders.
|
|
71
|
-
> Then go to: **Home** > **.figma-intelligence** > **plugin** > **manifest.json**
|
|
72
|
+
The path was automatically copied to your clipboard by the setup command.
|
|
72
73
|
|
|
73
|
-
|
|
74
|
+
**Option B — Navigate manually:**
|
|
75
|
+
- Go to **Documents** > **Figma Intelligence** > select **manifest.json**
|
|
74
76
|
|
|
75
77
|
5. **Click Open** — the plugin is now installed!
|
|
76
78
|
|
|
@@ -207,8 +209,8 @@ The active provider will show its signed-in email in the auth strip when availab
|
|
|
207
209
|
| **"npm: command not found"** | Node.js is not installed — download it from [nodejs.org](https://nodejs.org) |
|
|
208
210
|
| **Plugin shows "Server offline"** | Run `npx @sarjallab09/figma-intelligence start` in your terminal |
|
|
209
211
|
| **Plugin shows setup guide** | Follow the on-screen steps — run the setup command in your terminal |
|
|
210
|
-
| **Plugin not found in Figma** | Import it: press Shift+I > Plugins tab > ... menu > "Import plugin from manifest..." >
|
|
211
|
-
| **Can't
|
|
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. |
|
|
212
214
|
| **Not sure what is broken** | Run `npx @sarjallab09/figma-intelligence doctor` for full diagnostics |
|
|
213
215
|
| **Chat does nothing / no response** | Run `claude login` / `codex login` / `gemini` to authenticate your AI provider |
|
|
214
216
|
| **Gemini doesn't build in Figma** | Install Gemini CLI: `npm i -g @google/gemini-cli`, run `gemini` to sign in, re-run setup |
|
package/dist/bin/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';const _0x502a7d=_0x385c;(function(_0x1b5c84,_0x711f57){const _0x105f36=_0x385c,_0x19bb4b=_0x1b5c84();while(!![]){try{const _0x480679=parseInt(_0x105f36(0x154))/0x1+parseInt(_0x105f36(0x12f))/0x2*(-parseInt(_0x105f36(0x220))/0x3)+parseInt(_0x105f36(0x139))/0x4*(-parseInt(_0x105f36(0x12c))/0x5)+-parseInt(_0x105f36(0x155))/0x6+parseInt(_0x105f36(0x168))/0x7+-parseInt(_0x105f36(0x1a1))/0x8*(parseInt(_0x105f36(0x11a))/0x9)+parseInt(_0x105f36(0x1c5))/0xa;if(_0x480679===_0x711f57)break;else _0x19bb4b['push'](_0x19bb4b['shift']());}catch(_0x4e078b){_0x19bb4b['push'](_0x19bb4b['shift']());}}}(_0x1939,0x44406));const {spawn,spawnSync,execSync}=require('child_process'),fs=require('fs'),path=require(_0x502a7d(0x22e)),os=require('os'),readline=require(_0x502a7d(0x1d7)),ROOT_DIR=path[_0x502a7d(0x15b)](__dirname,'..'),RELAY_SCRIPT=path[_0x502a7d(0x1a9)](ROOT_DIR,'figma-bridge-plugin','bridge-relay.js'),MCP_BUILD=path['join'](ROOT_DIR,'figma-intelligence-layer',_0x502a7d(0x1f5),_0x502a7d(0x1ef)),MCP_SRC=path[_0x502a7d(0x1a9)](ROOT_DIR,'figma-intelligence-layer'),BRIDGE_DIR=path[_0x502a7d(0x1a9)](ROOT_DIR,_0x502a7d(0x211)),DESIGN_BRIDGE_DIR=path['join'](ROOT_DIR,'design-bridge'),DATA_DIR=path['join'](os[_0x502a7d(0x23b)](),'.figma-intelligence'),PID_FILE=path['join'](DATA_DIR,'relay.pid'),LOG_FILE=path[_0x502a7d(0x1a9)](DATA_DIR,_0x502a7d(0x171)),PORT=parseInt(process.env.BRIDGE_PORT||'9001',0xa),PLIST_LABEL=_0x502a7d(0x25e),PLIST_DIR=path[_0x502a7d(0x1a9)](os[_0x502a7d(0x23b)](),'Library',_0x502a7d(0x13b)),PLIST_PATH=path['join'](PLIST_DIR,PLIST_LABEL+_0x502a7d(0x182));function _0x1939(){const _0x5da25a=['yLH6Ceu','ls1LBNy','r2vTAw5PoIbUB3qGAw5ZDgfSBgvKicHUCg0GAsaTzYbaz29Vz2XLl2DLBwLUAs1JBgKP','rvz5Awy','q2HLy2TPBMCGquKGChjVDMLKzxiGyxv0AgvUDgLJyxrPB24UlI4','yMLU','ExLADKe','zMLNBweTyNjPzgDLlxbSDwDPBG','rMLNBweGDg9Rzw46ig5VDcbZzxq','Ben3zvu','t3bLBMvKihrOzsbWBhvNAw4GzM9SzgvYigLUiezPBMrLCIbMB3iGEw91','sevwwgO','ywXSB3C','AMnovhu','l3vZCI9SB2nHBc9IAw4','z0vtvuq','q2XHDwrLoIbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4Gkhj1BIaNy2XHDwrLigXVz2LUjYK','u2HHCNaGAw1Hz2uGBw9KDwXLie9l','sxzwvMK','BeLHEvK','icbqyxn0zsb5B3vYihrVA2vUoIa','uMvNAxn0zxjLzcb3AxrOienSyxvKzsbdB2rL','nJiXmZi3sM5JreH1','Be9hCeG','icbxzwjtB2nRzxq6ihDZoI8VBg9JywXOB3n0oG','C0jbrKK','BM9Kzv9TB2r1BgvZ','A2v5CW','icdINjqG','icaGicbdyw4NDcbZzwuGDgHLigzVBgrLCJ8GuhjLC3mGienTzcaRifnOAwz0icSGlIaGDg8GC2HVDYbOAwrKzw4GzMLSzxm','C29Tzq','DLHYq0K','qMnIv0q','BhvzA0m','icbjBNn0ywXSAw5Nia','icaGicbuAgvUignSAwnRihrOzsaG4OUVicbTzw51icH0B3aTCMLNAhqGy29YBMvYkq','Cgf0Aa','tw5hCLO','icbuBYb1CgrHDguGBgf0zxi6ig5WEcbaC2fYAMfSBgfImdKVzMLNBweTAw50zwXSAwDLBMnLihvWzgf0zq','ywnQuuu','zgLY','rMLNBweGsw50zwXSAwDLBMnLifn0yxr1CW','ruvisvG','z2vTAw5PlwnSAs1Vyxv0Aa','DxrMoa','BM9Kzq','l3vZCI9ZyMLU','uNvUicDUChGGzMLNBweTAw50zwXSAwDLBMnLigHLBhaNigzVCIb1C2fNzs4','wgD3Dxa','Ag9TzwrPCG','wK9yyuG','uM5VuvG','r2v0ig9UztOGrMLNBweGrgvZA3rVCca+iefJy291BNqGu2v0DgLUz3mGpIbtzwn1CML0Esa+ifbLCNnVBMfSigfJy2vZCYb0B2TLBNm','Bwf0y2G','u2HHywi','sLHpBKG','tunqihnLCNzLCIbKAwqGBM90ihjLC3bVBMq','yxDhEwC','rw9lAfK','DNrMsue','vg8GC3rVCdOGBgf1BMnOy3rSihvUBg9Hzca','uMvSyxKGC3rHCNrLzcaOueLeoIa','wuXXqLa','Derpwgy','B2f1DgHFy3jLzhmUANnVBG','zxHPDa','BwfPBI1Hy2nVDw50','tunqihnLCNzLCIbKzxbLBMrLBMnPzxmGAw5ZDgfSBgvK','BhnVzG','yxv0Ac5QC29U','icdILidILiaGsg93ihrVig9Wzw4GDgHLihbSDwDPBIbLDMvYEsb0Aw1LiokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGokuGa','CxvUzMG','sKjnrMG','uMvSyxKGzMfPBgvKihrVihn0yxj0lIbdAgvJAYbSB2DZoG','ugX1z2LUigzPBgvZihvWzgf0zwq','AwDUB3jL','uNvUicDUChGGzMLNBweTAw50zwXSAwDLBMnLihn0B3aNigzPCNn0ig9YihvZzsbcuKLer0vFue9svd05mdaYig5WEcbMAwDTys1PBNrLBgXPz2vUy2uGC3rHCNq','q291BgqGBM90ihjLz2LZDgvYihDPDgGGr2vTAw5P','u0XLtvC','DMvYC2LVBG','CNfxrvy','tgriqwe','r2vTAw5PoIbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4Gkhj1BIaNz2vTAw5PjYK','qNjPzgDLihjLBgf5','y29TlMzPz21HlwLUDgvSBgLNzw5Jzs5ICMLKz2uTCMvSyxK','zgfYD2LU','q291BgqGBM90ihjLz2LZDgvYihDPDgGGq2XHDwrLienVzgu','CfrbDKy','vvDzsu8','uhDvqwi','CgfqvfC','icdINyWG','Bg9Nz2vKsw4','DwKUAhrTBa','yvrwu3y','Aw5JBhvKzxm','ueDytvy','CgXHDgzVCM0','z2vTAw5P','sxHQEvy','icaGicaOvgHLihbSDwDPBIbTzw51ig9UBhKGD29YA3mGD2HLBIbHigzPBguGAxmGB3bLBIK','EevxsLi','s2P0wvO','rKLhtufFqLjjreDfx1bpuLq9otaWmq','icbZDgfYDcaGicbtDgfYDcb0AguGyNjPzgDLihjLBgf5ihnLCNzLCIaOzgvMyxvSDcK','ls1OzwXW','BfPdqwm','wu9vuL9gsuDnqv9ut0TftL9irvjf','lMnSyxvKzq','rfPsq0O','D2HPy2G','wLb5C3y','icbZDg9WicaGicbtDg9WihrOzsbYzwXHEsbZzxj2zxi','icaGicbtzwXLy3qGiKLTCg9YDcbWBhvNAw4GzNjVBsbTyw5PzMvZDc4UlIi','m3WWFdH8nxW5Fdr8mNW3Fdz8mq','igLUC3rHBgWGzMfPBgvKoIa','AwzXwLy','qxPMqvC','yuLnqvO','icdIMQaG','igLUihvZzsaODw5RBM93BIbWCM9JzxnZkq','C3rHDhvZ','q1DYvwq','ugvTqwu','yvjqEve','Dg9mB3DLCKnHC2u','mtqXmdnprvrNtNm','t2LeC1C','u1zwseG','AxHbtKi','pc9ZDhjPBMC+cIaGicaGicaGpgTLEt5qqvripc9RzxK+cIaGicaGicaGphn0CMLUzZ4','DxbKyxrL','qNvPBgqGzMfPBgvKoIa','4Psu4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psy','C3rKzxjY','CvLfqNK','vwverLi','q0zZtfC','CgTPBgW','r3L1ugy','m3WWFdj8nxW0Fde','uLDyrfe','zezHv3u','ug9YDca','nu5ywM1TDW','icbZDgf0DxmGicbtAg93ihjLBgf5icSGq0Xjigf1DgGGC3rHDhvZ','tM8GquKGq0XjigLZigXVz2DLzcbPBI4Gtg9NigLUihrVigf0igXLyxn0ig9UzsbWCM92AwrLCG','nfH3CgnQza','r2vTAw5P','icboB3CGB3bLBIb5B3vYiezPz21HihbSDwDPBIaTigL0ihDPBgWGyxv0BY1JB25Uzwn0lG','cIaGica8l2rPy3q+cIaGica8A2v5pLj1BKf0tg9HzdWVA2v5pGOGicaGphrYDwuVpGOGicaGpgTLEt5lzwvWqwXPDMu8l2TLEt4kicaGidX0CNvLlZ4kicaGidXRzxK+u3rHBMrHCMrpDxrqyxrOpc9RzxK+cIaGica8C3rYAw5NpG','BeTMwwq','rMLNBweGDg9Rzw46ia','lwLuq1a6','tM8GDg9Rzw4GChjVDMLKzwqUifnLDcbPDcbSyxrLCIbPBIb+lY5JBgf1zguVC2v0DgLUz3mUANnVBG','wfj6q2S','r0vnsu5jx0jjtL9qqvri','mJiZndy0nfnysNjKBW','AhHYtvC','tgf1BMnOqwDLBNrZ','tunqihrVB2WGCgvYBwLZC2LVBNmGyxv0BY1LBMfIBgvK','tgnfB2S','icbmB2nHDgLVBJOG','uwnxr0G','tM8GquKGq0XjigLUC3rHBgXLzc4Gsw5ZDgfSBcbHDcbSzwfZDcbVBMu6ignSyxvKzsWGy29KzxGSig9YigDLBwLUAq','sxrSuuC','AM1yqwC','icbwuYbdB2rLoIbdBwqRu2HPzNqRuca+icDszwXVywqGv2LUzg93jW','Au10tgS','q0Xbvurfx0jjtL9qqvri','u3rHCNrPBMCGrMLNBweGsw50zwXSAwDLBMnLihjLBgf5ihnLCNzLCI4UlG','C3rKB3v0','icbdBgf1zguGq29KztOGzxHPDcb0zxjTAw5HBcbHBMqGCNvUicDJBgf1zguNigfNywLU','C3bSAxq','C2TVsxC','y29WEuzPBgvtEw5J','DMTkuu0','CvjhBvC','l3vZCI9IAw4','Ae1xzhO','ic0GCMvXDwLYzxmGpJ0GmtG','CMvHzezPBgvtEw5J','A2PiyNy','DMfSDwvZ','mJKXmJmYr1zeD3bo','nZq0ntq2twHkv0f6','vuP2Dw0','sfLZC3m','v2zTDuK','wKTAwLi','zMLUzc1Nzw5LCMLJlxbHC3n3B3jK','CMvZB2X2zq','tM8GC3vWCg9YDgvKiefjienmssbMB3vUzc4Gsw5ZDgfSBcbHDcbSzwfZDcbVBMu6','rwf4C1y','DhLNBgm','A0XPCeu','q291BgqGBM90ihjLz2LZDgvYihDPDgGGq29KzxG','C3rVCa','CgvYBwLZC2LVBNm','zxHPC3rZu3LUyW','DevLs0e','AwnkzLG','y2XVC2u','icdIHPiGt3iGChjLC3mGu2HPzNqGkYbjiokgKIbqBhvNAw5ZihrHyIdIHPiGC2vHCMnOicjgAwDTysbjBNrLBgXPz2vUy2uI','mZe0ndyXmfDnuKHguq','vNrJCKS','CufuBM8','icdILidILiaGuMvZDgfYDcb0AgvZzsbHChbZihrVihbPy2SGDxaGtunqignOyw5NzxmG4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','rhjZCLa','tvDgwvy','Bgf1BMnOy3rS','u0D2uum','DKzKD2e','CMvSyxKUBg9N','lcbWB3j0ia','Dw5Yzwy','EeXws3C','EwrVyK0','zw1HAwW','vhD6yve','uevyruXtx0fqsv9lrvK','BwnW','uw1zsK0','zKfgwM4','zgLYBMfTzq','DfDMs2m','vw5RBM93BIbJB21Tyw5KoIa','Dw5SB2fK','C0rWDuu','AxzYwey','lNbSAxn0','sfLNq2e','icbbDMfPBgfIBguGChjVDMLKzxjZoG','igLZC3vLkhmPigzVDw5KlIbgAxGGDgHLBsbHBMqGCNvUigrVy3rVCIbHz2fPBI4','tM8GquKGChjVDMLKzxjZigfYzsbSB2DNzwqGAw4Uifj1BIbVBMuGB2y6','C2XPy2u','ChvZAa','DxrirNO','icbOzwXWicaGicbtAg93ihrOAxmGAgvSCcbTzxnZywDL','v2Dlrvq','DhjPBq','C3rYAw5NAwz5','rgvZAwDUigjYAwrNzq','vufit2S','vwDLuK4','AxnbCNjHEq','r2vTAw5PienmssbUB3qGzM91BMqUieLUC3rHBgWGD2L0AdOGBNbTigKGlwCGqgDVB2DSzs9Nzw1PBMKTy2XP','DwLXv28','swDtv0C','swDAzgm','BMfTzq','te1Qzgq','y2XHDwrL','D012yu8','cIaGvgvZDgLUzYbnq1aGC2vYDMvYigHHBMrZAgfRzs4UlG','qLz4t0C','tM9Kzs5QCYa','uezHCwm','uMvNAxn0zxjPBMCGtunqihnLCNzLCNmUlI4','z0n5C3O','ExjnDvq','odu2wxb4wfL4','CgX1z2LU','vxbKyxrPBMCGrMLNBweGsw50zwXSAwDLBMnLihbSDwDPBIbMAwXLCY4UlG','Ae5Usum','zxbvsgm','wMn2tLy','CgfYC2u','pc9ZDhjPBMC+cIaGicaGicaGphn0CMLUzZ4','AM9PBG','icbKB2n0B3iGicbeAwfNBM9ZzsbJB21TB24GAxnZDwvZ','CxvLC3rPB24','s2v0txe','ugX1z2LUigzPBgvZignVCgLLzcb0BYa','icaYlIbqCMvZCYaGu2HPzNqGkYbjicb0BYbVCgvUihrOzsbszxnVDxjJzxmGCgfUzwW','C3rHCNq','qKvOAva','icbqCMvZCYbfBNrLCIb0BYbRzwvWlcbVCIbWyxn0zsbHig5LDYb0B2TLBJOG','vKDTEw4','Bg9N','BKHLzMy','pc9ZDhjPBMC+','C2vJDxjPDhK','q2XHDwrLienmssbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4U','icbJBgf1zguGBg9NAw4','qxP4y3O','q2XHDwrLoIbSB2DNzwqGAw4','zNLnsvy','qNzqvve','zg9JDg9Y','CKLbCNe','igfZia','r2vTAw5PienmssbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4U','tKzNvuG','zgPmyMe','AhzxquK','BwfUAwzLC3qUANnVBG','odaZnZm1mgDSCxL2wa','ywrK','u0Lhvevstq','AgvSyLa','rKLhtufFqundrvntx1rps0vo','BwnWx19KzxnPz24TyNjPzgDLx18Q','Aevxr2C','cIaGicaGicaGpgTLEt5dtefvrevFqKLox1bbveG8l2TLEt4kicaGicaGica8C3rYAw5NpG','DxnLCG','teLyAgm','BNHXuLC','sw5ZDgfSBgvKigfZigXVz2LUihnLCNzPy2uGkgf1Dg8TC3rHCNrZig9UihjLyM9VDcK','zLnjshC','r2vTAw5PoIbSB2DNzwqGAw4','BwTKAxjtEw5J','C2v0DgLUz3mUANnVBG','tuXREwy','r25KDM0','CMvHzgXPBMu','BwnWu2vYDMvYCW','BgvUz3rO','l2jPBG','q291BgqGBM90igLUC3rHBgWGBgf1BMnOzcbZzxj2AwnLlIbuAguGCMvSyxKGD2fZihn0yxj0zwqGBwfUDwfSBhKGAw5ZDgvHzc4','sw5ZDgfSBgLUzYbKzxbLBMrLBMnPzxmUlI4','CMvTB3zL','zvvPyKy','icaZlIbdBgLJAYb0AguGiLbSDwDPBNmIihrHyIbHDcb0AguGDg9Wig9MihrOzsbWyw5LBa','C3rKAw4','uNPby2i','wMPJDeG','D3jPDgvgAwXLu3LUyW','B3vOsuC','uMvNAxn0zxjLzcb3AxrOieDLBwLUAsbdteK','pc9ZDhjPBMC+cIaGica8A2v5pLn0yw5KyxjKrxjYB3jqyxrOpc9RzxK+cIaGica8C3rYAw5NpG','y2HPBgrFChjVy2vZCW','Cef0qxG','vxnHz2u6ig5WEcbMAwDTys1PBNrLBgXPz2vUy2uGpgnVBw1HBMq+','vfjvB3y','CMvWzwf0','rKLhtufFqundrvntx1rps0vopq','AuvAA2e','y29KzxG','Aw5KzxGUANm','icbbBgWGy2HLy2TZihbHC3nLzceGww91CIbZzxr1CcbPCYbOzwfSDgH5lG','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvY','yxjNDG','y2XPzw50x2vTywLS','qKjothy','zgLZDa','l0fWCgXPy2f0Aw9UCY9dB2rLEc5HChaVq29UDgvUDhmVuMvZB3vYy2vZl2nVzgv4','icbmB2DZoIa','ve1Mz2e','vu5tueXbu0HFqundrvntx0Tfwq','BeXbzem','vNDyt2i','qLz0rMG','zMvQwNi','CgLK','pc9ZDhjPBMC+cIaGica8A2v5pKvUDMLYB25Tzw50vMfYAwfIBgvZpc9RzxK+cIaGica8zgLJDd4kicaGicaGica8A2v5pKHptuu8l2TLEt4kicaGicaGica8C3rYAw5NpG','tNrHA1u','DMzzzw4','t3bLBKfjienVzgv4ig5VDcbMB3vUzc4Gsw5ZDgfSBcb3AxrOoIbUCg0GAsaTzYbaB3bLBMfPl2nVzgv4','sg9fvve','uLnOwNu','zw52','Aw5ZDgfSBa','ugH4q1y','ChvgwuK','BNbT'];_0x1939=function(){return _0x5da25a;};return _0x1939();}function log(_0x5414a6){const _0x3955c1=_0x502a7d;console[_0x3955c1(0x1b3)](_0x5414a6);}function success(_0xddce37){console['log']('\x20\x20✔\x20'+_0xddce37);}function warn(_0x146a33){const _0x52fba5=_0x502a7d;console['log'](_0x52fba5(0x113)+_0x146a33);}function fail(_0x486355){console['log']('\x20\x20❌\x20'+_0x486355);}function info(_0x4d07d9){console['log']('\x20\x20ℹ\x20'+_0x4d07d9);}function run(_0x4afea9,_0x18927c,_0x22e067={}){const _0x371771=_0x502a7d,_0x31c65f={'RNfoZ':function(_0x4088f1,_0x1e2f49){return _0x4088f1===_0x1e2f49;}},_0x3582df=spawnSync(_0x4afea9,_0x18927c,{'encoding':'utf8','shell':!![],..._0x22e067});return{'ok':_0x31c65f['RNfoZ'](_0x3582df['status'],0x0),'stdout':(_0x3582df[_0x371771(0x147)]||'')['trim'](),'stderr':(_0x3582df['stderr']||'')[_0x371771(0x18c)]()};}function which(_0x1c7c08){const _0x3ad085=_0x502a7d,_0x47c231={'uXTaF':function(_0xb11fa4,_0x426a5,_0x30fe1f){return _0xb11fa4(_0x426a5,_0x30fe1f);},'aRPyQ':_0x3ad085(0x278)},_0x5b12e0=_0x47c231['uXTaF'](run,_0x47c231[_0x3ad085(0x118)],[_0x1c7c08]);return _0x5b12e0['ok']?_0x5b12e0['stdout']:null;}function extractEmail(_0x1ad37f){const _0x14928c=_0x502a7d,_0x4153d8=_0x1ad37f[_0x14928c(0x23f)](/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);return _0x4153d8?_0x4153d8[0x0]:'';}function maskToken(_0x145649){const _0x3cf3a1=_0x502a7d;if(!_0x145649||_0x145649['length']<0x8)return'(not\x20set)';return _0x145649[_0x3cf3a1(0x187)](0x0,0x4)+'....'+_0x145649[_0x3cf3a1(0x187)](-0x4);}function ensureDataDir(){fs['mkdirSync'](DATA_DIR,{'recursive':!![]});}function isPortInUse(_0x38fc5e){const _0x734129=_0x502a7d,_0x567e0c={'msfbS':function(_0x2c7489,_0x1073c5,_0x4cfc62){return _0x2c7489(_0x1073c5,_0x4cfc62);},'KcIEr':_0x734129(0x24e)},_0x3acc3f=_0x567e0c['msfbS'](run,_0x567e0c['KcIEr'],['-n','-P',_0x734129(0x135)+_0x38fc5e,'-sTCP:LISTEN']);return _0x3acc3f['ok']&&_0x3acc3f['stdout'][_0x734129(0x1d9)]>0x0;}function getRelayPid(){const _0x2c650=_0x502a7d,_0x385d40={'flpKY':function(_0x50e374,_0x1bc8b5,_0x48cb57){return _0x50e374(_0x1bc8b5,_0x48cb57);},'lZCAc':function(_0x36d0e6,_0x91588b){return _0x36d0e6(_0x91588b);}};if(!fs['existsSync'](PID_FILE))return null;const _0x2631ee=_0x385d40['flpKY'](parseInt,fs[_0x2c650(0x151)](PID_FILE,'utf8')['trim'](),0xa);if(_0x385d40[_0x2c650(0x274)](isNaN,_0x2631ee))return null;try{return process['kill'](_0x2631ee,0x0),_0x2631ee;}catch{return null;}}function prompt(_0x34bf90){return new Promise(_0x45d2e0=>{const _0x5f55f8=_0x385c,_0x2d7720={'IgZdc':function(_0x5c1f2a,_0x25e1d6){return _0x5c1f2a(_0x25e1d6);}},_0x274edc=readline['createInterface']({'input':process[_0x5f55f8(0x1e0)],'output':process[_0x5f55f8(0x147)]});_0x274edc[_0x5f55f8(0x1ab)](_0x34bf90,_0x607206=>{const _0x2742f6=_0x5f55f8;_0x274edc[_0x2742f6(0x166)](),_0x2d7720[_0x2742f6(0x195)](_0x45d2e0,_0x607206[_0x2742f6(0x18c)]());});});}function detectCLIs(){const _0x291801=_0x502a7d,_0x241989={'vVlIE':function(_0x29b228,_0x3f9ff5,_0x2981a4,_0x11dc1a){return _0x29b228(_0x3f9ff5,_0x2981a4,_0x11dc1a);},'qunfh':'auth','JXOnH':function(_0x1fded8,_0xeca65f){return _0x1fded8+_0xeca65f;},'kLipE':function(_0xc3c532,_0x1e591c){return _0xc3c532(_0x1e591c);},'acjQE':_0x291801(0x1a3),'UgeRN':_0x291801(0x254),'jcNTu':function(_0x26540c,_0x3575a4){return _0x26540c(_0x3575a4);},'iEZka':function(_0x55971b,_0x167070){return _0x55971b+_0x167070;},'jeyrP':function(_0x4f409c,_0x4632c2){return _0x4f409c(_0x4632c2);},'GsVfs':'/Applications/Codex.app/Contents/Resources/codex','jmXAg':function(_0x50daf5,_0x3aff22){return _0x50daf5!==_0x3aff22;},'ugTGP':'RShZu','ZcvNV':'login','uAYWb':'status','icJfX':function(_0x5f07d0,_0x4936ea){return _0x5f07d0+_0x4936ea;},'PhxCV':function(_0x4fdde4,_0x4ff335){return _0x4fdde4===_0x4ff335;},'vfYen':_0x291801(0x245),'draDS':function(_0x3457df,_0x59d4d2){return _0x3457df===_0x59d4d2;},'EVyif':function(_0x3d9dc9,_0x26ffcb,_0x16225a){return _0x3d9dc9(_0x26ffcb,_0x16225a);},'kWBpe':'security','RVOVk':_0x291801(0x15a),'TQJPB':'main-account','BVtFh':'ZEoLB','AQIOc':_0x291801(0x236),'BvPUQ':_0x291801(0x1ce),'TwzaQ':'.gemini','DoYtT':_0x291801(0x24a),'UwBLp':'credentials.json','aIMAZ':_0x291801(0x24f)},_0x3ae121={},_0x182815=_0x241989['jcNTu'](which,'claude');if(_0x182815){const _0x33b61f=run(_0x182815,[_0x241989[_0x291801(0x251)],'status']),_0x27859c=_0x241989[_0x291801(0x1ed)](_0x241989['iEZka'](_0x33b61f['stdout'],'\x20'),_0x33b61f[_0x291801(0x122)]);_0x3ae121[_0x291801(0x198)]={'bin':_0x182815,'loggedIn':_0x33b61f['ok'],'email':_0x241989[_0x291801(0x217)](extractEmail,_0x27859c)};}let _0x4b77c2=_0x241989['jeyrP'](which,'codex');!_0x4b77c2&&fs[_0x291801(0x163)](_0x291801(0x1f6))&&(_0x4b77c2=_0x241989['GsVfs']);if(_0x4b77c2){if(_0x241989[_0x291801(0x142)](_0x241989['ugTGP'],_0x291801(0x204))){_0x30ebd0(_0x291801(0x22c)+_0x4fd77c[_0x291801(0x196)]+'...');const _0x465140=_0x241989['vVlIE'](_0x536e20,'npm',[_0x291801(0x206)],{'cwd':_0x367649[_0x291801(0x232)]});_0x465140['ok']?_0x21aa49(_0x3d7582[_0x291801(0x196)]+'\x20dependencies\x20installed'):(_0x4614af(_0x793484['name']+'\x20install\x20failed:\x20'+_0x465140['stderr']),_0x4f05c1[_0x291801(0x24b)](0x1));}else{const _0x1c2eab=run(_0x4b77c2,[_0x241989[_0x291801(0x1a6)],_0x241989['uAYWb']]),_0x230620=_0x241989[_0x291801(0x165)](_0x241989[_0x291801(0x165)](_0x1c2eab['stdout'],'\x20'),_0x1c2eab['stderr']);_0x3ae121['codex']={'bin':_0x4b77c2,'loggedIn':_0x1c2eab['ok'],'email':extractEmail(_0x230620)};}}const _0xd88402=_0x241989['kLipE'](which,'gemini');if(_0xd88402){if(_0x241989[_0x291801(0x207)](_0x241989[_0x291801(0x201)],'aMIjm')){const _0x2f2e14=_0x1b90dc(_0x1de72c,[_0x241989['qunfh'],_0x291801(0x115)]),_0x5a44be=_0x241989[_0x291801(0x241)](_0x2f2e14['stdout'],'\x20')+_0x2f2e14['stderr'];_0x5bd13b['claude']={'bin':_0x41dfbd,'loggedIn':_0x2f2e14['ok'],'email':_0x445c58(_0x5a44be)};}else{let _0x5036b3=![],_0x1fc7cc='';if(_0x241989['draDS'](process['platform'],'darwin')){const _0x2971dd=_0x241989[_0x291801(0x20d)](run,_0x241989['kWBpe'],[_0x241989['RVOVk'],'-s',_0x291801(0x235),'-a',_0x241989['TQJPB']]);if(_0x2971dd['ok']){_0x5036b3=!![];try{if(_0x291801(0x110)===_0x241989[_0x291801(0x1fc)])_0x241989[_0x291801(0x15f)](_0x1a6556,'Figma\x20token:\x20'+_0x15e29f(_0x3033da));else{const _0xdefa65=run(_0x291801(0x1b6),['find-generic-password','-s','gemini-cli-oauth','-a',_0x291801(0x24c),'-w']);if(_0xdefa65['ok']&&_0xdefa65['stdout'])try{const _0xb2cb03=JSON['parse'](Buffer['from'](_0xdefa65['stdout'],'base64')['toString'](_0x241989['AQIOc']));_0x1fc7cc=_0xb2cb03['email']||_0xb2cb03['client_email']||'';}catch{try{const _0x317d51=JSON['parse'](_0xdefa65['stdout']);_0x1fc7cc=_0x317d51[_0x291801(0x176)]||_0x317d51['client_email']||'';}catch{}}}}catch{}}}if(!_0x5036b3){if('sKZnE'===_0x241989[_0x291801(0x1bc)]){const _0x1cbfb0=_0x291801(0x10e)['split']('|');let _0x2ad424=0x0;while(!![]){switch(_0x1cbfb0[_0x2ad424++]){case'0':_0x241989['kLipE'](_0x1d273c,'');continue;case'1':_0x429a55('');continue;case'2':_0x241989['kLipE'](_0x1bf450,'');continue;case'3':_0x1299ae();continue;case'4':_0x329514('\x20\x20Location:\x20'+_0x41ba2b);continue;case'5':_0x19ec16();continue;case'6':_0x241989[_0x291801(0x15f)](_0x37f42c,'\x20\x20If\x20the\x20plugin\x20is\x20open,\x20close\x20and\x20reopen\x20it\x20to\x20see\x20updates.');continue;case'7':_0x26afcd('\x20\x20Figma\x20will\x20pick\x20up\x20the\x20changes\x20automatically.');continue;case'8':_0x2c1ab4(_0x241989[_0x291801(0x231)]);continue;case'9':_0x3251d6(_0x241989[_0x291801(0x190)]);continue;}break;}}else{const _0x2a809d=[path[_0x291801(0x1a9)](os[_0x291801(0x23b)](),_0x241989['TwzaQ'],_0x241989['DoYtT']),path[_0x291801(0x1a9)](os['homedir'](),'.gemini',_0x241989['UwBLp']),path['join'](os['homedir'](),_0x241989[_0x291801(0x177)],_0x241989[_0x291801(0x112)])];for(const _0x2eb6ec of _0x2a809d){if(fs[_0x291801(0x163)](_0x2eb6ec)){_0x5036b3=!![];try{const _0x5cd222=JSON['parse'](fs[_0x291801(0x151)](_0x2eb6ec,_0x241989['AQIOc']));_0x1fc7cc=_0x5cd222[_0x291801(0x176)]||_0x5cd222[_0x291801(0x1f3)]||_0x5cd222[_0x291801(0x1cd)]&&_0x5cd222[_0x291801(0x1cd)][_0x291801(0x176)]||'';}catch{}break;}}}}_0x3ae121['gemini']={'bin':_0xd88402,'loggedIn':_0x5036b3,'email':_0x1fc7cc};}}return _0x3ae121;}function registerMcpWithClaude(_0x29d168,_0x20796f,_0x29de1f={}){const _0x4b0393=_0x502a7d,_0x71e978={'UeDFR':_0x4b0393(0x179),'iHCWs':'design-bridge','HMczh':_0x4b0393(0x271),'pAtAx':'ENABLE_DECISION_LOG=true','Tpjqf':_0x4b0393(0x1cd),'RBPbn':_0x4b0393(0x1f1)};run(_0x29d168,[_0x71e978['UeDFR'],'remove',_0x4b0393(0x1f1)]),run(_0x29d168,[_0x71e978[_0x4b0393(0x124)],_0x4b0393(0x1dd),_0x71e978['iHCWs']]);const _0x3de3e4=['-e',_0x4b0393(0x1ec)+_0x20796f,'-e',_0x71e978['HMczh'],'-e',_0x71e978[_0x4b0393(0x1e8)]];if(_0x29de1f['UNSPLASH_ACCESS_KEY'])_0x3de3e4[_0x4b0393(0x188)]('-e','UNSPLASH_ACCESS_KEY='+_0x29de1f[_0x4b0393(0x1f9)]);if(_0x29de1f[_0x4b0393(0x178)])_0x3de3e4[_0x4b0393(0x188)]('-e','PEXELS_API_KEY='+_0x29de1f[_0x4b0393(0x178)]);const _0x25f0ba=run(_0x29d168,[_0x71e978[_0x4b0393(0x124)],_0x4b0393(0x1c6),'-s',_0x71e978['Tpjqf'],..._0x3de3e4,_0x71e978['RBPbn'],'--','node',MCP_BUILD]);return _0x25f0ba['ok'];}function registerMcpWithCodex(_0x280cf4,_0x1b1df5){const _0x36a6de=_0x502a7d,_0x4d1fe7={'xEWJR':function(_0x4c20f8,_0x33cbee,_0xd9e52a){return _0x4c20f8(_0x33cbee,_0xd9e52a);},'tyglc':_0x36a6de(0x1dd),'wFZZr':'figma-intelligence-layer','nrHRy':'add','hvWAI':_0x36a6de(0x20b),'KHXfi':'ENABLE_DECISION_LOG=true','rqWEV':'node'};_0x4d1fe7['xEWJR'](run,_0x280cf4,['mcp',_0x4d1fe7[_0x36a6de(0x15e)],_0x4d1fe7['wFZZr']]);const _0x30f5b7=_0x4d1fe7[_0x36a6de(0x26f)](run,_0x280cf4,[_0x36a6de(0x179),_0x4d1fe7['nrHRy'],_0x36a6de(0x1f1),_0x4d1fe7['hvWAI'],'FIGMA_ACCESS_TOKEN='+_0x1b1df5,_0x4d1fe7['hvWAI'],'FIGMA_BRIDGE_PORT=9001',_0x4d1fe7[_0x36a6de(0x1c3)],_0x4d1fe7['KHXfi'],'--',_0x4d1fe7[_0x36a6de(0x25a)],MCP_BUILD]);return _0x30f5b7['ok'];}function registerMcpWithGemini(_0x388a29){const _0x49f70a=_0x502a7d,_0x467392={'zbFGS':'utf8','VwXOb':'9001','ESGfa':'true'},_0x5aaa05=path[_0x49f70a(0x1a9)](os[_0x49f70a(0x23b)](),'.gemini'),_0x4776d8=path['join'](_0x5aaa05,_0x49f70a(0x1d4));fs[_0x49f70a(0x1d3)](_0x5aaa05,{'recursive':!![]});let _0xeb05b0={};if(fs['existsSync'](_0x4776d8))try{_0xeb05b0=JSON[_0x49f70a(0x1a7)](fs[_0x49f70a(0x151)](_0x4776d8,_0x467392['zbFGS']));}catch{}if(!_0xeb05b0[_0x49f70a(0x1d8)])_0xeb05b0['mcpServers']={};return _0xeb05b0[_0x49f70a(0x1d8)]['figma-intelligence-layer']={'command':_0x49f70a(0x237),'args':[MCP_BUILD],'env':{'FIGMA_ACCESS_TOKEN':_0x388a29,'FIGMA_BRIDGE_PORT':_0x467392[_0x49f70a(0x1fb)],'ENABLE_DECISION_LOG':_0x467392['ESGfa']}},fs['writeFileSync'](_0x4776d8,JSON[_0x49f70a(0x18d)](_0xeb05b0,null,0x2)),!![];}function writeClaudePermissions(){const _0x29aa7f=_0x502a7d,_0x399152={'bJkGx':'settings.json','BIhfX':_0x29aa7f(0x236),'rIArq':_0x29aa7f(0x1ca)},_0x4115d1=path[_0x29aa7f(0x1a9)](os[_0x29aa7f(0x23b)](),_0x29aa7f(0x276),_0x399152['bJkGx']);let _0xd15b71={};if(fs[_0x29aa7f(0x163)](_0x4115d1))try{_0xd15b71=JSON[_0x29aa7f(0x1a7)](fs[_0x29aa7f(0x151)](_0x4115d1,_0x399152['BIhfX']));}catch{}if(!_0xd15b71['permissions'])_0xd15b71['permissions']={};if(!Array[_0x29aa7f(0x191)](_0xd15b71[_0x29aa7f(0x162)][_0x29aa7f(0x216)]))_0xd15b71['permissions'][_0x29aa7f(0x216)]=[];const _0x4f6e35=['mcp__figma-intelligence-layer__*',_0x399152[_0x29aa7f(0x1be)]];for(const _0x50fd68 of _0x4f6e35){if(!_0xd15b71['permissions'][_0x29aa7f(0x216)][_0x29aa7f(0x269)](_0x50fd68))_0xd15b71['permissions']['allow'][_0x29aa7f(0x188)](_0x50fd68);}fs[_0x29aa7f(0x1d3)](path['dirname'](_0x4115d1),{'recursive':!![]}),fs[_0x29aa7f(0x1e3)](_0x4115d1,JSON['stringify'](_0xd15b71,null,0x2));}async function cmdStart(){const _0x54050d=_0x502a7d,_0xc64029={'uAGiY':'utf8','xLVKw':'figma-intelligence-layer','ttxSD':function(_0x58b738,_0x35fb95){return _0x58b738!==_0x35fb95;},'QPLuA':'YOUR_FIGMA_TOKEN_HERE','HEVXj':function(_0x404b3d,_0x389cfc){return _0x404b3d(_0x389cfc);},'gzAlJ':function(_0x448d53){return _0x448d53();},'sbQre':function(_0x2e8248,_0x20f118){return _0x2e8248(_0x20f118);},'LdHAa':function(_0x71427f,_0x47a61f){return _0x71427f(_0x47a61f);},'uCWzG':'/usr/local/bin','pTAvF':'/usr/bin','lOGpH':'/sbin','RWXDQ':function(_0x2cae52,_0x10e2b8){return _0x2cae52+_0x10e2b8;},'NtakU':function(_0x3dd0be,_0x441cf8){return _0x3dd0be(_0x441cf8);},'MUiAR':function(_0x245bbb,_0x19427f){return _0x245bbb(_0x19427f);},'HYgCa':function(_0x45fde4,_0x3e86ea){return _0x45fde4(_0x3e86ea);},'gCysz':function(_0x13c65c,_0x103395){return _0x13c65c(_0x103395);},'OiDsW':'\x20\x20claude\x20login','MWFYV':function(_0x498b86,_0x52cf9f){return _0x498b86(_0x52cf9f);},'TMfga':_0x54050d(0x253)};ensureDataDir();const _0x2d02e1=_0xc64029['gzAlJ'](getRelayPid);if(_0x2d02e1){_0xc64029['sbQre'](success,'Relay\x20already\x20running\x20(PID:\x20'+_0x2d02e1+')'),_0xc64029[_0x54050d(0x25b)](log,_0x54050d(0x222)+PORT),log(_0x54050d(0x1f7)+LOG_FILE);return;}if(isPortInUse(PORT)){warn(_0x54050d(0x12b)+PORT+'\x20is\x20already\x20in\x20use\x20by\x20another\x20process.'),_0xc64029[_0x54050d(0x215)](info,_0x54050d(0x256));return;}if(!fs['existsSync'](RELAY_SCRIPT)){fail('Bridge\x20relay\x20not\x20found.\x20Run\x20\x27npx\x20figma-intelligence\x20setup\x27\x20first.');return;}const _0xd8c2bf=_0xc64029['gzAlJ'](detectCLIs),_0x907708=new Set([_0xc64029['uCWzG'],_0xc64029[_0x54050d(0x261)],_0x54050d(0x1da),_0x54050d(0x238),_0xc64029[_0x54050d(0x221)]]);if(_0xd8c2bf['claude'])_0x907708[_0x54050d(0x1c6)](path[_0x54050d(0x17c)](_0xd8c2bf['claude']['bin']));if(_0xd8c2bf[_0x54050d(0x1ee)])_0x907708[_0x54050d(0x1c6)](path[_0x54050d(0x17c)](_0xd8c2bf['codex']['bin']));if(_0xd8c2bf[_0x54050d(0x26c)])_0x907708[_0x54050d(0x1c6)](path[_0x54050d(0x17c)](_0xd8c2bf['gemini'][_0x54050d(0x20f)]));const _0x329077={...process.env,'HOME':os['homedir'](),'PATH':_0xc64029[_0x54050d(0x129)]([..._0x907708]['join'](':')+':',process.env.PATH||'')};if(_0xd8c2bf['claude'])_0x329077[_0x54050d(0x145)]=_0xd8c2bf['claude'][_0x54050d(0x20f)];if(_0xd8c2bf['codex'])_0x329077['CODEX_BIN_PATH']=_0xd8c2bf[_0x54050d(0x1ee)]['bin'];if(_0xd8c2bf[_0x54050d(0x26c)])_0x329077[_0x54050d(0x138)]=_0xd8c2bf['gemini'][_0x54050d(0x20f)];log(''),_0xc64029['LdHAa'](log,_0x54050d(0x146));const _0x45ec6b=fs['openSync'](LOG_FILE,'a'),_0x502737=spawn(_0x54050d(0x237),[RELAY_SCRIPT],{'cwd':BRIDGE_DIR,'env':_0x329077,'detached':!![],'stdio':[_0x54050d(0x255),_0x45ec6b,_0x45ec6b]});_0x502737[_0x54050d(0x173)](),fs['writeFileSync'](PID_FILE,_0xc64029[_0x54050d(0x200)](String,_0x502737['pid'])),await new Promise(_0x209db7=>setTimeout(_0x209db7,0x7d0));if(getRelayPid()){_0xc64029[_0x54050d(0x200)](success,_0x54050d(0x247)+_0x502737[_0x54050d(0x1fe)]+')'),_0xc64029['MUiAR'](log,_0x54050d(0x222)+PORT),log(_0x54050d(0x1f7)+LOG_FILE),_0xc64029['HYgCa'](log,'');const _0x34fa00=Object[_0x54050d(0x153)](_0xd8c2bf)[_0x54050d(0x228)](_0x5ea99e=>_0x5ea99e['loggedIn']);if(_0x34fa00){_0xc64029[_0x54050d(0x183)](log,_0x54050d(0x184));if(_0xd8c2bf[_0x54050d(0x198)]?.[_0x54050d(0x266)])success('Claude'+(_0xd8c2bf['claude']['email']?'\x20('+_0xd8c2bf['claude'][_0x54050d(0x176)]+')':''));if(_0xd8c2bf[_0x54050d(0x1ee)]?.['loggedIn'])_0xc64029[_0x54050d(0x19f)](success,'OpenAI\x20Codex'+(_0xd8c2bf['codex'][_0x54050d(0x176)]?'\x20('+_0xd8c2bf['codex']['email']+')':''));if(_0xd8c2bf['gemini']?.['loggedIn'])_0xc64029[_0x54050d(0x19f)](success,_0x54050d(0x130)+(_0xd8c2bf[_0x54050d(0x26c)]['email']?'\x20('+_0xd8c2bf['gemini'][_0x54050d(0x176)]+')':''));}else{if(_0x54050d(0x11d)==='ixANB')warn(_0x54050d(0x186)),info(_0xc64029[_0x54050d(0x11b)]),_0xc64029[_0x54050d(0x16d)](info,'\x20\x20codex\x20login'),info('\x20\x20gemini');else{const _0x11c37a=_0x13d61d['parse'](_0x367f76[_0x54050d(0x151)](_0x4b71fc,_0xc64029['uAGiY'])),_0x5b88f2=_0x11c37a?.[_0x54050d(0x1d8)]?.[_0xc64029[_0x54050d(0x174)]]?.[_0x54050d(0x205)]?.[_0x54050d(0x1c9)]||'';_0x5b88f2&&_0xc64029['ttxSD'](_0x5b88f2,_0xc64029['QPLuA'])?_0xc64029['HEVXj'](_0x423e95,_0x54050d(0x134)+_0x3e1814(_0x5b88f2)):_0x47dfaf(_0x54050d(0x212));}}log(''),log(_0x54050d(0x131));}else fail(_0xc64029[_0x54050d(0x1f8)]),log('\x20\x20'+LOG_FILE);}function cmdStop(){const _0x23cd8d=_0x502a7d,_0x3a4c67={'DZRCJ':function(_0x7c2a13,_0xfe8461){return _0x7c2a13(_0xfe8461);},'paPTW':function(_0x552e3c){return _0x552e3c();},'tHbZa':_0x23cd8d(0x1c7),'luYkC':function(_0xb5d379,_0x23bba3){return _0xb5d379===_0x23bba3;},'quWik':_0x23cd8d(0x25f),'SMbHL':function(_0x44f858,_0x361fe1){return _0x44f858===_0x361fe1;},'NdqpO':'fJynp','MnGrZ':function(_0x191c6b,_0x1a870a,_0xb1683f){return _0x191c6b(_0x1a870a,_0xb1683f);},'lKfYd':_0x23cd8d(0x17f),'MKCOn':function(_0x2f8f9f,_0x4ca1b6){return _0x2f8f9f(_0x4ca1b6);},'usFuh':function(_0x304cdd,_0xef4ad2){return _0x304cdd(_0xef4ad2);}};let _0x5dfa73=![];const _0x395ea8=_0x3a4c67[_0x23cd8d(0x264)](getRelayPid);if(_0x395ea8){try{process['kill'](_0x395ea8,_0x3a4c67['tHbZa']),_0x5dfa73=!![],_0x3a4c67[_0x23cd8d(0x277)](success,'Stopped\x20relay\x20(PID:\x20'+_0x395ea8+')');}catch(_0x53c19e){_0x3a4c67['DZRCJ'](warn,'Could\x20not\x20stop\x20PID\x20'+_0x395ea8+':\x20'+_0x53c19e['message']);}try{fs['unlinkSync'](PID_FILE);}catch{}}_0x3a4c67[_0x23cd8d(0x22b)](process[_0x23cd8d(0x26b)],_0x3a4c67['quWik'])&&fs['existsSync'](PLIST_PATH)&&(_0x3a4c67['SMbHL'](_0x3a4c67['NdqpO'],'fJynp')?(_0x3a4c67[_0x23cd8d(0x22f)](run,_0x23cd8d(0x16e),[_0x3a4c67[_0x23cd8d(0x133)],PLIST_PATH]),_0x3a4c67['MKCOn'](info,'Unloaded\x20launchd\x20service'),_0x5dfa73=!![]):_0x3a4c67[_0x23cd8d(0x277)](_0x3bc70c,_0x12dfcb)?_0x3a4c67[_0x23cd8d(0x277)](_0x515b92,'Registered\x20with\x20Gemini\x20CLI'):_0x4ae10f(_0x23cd8d(0x257)));const _0xf40764=run(_0x23cd8d(0x126),['-f','bridge-relay.js']);if(_0xf40764['ok'])_0x5dfa73=!![];_0x5dfa73?_0x3a4c67[_0x23cd8d(0x277)](success,'Relay\x20stopped'):_0x3a4c67['usFuh'](info,'No\x20relay\x20process\x20found');}function cmdStatus(){const _0x399ac7=_0x502a7d,_0x270174={'CFsLW':function(_0x271664,_0x3f1e4a){return _0x271664(_0x3f1e4a);},'IHbuh':'Could\x20not\x20register\x20with\x20Claude\x20Code','DrsrP':function(_0x215704,_0x39630a){return _0x215704(_0x39630a);},'ueIHD':_0x399ac7(0x233),'FrwAU':function(_0x3ad65c,_0x3ca0ba){return _0x3ad65c(_0x3ca0ba);},'nHeff':'LBhJD','IxjyV':function(_0x35d456,_0x38f8d9){return _0x35d456(_0x38f8d9);},'ZOXaH':function(_0x25490a,_0x109cac){return _0x25490a(_0x109cac);},'SGvQC':function(_0x3ad993){return _0x3ad993();},'ZjctH':_0x399ac7(0x1d6),'TlQTN':_0x399ac7(0x21a),'hMWdz':function(_0x2d5243,_0xfff9b7){return _0x2d5243===_0xfff9b7;},'SuXfc':'OpenAI\x20Codex:\x20not\x20installed\x20(npm\x20i\x20-g\x20@openai/codex)','yNWiD':function(_0x54dd75,_0x4925c4){return _0x54dd75!==_0x4925c4;},'kcwsJ':_0x399ac7(0x144),'WcxWo':_0x399ac7(0x25c),'xQQwZ':function(_0x569948,_0x1873f2){return _0x569948(_0x1873f2);},'BVxOG':_0x399ac7(0x20c),'LMjdd':function(_0x28d815,_0x3dc212){return _0x28d815(_0x3dc212);},'neHNg':'.claude','uiqWo':function(_0x72d682,_0x539881){return _0x72d682!==_0x539881;},'yrMuT':'YOUR_FIGMA_TOKEN_HERE','hSLBn':function(_0x230332,_0x145776){return _0x230332(_0x145776);},'Azxcz':'Figma\x20token:\x20not\x20set','wMvaO':function(_0x40abd5,_0x4410d1){return _0x40abd5(_0x4410d1);},'BEhiP':'Could\x20not\x20read\x20Claude\x20settings','EEHIX':function(_0x49bcf1,_0x56b03c){return _0x49bcf1(_0x56b03c);}};log(''),_0x270174[_0x399ac7(0x16c)](log,_0x270174['ueIHD']),_0x270174[_0x399ac7(0x16c)](log,'='[_0x399ac7(0x1eb)](0x32)),log('');const _0x427fee=getRelayPid(),_0x2b520d=_0x270174['FrwAU'](isPortInUse,PORT);if(_0x427fee)_0x270174[_0x399ac7(0x1b4)]!==_0x270174[_0x399ac7(0x1b4)]?_0x2e1bc5[_0x399ac7(0x14b)](_0x54209e,_0x54c830['join'](_0xf6547a,_0x58af5c)):_0x270174['CFsLW'](success,'Relay:\x20RUNNING\x20(PID:\x20'+_0x427fee+_0x399ac7(0x172)+PORT+')');else _0x2b520d?_0x270174[_0x399ac7(0x26d)](warn,'Relay:\x20Port\x20'+PORT+_0x399ac7(0x114)):'uuVdw'!=='jTmaG'?_0x270174[_0x399ac7(0x16c)](fail,'Relay:\x20NOT\x20RUNNING'):_0x270174[_0x399ac7(0x125)](_0x1980df,_0x399ac7(0x1ba)+(_0x3e17bb['claude']['email']?'\x20as\x20'+_0x137a6b[_0x399ac7(0x198)]['email']:''));fs['existsSync'](MCP_BUILD)?success('MCP\x20server:\x20BUILT'):fail('MCP\x20server:\x20NOT\x20BUILT\x20(run\x20\x27npx\x20figma-intelligence\x20setup\x27)');_0x270174[_0x399ac7(0x23c)](log,'');const _0x1bc1a1=_0x270174[_0x399ac7(0x16f)](detectCLIs);log('AI\x20Providers:');_0x1bc1a1[_0x399ac7(0x198)]?_0x399ac7(0x1d6)!==_0x270174[_0x399ac7(0x1e2)]?_0xdfb672(_0x30bb27['claude'][_0x399ac7(0x20f)],_0x503242)?_0x508370('Registered\x20with\x20Claude\x20Code'):_0x524168(_0x270174['IHbuh']):_0x1bc1a1['claude']['loggedIn']?_0x270174['FrwAU'](success,'Claude:\x20logged\x20in'+(_0x1bc1a1[_0x399ac7(0x198)][_0x399ac7(0x176)]?_0x399ac7(0x1bf)+_0x1bc1a1['claude'][_0x399ac7(0x176)]:'')):warn(_0x270174['TlQTN']):info('Claude:\x20not\x20installed\x20(https://claude.ai/download)');_0x1bc1a1[_0x399ac7(0x1ee)]?_0x1bc1a1['codex'][_0x399ac7(0x266)]?_0x270174['DrsrP'](success,'OpenAI\x20Codex:\x20logged\x20in'+(_0x1bc1a1[_0x399ac7(0x1ee)]['email']?_0x399ac7(0x1bf)+_0x1bc1a1['codex']['email']:'')):_0x270174[_0x399ac7(0x14f)](_0x399ac7(0x141),'fZpmn')?_0x270174[_0x399ac7(0x125)](_0x4b40d8,'\x20\x20'+_0x366547+'\x20issue(s)\x20found.\x20Fix\x20them\x20and\x20run\x20doctor\x20again.'):warn('OpenAI\x20Codex:\x20installed\x20but\x20not\x20logged\x20in\x20(run\x20\x27codex\x20login\x27)'):info(_0x270174['SuXfc']);_0x1bc1a1[_0x399ac7(0x26c)]?_0x1bc1a1[_0x399ac7(0x26c)][_0x399ac7(0x266)]?_0x270174['yNWiD']('DmjtG',_0x270174['kcwsJ'])?success(_0x399ac7(0x1d2)+(_0x1bc1a1['gemini']['email']?'\x20as\x20'+_0x1bc1a1['gemini']['email']:'')):(_0x270174[_0x399ac7(0x125)](_0x48e2f2,'Relay\x20not\x20running\x20(run\x20\x27npx\x20figma-intelligence\x20start\x27)'),_0x2cbec1++):warn(_0x270174['WcxWo']):_0x270174['xQQwZ'](info,_0x270174[_0x399ac7(0x19b)]);_0x270174[_0x399ac7(0x197)](log,'');const _0x401964=path[_0x399ac7(0x1a9)](os[_0x399ac7(0x23b)](),_0x270174['neHNg'],'settings.json');if(fs['existsSync'](_0x401964))try{const _0x349ff2=JSON[_0x399ac7(0x1a7)](fs['readFileSync'](_0x401964,_0x399ac7(0x236))),_0x3525d0=_0x349ff2?.['mcpServers']?.[_0x399ac7(0x1f1)]?.['env']?.[_0x399ac7(0x1c9)]||'';_0x3525d0&&_0x270174[_0x399ac7(0x193)](_0x3525d0,_0x270174[_0x399ac7(0x1a0)])?success('Figma\x20token:\x20'+_0x270174['hSLBn'](maskToken,_0x3525d0)):_0x270174['IxjyV'](warn,_0x270174[_0x399ac7(0x1b9)]);}catch{_0x270174[_0x399ac7(0x199)](warn,_0x270174[_0x399ac7(0x1b0)]);}_0x270174[_0x399ac7(0x234)](log,'');}function cmdDoctor(){const _0x58307f=_0x502a7d,_0x2024f7={'gESUD':_0x58307f(0x227),'QcWGH':function(_0x17ee11,_0x52f2e5){return _0x17ee11(_0x52f2e5);},'ZHxEu':'Codex\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','utHFz':'Run\x20\x27codex\x20login\x27\x20to\x20authenticate','fAFZn':_0x58307f(0x18b),'LVRtr':'Bridge\x20relay\x20dependencies\x20installed','PDjeN':'Bridge\x20relay\x20dependencies\x20missing\x20(run\x20\x27npx\x20figma-intelligence\x20setup\x27)','kTiyv':_0x58307f(0x24d),'IgSWG':function(_0x573ada,_0x164e2a){return _0x573ada(_0x164e2a);},'ePFJK':'MCP\x20server\x20dependencies\x20missing\x20(run\x20\x27npx\x20figma-intelligence\x20setup\x27)','xCfKF':function(_0x54ff79,_0x228d97){return _0x54ff79!==_0x228d97;},'lLAdC':_0x58307f(0x249),'OyLTA':function(_0x54b4b8){return _0x54b4b8();},'AppcQ':function(_0xc86753,_0x53a91f){return _0xc86753>_0x53a91f;},'CJdTq':_0x58307f(0x140),'kjHbv':function(_0x594d0b,_0x1b099a){return _0x594d0b(_0x1b099a);},'vFdwa':_0x58307f(0x21b),'HNyWY':function(_0x1eeabf,_0x169ab7,_0x4dd390,_0x5b0d1f){return _0x1eeabf(_0x169ab7,_0x4dd390,_0x5b0d1f);},'vzSgR':'node','UQsyn':_0x58307f(0x242),'HYsss':_0x58307f(0x1f0),'ivrXF':function(_0x232356,_0xfcb59c){return _0x232356(_0xfcb59c);}};log(''),_0x2024f7['QcWGH'](log,'Figma\x20Intelligence\x20Doctor'),_0x2024f7[_0x58307f(0x13f)](log,'='[_0x58307f(0x1eb)](0x32)),_0x2024f7['QcWGH'](log,'');let _0x514e38=0x0;const _0x5e5c5a=process[_0x58307f(0x259)],_0x3ea7ae=parseInt(_0x5e5c5a['slice'](0x1),0xa);_0x3ea7ae>=0x12?_0x2024f7['QcWGH'](success,_0x58307f(0x19c)+_0x5e5c5a):(fail(_0x58307f(0x19c)+_0x5e5c5a+_0x58307f(0x150)),_0x514e38++);const _0x23e259=path[_0x58307f(0x1a9)](BRIDGE_DIR,_0x58307f(0x224)),_0x548942=path[_0x58307f(0x1a9)](MCP_SRC,'node_modules');fs[_0x58307f(0x163)](_0x23e259)?_0x2024f7['fAFZn']===_0x2024f7[_0x58307f(0x17b)]?success(_0x2024f7['LVRtr']):(_0xbc0d37(_0x2024f7[_0x58307f(0x219)]),_0x15fb69('')):(fail(_0x2024f7['PDjeN']),_0x514e38++);fs['existsSync'](_0x548942)?success(_0x2024f7['kTiyv']):(_0x2024f7[_0x58307f(0x194)](fail,_0x2024f7['ePFJK']),_0x514e38++);fs['existsSync'](MCP_BUILD)?success('MCP\x20server\x20built'):(fail('MCP\x20server\x20not\x20built'),_0x514e38++);const _0x38511f=getRelayPid();if(_0x38511f)success('Relay\x20running\x20(PID:\x20'+_0x38511f+')');else _0x2024f7[_0x58307f(0x13f)](isPortInUse,PORT)?(warn('Port\x20'+PORT+'\x20in\x20use\x20but\x20not\x20by\x20our\x20relay'),_0x514e38++):_0x2024f7['xCfKF'](_0x2024f7[_0x58307f(0x1fa)],_0x2024f7[_0x58307f(0x1fa)])?(_0x2024f7[_0x58307f(0x13f)](_0x5b43fd,_0x2024f7['ZHxEu']),_0xd5d0e3(_0x2024f7[_0x58307f(0x189)])):(fail('Relay\x20not\x20running\x20(run\x20\x27npx\x20figma-intelligence\x20start\x27)'),_0x514e38++);const _0x474baf=_0x2024f7['OyLTA'](detectCLIs),_0x4f178e=_0x2024f7['AppcQ'](Object[_0x58307f(0x225)](_0x474baf)['length'],0x0),_0x430fd2=Object['values'](_0x474baf)['some'](_0x1472fb=>_0x1472fb[_0x58307f(0x266)]);if(!_0x4f178e)fail(_0x2024f7['CJdTq']),_0x514e38++;else!_0x430fd2?(_0x2024f7[_0x58307f(0x152)](fail,_0x58307f(0x12e)),_0x514e38++):success('AI\x20provider(s)\x20authenticated');try{require(path['join'](MCP_SRC,'node_modules','sharp')),success(_0x2024f7[_0x58307f(0x170)]);}catch{warn('Sharp\x20module\x20not\x20loadable\x20(some\x20vision\x20tools\x20may\x20not\x20work)');}if(fs['existsSync'](MCP_BUILD)){log(_0x58307f(0x19a));const _0x3f2d39=_0x2024f7['HNyWY'](run,_0x2024f7['vzSgR'],['-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'+MCP_BUILD+'\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});_0x3f2d39[_0x58307f(0x147)]['includes']('ok')?success('MCP\x20server\x20responds\x20to\x20handshake'):(_0x2024f7['QcWGH'](fail,_0x2024f7['UQsyn']),_0x514e38++);}_0x2024f7[_0x58307f(0x152)](log,''),_0x514e38===0x0?log(_0x2024f7[_0x58307f(0x157)]):_0x2024f7[_0x58307f(0x181)](log,'\x20\x20'+_0x514e38+_0x58307f(0x185)),_0x2024f7[_0x58307f(0x152)](log,'');}function _0x385c(_0x1ae0d1,_0x177ac2){_0x1ae0d1=_0x1ae0d1-0x10b;const _0x19396f=_0x1939();let _0x385ca5=_0x19396f[_0x1ae0d1];if(_0x385c['oXcFgb']===undefined){var _0x2b4e63=function(_0x42f98c){const _0x522210='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45d1eb='',_0x514bd1='';for(let _0x21d218=0x0,_0x36c76c,_0x5f1dbf,_0x321ad5=0x0;_0x5f1dbf=_0x42f98c['charAt'](_0x321ad5++);~_0x5f1dbf&&(_0x36c76c=_0x21d218%0x4?_0x36c76c*0x40+_0x5f1dbf:_0x5f1dbf,_0x21d218++%0x4)?_0x45d1eb+=String['fromCharCode'](0xff&_0x36c76c>>(-0x2*_0x21d218&0x6)):0x0){_0x5f1dbf=_0x522210['indexOf'](_0x5f1dbf);}for(let _0x738be6=0x0,_0x6ca673=_0x45d1eb['length'];_0x738be6<_0x6ca673;_0x738be6++){_0x514bd1+='%'+('00'+_0x45d1eb['charCodeAt'](_0x738be6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x514bd1);};_0x385c['wMYZMK']=_0x2b4e63,_0x385c['ZagEjM']={},_0x385c['oXcFgb']=!![];}const _0x525134=_0x19396f[0x0],_0x3a39d6=_0x1ae0d1+_0x525134,_0x321b7e=_0x385c['ZagEjM'][_0x3a39d6];return!_0x321b7e?(_0x385ca5=_0x385c['wMYZMK'](_0x385ca5),_0x385c['ZagEjM'][_0x3a39d6]=_0x385ca5):_0x385ca5=_0x321b7e,_0x385ca5;}async function cmdSetup(){const _0x64f39c=_0x502a7d,_0x5c48d2={'AzfAW':function(_0x4a2a5d,_0x562ae8){return _0x4a2a5d===_0x562ae8;},'fyMIV':'MCP\x20server\x20built','kZZBb':'figma-intelligence-layer','BBNLv':function(_0x2a8fc0,_0x302dc0){return _0x2a8fc0!==_0x302dc0;},'SLeMW':function(_0x11467f,_0x328e25){return _0x11467f(_0x328e25);},'rlHqD':_0x64f39c(0x121),'BcbWD':function(_0x54d9b2,_0x227bd7){return _0x54d9b2<_0x227bd7;},'ouhIG':_0x64f39c(0x203),'eUibF':function(_0x404750,_0x202128){return _0x404750(_0x202128);},'MLkyf':function(_0x1afe1c,_0x5cf5de){return _0x1afe1c(_0x5cf5de);},'RCxtC':_0x64f39c(0x1b7),'dFaWu':function(_0x2d6ab5,_0xa1a64f){return _0x2d6ab5(_0xa1a64f);},'qYEBy':'Claude\x20CLI\x20not\x20found.\x20Install\x20from:\x20https://claude.ai/download','GyuPf':'Run\x20\x27codex\x20login\x27\x20to\x20authenticate','PwUAb':function(_0x56e8ec,_0x2eae3a){return _0x56e8ec(_0x2eae3a);},'OicNm':function(_0x16f858,_0x449bd9){return _0x16f858!==_0x449bd9;},'XwiKS':_0x64f39c(0x1c0),'SfSnA':'Run\x20\x27gemini\x27\x20to\x20authenticate\x20via\x20Google','skoIw':function(_0x31078d,_0x294509){return _0x31078d(_0x294509);},'QmYJM':_0x64f39c(0x15c),'tEeKA':function(_0x1d4dce,_0x1dd05c){return _0x1d4dce(_0x1dd05c);},'SVVHH':function(_0x4ce35c,_0x217585){return _0x4ce35c(_0x217585);},'tWfKc':'No\x20AI\x20provider\x20is\x20logged\x20in.\x20Log\x20in\x20to\x20at\x20least\x20one:','VqKQL':_0x64f39c(0x1b8),'YzFDo':'MCP\x20server','qATno':function(_0x486b6c,_0x26739b){return _0x486b6c(_0x26739b);},'KDnDn':function(_0x1abb23,_0x552ca1){return _0x1abb23(_0x552ca1);},'vXrCI':function(_0x197a3f,_0xcb6bb){return _0x197a3f===_0xcb6bb;},'RzAcb':_0x64f39c(0x244),'qRGmW':'Building\x20MCP\x20server...','dgGkf':function(_0x16da9d,_0x3cb966,_0x4febf3,_0x516245){return _0x16da9d(_0x3cb966,_0x4febf3,_0x516245);},'rIhqT':_0x64f39c(0x209),'ukSoE':'run','hEWGg':function(_0x233bde,_0x41b041){return _0x233bde(_0x41b041);},'TjrLl':'Figma\x20Personal\x20Access\x20Token','hNnIC':function(_0x594ce0,_0x505c20){return _0x594ce0(_0x505c20);},'fejZr':'Required\x20to\x20read\x20your\x20Figma\x20files.','fSIHw':_0x64f39c(0x23e),'hxrMW':_0x64f39c(0x180),'lCweU':_0x64f39c(0x236),'sBAFI':function(_0x576da7,_0x4fa8fe){return _0x576da7!==_0x4fa8fe;},'XCIfI':_0x64f39c(0x275),'bXzpE':'pAdrf','SDcGd':function(_0x2bab58,_0x1a3098){return _0x2bab58(_0x1a3098);},'LCKcr':_0x64f39c(0x1b1),'aTVSv':function(_0x550186,_0x470a66){return _0x550186(_0x470a66);},'VGmyn':_0x64f39c(0x21e),'UAHOk':_0x64f39c(0x136),'lIayY':_0x64f39c(0x19e),'lzBIJ':function(_0x375630,_0x2f9083,_0x22a732){return _0x375630(_0x2f9083,_0x22a732);},'JTXWo':_0x64f39c(0x260),'PFaqc':function(_0xbe0aca,_0x24cfea){return _0xbe0aca!==_0x24cfea;},'EaxsV':function(_0xdb7217,_0x2e1cff){return _0xdb7217(_0x2e1cff);},'HSPoO':function(_0x759d0d,_0x3493e2){return _0x759d0d(_0x3493e2);},'FMJhS':'Starting\x20relay\x20server...','IiMWV':function(_0x57ecc2,_0x234306){return _0x57ecc2===_0x234306;},'Shaab':'lRmOu','LcEok':function(_0x343601,_0x107c11){return _0x343601(_0x107c11);},'Dxykp':'\x20\x20Install\x20as\x20login\x20service\x20(auto-starts\x20on\x20reboot)?\x20[Y/n]:\x20','PemAe':function(_0x300dbb,_0x4f8477){return _0x300dbb(_0x4f8477);},'ZKZZR':'Copying\x20plugin\x20files...','vkJQM':'\x20\x20Setup\x20complete!','FZExw':function(_0x49978f){return _0x49978f();},'iKAIS':function(_0x11a226,_0x1e7626){return _0x11a226(_0x1e7626);},'IvVVi':_0x64f39c(0x148),'SoNEV':function(_0x4eb981,_0x1ffe03){return _0x4eb981(_0x1ffe03);},'PGXMV':_0x64f39c(0x143)};log(''),log('┌─────────────────────────────────────────────────────┐'),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│'),_0x5c48d2[_0x64f39c(0x258)](log,_0x5c48d2['rlHqD']),log(''),ensureDataDir();const _0x1de6d6=parseInt(process['version'][_0x64f39c(0x187)](0x1),0xa);_0x5c48d2[_0x64f39c(0x22a)](_0x1de6d6,0x12)&&('DWXUL'!==_0x5c48d2[_0x64f39c(0x1e4)]?(fail(_0x64f39c(0x19c)+process['version']+'\x20is\x20too\x20old.\x20Install\x20Node.js\x2018+\x20from\x20https://nodejs.org'),process[_0x64f39c(0x24b)](0x1)):_0x738be6[_0x64f39c(0x1b3)](_0x64f39c(0x226)+_0x6ca673));success(_0x64f39c(0x19c)+process['version']),log(''),_0x5c48d2[_0x64f39c(0x1de)](log,_0x64f39c(0x20e));const _0x33c320=detectCLIs();_0x33c320[_0x64f39c(0x198)]?_0x33c320['claude'][_0x64f39c(0x266)]?_0x5c48d2['SLeMW'](success,'Claude\x20logged\x20in'+(_0x33c320[_0x64f39c(0x198)]['email']?_0x64f39c(0x1bf)+_0x33c320['claude']['email']:'')):(_0x5c48d2[_0x64f39c(0x1d5)](warn,_0x5c48d2['RCxtC']),_0x5c48d2[_0x64f39c(0x12a)](info,'Run\x20\x27claude\x20login\x27\x20to\x20authenticate')):info(_0x5c48d2[_0x64f39c(0x123)]);_0x33c320['codex']?_0x33c320[_0x64f39c(0x1ee)][_0x64f39c(0x266)]?success('Codex\x20logged\x20in'+(_0x33c320['codex'][_0x64f39c(0x176)]?_0x64f39c(0x1bf)+_0x33c320['codex']['email']:'')):(warn('Codex\x20CLI\x20installed\x20but\x20not\x20logged\x20in.'),info(_0x5c48d2[_0x64f39c(0x127)])):_0x5c48d2[_0x64f39c(0x263)](info,_0x64f39c(0x202));_0x33c320[_0x64f39c(0x26c)]?_0x33c320[_0x64f39c(0x26c)]['loggedIn']?_0x5c48d2['OicNm']('PjZrO','PjZrO')?_0x562b79('Codex\x20logged\x20in'+(_0x329a7c['codex'][_0x64f39c(0x176)]?'\x20as\x20'+_0x41b49e['codex'][_0x64f39c(0x176)]:'')):success('Gemini\x20logged\x20in'+(_0x33c320[_0x64f39c(0x26c)][_0x64f39c(0x176)]?'\x20as\x20'+_0x33c320[_0x64f39c(0x26c)]['email']:'')):(warn(_0x5c48d2['XwiKS']),_0x5c48d2['eUibF'](info,_0x5c48d2['SfSnA'])):_0x5c48d2['skoIw'](info,_0x64f39c(0x192));const _0x364f84=Object['values'](_0x33c320)['some'](_0x4253cc=>_0x4253cc['loggedIn']);if(!Object['keys'](_0x33c320)[_0x64f39c(0x1d9)]){const _0x190c50=_0x64f39c(0x128)['split']('|');let _0x22b858=0x0;while(!![]){switch(_0x190c50[_0x22b858++]){case'0':fail(_0x5c48d2[_0x64f39c(0x17a)]);continue;case'1':process[_0x64f39c(0x24b)](0x1);continue;case'2':_0x5c48d2['dFaWu'](info,'\x20\x20Claude:\x20\x20\x20\x20\x20\x20\x20https://claude.ai/download');continue;case'3':log('');continue;case'4':_0x5c48d2['tEeKA'](info,'\x20\x20Gemini\x20CLI:\x20\x20\x20npm\x20i\x20-g\x20@google/gemini-cli');continue;case'5':_0x5c48d2['SVVHH'](info,'\x20\x20OpenAI\x20Codex:\x20npm\x20i\x20-g\x20@openai/codex');continue;}break;}}if(!_0x364f84){_0x5c48d2['tEeKA'](log,''),fail(_0x5c48d2[_0x64f39c(0x17d)]);if(_0x33c320['claude'])info(_0x5c48d2['VqKQL']);if(_0x33c320['codex'])_0x5c48d2[_0x64f39c(0x1d5)](info,'\x20\x20codex\x20login');if(_0x33c320[_0x64f39c(0x26c)])info('\x20\x20gemini');process['exit'](0x1);}log(''),_0x5c48d2[_0x64f39c(0x14a)](log,_0x64f39c(0x1dc));const _0x3804a8=[{'name':_0x64f39c(0x25d),'dir':BRIDGE_DIR},{'name':_0x5c48d2['YzFDo'],'dir':MCP_SRC}];fs[_0x64f39c(0x163)](DESIGN_BRIDGE_DIR)&&_0x3804a8[_0x64f39c(0x188)]({'name':_0x64f39c(0x18e),'dir':DESIGN_BRIDGE_DIR});for(const _0x34cc8e of _0x3804a8){_0x5c48d2[_0x64f39c(0x16a)](log,'\x20\x20Installing\x20'+_0x34cc8e[_0x64f39c(0x196)]+'...');const _0x22197e=run(_0x64f39c(0x209),['install'],{'cwd':_0x34cc8e['dir']});if(_0x22197e['ok'])_0x5c48d2['KDnDn'](success,_0x34cc8e[_0x64f39c(0x196)]+'\x20dependencies\x20installed');else{if(_0x5c48d2[_0x64f39c(0x229)](_0x5c48d2['RzAcb'],_0x5c48d2[_0x64f39c(0x1e1)]))fail(_0x34cc8e[_0x64f39c(0x196)]+_0x64f39c(0x10f)+_0x22197e[_0x64f39c(0x122)]),process['exit'](0x1);else{const _0x3658ff=_0x31120c(_0x588986,_0x594c9b,{'encoding':_0x64f39c(0x236),'shell':!![],..._0x5da679});return{'ok':MhVEne[_0x64f39c(0x111)](_0x3658ff[_0x64f39c(0x115)],0x0),'stdout':(_0x3658ff[_0x64f39c(0x147)]||'')[_0x64f39c(0x18c)](),'stderr':(_0x3658ff['stderr']||'')[_0x64f39c(0x18c)]()};}}}log(''),_0x5c48d2[_0x64f39c(0x12a)](log,_0x5c48d2[_0x64f39c(0x14d)]);const _0x6498ee=_0x5c48d2['dgGkf'](run,_0x5c48d2['rIhqT'],[_0x5c48d2['ukSoE'],'build'],{'cwd':MCP_SRC});_0x6498ee['ok']?_0x5c48d2[_0x64f39c(0x16a)](success,_0x5c48d2['fyMIV']):(fail(_0x64f39c(0x120)+_0x6498ee['stderr']),process['exit'](0x1));_0x5c48d2['hEWGg'](log,''),log(_0x5c48d2['TjrLl']),_0x5c48d2['hNnIC'](info,_0x5c48d2[_0x64f39c(0x1fd)]),info(_0x5c48d2[_0x64f39c(0x1d1)]),log('');let _0x1ae906='';const _0xb3dfbf=path[_0x64f39c(0x1a9)](os[_0x64f39c(0x23b)](),_0x64f39c(0x276),'settings.json');if(fs[_0x64f39c(0x163)](_0xb3dfbf))try{if(_0x5c48d2[_0x64f39c(0x13a)]===_0x64f39c(0x208))_0x1b0a33(_0x5c48d2[_0x64f39c(0x1bb)]);else{const _0x593f23=JSON[_0x64f39c(0x1a7)](fs['readFileSync'](_0xb3dfbf,_0x5c48d2[_0x64f39c(0x213)])),_0x1213c5=_0x593f23?.['mcpServers']?.[_0x64f39c(0x1f1)]?.['env']?.['FIGMA_ACCESS_TOKEN']||'';if(_0x1213c5&&_0x5c48d2[_0x64f39c(0x223)](_0x1213c5,_0x5c48d2['XCIfI']))_0x1ae906=_0x1213c5;}}catch{}let _0xb21377;if(_0x1ae906){if(_0x5c48d2[_0x64f39c(0x20a)]===_0x5c48d2[_0x64f39c(0x20a)]){_0x5c48d2['SDcGd'](log,'\x20\x20Found\x20existing\x20token:\x20'+maskToken(_0x1ae906));const _0x4dae50=await _0x5c48d2['SVVHH'](prompt,_0x5c48d2['LCKcr']);_0xb21377=_0x4dae50||_0x1ae906;}else{const _0x8bc204=_0x3b1f98[_0x64f39c(0x1a7)](_0x111eac['readFileSync'](_0xebd0c8,_0x64f39c(0x236))),_0x9b2a69=_0x8bc204?.['mcpServers']?.[_0x5c48d2['kZZBb']]?.[_0x64f39c(0x205)]?.[_0x64f39c(0x1c9)]||'';if(_0x9b2a69&&_0x5c48d2[_0x64f39c(0x1f4)](_0x9b2a69,_0x64f39c(0x275)))_0x178dcf=_0x9b2a69;}}else _0xb21377=await _0x5c48d2[_0x64f39c(0x268)](prompt,_0x5c48d2[_0x64f39c(0x1b2)]),!_0xb21377&&(_0xb21377=_0x5c48d2['XCIfI'],warn(_0x5c48d2[_0x64f39c(0x18f)]));_0x5c48d2[_0x64f39c(0x16a)](log,''),log(_0x5c48d2[_0x64f39c(0x21d)]);_0x33c320[_0x64f39c(0x198)]&&(_0x5c48d2['lzBIJ'](registerMcpWithClaude,_0x33c320['claude'][_0x64f39c(0x20f)],_0xb21377)?_0x5c48d2[_0x64f39c(0x12a)](success,_0x64f39c(0x21f)):_0x5c48d2[_0x64f39c(0x1a4)](warn,_0x5c48d2['JTXWo']));_0x33c320[_0x64f39c(0x1ee)]&&('aNySl'==='aNySl'?registerMcpWithCodex(_0x33c320['codex'][_0x64f39c(0x20f)],_0xb21377)?_0x5c48d2['SVVHH'](success,'Registered\x20with\x20Codex'):warn(_0x64f39c(0x160)):(_0xfd87a9('Node.js\x20'+_0x42922c+'\x20-\x20requires\x20>=\x2018'),_0x552455++));_0x33c320[_0x64f39c(0x26c)]&&(registerMcpWithGemini(_0xb21377)?_0x5c48d2[_0x64f39c(0x19d)]('BCRdU',_0x64f39c(0x156))?success(_0x64f39c(0x1e5)):_0x3920cd[_0x64f39c(0x1b3)](_0x64f39c(0x265)+_0x2ba184):_0x5c48d2[_0x64f39c(0x15d)](warn,_0x64f39c(0x257)));writeClaudePermissions(),_0x5c48d2['skoIw'](success,_0x64f39c(0x13c)),_0x5c48d2['KDnDn'](log,''),_0x5c48d2['HSPoO'](log,_0x5c48d2['FMJhS']),await cmdStart();if(_0x5c48d2['IiMWV'](process[_0x64f39c(0x26b)],_0x64f39c(0x25f))){if(_0x5c48d2[_0x64f39c(0x240)]===_0x64f39c(0x1cf))_0x21d218[_0x64f39c(0x1b3)](_0x36c76c);else{_0x5c48d2[_0x64f39c(0x13d)](log,'');const _0x37698e=await _0x5c48d2[_0x64f39c(0x164)](prompt,_0x5c48d2['Dxykp']);(!_0x37698e||_0x5c48d2['PFaqc'](_0x37698e[_0x64f39c(0x119)](),'n'))&&_0x5c48d2[_0x64f39c(0x117)](installLaunchdService,_0x33c320);}}log(''),_0x5c48d2[_0x64f39c(0x1cb)](log,_0x5c48d2[_0x64f39c(0x159)]),copyPluginFiles(),success(_0x64f39c(0x1ad)+PLUGIN_DIR),_0x5c48d2[_0x64f39c(0x11c)](log,''),_0x5c48d2[_0x64f39c(0x268)](log,'='['repeat'](0x35)),log(_0x5c48d2[_0x64f39c(0x14c)]),_0x5c48d2['dFaWu'](log,'='['repeat'](0x35)),_0x5c48d2['FZExw'](printPluginLoadInstructions),log(_0x64f39c(0x16b)),log(''),_0x5c48d2['iKAIS'](info,_0x5c48d2[_0x64f39c(0x21c)]),_0x5c48d2['SoNEV'](info,_0x5c48d2[_0x64f39c(0x26a)]),_0x5c48d2['dFaWu'](log,''),log(_0x64f39c(0x230)),log('');}function installLaunchdService(_0x100fad){const _0xff96ee=_0x502a7d,_0x22ce4e={'MwBNM':_0xff96ee(0x1da),'Kacpy':function(_0x41b9d4,_0x39c45c,_0x14fc39){return _0x41b9d4(_0x39c45c,_0x14fc39);},'NPxOL':_0xff96ee(0x16e),'NSBPQ':'unload','ohNFV':function(_0x5a1d09,_0x2e4034,_0x335847){return _0x5a1d09(_0x2e4034,_0x335847);},'lzkvp':'load','GSRGO':function(_0x4e36ef,_0x10cd87){return _0x4e36ef(_0x10cd87);},'VtcrK':_0xff96ee(0x1d0)},_0x2b684e=[_0xff96ee(0x218),_0xff96ee(0x14e),_0x22ce4e['MwBNM'],_0xff96ee(0x238),'/sbin'];if(_0x100fad[_0xff96ee(0x198)])_0x2b684e['unshift'](path['dirname'](_0x100fad['claude']['bin']));if(_0x100fad['codex'])_0x2b684e['unshift'](path[_0xff96ee(0x17c)](_0x100fad['codex']['bin']));if(_0x100fad[_0xff96ee(0x26c)])_0x2b684e['unshift'](path[_0xff96ee(0x17c)](_0x100fad[_0xff96ee(0x26c)]['bin']));const _0x56236c=[...new Set(_0x2b684e)]['join'](':'),_0x1d2a79=process['execPath'];_0x22ce4e['Kacpy'](run,_0x22ce4e['NPxOL'],[_0x22ce4e['NSBPQ'],PLIST_PATH]),fs['mkdirSync'](PLIST_DIR,{'recursive':!![]});const _0x15e859='<?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>'+_0x1d2a79+_0xff96ee(0x1a8)+RELAY_SCRIPT+'</string>\x0a\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20<key>WorkingDirectory</key>\x0a\x20\x20\x20\x20<string>'+BRIDGE_DIR+_0xff96ee(0x1ff)+os['homedir']()+_0xff96ee(0x11e)+_0x56236c+_0xff96ee(0x1b5)+(_0x100fad[_0xff96ee(0x198)]?_0xff96ee(0x1cc)+_0x100fad['claude'][_0xff96ee(0x20f)]+'</string>':'')+(_0x100fad['codex']?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CODEX_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x100fad[_0xff96ee(0x1ee)]['bin']+_0xff96ee(0x1b5):'')+(_0x100fad[_0xff96ee(0x26c)]?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>GEMINI_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x100fad[_0xff96ee(0x26c)]['bin']+_0xff96ee(0x1b5):'')+_0xff96ee(0x132)+LOG_FILE+_0xff96ee(0x1e6)+LOG_FILE+'</string>\x0a</dict>\x0a</plist>';fs[_0xff96ee(0x1e3)](PLIST_PATH,_0x15e859);const _0x5fb9fb=_0x22ce4e['ohNFV'](run,_0x22ce4e['NPxOL'],[_0x22ce4e['lzkvp'],PLIST_PATH]);_0x5fb9fb['ok']?(_0x22ce4e['GSRGO'](success,_0x22ce4e[_0xff96ee(0x169)]),info(_0xff96ee(0x246)+PLIST_PATH)):warn(_0xff96ee(0x1db));}const PLUGIN_DIR=path[_0x502a7d(0x1a9)](DATA_DIR,_0x502a7d(0x1a2));function copyPluginFiles(){const _0x2d2caa=_0x502a7d,_0xc09835={'LPNOy':_0x2d2caa(0x1c4),'UWYIO':_0x2d2caa(0x267)};fs[_0x2d2caa(0x1d3)](PLUGIN_DIR,{'recursive':!![]});const _0x169752=[_0xc09835['LPNOy'],'code.js',_0xc09835[_0x2d2caa(0x262)]];for(const _0xd95e83 of _0x169752){const _0x30c3d3=path['join'](BRIDGE_DIR,_0xd95e83);fs['existsSync'](_0x30c3d3)&&fs[_0x2d2caa(0x14b)](_0x30c3d3,path[_0x2d2caa(0x1a9)](PLUGIN_DIR,_0xd95e83));}return PLUGIN_DIR;}function printPluginLoadInstructions(){const _0x2a7e98=_0x502a7d,_0x209e45={'cWudT':_0x2a7e98(0x1c4),'YLqBP':function(_0x2cc4a6,_0x5026b9){return _0x2cc4a6(_0x5026b9);},'KjtYZ':function(_0x5537a1,_0x4a3631){return _0x5537a1(_0x4a3631);},'ydobM':'\x20\x20──\x20Load\x20Plugin\x20in\x20Figma\x20(one-time\x20setup)\x20──────────────────','epUHc':'\x20\x201.\x20Open\x20any\x20file\x20in\x20Figma\x20Desktop','TRUov':'\x20\x20\x20\x20\x20(or\x20click\x20the\x20grid-like\x20icon\x20in\x20the\x20top\x20toolbar)','sDfaD':_0x2a7e98(0x22d),'yyZvA':function(_0x2e28fb,_0x551b47){return _0x2e28fb(_0x551b47);},'RnoQX':function(_0x1384e1,_0x488ea4){return _0x1384e1(_0x488ea4);},'CWrUd':'\x20\x204.\x20A\x20file\x20picker\x20opens.\x20Select\x20this\x20file:','QYvkA':_0x2a7e98(0x25f),'NFgUH':_0x2a7e98(0x227),'XUuuM':function(_0x687de0,_0x115a7a){return _0x687de0(_0x115a7a);},'JBMFh':_0x2a7e98(0x250),'helbP':_0x2a7e98(0x167),'djLba':function(_0x5c49f5,_0x4da4af){return _0x5c49f5(_0x4da4af);},'XRzCk':'\x20\x20Tip:\x20Right-click\x20the\x20plugin\x20→\x20\x22Save\x20to\x20favorites\x22\x20for\x20quick\x20access!','KetMq':_0x2a7e98(0x214)},_0x4508d1=path[_0x2a7e98(0x1a9)](PLUGIN_DIR,_0x209e45['cWudT']);_0x209e45[_0x2a7e98(0x248)](log,''),_0x209e45['KjtYZ'](log,_0x209e45[_0x2a7e98(0x175)]),log(''),log(_0x209e45[_0x2a7e98(0x1a5)]),log(_0x2a7e98(0x26e)),_0x209e45[_0x2a7e98(0x270)](log,''),log(_0x2a7e98(0x1ae)),log(_0x209e45[_0x2a7e98(0x1ea)]),log(''),_0x209e45[_0x2a7e98(0x248)](log,_0x2a7e98(0x1df)),log(_0x209e45['sDfaD']),_0x209e45[_0x2a7e98(0x270)](log,_0x2a7e98(0x10d)),_0x209e45[_0x2a7e98(0x210)](log,''),_0x209e45['RnoQX'](log,_0x209e45[_0x2a7e98(0x116)]),_0x209e45['yyZvA'](log,''),log('\x20\x20\x20\x20\x20'+_0x4508d1),log('');process[_0x2a7e98(0x26b)]===_0x209e45['QYvkA']&&(_0x209e45[_0x2a7e98(0x248)](log,_0x209e45[_0x2a7e98(0x1c1)]),_0x209e45[_0x2a7e98(0x23d)](log,''));_0x209e45['XUuuM'](log,'\x20\x205.\x20Click\x20Open\x20—\x20done!\x20The\x20plugin\x20is\x20now\x20installed.'),_0x209e45['XUuuM'](log,''),_0x209e45[_0x2a7e98(0x248)](log,_0x209e45[_0x2a7e98(0x252)]),log(''),log('\x20\x20→\x20Right-click\x20on\x20canvas\x20→\x20Plugins\x20→\x20Figma\x20Intelligence'),log(_0x209e45[_0x2a7e98(0x1c8)]),_0x209e45[_0x2a7e98(0x1c2)](log,''),log(_0x209e45[_0x2a7e98(0x137)]),_0x209e45['yyZvA'](log,'');if(process[_0x2a7e98(0x26b)]==='darwin')try{const {execSync:_0x4af6fb}=require(_0x2a7e98(0x1e7));_0x4af6fb('open\x20\x22'+PLUGIN_DIR+'\x22'),_0x209e45['YLqBP'](success,_0x209e45[_0x2a7e98(0x1ac)]);}catch{}}async function cmdUpdate(){const _0x38c2ae=_0x502a7d,_0x549206={'GPhHE':'4|9|2|8|6|0|1|3|7|5','Xgwup':function(_0x37b257,_0x2f461d){return _0x37b257(_0x2f461d);},'ZPysv':'\x20\x20Figma\x20will\x20pick\x20up\x20the\x20changes\x20automatically.','odUKw':function(_0x293485){return _0x293485();},'WfmuI':function(_0x376f0d,_0x4034b5){return _0x376f0d(_0x4034b5);},'usEPc':function(_0x4a3806,_0x55d461){return _0x4a3806(_0x55d461);},'awGyg':'\x20\x20If\x20the\x20plugin\x20is\x20open,\x20close\x20and\x20reopen\x20it\x20to\x20see\x20updates.'},_0x1f14ec=_0x549206['GPhHE'][_0x38c2ae(0x149)]('|');let _0xcb040a=0x0;while(!![]){switch(_0x1f14ec[_0xcb040a++]){case'0':log(_0x38c2ae(0x13e)+PLUGIN_DIR);continue;case'1':_0x549206[_0x38c2ae(0x23a)](log,'');continue;case'2':log(_0x38c2ae(0x1a3));continue;case'3':log(_0x549206[_0x38c2ae(0x10b)]);continue;case'4':_0x549206['odUKw'](ensureDataDir);continue;case'5':_0x549206['WfmuI'](log,'');continue;case'6':_0x549206['usEPc'](success,'Plugin\x20files\x20updated');continue;case'7':log(_0x549206[_0x38c2ae(0x243)]);continue;case'8':copyPluginFiles();continue;case'9':_0x549206[_0x38c2ae(0x158)](log,'');continue;}break;}}const command=process[_0x502a7d(0x1f2)][0x2]||_0x502a7d(0x1af);switch(command){case _0x502a7d(0x1af):cmdStart();break;case _0x502a7d(0x161):cmdStop();break;case'status':cmdStatus();break;case _0x502a7d(0x1bd):cmdDoctor();break;case'setup':cmdSetup();break;case _0x502a7d(0x11f):cmdUpdate();break;case'help':case _0x502a7d(0x273):case'-h':log(''),log('Figma\x20Intelligence\x20CLI'),log(''),log(_0x502a7d(0x1e9)),log(''),log('Commands:'),log(_0x502a7d(0x272)),log(_0x502a7d(0x10c)),log(_0x502a7d(0x12d)),log(_0x502a7d(0x1aa)),log('\x20\x20setup\x20\x20\x20\x20Full\x20interactive\x20setup\x20(install\x20deps,\x20register\x20MCP,\x20start\x20relay)'),log('\x20\x20update\x20\x20\x20Update\x20plugin\x20files\x20to\x20latest\x20version'),log(_0x502a7d(0x18a)),log('');break;default:fail(_0x502a7d(0x17e)+command),log(_0x502a7d(0x239)),process['exit'](0x1);}
|
|
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);}
|